Browse Source

添加检测文本和图像方法

htc 8 months ago
parent
commit
ee5ac48c58
1 changed files with 87 additions and 1 deletions
  1. 87 1
      http/index.js

+ 87 - 1
http/index.js

@@ -309,10 +309,96 @@ function del(url, data, json = true, isAuth = true, isBuffer = false) {
 	return $http(url, 'DELETE', data, json, isAuth, isBuffer)
 }
 
+//检测文本和图像
+async function detectionContent(content,type=1){
+	let ACCESS_TOKEN = await getStableAccessToken();
+	if(!ACCESS_TOKEN) return;
+	
+	if(type==1){
+		return new Promise((resolve,reject)=>{
+			wx.request({
+				method: 'POST',
+				url:`https://api.weixin.qq.com/wxa/msg_sec_check?access_token=${ACCESS_TOKEN}`,
+				dataType:'json',
+				data:{content},
+				success:res=>{
+					let result = {code:0};
+					if(res.statusCode===200){
+						result.code = res.data.errcode;
+						if(res.data.errcode==87014) result.msg = '内容包含敏感违规信息';
+						else if(res.data.errcode==40001) result.msg = 'token无效';
+						else if(res.data.errcode==40003) result.msg = 'openid无效';
+						else if(res.data.errcode==61010) result.msg = '用户访问记录超时';
+						else{
+							result.code = 0;
+							result.msg = '内容正常';
+						}
+					}
+					return resolve(result)
+				},
+				fail: err => {
+					return reject(err)
+				}
+			})
+		})
+	}else if(type==2){
+		return new Promise((resolve,reject)=>{
+			wx.uploadFile({
+				url: `https://api.weixin.qq.com/wxa/img_sec_check?access_token=${ACCESS_TOKEN}`,
+				method:'POST',
+				filePath: content,
+				name: 'file',
+				header: {
+					'Content-Type': 'application/octet-stream'
+				},
+				formData:{
+					media:content
+				},
+				success: res => {
+					let data = JSON.parse(res.data);
+					let result = {code:0};
+					if(data){
+						result.code = data.errcode;
+						if(data.errcode==87014) result.msg = '图片含有敏感违规信息';
+						else if(data.errcode==40001) result.msg = 'token无效';
+						else if(data.errcode==40003) result.msg = 'openid无效';
+						else if(data.errcode==61010) result.msg = '用户访问记录超时';
+						else{
+							result.code = 0;
+							result.msg = '内容正常';
+						}
+					}
+					return resolve(result)
+				},
+				fail: err => {
+					return reject(err)
+				}
+			});
+		})
+	} 
+}
+//获取AccessToken
+function getStableAccessToken(){
+	return new Promise((resolve,reject)=>{
+		// let sat = uni.getStorageSync('satInfo')?JSON.parse(uni.getStorageSync('satInfo')):'';
+		// if(sat){
+		// 	let now = Date.parse(new Date());
+		// 	if(now<sat.time) return resolve(sat.stableAccessToken)
+		// }
+		get('/merchant/app/wx/getStableAccessToken').then(res=>{
+			if(res.data.code===0){
+				// uni.setStorageSync('satInfo',JSON.stringify({stableAccessToken:res.data.data.accessToken,time:res.data.data.expiresIn}));
+				resolve(res.data.data.accessToken)
+			}
+		})
+	})
+}
+
 export default {
 	postJson,
 	get,
 	post,
 	put,
-	del
+	del,
+	detectionContent
 }