微信小程序之无需服务端支持实现内容安全检查
微信小程序之无需服务端支持实现内容安全检查
微信小程序审核未通过,原因如下:
为避免您的小程序被滥用,请你完善内容审核机制,如调用小程序内容安全API,或使用其他技术、人工审核手段,过滤色情、违法等有害信息,保障发布内容的安全
一个平平无奇的小程序,在一次平平无奇的升级优化过程中,竟然审核未通过,很奇怪的是之前的升级过程中一直没有此问题!不过,出了问题总要解决的,好在未通过原因中给出了解决办法:“可以调用小程序内容安全API,或使用其他技术”。既然小程序提供了现成的API,那就撸TA……
1. 查看开发文档
首先在微信小程序开发文档中搜索关键词:内容安全,可以发现微信还是很人性化的,提供了云调用的调用方式来进行违法违规检查,不需要服务端的支持,这样对前端的同学还是非常友好的。内容安全文档地址
2. 开通云开发
云调用是云开发提供的基于云函数使用小程序开放接口的能力
开通云开发请参考微信官方文档:云开发。
开通云开发,默认使用基础版1,如无特殊业务要求,使用此版本即可,是免费的哦~
云开发要求创建环境,留意此处的环境ID,在小程序调用云函数的时候会用到。
3. 创建云函数及配置权限
3.1 创建云函数目录
在小程序项目目录下新建云函数目录cloudfunctions
,并在project.config.json
中注册该目录,注册后该目录会显示有云图标,如图所示:
3.2 创建云函数
在云函数根目录下新建云函数msgSecCheck
,云函数新建成功后,会生成固定的目录结构,如图所示:
在云函数中调用内容安全检查的API,并对结果进行处理。
3.3 配置云函数权限
根据官方文档要求:
需在
config.json
中配置security.msgSecCheck
API 的权限
在云函数msgSecCheck
目录下新建config.json
文件,配置云调用权限,如图所示:
{
"permissions": {
"openapi": [
"security.msgSecCheck"
]
}
}
3.4 上传并部署云函数
完成后的云函数如果不上传并部署的话,小程序是无法调用的,所以云函数有改动的话,务必及时上传并部署。
4. 小程序调用云函数
小程序调用云函数,此处的env
的值就是上文中说到的环境ID,name
的值是新建的云函数的文件名。
wx.cloud.init({
env: 'test-msod1',
});
let sec = true;
wx.cloud.callFunction({
name: 'msgSecCheck',
data: {
content: "需要检测的文本内容"
},
success: function(res) {
sec = 0 === res.result.errCode;
},
fail: function(err) {
sec = false;
},
complete: function() {
if (!sec) {
wx.showToast({
title: '文本含有违法违规内容',
icon: 'none',
mask: true,
});
}
}
});
至此,大功告成!
微信小程序之无需服务端支持实现内容安全检查的更多相关文章
- 微信小程序初见+nodejs服务端 (一个简单的博客)
推荐网址: 腾讯云快速开发(nodejs前后端):https://developers.weixin.qq.com/miniprogram/dev/qcloud/qcloud.html#%E5%AF% ...
- Fundebug微信小程序BUG监控服务支持Source Map
摘要: 自动还原真实出错位置,快速修复BUG. Source Map功能 微信小程序的Source Map功能目前只在 iOS 6.7.2 及以上版本支持. 微信小程序在打包时,会将所有 js 代码打 ...
- (三)微信小程序之发送服务通知(模板消息)
1.后端获取AccessToken返回给微信端 微信小程序端请求后端得到AccessToken 2.后端获取openid返回给微信端 微信小程序端登录请求后端得到openid 3.发送消息 ...
- 行星万象表白墙微信小程序、社交微信小程序,后台完整,支持多区域运营,扫码体验。
简介 中国目前大概有5000个表白墙,累计用户近3000万,是一个庞大的群体,但现在大都以微信朋友圈为基础进行信息中转,但是这种模式经营者和用户都不友好,尤其是经营者无法变现,用户无法公开评论,这些种 ...
- 微信小程序 canvas 字体自动换行(支持换行符)
微信小程序 canvas 自动适配 自动换行,保存图片分享到朋友圈 https://github.com/richard1015/News 微信IDE演示代码https://developers.w ...
- 微信小程序到底把什么定义为风险内容?
目录 起因 经过和结果 附录: 起因 之前做一个群相册的小程序,因为涉及到图片和评论等内容的发布分享.因此,微信后台要求有一定的内容安全检测能力. 但是,我用别家的内容检测用的好好的,在国庆前被微信警 ...
- 微信小程序导出当前画布指定区域的内容并生成图片保存到本地相册(canvas)
最近在学小程序,在把当前画布指定区域的内容导出并生成图片保存到本地这个知识点上踩坑了. 这里用到的方法是: wx.canvasToTempFilePath(),该方法作用是把当前画布指定区域的内容导出 ...
- 微信小程序之动态添加、删除指定内容(view)和获取input值
这次遇到个问题: 1. 动态的添加指定的view内容..嗯..很简单..wx:for就搞定 2. 动态添加的内容中有input,最终获取值的时候,要获取到所有input的值并且是一个数组..嗯.. 3 ...
- 记一次微信小程序开发
之前在网上看到博客园新闻服务开放接口,因为自己本身有看博客园IT新闻的习惯,为了能随时随地简洁方便的浏览新闻,于是萌生了一个利用开放API开发一个微信小程序的想法. 1. mpvue初探 平时技术栈有 ...
- 多个微信小程序一个服务端架构
由于某些特定的业务场景,当多个小程序需要一个服务端后台提供数据时,大家可能想到是HTTP路由.是的,实际上我们使用微服务的GateWay网关也是一样的,如下图微服务架构: 网关GateWay的作用在于 ...
随机推荐
- 全志T113-i+玄铁HiFi4开发板硬件说明书(2)
前 言 本文档主要介绍开发板硬件接口资源以及设计注意事项等内容,测试板卡为全志T113-i+玄铁HiFi4开发板,由于篇幅问题,本篇文章共分为上下两集,点击账户可查看更多内容详情,开发问题欢迎留言,感 ...
- Taro自定义分享,canvas生成图片模糊有锯齿
原因: 在移动端,手机的dpi是实际设计稿尺寸的2倍 设计稿尺寸: 210*168 canvas尺寸: 420 * 336 Taro.canvasToTempFilePath: width: 420, ...
- 数据特征采样在 MySQL 同步一致性校验中的实践
作者:vivo 互联网存储研发团队 - Shang Yongxing 本文介绍了当前DTS应用中,MySQL数据同步使用到的数据一致性校验工具,并对它的实现思路进行分享. 一.背景 在 MySQL 的 ...
- C++ 中的 lowbit
lowbit 的定义 首先了解 lowbit 的定义 \(lowbit(n)\) ,为 \(n\) 的二进制原码中最低的一位 \(1\) 以及其后面的 \(0\) 所表示的数 举个简单的例子: 将 \ ...
- redis基本数据结构-散列
redis基本数据结构-hash散列数据结构 1. 基本情况 一个散列键最多可以包含 2^32 - 1 个字段 散列类型不能嵌套其他数据类型 2.命令 插入/更新字段 hset key field1 ...
- 使用Eclipse开发Vue——CodeMix够智能
使用Eclipse开发Vue--CodeMix够智能 Eclipse的CodeMix插件允许您访问 VS Code和Code OSS扩展社区,以及 Webclipse 1.x 功能. Vue.js是构 ...
- PHP函数http_build_query使用详解
什么是http_build_query? 使用给出的关联(或下标)数组生成一个经过 URL-encode 的请求字符串.参数 formdata 可以是数组或包含属性的对象.一个 formdata 数组 ...
- apache ab.exe压力测试
ab.exe是一个性能检测工具,是apache server中的一个小组件,使用简单,方便 下载地址:http://files.cnblogs.com/files/gossip/ab.zip ...
- Linux自己制作rpm包
制作rpm包 由源码包---->rpm包 安装制作rpm包工具包rpm-build 在制作过程中需要源码包和配置文件 rpmbuild制作rpm包的原理: 1.首先rpmbuild会先将源码包进 ...
- leetcode中等(字符串):[3, 6, 8, 49, 179, 299, 524, 539, 609, 648]
目录 3. 无重复字符的最长子串 6. Z 字形变换 8. 字符串转换整数 (atoi) 49. 字母异位词分组 179. 最大数 299. 猜数字游戏 524. 通过删除字母匹配到字典里最长单词 5 ...