69 lines
1.2 KiB
JavaScript
69 lines
1.2 KiB
JavaScript
|
import BaseModel from './BaseModel.js'
|
|||
|
|
|||
|
const { Types } = BaseModel
|
|||
|
|
|||
|
const COLUMNS = {
|
|||
|
// 用户ID,qq为数字
|
|||
|
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
|