提交 0be63cf7 authored 作者: renjianyu's avatar renjianyu

--no commit message

上级 5bea4479
......@@ -19,17 +19,23 @@ import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ByteArrayEntity;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
import org.springframework.http.server.RequestPath;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONException;
......@@ -83,6 +89,49 @@ public class WeChatLoginXcxController {
user.setSession_key(session_key);
return CallBack.success(user);
}
/**
* 恶意文字 过滤
* @param multipartFile
* @return
*/
@ApiOperation(value = "恶意文字过滤", notes = "恶意文字过滤")
@GetMapping("/get/checkContent")
public CallBack<Boolean> checkContent(String content, String accessToken) {
try {
CloseableHttpClient httpclient = HttpClients.createDefault();
CloseableHttpResponse response = null;
HttpPost request = new HttpPost("https://api.weixin.qq.com/wxa/msg_sec_check?access_token=" + accessToken);
request.addHeader("Content-Type", "application/octet-stream");
Map<String, Object> params = new HashMap<>();
params.put("content", content); // 文字
String body = JSON.toJSONString(params); // 必须是json模式的 post
StringEntity entity;
entity = new StringEntity(body);
request.setEntity(entity);
response = httpclient.execute(request);
HttpEntity httpEntity = response.getEntity();
String result = EntityUtils.toString(httpEntity, "UTF-8");// 转成string
JSONObject jso = JSONObject.parseObject(result);
System.out.println(jso + "-------------验证效果");
Object errcode = jso.get("errcode");
int errCode = (int) errcode;
if (errCode == 0) {
return CallBack.success(true);
} else if (errCode == 87014) {
System.out.println("文字内容违规-----------");
return CallBack.success(false);
}
return CallBack.success(true);
} catch (Exception e) {
e.printStackTrace();
System.out.println("----------------调用腾讯内容过滤系统出错------------------");
return CallBack.success(true);
}
}
// 获取手机号,解密
@ApiOperation(value = "获取手机号", notes = "获取手机号")
......@@ -117,7 +166,8 @@ public class WeChatLoginXcxController {
}
return CallBack.success(unionId);
}
@ApiOperation(value = "获取accessToken", notes = "获取accessToken")
@PostMapping("/get/accessToken")
public static AccessToken getAccessToken() {
AccessToken token = null;
String requestUrl = "https://api.weixin.qq.com/cgi-bin/token";
......@@ -184,6 +234,7 @@ public class WeChatLoginXcxController {
HttpPost httpPost = new HttpPost(
"https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + object.getString("access_token")); // 接口
httpPost.addHeader(HTTP.CONTENT_TYPE, "application/json");
String body = JSON.toJSONString(params); // 必须是json模式的 post
StringEntity entity;
entity = new StringEntity(body);
......@@ -250,4 +301,50 @@ public class WeChatLoginXcxController {
return new String(Base64.encodeBase64(data));
}
/**
* 恶意图片过滤
* @param multipartFile
* @return
*/
@ApiOperation(value = "恶意图片过滤", notes = "恶意图片过滤")
@GetMapping("/get/checkPic")
public CallBack<Boolean> checkPic(MultipartFile multipartFile, String accessToken) {
System.out.println("哈比");
try {
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 = multipartFile.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
JSONObject jso = JSONObject.parseObject(result);
System.out.println(jso + "-------------验证效果");
Object errcode = jso.get("errcode");
int errCode = (int) errcode;
if (errCode == 0) {
return CallBack.success(true);
} else if (errCode == 87014) {
System.out.println("文字内容违规-----------");
return CallBack.success(false);
}
return CallBack.success(true);
} catch (Exception e) {
e.printStackTrace();
System.out.println("----------------调用腾讯内容过滤系统出错------------------");
return CallBack.success(true);
}
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论