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

69 lines
1.2 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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