修正AES加密字符串中对emoji处理的编码问题
This commit is contained in:
1 parent
ec5fcf1ee7
commit
20e9f4940e
7 files changed
+151
-63
No files matched your search
@@ -230,8 +230,8 @@ const server = http.createServer(app);
|
||||
const wss = new WebSocketServer({ server });
|
||||
// 先实现最低限度功能,暂时不考虑身份认证
|
||||
const groupsMap = {};
|
||||
// 三天不活跃的群组将被清除
|
||||
const LifeOfGroup = millisecondsOfOneDay * 3;
|
||||
// 一天不活跃的群组将被清除
|
||||
const LifeOfGroup = millisecondsOfOneDay * 1;
|
||||
// const LifeOfGroup = 0;
|
||||
// 根据uuid查询加入的群组
|
||||
const uuid2Groups={}
|
||||
@@ -287,11 +287,11 @@ function createGroupTableDB(gID, verify) {
|
||||
}
|
||||
|
||||
// 插入信息
|
||||
function insertMessageByGID(gID, msg, from) {
|
||||
function insertMessageByGID(gID, msg, from, timestamp) {
|
||||
if (!generateStmt_insertMessage_map[gID]) {
|
||||
generateStmt_insertMessage_map[gID] = db.prepare(`INSERT INTO ${gID} (message,type,sender, timestamp) VALUES (?, ?, ?, ?)`);
|
||||
}
|
||||
generateStmt_insertMessage_map[gID].run(msg, "gMsg", from, parseInt(Date.now()));
|
||||
generateStmt_insertMessage_map[gID].run(msg, "gMsg", from, timestamp);
|
||||
}
|
||||
|
||||
function updateActiveTimestamp(gID) {
|
||||
@@ -326,12 +326,13 @@ function getHistory(gID) {
|
||||
}
|
||||
|
||||
function broadcastMsg(gID, msg, from) {
|
||||
const timestamp = parseInt(Date.now())
|
||||
initMsgHistory(gID)
|
||||
updateActiveTimestamp(gID);
|
||||
insertMessageByGID(gID, msg, from);
|
||||
insertMessageByGID(gID, msg, from, timestamp);
|
||||
|
||||
let bmsg = JSON.stringify({ type: "gMsg", gID, msg });
|
||||
groupsMap[gID].msgHistory.push({ type: "gMsg", msg, from });
|
||||
let bmsg = JSON.stringify({ type: "gMsg", gID, msg, from, timestamp });
|
||||
groupsMap[gID].msgHistory.push({ type: "gMsg", msg, from, timestamp });
|
||||
for (let socket of groupsMap[gID].member) {
|
||||
socket.send(bmsg);
|
||||
}
|
||||
@@ -342,10 +343,10 @@ function initMsgHistory(gID){
|
||||
let verify = stmt_getGroupVerify.get(gID).verify;
|
||||
// 暂时这么写
|
||||
let msgHistory = db
|
||||
.prepare(`SELECT message,type FROM ${gID}`)
|
||||
.prepare(`SELECT message,type,sender,timestamp FROM ${gID}`)
|
||||
.all()
|
||||
.map(v => {
|
||||
return { msg: v.message, type: v.type };
|
||||
return { type: v.type, msg: v.message,from:v.sender,timestamp:v.timestamp };
|
||||
});
|
||||
// console.log(msgHistory)
|
||||
groupsMap[gID] = { verify, member: [], msgHistory };
|
||||
|
||||
Reference in new issue
Block a user