Miao-Yunzai/plugins/genshin/model/db/MysUserDB.js

69 lines
1.2 KiB
JavaScript
Raw Normal View History

import BaseModel from './BaseModel.js'
const { Types } = BaseModel
const COLUMNS = {
// 用户IDqq为数字
ltuid: {
type: Types.INTEGER,
primaryKey: true
},
// MysUser类型mys / hoyolab
type: {
type: Types.STRING,
defaultValue: 'mys',
notNull: true
},
// CK
ck: Types.STRING,
device: Types.STRING,
uids: {
type: Types.STRING,
get () {
let data = this.getDataValue('uids')
let ret = {}
try {
ret = JSON.parse(data)
} catch (e) {
ret = {}
}
return ret
},
set (uids) {
this.setDataValue('uids', JSON.stringify(uids))
}
}
}
class MysUserDB extends BaseModel {
static async find (ltuid = '', create = false) {
// DB查询
let mys = await MysUserDB.findByPk(ltuid)
if (!mys && create) {
mys = await MysUserDB.build({
ltuid
})
}
return mys || false
}
async saveDB (mys) {
if (!mys.ck || !mys.device || !mys.db) {
return false
}
let db = this
this.ck = mys.ck
this.type = mys.type
this.device = mys.device
this.uids = mys.uids
await db.save()
}
}
BaseModel.initDB(MysUserDB, COLUMNS)
await MysUserDB.sync()
export default MysUserDB