Skip to content

Commit

Permalink
订阅消息接入
Browse files Browse the repository at this point in the history
  • Loading branch information
CavinCao committed Nov 7, 2019
1 parent 2b567fb commit 4193dcc
Show file tree
Hide file tree
Showing 21 changed files with 853 additions and 122 deletions.
4 changes: 3 additions & 1 deletion cloudfunctions/messageService/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
"templateMessage.deleteTemplate",
"templateMessage.getTemplateList",
"templateMessage.getTemplateLibraryById",
"templateMessage.getTemplateLibraryList"
"templateMessage.getTemplateLibraryList",
"subscribeMessage.send",
"subscribeMessage.getTemplateList"
]
}
}
112 changes: 91 additions & 21 deletions cloudfunctions/messageService/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,84 @@ exports.main = async (event, context) => {
case 'removeExpireFormId': {
return removeExpireFormId(event)
}
case 'queryFormIds': {
return queryFormIds(event)
case 'querySubscribeCount': {
return querySubscribeCount(event)
}
case 'addFormIds': {
return addFormIds(event)
}
case 'sendSubscribeMessage': {
return sendSubscribeMessage(event)
}
case 'getTemplateList': {
return getTemplateList(event)
}
case 'addSubscribeCount': {
return addSubscribeCount(event)
}
default: break
}
}

/**
* 发送订阅消息
* @param {} event
*/
async function sendSubscribeMessage(event) {

console.info(event)
var openId = ""
if (event.tOpenId == "") {
openId = process.env.author
}
else if (event.tOpenId == event.cOpenId) {
openId = process.env.author
}
else{
openId=event.tOpenId
}

var templateInfo = await db.collection('mini_subcribute').where({
openId: openId,
templateId: event.templateId
}).limit(1).get()

if (templateInfo.code) {
return;
}
if (!templateInfo.data.length) {
return;
}

let nickName=event.nickName.replace(/\d+/g,'')

await db.collection('mini_subcribute').doc(templateInfo.data[0]['_id']).remove()

try {
const result = await cloud.openapi.subscribeMessage.send({
touser: openId,
page: event.page,
data: {
name1: {
value: nickName
},
thing2: {
value: event.content
},
time3: {
value: event.createDate
}
},
templateId: event.templateId
})
console.log(result)
return result
} catch (err) {
console.log(err)
return err
}
}


/**
* 发送通知消息
Expand Down Expand Up @@ -81,19 +149,14 @@ async function sendTemplateMessage(event) {
* 获取总的formIds和过期的formIds
* @param {} event
*/
async function queryFormIds(event) {
async function querySubscribeCount(event) {
var data = {}
var formIdsResult = await db.collection('mini_formids').where({
openId: process.env.author // 填入当前用户 openid
}).count()

/*var formIdsExpireResult = await db.collection('mini_formids').where({
var formIdsResult = await db.collection('mini_subcribute').where({
openId: process.env.author, // 填入当前用户 openid
timestamp: _.lt(new Date().removeDays(7).getTime())
}).count()*/
templateId: event.templateId,
}).count()

data.formIds = formIdsResult.total
//data.expireFromIds = formIdsExpireResult.total
return data;
}

Expand All @@ -115,23 +178,17 @@ async function removeExpireFormId(event) {
* 新增formId
* @param {} event
*/
async function addFormIds(event) {
async function addSubscribeCount(event) {
try {

let removeRes = await db.collection('mini_formids').where({
timestamp: _.lt(new Date().removeDays(7).getTime())
}).remove()

console.info(removeRes)

for (var i = 0; i < event.formIds.length; i++) {
for (var i = 0; i < event.templateIds.length; i++) {
let data = {
openId: event.userInfo.openId,
formId: event.formIds[i],
templateId: event.templateIds[i],
timestamp: new Date().getTime()
}

let res = await db.collection('mini_formids').add({
let res = await db.collection('mini_subcribute').add({
data: data
})
console.info(res)
Expand All @@ -142,3 +199,16 @@ async function addFormIds(event) {
return false;
}
}

/**
* 获取当前帐号下的个人模板列表
* @param {*} event
*/
async function getTemplateList(event) {
try {
const result = await cloud.openapi.subscribeMessage.getTemplateList()
return result
} catch (err) {
return err
}
}
Loading

0 comments on commit 4193dcc

Please sign in to comment.