小程序内容图片脱敏

小程序脱敏

最近小程序审核一直不通过“小程序内容不符合规则”,经检验是有一些审核时录入的敏感信息,所以加上了过滤敏感信息的操作;

Java后台代码

接口调用凭证(accessToken)可参考官方文档

public class AppletsCheck {
    private static final Logger LOGGER = LoggerFactory.getLogger(AppletsCheck.class);

    /*
     * @description: 校验小程序提交信息是否符合规范
     * @Author: Mr_Jkx
     * @Date: 2019/7/15 15:41
     * 说明:true,含有敏感信息;false:不含有敏感信息
     */
    public static boolean contentCheck(String accessToken, String content) {
        boolean meets = true;

        try {
            String GET_ACCESS_TOKEN = "https://api.weixin.qq.com/wxa/msg_sec_check?access_token=ACCESS_TOKEN";

            String url = GET_ACCESS_TOKEN.replace("ACCESS_TOKEN", accessToken);
            /**发送Https请求到微信*/
            JSONObject jsonObject1 = new JSONObject();
            jsonObject1.put("content", content);
            LOGGER.info("-----小程序上传文字校验请求参数:{}" + jsonObject1.toString());
            JSONObject retStr = WinxinUtil.doPostStr(url, jsonObject1.toString());
            LOGGER.info("-----小程序上传文字校验回执参数:{}" + retStr);
            if (!StringUtils.equals("87014", retStr.get("errcode").toString())) {
                meets = false;
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return meets;
    }

    /*
     * @description: 校验小程序上传图片是否符合规范
     * @Author: Mr_Jkx
     * @Date: 2019/7/15 15:41
     * 说明:true,含有敏感信息;false:不含有敏感信息
     */
    public static boolean imageCheck(String accessToken, MultipartFile file) {
        try {
            LOGGER.info("-----小程序上传图片校验");
            CloseableHttpClient httpclient = HttpClients.createDefault();
            CloseableHttpResponse response = null;
            HttpPost request = new HttpPost("https://api.weixin.qq.com/wxa/img_sec_check?access_token=" + accessToken);
            request.addHeader("Content-Type", "application/octet-stream");
            InputStream inputStream = file.getInputStream();
            byte[] byt = new byte[inputStream.available()];
            inputStream.read(byt);
            request.setEntity(new ByteArrayEntity(byt, ContentType.create("image/jpg")));
            response = httpclient.execute(request);
            HttpEntity httpEntity = response.getEntity();
            String result = EntityUtils.toString(httpEntity, "UTF-8");// 转成string
            com.alibaba.fastjson.JSONObject jso = com.alibaba.fastjson.JSONObject.parseObject(result);
            LOGGER.info("-----小程序上传图片校验回执参数:{}" + jso);
            Object errcode = jso.get("errcode");
            int errCode = (int) errcode;
            if (errCode == 0) {
                return false;
            } else if (errCode == 87014) {
                return true;
            }
            return false;
        } catch (Exception e) {
            e.printStackTrace();
            LOGGER.info("----------------调用腾讯内容过滤系统出错------------------");
            return false;
        }
    }
}
发布了35 篇原创文章 · 获赞 27 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43948057/article/details/96863100