首先放微信官方文档介绍:微信官方违规内容校验。翻到下面的 健康运营指引>>内容安全解决方案,里面有包含文字内容、图片等信息校验,通过调用微信官方接口审核,保证了运营内容的绿色健康。
强调说明:
1.微信调用校验接口需要在后台调用,后台调用返回一个成功或者失败的状态码给小程序,小程序端不可直接调用,因为为保障账号安全不可使用此域名地址(https://api.),所以在小程序端调用,发布线上后发现功能无法使用。
2.开发环境:mysql、java、linux server、微信开发工具
接口功能说明:
1.微信小程序端
//文本内容校验wx.request({url: '/auth/meditation/getToken',method: 'GET',success: res => {var access_token = res.data.access_token;let token = access_token;wx.request({method: 'POST',url: '/auth/meditation/illegalTextVerife',data: {content: content,access_token: access_token},header: {'content-type': 'application/x-www-form-urlencoded'},success(data) {if (data.data.errcode !== 87014) { // 合格//开始写入//结束写入} else {wx.showToast({title: '內容違規',})}}})},fail() {console.log(res);return;}})//图片内容校验wx.request({url: '/auth/meditation/getToken',method: 'GET',success: res => {var access_token = res.data.access_token;let token = access_token;//开始写入let filepaths = tempFilePaths[0]; //图片,如果存在多张,循环该方法即可,tempFilePaths自己定义保存图片的变量//检测图片wx.uploadFile({url: '/auth/meditation/illegalImgVerife',method: 'POST',filePath: filepaths[0],name: 'file',header: {'Content-Type': 'application/octet-stream' //一定要设置header头部信息’Content-Type’: ‘application/octet-stream’},formData: {filepaths: filepaths,token: token},success: function (data) {if (data.data.errcode !== 87014) { // 没有违规} else {wx.showToast({title: '內容違規',})}}})},fail() {console.log(res);return;}})
2.JAVA后台文本内容校验接口请求
第一步获取 access_token ,成功获取再进行校验接口请求
/*** 获取token* * @param userInput* @return*/@ResponseBody@RequestMapping("/getToken")public JSONObject getToken() {String grant_type = "client_credential";String appid = "xxxxxxx";//可在微信公众平台查看String secret = "xxxxxxx";//可在微信公众平台查看// 请求参数String params = "grant_type=" + grant_type + "&appid=" + appid + "&secret=" + secret;// 发送请求String sr = Request.sendGet("https://api./cgi-bin/token", params);// 解析相应内容(转换成json对象)JSONObject json = JSONObject.fromObject(sr);return json;}
第二步 请求内容校验接口
/*** 违规内容校验* * @param content* @param access_token* @return*/@ResponseBody@RequestMapping("/illegalTextVerife")public JSONObject illegalTextVerife(String content, String access_token) {JSONObject data = new JSONObject();data.put("content", content);RestTemplate restTemplate = new RestTemplate();String url = ("https://api./wxa/msg_sec_check?access_token=" + access_token);String response = restTemplate.postForObject(url, data, String.class);JSONObject json = JSONObject.fromObject(response);return json;}
返回数据:
3.JAVA后台图片违规信息校验即可请求
第一步获取 access_token ,成功获取再进行校验接口请求(请求之前都是要获取token)
/*** 获取token* * @param userInput* @return*/@ResponseBody@RequestMapping("/getToken")public JSONObject getToken() {String grant_type = "client_credential";String appid = "xxxxxxx";//可在微信公众平台查看String secret = "xxxxxxx";//可在微信公众平台查看// 请求参数String params = "grant_type=" + grant_type + "&appid=" + appid + "&secret=" + secret;// 发送请求String sr = Request.sendGet("https://api./cgi-bin/token", params);// 解析相应内容(转换成json对象)JSONObject json = JSONObject.fromObject(sr);return json;}
第二步请求校验图片接口
/*** 违规图片校验* * @param file* @param token* @return*/@RequestMapping(value = "/illegalImgVerife", method = { RequestMethod.POST })@ResponseBodypublic JSONObject illegalImgVerife(@RequestParam(value = "file") MultipartFile file, String token, FileInfo fileInfo,MeditationRecord record) {JSONObject json = new JSONObject();try {String url = "https://api./wxa/img_sec_check?access_token=" + token;String result = uploadFile(url, file);//自己定义一个POST请求的方法json = JSONObject.fromObject(result);} catch (Exception e) {e.printStackTrace();}return json;}
返回数据同上,微信小程序校验功能就完成了。
说明:微信小程序正式环境必须使用SSL安全格式的地址(https),如果使用linux服务器,可以使用nginx反向代理配置映射域名与端口
如果觉得《微信小程序文本 图片内容违规信息校验》对你有帮助,请点赞、收藏,并留下你的观点哦!