微信小程序之无需服务端支持实现内容安全检查
微信小程序之无需服务端支持实现内容安全检查
微信小程序审核未通过,原因如下:
为避免您的小程序被滥用,请你完善内容审核机制,如调用小程序内容安全API,或使用其他技术、人工审核手段,过滤色情、违法等有害信息,保障发布内容的安全
一个平平无奇的小程序,在一次平平无奇的升级优化过程中,竟然审核未通过,很奇怪的是之前的升级过程中一直没有此问题!不过,出了问题总要解决的,好在未通过原因中给出了解决办法:“可以调用小程序内容安全API,或使用其他技术”。既然小程序提供了现成的API,那就撸TA……
1. 查看开发文档
首先在微信小程序开发文档中搜索关键词:内容安全,可以发现微信还是很人性化的,提供了云调用的调用方式来进行违法违规检查,不需要服务端的支持,这样对前端的同学还是非常友好的。内容安全文档地址

2. 开通云开发
云调用是云开发提供的基于云函数使用小程序开放接口的能力
开通云开发请参考微信官方文档:云开发。

开通云开发,默认使用基础版1,如无特殊业务要求,使用此版本即可,是免费的哦~
云开发要求创建环境,留意此处的环境ID,在小程序调用云函数的时候会用到。

3. 创建云函数及配置权限
3.1 创建云函数目录
在小程序项目目录下新建云函数目录cloudfunctions,并在project.config.json中注册该目录,注册后该目录会显示有云图标,如图所示:

3.2 创建云函数
在云函数根目录下新建云函数msgSecCheck,云函数新建成功后,会生成固定的目录结构,如图所示:


在云函数中调用内容安全检查的API,并对结果进行处理。

3.3 配置云函数权限
根据官方文档要求:
需在
config.json中配置security.msgSecCheckAPI 的权限
在云函数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的作用在于 ...
随机推荐
- 使用Sqlcel操作数据库整理数据视频
链接:https://pan.baidu.com/s/1G4FJbLbN0oXAu61syWxCOA 提取码:noyz
- Python pip 切换为国内镜像源
参考文章:https://codeplayer.vip/p/j7tmc [windows] 备份记录指令:(永久全局设置pypi国内镜像源地址) 1 pip config --global set g ...
- Java 对象转XML xStream 别名的使用 附下载方式
下载方式 Maven方式 pom.xml中 <dependency> <groupId>xstream</groupId> <artifactId>xs ...
- Docker通信全视角:原理、实践与技术洞察
本文全面深入地探讨了Docker容器通信技术,从基础概念.网络模型.核心组件到实战应用.详细介绍了不同网络模式及其实现,提供了容器通信的技术细节和实用案例,旨在为专业从业者提供深入的技术洞见和实际操作 ...
- oeasy教您玩转vim - 73 - # 映射map
映射map 回忆上次缩写的细节 这次了解到了:abbrivate缩写 可以定义缩写 :ab o1z oeasy 这里面还可以包括方向键.回车键之类的东西 可以定义到指定的模式 iab cab 查看 ...
- [翻译]欢迎使用C#9.0
本文由公众号[开发者精选资讯](微信号:yuantoutiao)翻译首发,转载请注明来源 C# 9.0 is taking shape, and I'd like to share our think ...
- 学习 React 需要具备的 JavaScript 知识
学习 React 需要具备的 JavaScript 知识 为什么要学习 React? React 可以与任何其他库或框架无缝集成,因为 React 是一个仅视图库(它是 Model View C on ...
- vue3基础学习
第一章:vue3.0基础 1,认识vue3.0 vue3.0发布时间为2020-9-18,从项目体验上,vue3.0比起vue2.0有以下优势: 打包大小减少41% 初次渲染块55%,更新渲染块133 ...
- c++ 17 demo
1 // Cpp.cpp : 此文件包含 "main" 函数.程序执行将在此处开始并结束. 2 // 3 4 #include <iostream> 5 #includ ...
- 微服务:openFeign
openFeign是一个声明式http客户端.作用:基于springMVC常见注解,帮我们更优雅的实现http请求 引入依赖 <!--openFeign--> <dependency ...