miao-plugin/models/player/MiaoApi.js

58 lines
1.5 KiB
JavaScript
Raw Normal View History

2022-07-27 18:36:49 +00:00
import lodash from 'lodash'
2023-02-08 20:55:54 +00:00
import { Data } from '../../components/index.js'
2023-02-09 16:57:25 +00:00
import MiaoData from './MiaoData.js'
2022-06-14 22:07:24 +00:00
2023-02-09 16:57:25 +00:00
export default {
2022-07-27 18:36:49 +00:00
key: 'miao',
name: '喵喵Api',
cfgKey: 'miaoApi',
async response (data, req) {
if (data.status !== 0) {
return req.err(data.msg || 'error', 60)
2022-06-14 22:07:24 +00:00
}
2023-02-19 17:08:05 +00:00
if (data.version === 2) {
data = data.data || {}
if (!data.avatars || data.avatars.length === 0) {
return req.err('empty', 5 * 60)
}
data.version = 2
return data
} else {
data = data.data || {}
if (!data.showAvatarInfoList || data.showAvatarInfoList.length === 0) {
return req.err('empty', 5 * 60)
}
return data
2022-08-16 20:04:12 +00:00
}
2022-06-14 22:07:24 +00:00
},
2023-02-08 20:55:54 +00:00
updatePlayer (player, data) {
2023-02-19 17:08:05 +00:00
if (data.version === 2) {
player.setBasicData(data)
lodash.forEach(data.avatars, (avatar) => {
let ret = MiaoData.setAvatarNew(player, avatar)
if (ret) {
player._update.push(ret.id)
}
})
} else {
player.setBasicData(Data.getData(data, 'name:nickname,face:profilePicture.avatarId,card:nameCardID,level,word:worldLevel,sign:signature'))
lodash.forEach(data.showAvatarInfoList, (ds) => {
let ret = MiaoData.setAvatar(player, ds)
if (ret) {
player._update.push(ret.id)
}
})
}
},
2022-06-14 22:07:24 +00:00
// 获取冷却时间
cdTime (data = {}) {
if (data.cacheExpireAt) {
let exp = Math.max(0, Math.round(data.cacheExpireAt - (new Date() / 1000)))
return Math.max(60, exp)
2022-08-18 10:13:42 +00:00
}
return 60
2022-08-18 10:13:42 +00:00
}
2023-02-09 16:57:25 +00:00
}