todo: 路由转发; 删除opi_sn 字段; 删除测试路由

dev/supplier-email-drawer
Lei OT 9 months ago
parent 9aa9a574af
commit db46025929

@ -11,5 +11,5 @@ NODE_ENV='development'
WEBHOOK_URL='https://p9axztuwd7x8a7.mycht.cn/whatsapp_server/wawebhook'
SERVER_DOMAIN=''
SERVER_DOMAIN='http://202.103.68.93:3031'
SERVER_NAME='aliyun1'

@ -9,7 +9,7 @@ const waInstance = {
exports.newConnect = async ctx => {
try {
const { phone } = ctx.query;
const findSession = getConnection({ sesson_id: phone, status: 'open' });
const findSession = await getConnection({ sesson_id: phone, status: 'open' });
if (findSession) {
return findSession;
}

@ -21,6 +21,11 @@ function applyApiMiddleware(app) {
});
app.use(router.routes()).use(router.allowedMethods());
// debug: Print out all registered routes
router.stack.forEach(layer => {
console.log(`${layer.methods} ${layer.path}`);
});
}
module.exports = applyApiMiddleware;

@ -1 +0,0 @@
module.exports = require('./user.routes');

@ -1,54 +0,0 @@
'use strict';
const generateId = require('../../utils/generateId.util');
/**
* Mock database, replace this with your db models import, required to perform query to your database.
*/
const db = {
users: [
{
id: 'bff28903-042e-47c2-b9ee-07c3954989ec',
name: 'Marco',
created_at: 1558536830937,
},
{
id: 'dca01a32-36e6-4886-af75-8e7caa0162a9',
name: 'Leonardo',
created_at: 1558536843742,
},
{
id: 'dca01a32-36e6-4886-af75-8e7caa0162a9',
name: 'Berta',
created_at: 1558536863550,
},
],
};
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
exports.getOne = async ctx => {
const { userId } = ctx.params;
const user = db.users.find(user => user.id === userId);
await sleep(500);
ctx.assert(user, 404, "The requested user doesn't exist");
return user;
};
exports.getAll = async ctx => {
return db.users;
};
exports.createOne = async ctx => {
const { name } = ctx.request.body;
ctx.assert(name, 400, 'The user info is malformed!');
const id = generateId();
const newUser = {
id,
name,
timestamp: Date.now(),
};
db.users.push(newUser);
const createdUser = db.users.find(user => user.id === id);
return createdUser;
};

@ -1,16 +0,0 @@
'use strict';
const controller = require('./user.controller');
module.exports = Router => {
const router = new Router({
prefix: `/users`,
});
router
.get('/:userId', controller.getOne)
.get('/', controller.getAll)
.post('/', controller.createOne);
return router;
};

@ -28,8 +28,8 @@ const webhookBodyBuilder = (messageData, messageType) => {
const setupConnectionHandler = () => {
// connectionEventNames.forEach(eventName => {
logger.info(`Setting up event ${'connection:added'}`);
whatsappEvents.on('connection:added', async connectionData => {
logger.info(`Setting up event ${'connection:added'}`);
try {
await addConnection({
...objectMapper(connectionData, { phone: [{ key: 'wa_id' }, { key: 'sesson_id' }], channelId: 'channel_id', createTimestamp: 'createtime' }),
@ -41,6 +41,7 @@ const setupConnectionHandler = () => {
}
});
whatsappEvents.on('connection:updated', async connectionData => {
logger.info(`Setting up event ${'connection:updated'}`);
try {
await updateConnection({
...objectMapper(connectionData, { phone: [{ key: 'wa_id' }, { key: 'sesson_id' }], channelId: 'channel_id' }),

@ -0,0 +1,19 @@
const { domain } = require('../../config').server;
const { isEmpty } = require('../../utils/commons.util');
const { getConnection } = require('../../services/connections.service');
const axios = require('axios');
module.exports = async (ctx, next) => {
try {
console.log('forward start ---------------');
// console.log(/^\/wai-server\/v\d{1}\/(?!channels|messages)/.test(ctx.path));
const { waisession } = ctx.headers;
const findSession = await getConnection({ sesson_id: waisession, status: 'open' });
if (!isEmpty(findSession) && findSession.connect_domain === domain) {
await next();
}
// todo: forward to target server
console.log('forward End ---------------');
} catch (err) {}
};

@ -1,6 +1,5 @@
module.exports = async (ctx, next) => {
try {
console.log('request handdle');
const data = await next();
ctx.body = {
errcode: 0,

@ -1,8 +1,7 @@
const { createRequestLog } = require('../../services/requestLogs.service');
const rlog = async (ctx, next) => {
try {
console.log('request log');
module.exports = async (ctx, next) => {
try {
await next();
} catch (err) {
} finally {
@ -14,4 +13,3 @@ const rlog = async (ctx, next) => {
});
}
};
module.exports = rlog;

@ -9,12 +9,13 @@ function applyMiddleware(app) {
const components = fs.readdirSync(basePath);
const nosorts = components.filter(item => item.indexOf('request.middleware') === -1);
nosorts.forEach(file => {
[...nosorts, 'request.middleware.js'].forEach(file => {
const componentMiddleware = require(path.join(basePath, file));
app.use(componentMiddleware);
});
const requestHandler = require(path.join(basePath, 'request.middleware.js')); // 必须在最后
app.use(requestHandler);
// const requestHandler = require(path.join(basePath, 'request.middleware.js')); // 必须在最后
// app.use(requestHandler);
}
module.exports = applyMiddleware;

@ -9,10 +9,6 @@ module.exports = function(sequelize, DataTypes) {
allowNull: false,
primaryKey: true,
},
opi_sn: {
type: DataTypes.INTEGER,
allowNull: true,
},
wa_id: {
type: DataTypes.STRING(100),
allowNull: true,

Loading…
Cancel
Save