细节完善

This commit is contained in:
kron
2025-07-10 15:34:00 +08:00
parent db419ae003
commit 7972dae398
12 changed files with 144 additions and 112 deletions

View File

@@ -8,6 +8,37 @@ const defaultUser = {
lvlName: "砖石1级",
};
const getLvlName = (score, rankList = []) => {
let lvlName = "";
rankList.some((r, index) => {
lvlName = rankList[index].name;
if (r.upgrade_scores > score) {
if (rankList[index - 1]) {
lvlName = rankList[index - 1].name;
}
return true;
}
return false;
});
return lvlName;
};
const getLvlImage = (score, rankList = []) => {
// 先保存到本地,分享只能用本地图片
let lvlImage = "";
rankList.some((r, index) => {
lvlImage = rankList[index].icoin;
if (r.upgrade_scores > score) {
if (rankList[index - 1]) {
lvlImage = rankList[index - 1].icoin;
}
return true;
}
return false;
});
return lvlImage;
};
// 定义游戏相关的 store
export default defineStore("store", {
// 状态
@@ -33,35 +64,11 @@ export default defineStore("store", {
// 方法
actions: {
getLvlImage(score) {
let lvlImage = "";
const rankInfos = this.config.randInfos || [];
rankInfos.some((r, index) => {
lvlImage = rankInfos[index].icoin;
if (r.upgrade_scores > score) {
if (rankInfos[index - 1]) {
lvlImage = rankInfos[index - 1].icoin;
}
return true;
}
return false;
});
return lvlImage;
},
getLvlName(score) {
let lvlName = "";
const rankInfos = this.config.randInfos || [];
rankInfos.some((r, index) => {
lvlName = rankInfos[index].name;
if (r.upgrade_scores > score) {
if (rankInfos[index - 1]) {
lvlName = rankInfos[index - 1].name;
}
return true;
}
return false;
});
return lvlName;
return getLvlName(score, this.config.randInfos);
},
getLvlImage(score) {
return getLvlImage(score, this.config.randInfos);
},
updateRank(data = {}) {
this.rankData = { rank: data.rank || [], ringRank: data.ringRank || [] };
@@ -69,53 +76,32 @@ export default defineStore("store", {
async updateUser(user = {}) {
this.user = { ...defaultUser, ...user };
if (user.avatar) {
const avatarInfo = await uni.getImageInfo({ src: user.avatar });
this.user.avatar = avatarInfo.path;
// 先保存到本地,分享只能用本地图片
const imageInfo = await uni.getImageInfo({ src: user.avatar });
this.user.avatar = imageInfo.path;
}
const rankInfos = this.config.randInfos || [];
let lvlName = "";
let lvlImage = "";
if (this.user.scores) {
rankInfos.some((r, index) => {
lvlName = rankInfos[index].name;
lvlImage = rankInfos[index].icoin;
if (r.upgrade_scores > this.user.scores) {
if (rankInfos[index - 1]) {
lvlName = rankInfos[index - 1].name;
lvlImage = rankInfos[index - 1].icoin;
}
return true;
}
return false;
});
this.user.lvlName = lvlName;
this.user.lvlImage = lvlImage;
this.user.lvlName = getLvlName(this.user.scores, this.config.randInfos);
const lvlImage = getLvlImage(this.user.scores, this.config.randInfos);
if (lvlImage) {
const imageInfo = await uni.getImageInfo({ src: lvlImage });
this.user.lvlImage = imageInfo.path;
}
}
},
updateDevice(deviceId, deviceName) {
this.device.deviceId = deviceId;
this.device.deviceName = deviceName;
},
updateConfig(config) {
async updateConfig(config) {
this.config = config;
const rankInfos = config.randInfos || [];
let lvlName = "";
let lvlImage = "";
if (this.user.scores) {
rankInfos.some((r, index) => {
lvlName = rankInfos[index].name;
lvlImage = rankInfos[index].icoin;
if (r.upgrade_scores > this.user.scores) {
if (rankInfos[index - 1]) {
lvlName = rankInfos[index - 1].name;
lvlImage = rankInfos[index - 1].icoin;
}
return true;
}
return false;
});
this.user.lvlName = lvlName;
this.user.lvlImage = lvlImage;
this.user.lvlName = getLvlName(this.user.scores, this.config.randInfos);
const lvlImage = getLvlImage(this.user.scores, this.config.randInfos);
if (lvlImage) {
const imageInfo = await uni.getImageInfo({ src: lvlImage });
this.user.lvlImage = imageInfo.path;
}
}
},
},