From 549a8c7a1d0ea202a31938405e90d8fac6ef5a1b Mon Sep 17 00:00:00 2001 From: Kokomi <102026640+yoimiya-kokomi@users.noreply.github.com> Date: Sat, 11 Feb 2023 21:22:09 +0800 Subject: [PATCH] =?UTF-8?q?`#=E8=A7=92=E8=89=B2`=20=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=B1=95=E7=A4=BA=E5=AE=9D=E7=AE=B1=E6=95=B0?= =?UTF-8?q?=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/profile/ProfileStat.js | 12 ++- apps/stat.js | 4 +- models/Player.js | 47 +++--------- models/player-lib/MysAvatar.js | 79 +++++++++++++++++--- models/player-lib/Profile.js | 2 +- resources/character/avatar-list.css | 107 ++++++++++++++++++++------- resources/character/avatar-list.html | 81 +++++++++++++------- resources/character/avatar-list.less | 84 ++++++++++++++++++--- resources/character/imgs/chest.webp | Bin 0 -> 41394 bytes 9 files changed, 307 insertions(+), 109 deletions(-) create mode 100644 resources/character/imgs/chest.webp diff --git a/apps/profile/ProfileStat.js b/apps/profile/ProfileStat.js index 2b8779dd..93611956 100644 --- a/apps/profile/ProfileStat.js +++ b/apps/profile/ProfileStat.js @@ -51,10 +51,20 @@ export async function profileStat (e) { level: player.level } + let info = player.getInfo() + info.stats = info.stats || {} + info.statMap = { + achievement: '成就', + wayPoint: '锚点', + avatar: '角色', + avatar5: '五星角色', + goldCount: '金卡总数' + } + return await Common.render(isAvatarList ? 'character/avatar-list' : 'character/profile-stat', { save_id: uid, uid, - info: player.getInfo(), + info, updateTime: player.getUpdateTime(), isSelfCookie: e.isSelfCookie, talentLvMap: '0,1,1,1,2,2,3,3,3,4,5'.split(','), diff --git a/apps/stat.js b/apps/stat.js index 39fc1f2a..cabe7b03 100644 --- a/apps/stat.js +++ b/apps/stat.js @@ -210,8 +210,8 @@ async function abyssTeam (e) { let data = {} let noAvatar = {} lodash.forEach(avatarData, (avatar) => { - let t = avatar.talent - avatarRet[avatar.id] = Math.min(avatar.level, avatar.weapon?.level || 1) * 100 + Math.max(t.a?.original, t.e?.original, t.q?.original) * 1000 + let t = avatar.originalTalent + avatarRet[avatar.id] = Math.min(avatar.level, avatar.weapon?.level || 1) * 100 + Math.max(t?.a, t?.e, t?.q) * 1000 }) let getTeamCfg = (str) => { diff --git a/models/Player.js b/models/Player.js index 8c0fc3b4..48182fdb 100644 --- a/models/Player.js +++ b/models/Player.js @@ -173,48 +173,25 @@ export default class Player extends Base { } getInfo () { - let ret = { - ...(this.info || {}), - statMap: { - achievement: '成就数', - commonChest: '普通宝箱', - exquisiteChest: '精致宝箱', - preciousChest: '珍贵宝箱', - luxuriousChest: '豪华宝箱' - } - } - if (ret?.stats?.activeDay) { - let num = ret?.stats?.activeDay - let year = Math.floor(num / 365) - let month = Math.floor((num % 365) / 30.41) - let day = Math.floor((num % 365) % 30.41) - let msg = '' - if (year > 0) { - msg += year + '年' - } - if (month > 0) { - msg += month + '个月' - } - if (day > 0) { - msg += day + '天' - } - ret.activeDay = msg - } - lodash.forEach(ret) - return ret + return MysAvatar.getInfo(this) } // 更新面板 - async refreshProfile (force = true) { + async refreshProfile (force = 1) { return await Profile.refreshProfile(this, force) } // 更新米游社数据 - async refreshMysDetail (force = false) { + /** + * 更新米游社数据 + * @param force: 0:不强制,长超时时间 1:短超时时间 2:无视缓存,强制刷新 + * @returns {Promise} + */ + async refreshMysDetail (force = 0) { return MysAvatar.refreshMysDetail(this, force) } - async refreshMysInfo (force = false) { + async refreshMysInfo (force = 0) { return await MysAvatar.refreshMysInfo(this, force) } @@ -224,7 +201,7 @@ export default class Player extends Base { } // 使用MysApi刷新指定角色的天赋信息 - async refreshTalent (ids = '', force = false) { + async refreshTalent (ids = '', force = 0) { return await MysAvatar.refreshTalent(this, ids, force) } @@ -236,11 +213,11 @@ export default class Player extends Base { async refreshAndGetAvatarData (cfg) { // 更新角色信息 - await this.refreshMysDetail(cfg.force) + await this.refreshMysDetail(cfg.force || 0) // 更新天赋信息 if (cfg.refreshTalent !== false) { - await this.refreshTalent(cfg.ids, cfg.force) + await this.refreshTalent(cfg.ids, cfg.force || 0) } let rank = false diff --git a/models/player-lib/MysAvatar.js b/models/player-lib/MysAvatar.js index 24b01136..0c970eb4 100644 --- a/models/player-lib/MysAvatar.js +++ b/models/player-lib/MysAvatar.js @@ -3,6 +3,17 @@ import { Common, Data } from '../../components/index.js' import moment from 'moment' const MysAvatar = { + + needRefresh (time, force = 0, forceMap = {}) { + if (!time) { + return true + } + let duration = new Date() * 1 - time * 1 + if (isNaN(duration) || duration < 0) { + return true + } + return duration > (forceMap[force] || 60) * 60 * 1000 + }, /** * 更新米游社角色信息 * @param player @@ -10,13 +21,12 @@ const MysAvatar = { * @param force * @returns {Promise} */ - async refreshMysDetail (player, force = false) { + async refreshMysDetail (player, force = 0) { let mys = player?.e?._mys if (!mys) { return false } - // 不必要更新 - if ((new Date() * 1 - player._mys < 10 * 60 * 1000) && !force) { + if (!MysAvatar.needRefresh(player._mys, force, { 0: 60, 1: 2, 2: 0 })) { return false } let charData = await mys.getCharacter() @@ -32,12 +42,12 @@ const MysAvatar = { * @param force * @returns {Promise} */ - async refreshMysInfo (player, force = false) { + async refreshMysInfo (player, force = 0) { let mys = player?.e?._mys if (!mys) { return false } // 不必要更新 - if (player._info && (new Date() * 1 - player._info < 10 * 60 * 1000) && !force) { + if (!MysAvatar.needRefresh(player._info, force, { 0: 60, 1: 2, 2: 0 })) { return false } let infoData = await mys.getIndex() @@ -130,9 +140,10 @@ const MysAvatar = { * 获取当前角色需要更新天赋的角色ID * @param player * @param ids 角色列表,若传入则查询指定角色列表,不传入查询全部 + * @param force * @returns {*[]} */ - getNeedRefreshIds (player, ids) { + getNeedRefreshIds (player, ids, force = 0) { let ret = [] if (!ids) { ids = lodash.keys(player._avatars) @@ -141,7 +152,7 @@ const MysAvatar = { } lodash.forEach(ids, (id) => { let avatar = player.getAvatar(id) - if (avatar.needRefreshTalent) { + if (!avatar.hasTalent || MysAvatar.needRefresh(avatar._talent, force, { 0: 60 * 24, 1: 60, 2: 0 })) { ret.push(avatar.id) } }) @@ -155,13 +166,13 @@ const MysAvatar = { * @param force * @returns {Promise} */ - async refreshTalent (player, ids, force) { + async refreshTalent (player, ids, force = 0) { let e = player?.e let mys = e?._mys if (!e || !mys) { return false } - let needReqIds = MysAvatar.getNeedRefreshIds(player, ids) + let needReqIds = MysAvatar.getNeedRefreshIds(player, ids, force) if (needReqIds.length > 0) { if (needReqIds.length > 8) { e && e.reply('正在获取角色信息,请稍候...') @@ -221,6 +232,56 @@ const MysAvatar = { getDate (time) { return time ? moment(new Date(time)).format('MM-DD HH:mm') : '' + }, + + getInfo (player) { + let ret = { + ...(player.info || {}), + chestMap: [ + { key: 'commonChest', title: '普通宝箱', max: 2521 }, + { key: 'exquisiteChest', title: '精致宝箱', max: 1585 }, + { key: 'preciousChest', title: '珍贵宝箱', max: 482 }, + { key: 'luxuriousChest', title: '豪华宝箱', max: 184 }, + { key: 'magicChest', title: '奇馈宝箱', max: 140 } + ] + } + let stats = ret.stats || {} + if (stats?.activeDay) { + let num = stats?.activeDay + let year = Math.floor(num / 365) + let month = Math.floor((num % 365) / 30.41) + let day = Math.floor((num % 365) % 30.41) + let msg = '' + if (year > 0) { + msg += year + '年' + } + if (month > 0) { + msg += month + '个月' + } + if (day > 0) { + msg += day + '天' + } + ret.activeDay = msg + } + let avatarCount = 0 + let avatar5Count = 0 + let goldCount = 0 + player.forEachAvatar((avatar) => { + avatarCount++ + if (avatar.star === 5) { + avatar5Count++ + goldCount += (avatar.cons || 0) + 1 + } + let w = avatar.weapon + if (w && w.star === 5) { + goldCount += w.affix * 1 + } + }) + stats.avatar = Math.max(stats.avatar, avatarCount) + stats.goldCount = goldCount + stats.avatar5 = avatar5Count + ret.stats = stats + return ret } } export default MysAvatar diff --git a/models/player-lib/Profile.js b/models/player-lib/Profile.js index 80cb8297..6d10ee00 100644 --- a/models/player-lib/Profile.js +++ b/models/player-lib/Profile.js @@ -34,7 +34,7 @@ const Profile = { * @param force * @returns {Promise} */ - async refreshProfile (player, force = true) { + async refreshProfile (player, force = 1) { player._update = [] let { uid, e } = player if (uid.toString().length !== 9 || !e) { diff --git a/resources/character/avatar-list.css b/resources/character/avatar-list.css index 439c80b2..5a69507a 100644 --- a/resources/character/avatar-list.css +++ b/resources/character/avatar-list.css @@ -5,7 +5,7 @@ .head-box { margin-top: 0; } -#banner { +.user-banner { height: 90px; background-size: auto 100%; background-position: right center; @@ -18,7 +18,7 @@ white-space: nowrap; position: relative; } -#banner .face { +.user-banner .face { width: 70px; height: 70px; margin: 10px; @@ -29,33 +29,33 @@ background: url('../common/item/bg5.png'); background-size: cover; } -#banner .face span { +.user-banner .face span { display: block; width: 64px; height: 64px; background-size: auto 100%; background-repeat: no-repeat; } -#banner .user-info { +.user-banner .user-info { padding: 15px 5px; color: #414e64; } -#banner .user-info .name { +.user-banner .user-info .name { height: 34px; line-height: 34px; } -#banner .user-info .name strong { - font-size: 26px; +.user-banner .user-info .name strong { + font-size: 24px; } -#banner .user-info .name span { +.user-banner .user-info .name span { padding-left: 5px; } -#banner .user-info .uid { +.user-banner .user-info .uid { height: 22px; line-height: 22px; font-size: 16px; } -#banner .stat { +.user-banner .stat { position: absolute; right: 0; top: 0; @@ -66,42 +66,38 @@ height: 58px; box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.4); } -#banner .stat-li { +.user-banner .stat-li { padding: 7px; width: 70px; height: 58px; text-align: center; position: relative; } -#banner .stat-li:nth-child(even) { +.user-banner .stat-li:nth-child(even) { background: rgba(225, 225, 225, 0.8); } -#banner .stat-li:first-child { - width: 78px; - padding-left: 15px; +.user-banner .stat-li:first-child { + width: 80px; + padding-left: 17px; } -#banner .stat-li:last-child { - width: 78px; - padding-right: 15px; +.user-banner .stat-li:last-child { + width: 80px; + padding-right: 17px; } -#banner .stat-li strong { +.user-banner .stat-li strong { font-size: 22px; display: block; } -#banner .stat-li span { +.user-banner .stat-li span { display: block; font-size: 14px; color: #414e64; } -#avatar-list { - width: calc(100% + 30px); - margin: 0 -15px -5px; - overflow: hidden; -} .exploration { display: flex; flex-wrap: wrap; - padding: 16px; + margin: 10px 0; + justify-content: center; } .exploration .item { width: 93px; @@ -112,6 +108,7 @@ margin: 3px; text-align: center; color: #fff; + align-items: center; } .exploration .item strong { font-size: 24px; @@ -128,12 +125,70 @@ display: block; text-shadow: 0 0 1px rgba(0, 0, 0, 0.5); } +.chest-list { + margin: 10px 0; + overflow: hidden; + background: rgba(0, 0, 0, 0.6); + padding: 0 15px; + display: flex; + justify-content: center; +} +.chest-list .chest { + width: 20%; + display: flex; + padding: 15px 0; +} +.chest-list .chest:nth-child(even) { + background: rgba(50, 50, 50, 0.5); +} +.chest-list .chest .value { + font-size: 24px; + line-height: 40px; + height: 40px; + padding-right: 8px; + text-align: right; + width: 70px; + text-shadow: 0 0 1px #000, 1px 1px 3px rgba(0, 0, 0, 0.5); +} +.chest-list .chest .detail { + width: 60px; + height: 40px; + font-size: 13px; +} +.chest-list .chest .info { + display: flex; + height: 20px; + line-height: 20px; +} +.chest-list .chest .icon { + display: inline-block; + width: 18px; + height: 18px; + margin: 1px; + background: url('./imgs/chest.webp') no-repeat; + background-size: auto 100%; + vertical-align: center; +} +.chest-list .chest .max { + font-size: 12px; + padding-left: 3px; + color: #aaa; +} +.chest-list .chest .title { + height: 20px; + display: flex; + color: #d3bc8e; +} .cont-title { padding: 8px 15px; } +.avatar-cont-main { + overflow: hidden; +} .avatar-cont { background: rgba(0, 0, 0, 0.5); padding: 0; + margin: 10px 0; } .avatar-list { display: flex; diff --git a/resources/character/avatar-list.html b/resources/character/avatar-list.html index 1d6a2e07..cc46fc72 100644 --- a/resources/character/avatar-list.html +++ b/resources/character/avatar-list.html @@ -7,7 +7,7 @@ {{block 'main'}} - + {{if info && info.stats}}
{{each info?.statMap title key}} {{if info.stats[key] }} @@ -32,39 +33,67 @@ {{/if}} {{/each}}
+ {{/if}} + + {{if !isSelfCookie}}
未绑定CK或CK失效,信息可能不完全。发送#体力帮助查看CK绑定方法,发送#更新面板更新游戏内角色展柜信息
{{/if}} -
- {{if info && info?.exploration['蒙德']}} - {{set citys = ['蒙德','龙脊雪山','璃月','层岩巨渊','稻妻','渊下宫','须弥'] }} -
- {{each citys city idx}} -
- {{city}} - {{ (info.exploration[city]||0)/10 || '0'}}% + +{{if info && info.exploration && info.exploration['蒙德']}} +{{set citys = ['蒙德','龙脊雪山','璃月','层岩巨渊','稻妻','渊下宫','须弥'] }} +
+ {{each citys city idx}} +
+ {{city}} + {{ (info.exploration[city]||0)/10 || '0'}}% +
+ {{/each}} +
+{{/if}} + + +{{if info?.stats?.commonChest}} +{{set ds = info?.stats}} +
+ {{each info?.chestMap cfg idx}} +
+
{{ds[cfg.key]}}
+
+
+
+
{{cfg.max>ds[cfg.key]?cfg.max:ds[cfg.key]}}
+
+
{{cfg.title}}
+
+ {{/each}} +
+{{/if}} + + +
+
角色列表
+
+ {{each avatars avatar idx}} + <% include(_layout_path+'../tpl/avatar-card.html', [avatar,{_res_path, cardType:'mini'}]) %> {{/each}}
- {{/if}} -
-
角色列表
-
- {{each avatars avatar idx}} - <% include(_layout_path+'../tpl/avatar-card.html', [avatar,{_res_path, cardType:'mini'}]) %> - {{/each}} -
- +
diff --git a/resources/character/avatar-list.less b/resources/character/avatar-list.less index e81195ba..27def12a 100644 --- a/resources/character/avatar-list.less +++ b/resources/character/avatar-list.less @@ -8,7 +8,8 @@ margin-top: 0; } -#banner { + +.user-banner { height: 90px; background-size: auto 100%; background-position: right center; @@ -50,7 +51,7 @@ line-height: 34px; strong { - font-size: 26px; + font-size: 24px; } span { @@ -79,7 +80,7 @@ .stat-li { @width: 70px; - @padding: 8px; + @padding: 10px; padding: 7px; width: @width; @@ -116,16 +117,12 @@ } } -#avatar-list { - width: calc(100% + 30px); - margin: 0 -15px -5px; - overflow: hidden; -} .exploration { display: flex; flex-wrap: wrap; - padding: 16px; + margin: 10px 0; + justify-content: center; .item { width: 93px; @@ -136,6 +133,7 @@ margin: 3px; text-align: center; color: #fff; + align-items: center; strong { font-size: 24px; @@ -154,17 +152,85 @@ text-shadow: 0 0 1px rgba(0, 0, 0, .5); } } +} + +.chest-list { + margin: 10px 0; + overflow: hidden; + background: rgba(0, 0, 0, .6); + padding: 0 15px; + display: flex; + justify-content: center; + + .chest { + width: 20%; + display: flex; + padding: 15px 0; + + &:nth-child(even) { + background: rgba(50, 50, 50, .5); + } + + .value { + font-size: 24px; + line-height: 40px; + height: 40px; + padding-right: 8px; + text-align: right; + width: 70px; + text-shadow: 0 0 1px #000, 1px 1px 3px rgba(0, 0, 0, .5); + } + + .detail { + width: 60px; + height: 40px; + font-size: 13px; + } + + .info { + display: flex; + height: 20px; + line-height: 20px; + } + + .icon { + display: inline-block; + width: 18px; + height: 18px; + margin: 1px; + background: url('./imgs/chest.webp') no-repeat; + background-size: auto 100%; + vertical-align: center; + } + + .max { + font-size: 12px; + padding-left: 3px; + color: #aaa; + } + + .title { + height: 20px; + display: flex; + color: #d3bc8e; + } + } } .cont-title { padding: 8px 15px; } +.avatar-cont-main { + overflow: hidden; +} + .avatar-cont { background: rgba(0, 0, 0, .5); padding: 0; + margin: 10px 0; } .avatar-list { diff --git a/resources/character/imgs/chest.webp b/resources/character/imgs/chest.webp new file mode 100644 index 0000000000000000000000000000000000000000..b56793ed388859403334c85f7177cb6553117c2a GIT binary patch literal 41394 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 b01!9<07w9%2><{PjsySz|LP$>^#7p}ka%p1 literal 0 HcmV?d00001