微信小程序线上版本涉及到内容发布评论等,就需要进行安全检测,否则官方会上传一些huang图等敏感信息,这样就对我们的小程序的运行非常的不友好。

微信小程序图片与文字安全检测security.msgSecCheck和security.imgSecCheck

一、security.msgSecCheck文字安全检测的使用

security.msgSecCheck | 微信开放文档 (qq.com)

由于我的项目使用的是云开发,所以我就演示下云函数中如何使用

//index.js中
//openid为用户的唯一标识,我是通过参数传递过来的。当然你也可以这样获取,更方便cloud.getWXContext().OPENID
//text为要检测的值
exports.main = async (event, context) => {const { openid, text } = event;try {const result = await cloud.openapi.security.msgSecCheck({openid,scene: 2,version: 2,content: text,});return result;} catch (err) {return err;}
};
//config.json中
{"permissions": {"openapi": ["security.msgSecCheck"]}
}
//js中
wx.cloud.callFunction({name: "定义的云函数名",data: {openid: '用户的openid',text: '要检测的值',},}).then((checkTextRes) => {const resultSuggest = checkTextRes.result.result.suggest;if(resultSuggest === 'pass') {console.log('通过')      }else {console.log('不通过') }});

非常的简单,官方也提供了详细的文档。

二、security.imgSecCheck图片安全检测的使用

HTTPS 调用 | 微信开放文档 (qq.com)

这个的使用就相对来说比较有点繁琐了,要考虑的东西很多

//index.js中const cloud = require("wx-server-sdk");
const axios = require("axios");
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }); // 使用当前云环境// 云函数入口函数
exports.main = async (event, context) => {let buffer = null;//通过这个请求拿到图片的arraybuffer流,因为检测图片使用的是arraybufferawait axios({method: "get",url: event.imgData, // imgData是刚才传过来的responseType: "arraybuffer",headers: { "Content-Type": "*" },}).then((res) => {buffer = res.data;});try {var result = await cloud.openapi.security.imgSecCheck({media: {contentType: "image/png",value: Buffer.from(buffer),},});return result;} catch (err) {return err;}
};
//config.json
{"permissions": {"openapi": ["security.imgSecCheck"]}
}
//js中wx.cloud.callFunction({name: "云函数名称",data: {//使用wx.cloud.CDN避免传输的图片过大imgData: wx.cloud.CDN({type: "filePath",filePath: '选择的图片的路径',}),},}).then((res) => {if (res.result.errCode === 87014) {wx.showToast({title: "图片可能违规,请仔细检查后再试!",icon: "none",duration: 5000,});} else {wx.showToast({title: "图片检测通过",icon: "none",duration: 1000,})}});

其实还挺简单的,就是细节比较多,当时做的时候踩了一堆坑,所以发一下,大家就避免少踩坑了

微信小程序图片与文字安全检测security.msgSecCheck和security.imgSecCheck相关推荐

  1. qq小程序图片和文字安全检测(文字和图片安全检测)

    qq小程序包含文字上传及图片上传功能时需要调用内容安全检测接口,官方文档只提供了一个供后台调用的接口,这篇文章将会讲到java的具体实现. (一)获取token public String getQQ ...

  2. 微信小程序图片文字水平垂直居中对齐

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到网站 微信小程序图片文字水平垂直居中对齐 要实现水平垂直居中 可使用如下方案 给父元素设置 .td {dis ...

  3. 虎年姓氏头像微信小程序源码+文字变音+喝酒娱乐多功能小程序源码

    简介: 虎年姓氏头像微信小程序源码+文字变音+喝酒娱乐多功能小程序源码 网盘下载地址: http://www.zijiepan5.xyz/hNiChK2xwgy0 图片:

  4. 微信小程序列表实现文字内容超出隐藏并显示全文/收起按钮

    微信小程序列表实现文字内容超出隐藏并显示全文/收起按钮 针对这个功能,产品的需求如下 由于我们项目是教育类产品所以这里这个功能会用在发动态这里,就像微信朋友圈那样,我们叫班级圈. 用户发班级圈时,可以 ...

  5. 微信小程序-canvas绘制文字实现自动换行

    微信小程序-canvas绘制文字实现自动换行 在使用微信小程序canvas绘制文字时,时常会遇到这样的问题:因为canvasContext.fillText参数为 我们只能设置文本的最大宽度,这就产生 ...

  6. 微信小程序图片轮转播放

    微信小程序图片轮播 步骤一:创建项目,注意创建的路径,路径中涉及到的文件最好用英文命名. 这里将项目创建在D:\SotfWare\WechatPG\test1.test1是项目的文件名.创建结束之后, ...

  7. 小程序 图片上传php后台,微信小程序图片选择、上传到服务器、预览(PHP)实现实例...

    微信小程序图片选择.上传到服务器.预览(php)实现实例 小程序实现选择图片.预览图片.上传到开发者服务器上 后台使用的tp3.2 图片上传 请求时候的header参考时可以去掉(个人后台验证权限使用 ...

  8. php 点击选择图片上传,微信小程序图片选择、上传到服务器、预览(PHP)实现实例...

    微信小程序图片选择.上传到服务器.预览(PHP)实现实例 小程序实现选择图片.预览图片.上传到开发者服务器上 后台使用的tp3.2 图片上传 请求时候的header参考时可以去掉(个人后台验证权限使用 ...

  9. 微信小程序图片上传九宫格拖拽组件

    微信小程序图片上传&九宫格拖拽组件 前言 图片上传加九宫格拖拽是一个比较常用的组件,常用于发帖或者评论等内容上传模块,我这篇九宫格拖拽的思路是借鉴了一款优雅的小程序拖拽排序组件实现这篇文章 实 ...

最新文章

  1. linux C非阻塞延时,linux 非阻塞式socket编程求助。。
  2. 从终端命令行运行 AppleScript 脚本
  3. 你是合格的程序员吗?(欢迎大家自测)
  4. mongodb数据迁移2种方式比较
  5. linux没有interface文件,Linux下interface文件修改
  6. 知方可补不足~UPDLOCK更新锁的使用
  7. ffdshow 源代码分析 6: 对解码器的dll的封装(libavcodec)
  8. bash环境变量配置
  9. 计算机的实现的理论基础
  10. SQL 经典练习题 + 答案
  11. 前端商城vue项目案例1
  12. 碳中和数据集 1991-2020全球中国省级地级市县级市区各行业碳中和二氧化碳排放量碳封存 能源消费能源消耗能源结构数据大全
  13. 15_微信小程序之svg地图自定义组件编写
  14. 百度女程序员半夜打车被司机嘲讽:加班到一点,收入不如我,图啥
  15. 简单实用:可以祛斑的食物 - 生活至上,美容至尚!
  16. 【小工具类】将一个十进制数转化成二进制/四进制/八进制/16进制
  17. 计算机电池维修方案,解决方案:计算机主板电池已耗尽,如果不更换电池该怎么办?如何更换电池...
  18. BIgDecimal的用法,及与各类数据类型的转换
  19. golang采集网络流量等系统指标
  20. Windows10:关于触摸板的驱动不适用的问题

热门文章

  1. js 限制开始时间到结束时间 最长跨度三个月
  2. Pycharm--激活码完美破解
  3. Codeforces Round #637 (Div. 2) - Thanks, Ivan Belonogov! D. Nastya and Scoreboard题解(记忆化搜索)
  4. python中主要的英语单词汇总
  5. JS实时获取浏览器窗口尺寸 .
  6. php标签调用,在自己的php页面中使用dedecms标签的代码示例
  7. java weakhashmap_解析WeakHashMap与HashMap的区别详解
  8. 【数字图像处理2.1 】频率域中的 高通滤波 和 低通滤波 Python+Opencv+Numpy
  9. UE4蓝图:多机位运镜
  10. 作为应届毕业生如何写个好简历