微信小程序官网提供内容安全审核接口security.imgSecCheck,security.msgSecCheck等接口,有些小程序审核需要引入这些接口做图文、音频视频等的鉴别,若有违规内容进行效验提示,不然小程序审核可能不通过,不能正常上架使用。
可以使用云函数的方法来搭建,建立自己的云函数库,引入内容安全审核API,当然也可以引入其他应用的云端API,方便自己小程序应用的调用。下面详细谈谈如何搭建及应用。
首先,在自己的小程序中引入云函数框架
1.在project.config.json中引入
{
...
"cloudfunctionRoot": "cloudfunctions/",
...
}
2.在app.json中引入
{
"cloud":true,
}
3.建立云函数框架
其中imgSecCheck,msgSecCheck是建立的云函数目录
小程序工具中有工具栏
内容安全调用方法
//内容安全审查
wx.cloud.init();
wx.cloud.callFunction({
name: 'msgSecCheck', data: { text: content }
}).then(res => {
console.log("内容安全审查结果:"+JSON.stringify(res));
if (res.result.code == "200") { //检测通过
} else { //执行不通过
var v_content = res.result.msg;
return wx.showModal({ title: "提示", content: v_content, showCancel: false, confirmText: "确定", });
//return false;
}
})
最后注意,修改完代码后要及时上传部署,才能生效,如下图:
注意,开启本地调试 时,可能会提示“Cannot find module 'wx-server-sdk'”,需要安装依赖包,方法是,在云函数目录右击菜单中选择“在终端打开”,IDE工具控制台出现终端窗口,然后在相应要调试的云函数目录下执行“npm install --save wx-server-sdk”,如下图:
可能出现的问题:
1.编译时出现类似报错“Cannot read property 'init' of undefined;at "pages/index/index" page lifeCycleMethod onShow function TypeError: Cannot read property 'init' of undefined“
答:可以将开发工具的基础库调整至最新即可。参考https://developers.weixin.qq.com/community/develop/doc/000a2e9d79cdb05b9b98c1b7851000
2.编译时可能出现报错“error code -40001“等。
答:先配置云函数的运行环境,现在可能官方收费模式,不过可以选择免费版。然后上传部署云函数时,可能提示缺少sdk,选择右击菜单【上传并部署安装依赖】即可。
”
本文持续完善。