This commit is contained in:
2023-11-07 17:15:33 +08:00
commit fe37e2e1df
418 changed files with 53012 additions and 0 deletions
@@ -0,0 +1,39 @@
'use strict';
module.exports = {
/**
* 图片违规检测示例
* @url template/openapi/qq/pub/imgSecCheck 前端调用的url参数地址
* data 请求参数 说明
* res 返回参数说明
* @params {Number} code 错误码,0表示成功
* @params {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util } = event;
let { config, vk , db, _ } = util;
let { uid } = data;
let res = { code : 0, msg : 'ok' };
// 业务逻辑开始-----------------------------------------------------------
let { base64 } = data;
/**
* 实际开发中,图片可能是多张图,比如多达9张图
* 如果在一个请求中循环检测,可能会超时。
* 方案1:前端选择完图片就自动一张一张检测和上传(即9张图会有9个请求)
* 方案2:使用Promise.all
* 特别注意:目前微信小程序的这个API有1M大小的限制。(此为微信官方限制)
*/
let imgSecCheckRes = await vk.openapi.qq.security.imgSecCheck({
base64
});
if(imgSecCheckRes.code !== 0){
// 未通过检测
return imgSecCheckRes;
}
// 若通过检测,则继续执行自己的业务
// ...
// ...
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,36 @@
'use strict';
module.exports = {
/**
* 文本违规检测示例
* @url template/openapi/qq/pub/msgSecCheck 前端调用的url参数地址
* data 请求参数 说明
* res 返回参数说明
* @params {Number} code 错误码,0表示成功
* @params {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util } = event;
let { config, vk, db, _ } = util;
let { uid } = data;
let res = { code: 0, msg: 'ok' };
// 业务逻辑开始-----------------------------------------------------------
let {
content,
} = data;
// 实际业务中,content可能是评论的内容等
let msgSecCheckRes = await vk.openapi.qq.security.msgSecCheck({
content,
});
if (msgSecCheckRes.code !== 0) {
// 未通过检测
return msgSecCheckRes;
}
res.result = msgSecCheckRes;
// 若通过检测,则继续执行自己的业务
// ...
// ...
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,27 @@
'use strict';
module.exports = {
/**
* 获取模板列表
* @url template/openapi/weixin/pub/getTemplateList 前端调用的url参数地址
* data 请求参数 说明
* res 返回参数说明
* @params {Number} code 错误码,0表示成功
* @params {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util } = event;
let { config, vk, db, _ } = util;
let { uid } = data;
let res = { code: 0, msg: 'ok' };
// 业务逻辑开始-----------------------------------------------------------
res = await vk.openapi.weixin.request({
method: "get",
url: "wxaapi/newtmpl/gettemplate",
data: {
}
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,39 @@
'use strict';
module.exports = {
/**
* 图片违规检测示例
* @url template/openapi/weixin/pub/imgSecCheck 前端调用的url参数地址
* data 请求参数 说明
* res 返回参数说明
* @params {Number} code 错误码,0表示成功
* @params {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util } = event;
let { config, vk , db, _ } = util;
let { uid } = data;
let res = { code : 0, msg : 'ok' };
// 业务逻辑开始-----------------------------------------------------------
let { base64 } = data;
/**
* 实际开发中,图片可能是多张图,比如多达9张图
* 如果在一个请求中循环检测,可能会超时。
* 方案1:前端选择完图片就自动一张一张检测和上传(即9张图会有9个请求)
* 方案2:使用Promise.all
* 特别注意:目前微信小程序的这个API有1M大小的限制。(此为微信官方限制)
*/
let imgSecCheckRes = await vk.openapi.weixin.security.imgSecCheck({
base64
});
if(imgSecCheckRes.code !== 0){
// 未通过检测
return imgSecCheckRes;
}
// 若通过检测,则继续执行自己的业务
// ...
// ...
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,48 @@
'use strict';
module.exports = {
/**
* 文本违规检测示例
* @url template/openapi/weixin/pub/msgSecCheck 前端调用的url参数地址
* data 请求参数 说明
* res 返回参数说明
* @params {Number} code 错误码,0表示成功
* @params {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util } = event;
let { config, vk, db, _ } = util;
let { uid } = data;
let res = { code: 0, msg: 'ok' };
// 业务逻辑开始-----------------------------------------------------------
let {
content,
version,
scene,
openid,
title,
nickname,
signature,
} = data;
// 实际业务中,content可能是评论的内容等
let msgSecCheckRes = await vk.openapi.weixin.security.msgSecCheck({
content,
version,
scene,
openid,
title,
nickname,
signature,
});
if (msgSecCheckRes.code !== 0) {
// 未通过检测
return msgSecCheckRes;
}
res.result = msgSecCheckRes;
// 若通过检测,则继续执行自己的业务
// ...
// ...
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,45 @@
'use strict';
module.exports = {
/**
* 发送订阅消息
* @url template/openapi/weixin/pub/sendMessage 前端调用的url参数地址
* data 请求参数 说明
* res 返回参数说明
* @params {Number} code 错误码,0表示成功
* @params {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util } = event;
let { config, vk , db, _ } = util;
let { uid } = data;
let res = { code : 0, msg : 'ok' };
// 业务逻辑开始-----------------------------------------------------------
let { openid } = data;
res = await vk.openapi.weixin.subscribeMessage.send({
touser : openid, // 接收者(用户)的 openid
template_id : "UmINo5I6IcqktIwNt2TVorkU7f4dzd4eyNjfvOiwEC0", // 所需下发的订阅模板id
page : "pages/index/index", // 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转。
data : {
character_string1:{
value:"202008030930001"
},
name2:{
value:"中通快递"
},
character_string3:{
value:"ZT2019928321392931"
},
thing6:{
value:"雪花秀滋盈生人生焕颜精华露"
},
thing8:{
value:"杭州市xxxxxxxxx号"
}
},
miniprogram_state : "formal", // 跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,59 @@
'use strict';
module.exports = {
/**
* 发送公众号模板消息(touser只能是用户在该公众号下的openid)
* @url template/openapi/weixin/pub/sendTemplateMessage 前端调用的url参数地址
* data 请求参数 说明
* res 返回参数说明
* @params {Number} code 错误码,0表示成功
* @params {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util } = event;
let { config, vk, db, _ } = util;
let { uid } = data;
let res = { code: 0, msg: 'ok' };
// 业务逻辑开始-----------------------------------------------------------
res = await vk.openapi.weixin.h5.templateMessage.send({
touser: "", // 接收者(用户)的 openid(该用户在公众号下的openid)
template_id: "", // 所需下发的订阅模板id
url: "https://www.baidu.com", // 跳转网页时填写(如填了miniprogram参数则忽略url参数)
miniprogram: {
appid: "",
pagepath: "pages/order/order?id=aaa"
},
data: {
"first": {
"value": "您购买的订单已经发货啦,正快马加鞭向您飞奔而去。",
"color": "#173177"
},
"keyword1": {
"value": "D201803111235825",
"color": "#173177"
},
"keyword2": {
"value": "2018-03-11 19:56",
"color": "#173177"
},
"keyword3": {
"value": "顺丰快递",
"color": "#173177"
},
"keyword4": {
"value": "980456952123",
"color": "#173177"
},
"keyword5": {
"value": "王先生 135xxxxxxxx 广东省深圳市龙华区建设东路",
"color": "#173177"
},
"remark": {
"value": "欢迎再次购买!",
"color": "#173177"
}
}
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,59 @@
'use strict';
module.exports = {
/**
* 发送公众号模板消息(touser可以是小程序下的openid,也可以是公众号下的openid)
* @url template/openapi/weixin/pub/sendTemplateMessage 前端调用的url参数地址
* data 请求参数 说明
* res 返回参数说明
* @params {Number} code 错误码,0表示成功
* @params {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util } = event;
let { config, vk, db, _ } = util;
let { uid } = data;
let res = { code: 0, msg: 'ok' };
// 业务逻辑开始-----------------------------------------------------------
res = await vk.openapi.weixin.uniformMessage.send({
touser: "", // 接收者(用户)的 openid(可以是小程序下的openid,也可以是公众号下的openid)
template_id: "", // 所需下发的订阅模板id
url: "https://www.baidu.com", // 跳转网页时填写(如填了miniprogram参数则忽略url参数)
miniprogram: {
appid: "",
pagepath: "pages/order/order?id=aaa"
},
data: {
"first": {
"value": "您购买的订单已经发货啦,正快马加鞭向您飞奔而去。",
"color": "#173177"
},
"keyword1": {
"value": "D201803111235825",
"color": "#173177"
},
"keyword2": {
"value": "2018-03-11 19:56",
"color": "#173177"
},
"keyword3": {
"value": "顺丰快递",
"color": "#173177"
},
"keyword4": {
"value": "980456952123",
"color": "#173177"
},
"keyword5": {
"value": "王先生 135xxxxxxxx 广东省深圳市龙华区建设东路",
"color": "#173177"
},
"remark": {
"value": "欢迎再次购买!",
"color": "#173177"
}
}
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}