卫星通信服务平台

This commit is contained in:
2026-05-19 17:12:10 +08:00
parent 098d2ff575
commit 2398f17070
5 changed files with 149 additions and 72 deletions

View File

@@ -283,7 +283,6 @@ class HomeController extends Controller {
const ctx = this.ctx;
try {
const body = ctx.request.body;
console.log(body)
const { sn_number, original_msg, msg_data, created_at } = body;
const form = {
sn_number: sn_number,
@@ -308,6 +307,35 @@ class HomeController extends Controller {
}
}
// 保存未知消息
async saveUnknown() {
const { ctx } = this;
try {
const body = ctx.request.body;
const { system_type, original_msg, msg_data, created_at } = body;
const form = {
system_type: system_type,
original_msg: original_msg,
msg_data: msg_data,
created_at: created_at
};
const result = await ctx.service.home.saveUnknown(form);
if (result == "error") {
this.setResponse(ctx, 500, '服务器错误', "none");
return;
}
if (result) {
this.setResponse(ctx, 200, '保存未知消息成功', "none");
} else {
this.setResponse(ctx, 404, '保存未知消息失败', "none");
}
} catch (error) {
const blockName = fileName + "--" + "saveUnknown";
ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error);
this.setResponse(ctx, 500, '服务器错误', "none");
}
}
// 获取历史消息
async getHistoryMsg() {
const ctx = this.ctx;

View File

@@ -21,14 +21,14 @@ module.exports = (app) => {
// 00000043010000000000000000000000000000000000000000 18 31353037365f32303236303330333135313835315f323832 00 0f 0102030405060708090a0b0c0d0e0f
let sn_value = value.slice(52, 100),
snBuffer = Buffer.from(sn_value, 'hex'),
snNumber = snBuffer.toString('ascii').split("_")[0],
snNumber = snBuffer.toString('ascii').split("_")[0].padStart(8, '0'),
msg_value = value.slice(104, value.length),
msgBuffer = Buffer.from(msg_value, 'hex'),
msgData = msgBuffer.toString('ascii');
console.log(msgData)
// socket接收消息后触发事件监听器,将消息发送给websocket客户端并存储在数据库中
shunt.socketEmitter().emit(snNumber, { msg_data: msgData, created_at: new Date() });
await app.curl('http://127.0.0.1:' + app.server.address().port + '/shortMsg', {
const shortMsg = await app.curl('http://127.0.0.1:' + app.server.address().port + '/shortMsg', {
dataType: 'json',
contentType: 'application/x-www-form-urlencoded',
method: 'POST',
@@ -40,6 +40,20 @@ module.exports = (app) => {
created_at: new Date()
},
});
if (shortMsg.data.code == 404) {
await app.curl('http://127.0.0.1:' + app.server.address().port + '/saveUnknown', {
dataType: 'json',
contentType: 'application/x-www-form-urlencoded',
method: 'POST',
timeout: 3000,
data: {
system_type: 1,
original_msg: value,
msg_data: msgData,
created_at: new Date()
},
});
}
});
socket.on('end', function (data) {
console.log(data);

20
app/model3/Unknown.js Normal file
View File

@@ -0,0 +1,20 @@
'use strict';
module.exports = (app) => {
const { INTEGER, TEXT, DATE } = app.Sequelize;
const Unknown = app.model3.define('unknown', {
id: { type: INTEGER(8), primaryKey: true, autoIncrement: true },
system_type: INTEGER(3),
original_msg: TEXT,
msg_data: TEXT,
created_at: DATE,
},{
freezeTableName: true,
timestamp: true,
createdAt: true,
updatedAt: false,
});
return Unknown;
};

View File

@@ -30,6 +30,8 @@ module.exports = app => {
router.post('/getRecord', controller.home.getRecord);
// 存储消息记录
router.post('/shortMsg', controller.home.shortMsg);
// 保存未知消息
router.post("/saveUnknown", controller.home.saveUnknown);
// 获取历史消息
router.post('/getHistoryMsg', controller.home.getHistoryMsg);
// 删除历史消息

View File

@@ -302,6 +302,19 @@ class HomeService extends Service {
}
}
// 保存未知消息
async saveUnknown(form) {
const { ctx } = this;
try {
const result = await ctx.model3.Unknown.create(form);
return result || false;
} catch (error) {
const blockName = fileName + "--" + "saveUnknown";
ctx.app.middleware.log('../../serviceLog', blockName + ">>>>" + error);
return 'error';
}
}
// 获取历史消息
async getHistoryMsg(uid, body) {
const { ctx } = this;