- 开发工具越升级问题越多?
1.最近几个版本更新后时不时突然崩溃,不知是什么原因,包括最新版本:1.0.4.2005122 2.代码格式化也不能用了,鼠标右键菜单中的代码格式化也不见了。 3.一年多以前提的设置标签功能不知何时能够实现?非常简单好用的功能不知为什么不加进去,这是各个开发工具最基本的功能好不好。 在某一行按下ctrl+shift+1可以设置标签1,按ctrl+shift+2设置成标签2。。。 在写代码时经常要在各个函数间跳转查看,这时只需按下ctrl+1就可以跳到标签1,按下ctrl+2就可以跳到标签2。。。 而不是每次去查或记住之前的代码、行数。。。哎。。。随便找个别的开发工具把最基本的功能照抄一遍吧。
2020-05-15 - 向官方道歉。接口security.imgSecCheck有问题?我已经解决。并附上最全代码,保证能用
首先,发布的帖子,关于“security.imgSecCheck 这个图片内容审核API 有问题”的帖子,我已经解决。 之前说接口不稳定,错怪了官方! 向官方道歉, 向官方道歉, 向官方道歉!!! 以下分享经验【3个重点】: 1.(重点)控制图片尺寸:图片尺寸不超过 750px x 1334px 2.(重点)检测的图片,一定要压缩后再上传。(图片大小限制:1M) 自己检测过。500k-1MB还是大了。建议在50kb 左右。 3.(重点)通过获取文件信息,图片以ArrayBuffer格式上传云函数进行检测。 wx.getFileSystemManager().readFileSync(图片临时文件) //文件二进制内容 ArrayBuffer 以上条件缺一不可 根据返回结果,执行你需要的代码 复制以下代码。直接可以使用。 ------------------------------------------------------------------------------------------------------------------------ 【xxx.html代码】 <canvas canvas-id='imageBox' class="imageBox" style="border:#000 5px solid; width:{{imageBoxMake_Width}}px; left:{{screenWidth * 1.2}}px;"></canvas> 【xxx.wxss代码】 /* 设定页面决对定位 */ page{ position: relative; } /* 设定画布相对定位 */ .imageBox{ position: absolute; z-index: 0; } 【xxx.js代码】 //图片内容安全-画布 imageBoxMake_Width: '', imageBoxMake_height: '', /**生 命周期函数--监听页面加载 */ onLoad: function(options) { console.log('进入introduction页面') this.setData({ //画布布局。让画布在屏幕之外 screenWidth: app.globalData.screenWidth, //画布距离屏幕左侧宽度 = 屏幕宽度 }) }, //【选择图片】方法 chooseImage() { var that = this //使手机发生较短时间的振动 wx.vibrateShort() wx.showActionSheet({ itemList: ['拍照', '相册',], success(res) { console.log(res.tapIndex) //拍照vounDemo if (res.tapIndex == 0) { wx.chooseImage({ count: 1, sizeType: ['original', 'compressed'], //['original', 'compressed'] sourceType: ['camera'], success(res) { // 图片临时地址 const imgFileURL = res.tempFilePaths[0] console.log('打印取到的图片') console.log(res) //canvas绘制并压缩图片,然后图片内容安全检测 that.imageBoxMake(imgFileURL) } }) } //手机相册 vounShow else if (res.tapIndex == 1) { wx.chooseImage({ count: 1, sizeType: ['original', 'compressed'], sourceType: ['album'], success(res) { // 图片临时地址 const imgFileURL = res.tempFilePaths[0] console.log('打印取到的图片') console.log(res) //canvas绘制并压缩图片,然后图片内容安全检测 that.imageBoxMake(imgFileURL) } }) } }, fail(res) { console.log(res.errMsg) } }) }, //绘制【内容安全图片图片】canvas imageBoxMake: function (imgFileURL) { wx.showLoading({ title: '正在压缩图片', //正在内容安全检测 }) console.log('开始imageBoxMake方法') var that = this var saveSize = 100 var canvasId = 'imageBox' //画布ID //创建画布 const ctx = wx.createCanvasContext(canvasId) ctx.save() //获得图片信息 wx.getImageInfo({ src: imgFileURL, //获得画芯图片 success(res) { //图片比例 var perWHcanvas = res.height / res.width that.setData({ //画布尺寸,处理为(100px)像素宽度。 imageBoxMake_Width: saveSize, imageBoxMake_height: saveSize * perWHcanvas, //高度等比 }) //绘制图 ctx.drawImage(res.path, 0, 0, res.width, res.height, 0, 0, saveSize, saveSize * perWHcanvas) ctx.restore() //绘制保存 ctx.draw(true) console.log('绘制【内容安全图片图片】canvas完成') setTimeout(function () { that.imageBoxIMG(saveSize, perWHcanvas, canvasId, imgFileURL) //压缩图片尺寸,并上传 }, 2000) } }) }, //压缩图片尺寸,并上传 imageBoxIMG: function (saveSize, perWHcanvas, canvasId, imgFileURL) { console.log('开始 imageBoxIMG 方法') var that = this wx.canvasToTempFilePath({ x: 0, y: 0, width: saveSize, height: saveSize * perWHcanvas, destWidth: saveSize, destHeight: saveSize * perWHcanvas, canvasId: canvasId, //这是canvasId fileType: 'jpg', //目标文件的类型 quality: 0.8, //图片的质量 success(res) { console.log('保存的图片临时路径' + res.tempFilePath) var canvasImage = res.tempFilePath wx.hideLoading() //隐藏 loading 提示框 const imageArrayBuffer = wx.getFileSystemManager().readFileSync(canvasImage) //文件二进制内容 ArrayBuffer that.imgSecCheck(imgFileURL, imageArrayBuffer) } }) }, //图片智能鉴黄 imgSecCheck: function (imgFileURL, imageArrayBuffer) { console.log('开始imgSecCheck方法') wx.showLoading({ title: '图片安全检测中', //正在内容安全检测 }) //初始化云开发及设置其环境 wx.cloud.init({ env: app.globalData.env, //注意:我这里是调用app.js里设置好的云环境。你们可以改为自己的云环境 traceUser: true }) wx.cloud.callFunction({ // 要调用的云函数名称 name: 'imgSecCheck', // 传递给云函数的event参数 data: { imageArrayBuffer: imageArrayBuffer } }).then(res => { console.log('打印云函数imgSecCheck返回结果为') console.log(res) wx.hideLoading()//隐藏 loading 提示框 if (res.result.errMsg == "openapi.security.imgSecCheck:ok") { //内容正常。这里可以执行你需要的【方法】代码 } else{ //内容检测结果为不安全 this.showModal() } }).catch(err => { //错误 console.log('打印err结果为 错误') console.log(err) wx.hideLoading() //隐藏 loading 提示框 //内容检测结果为不安全 this.showModal() }) }, //内容检测结果为不安提示 showModal: function () { wx.showModal({ title: '图片内容违规', content: '通过腾讯图片智能鉴黄检测到你发布的内容,可能包含涉黄、涉暴、涉政等有害信息。为营造安全绿色的平台,我们坚决拒绝上传危害内容、言论。若你多次上传危害内容,系统将自动封号哦,并同步到网络安全部', confirmText: '知道了', confirmColor: '#000000', showCancel: false, success(res) { if (res.confirm) { console.log('用户点击知道了') } else if (res.cancel) { console.log('用户点击取消') } } }) }, 【云函数代码】 // 云函数入口文件 imgSecCheckPro const cloud = require('wx-server-sdk') // 云函数入口函数 exports.main = async (event, context) => { //初始化云函数 cloud.init({ env: event.env }) try { return await cloud.openapi.security.imgSecCheck({ media: { contentType: 'image/png', value: Buffer.from(event.imageArrayBuffer) } }) } catch (err) { // 错误处理 // err.errCode !== 0 } } ------------------------------------------------------------------------------------------ 复制以上代码。直接可以使用。 希望对各位开发者有帮助。加油!
2020-05-01 - 小程序源码直接可以被趴出来??????
这么屌的吗?直接趴小程序源码,还能玩儿吗?微信不搞一下安全防范?
2018-06-01 - 关于小程序码生成后如何测试?
小程序码目前来说有生成跳测试或者体验环境的小程序码么? 根据开放文档,因为场景关系,我用的简单点的A接口方式生成的码,但是在小程序通过审核并且发布前无法进行测试,每次发布后测试完发现了bug,修改后又得提交审核发布后才能测试,而且普通审核好像说要好几天?加急的话次数有限,这样测试很不方便,是因为我没找到正确的方法吗(这两天第一次才因公司要求接触到小程序码) 此外,接口A和接口B方式文档中都提到只能生成已发布的小程序二维码,但是经过实际开发,似乎是有限制的那个其实还是能生成成功的,只是扫码后会提示小程序未发布,而无限制次数的那个生成方式却真的是生成不成功的(尝试了好几个小时,感觉应该不是代码问题) [图片] [图片]
2020-02-21 - 发帖申请小程序长期订阅功能?
你好,我们是做教育课程预约的,因为预约的课程活动可能会取消、变更,以及活动临近的题型,所以我们需要一个长期订阅的功能,能够及时通知学生活动信息,谢谢。 我们的AppID是wx36943d515cfd9992
2020-02-10 - 最近是不是代码审核时间变长了?
小程序是2020-01-11 13:22:00提交的审核,今天13号了还是在审核中。结合以前小程序审核时长都是一天之内的,所以虽然没到官方说的7个工作日,还是忍不住来这儿问问审核进度......
2020-01-13 - onBeforeUnloadPage 内存泄漏
[图片] 在两个页面来回切换多次后报onBeforeUnloadPage 这个错误是小程序代码BUG还是开发工具的问题?
2019-06-18 - events事件警告VM47805:1 [Event] 21 listeners of event?
VM47805:1 [Event] 21 listeners of event onBeforeUnloadPage_962 have been added, possibly causing memory leak. 出现这种情况是什么,难是我没关闭吗,我是按文档上用的,只用了emit,难道还要调用off释放吗,还是另有其他原因???
2019-11-15