♻️ 重新建表以存储新格式数据

This commit is contained in:
目棃
2024-08-16 14:53:02 +08:00
parent 27e22acdf6
commit 68f91035df
9 changed files with 254 additions and 550 deletions

View File

@@ -5,6 +5,7 @@
*/
import TGSqlite from "../index.js";
import { insertRoleData } from "../sql/insertData.js";
/**
* @description 获取用户角色id列表
@@ -18,8 +19,52 @@ async function getAllAvatarId(): Promise<string[]> {
return res.map((i) => i.cid);
}
/**
* @description 获取用户角色数据
* @since Beta v0.5.3
* @param {string} uid 用户 uid
* @returns {Promise<TGApp.Sqlite.Character.UserRole[]>}
*/
async function getAvatars(uid: string): Promise<TGApp.Sqlite.Character.UserRole[]> {
const db = await TGSqlite.getDB();
type resType = Array<TGApp.Sqlite.Character.UserRoleDB>;
const res = await db.select<resType>("SELECT * FROM UserCharacters WHERE uid = ?;", [uid]);
return res.map((i) => {
return {
uid: i.uid,
cid: i.cid,
avatar: JSON.parse(i.avatar),
weapon: JSON.parse(i.weapon),
relics: JSON.parse(i.relics),
constellations: JSON.parse(i.constellations),
costumes: JSON.parse(i.costumes),
skills: JSON.parse(i.skills),
propSelected: JSON.parse(i.propSelected),
propBase: JSON.parse(i.propBase),
propExtra: JSON.parse(i.propExtra),
propRecommend: JSON.parse(i.propRecommend),
updated: i.updated,
};
});
}
/**
* @description 保存用户角色数据
* @since Beta v0.5.3
* @param {string} uid 用户 uid
* @param {TGApp.Game.Avatar.DetailList[]} data 角色数据
* @returns {Promise<void>}
*/
async function saveAvatars(uid: string, data: TGApp.Game.Avatar.DetailList[]): Promise<void> {
const db = await TGSqlite.getDB();
const sql = insertRoleData(uid, data);
await db.execute(sql);
}
const TSUserAvatar = {
getAllAvatarId,
getAvatars,
saveAvatars,
};
export default TSUserAvatar;