微信小程序之无需服务端支持实现内容安全检查
微信小程序之无需服务端支持实现内容安全检查
微信小程序审核未通过,原因如下:
为避免您的小程序被滥用,请你完善内容审核机制,如调用小程序内容安全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的作用在于 ...
随机推荐
- 自己写一个 NODE/ATTR 的结构
## python 3.8 以上 from typing import Dict, List, TypeVar, Tuple, Generic, get_args import json T = Ty ...
- manage.py“Couldn't import Django”报错的问题解决
问题分析: 在pyharm中项目可以正常运行但是在终端 终端输入python manage.py runserver首次测试项目时,出现了无法引用Django的错误. Traceback (most ...
- Pluto 轻松构建云应用:开发指南
开发者只需在代码中定义一些变量,Pluto 就能基于这些变量自动创建与管理必要的云资源组件,达到简化部署和管理云基础设施的目的,让开发者更容易使用云. 这里的云资源并非指 IaaS,而是指 BaaS. ...
- 测试人必会 K8S 操作之 Dashboard
在云计算和微服务架构的时代,Kubernetes (K8S) 已成为管理容器化应用的标准.然而,对于许多新手来说,K8S 的操作和管理常常显得复杂而神秘.特别是,当你第一次接触 K8S Dashboa ...
- Nuxt.js 中使用 useHydration 实现数据水合与同步
title: Nuxt.js 中使用 useHydration 实现数据水合与同步 date: 2024/7/18 updated: 2024/7/18 author: cmdragon excerp ...
- WRONG(COPY)
去年总结的列表,欢迎大家补充!! 两个int相乘,50%几率会爆了int.(不开long long见祖宗) 无向图邻接表的边表忘了这是心口永远的痛: 线段树数组开小是4(乘4有时候不够) 调用多个函数 ...
- R语言基于表格文件的数据绘制具有多个系列的柱状图与直方图
本文介绍基于R语言中的readxl包与ggplot2包,读取Excel表格文件数据,并绘制具有多个系列的柱状图.条形图的方法. 首先,我们配置一下所需用到的R语言readxl包与ggplot2 ...
- Spring Boot快速入门(二)搭建javaWeb项目
1.配置pom.xml 教程一创建的项目为maven项目,所以搭建一个Spring Boot的Web项目,先导入一下jar包:即在pom.xml以下依赖: 1 <dependencies> ...
- 使用nvm管理node
安装包在阿里云盘 安装时,记录安装位置 安装后,在安装目录的setting添加镜像地址 node_mirror:npm.taobao.org/mirrors/node/ npm_mirror:npm. ...
- OkHttp 快速掌握
OkHttp是一个高效的HTTP库,它提供了许多优化和便利功能,使得我们能够更高效地使用HTTP协议进行通信. 一些主要特性包括: 支持SPDY协议:SPDY协议是Google开发的一种HTTP传输协 ...