🎉 able to login & logout
This commit is contained in:
+27
-21
@@ -1,24 +1,30 @@
|
||||
const { pushWechatMessage } = require('./wechat');
|
||||
const { pushWeChatMessage } = require('./wechat');
|
||||
const Message = require('../models/message').Message;
|
||||
|
||||
async function processMessage(userPrefix, message) {
|
||||
if (message.content) {
|
||||
message = await Message.create(message);
|
||||
}
|
||||
let result = {
|
||||
success: false,
|
||||
message: `unsupported message type ${message.type}`,
|
||||
};
|
||||
switch (message.type) {
|
||||
case '0': // WeChat message
|
||||
result = await pushWeChatMessage(userPrefix, message);
|
||||
break;
|
||||
case '1': // Email message
|
||||
// TODO: Email message
|
||||
break;
|
||||
case '2': // HTTP GET request
|
||||
// TODO: HTTP GET request
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
async processMessage(userPrefix, message) {
|
||||
let result = {
|
||||
success: false,
|
||||
message: `unsupported message type ${message.type}`,
|
||||
};
|
||||
switch (message.type) {
|
||||
case '0': // WeChat message
|
||||
result = await pushWechatMessage(userPrefix, message);
|
||||
break;
|
||||
case '1': // Email message
|
||||
// TODO: Email message
|
||||
break;
|
||||
case '2': // HTTP GET request
|
||||
// TODO: HTTP GET request
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return result;
|
||||
},
|
||||
processMessage,
|
||||
};
|
||||
|
||||
@@ -11,6 +11,7 @@ async function initializeTokenStore() {
|
||||
appSecret: user.wechatAppSecret,
|
||||
templateId: user.wechatTemplateId,
|
||||
openId: user.wechatOpenId,
|
||||
serverVerifyToken: user.wechatVerifyToken,
|
||||
token: '',
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
function formatTime(format) {
|
||||
if (format === undefined) format = 'yyyy-MM-dd hh:mm:ss';
|
||||
const date = new Date();
|
||||
const o = {
|
||||
'M+': date.getMonth() + 1,
|
||||
'd+': date.getDate(),
|
||||
'h+': date.getHours(),
|
||||
'm+': date.getMinutes(),
|
||||
's+': date.getSeconds(),
|
||||
S: date.getMilliseconds(),
|
||||
};
|
||||
|
||||
if (/(y+)/.test(format)) {
|
||||
format = format.replace(
|
||||
RegExp.$1,
|
||||
(date.getFullYear() + '').substr(4 - RegExp.$1.length)
|
||||
);
|
||||
}
|
||||
|
||||
for (let k in o) {
|
||||
if (new RegExp('(' + k + ')').test(format)) {
|
||||
format = format.replace(
|
||||
RegExp.$1,
|
||||
RegExp.$1.length === 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length)
|
||||
);
|
||||
}
|
||||
}
|
||||
return format;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
formatTime,
|
||||
};
|
||||
+7
-4
@@ -28,16 +28,19 @@ async function requestToken(appId, appSecret) {
|
||||
async function pushWeChatMessage(userPrefix, message) {
|
||||
// Reference: https://mp.weixin.qq.com/debug/cgi-bin/readtmpl?t=tmplmsg/faq_tmpl
|
||||
let user = tokenStore.get(userPrefix);
|
||||
if (!user) {
|
||||
return {
|
||||
success: false,
|
||||
message: `tokenStore 中不存在该前缀(${userPrefix})`,
|
||||
};
|
||||
}
|
||||
let access_token = user.token;
|
||||
let request_data = {
|
||||
touser: user.wechatOpenId,
|
||||
template_id: user.wechatTemplateId,
|
||||
};
|
||||
if (message.content) {
|
||||
// TODO
|
||||
// Generate html, save message to database and then return the id
|
||||
let id = 'TODO';
|
||||
request_data.url = `${config.href}${userPrefix}/${id}`;
|
||||
request_data.url = `${config.href}${userPrefix}/${message.id}`;
|
||||
}
|
||||
request_data.data = { text: { value: message.description } };
|
||||
let requestUrl = `https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=${access_token}`;
|
||||
|
||||
Reference in New Issue
Block a user