等级显示优化

This commit is contained in:
kron
2025-06-18 02:26:42 +08:00
parent a782e141ab
commit 7413a8fdee
5 changed files with 35 additions and 10 deletions

View File

@@ -32,7 +32,7 @@ const props = defineProps({
<Avatar :src="user.avatar" frame :size="50" />
<view>
<text>{{ user.nickName }}</text>
<text>砖石1级</text>
<text>{{ user.lvlName }}</text>
</view>
</view>
<view @click="onClose">

View File

@@ -70,7 +70,7 @@ const saveImage = () => {
<Avatar :src="user.avatar" :size="40" frame />
<view>
<text>{{ user.nickName }}</text>
<text>砖石1级</text>
<text>{{ user.lvlName }}</text>
</view>
</view>
</view>

View File

@@ -11,7 +11,6 @@ const props = defineProps({
default: false,
},
});
const lvlName = ref("");
const nextLvlPoints = ref("");
const containerWidth = computed(() => (props.showRank ? "72vw" : "100vw"));
const toUserPage = () => {
@@ -29,12 +28,8 @@ const toUserPage = () => {
onMounted(() => {
const rankInfos = config.value.randInfos || [];
rankInfos.some((r, index) => {
lvlName.value = rankInfos[index].name;
if (r.upgrade_scores > user.value.scores) {
nextLvlPoints.value = r.upgrade_scores;
if (rankInfos[index - 1]) {
lvlName.value = rankInfos[index - 1].name;
}
return true;
}
return false;
@@ -55,7 +50,7 @@ onMounted(() => {
/>
</view>
<view class="user-stats">
<text class="level-tag level-tag-first">{{ lvlName }}</text>
<text class="level-tag level-tag-first">{{ user.lvlName }}</text>
<text class="level-tag level-tag-second">L{{ user.lvl }}</text>
<view class="rank-tag">
<view class="rank-tag-progress" :style="{ width: '40%' }" />

View File

@@ -21,6 +21,7 @@ const showBowData = ref(false);
const arrows = ref([]);
const handleSelect = async (index) => {
selectedIndex.value = index;
if (index === 0 && matchList.value.length === 0) {
const result = await getBattleListAPI(matchPage.value, 2);
matchList.value = result;
@@ -35,7 +36,6 @@ const handleSelect = async (index) => {
const result = await getPractiseResultListAPI();
practiseList.value = result.list;
}
selectedIndex.value = index;
};
const toMatchDetail = (id) => {

View File

@@ -29,7 +29,22 @@ export default defineStore("store", {
// 方法
actions: {
updateUser(user) {
this.user = user || defaultUser;
this.user = { ...defaultUser, ...user };
const rankInfos = this.config.randInfos || [];
let lvlName = "";
if (this.user.scores) {
rankInfos.some((r, index) => {
lvlName = rankInfos[index].name;
if (r.upgrade_scores > this.user.scores) {
if (rankInfos[index - 1]) {
lvlName = rankInfos[index - 1].name;
}
return true;
}
return false;
});
}
this.user.lvlName = lvlName;
},
updateDevice(deviceId, deviceName) {
this.device.deviceId = deviceId;
@@ -37,6 +52,21 @@ export default defineStore("store", {
},
updateConfig(config) {
this.config = config;
const rankInfos = config.randInfos || [];
let lvlName = "";
if (this.user.scores) {
rankInfos.some((r, index) => {
lvlName = rankInfos[index].name;
if (r.upgrade_scores > this.user.scores) {
if (rankInfos[index - 1]) {
lvlName = rankInfos[index - 1].name;
}
return true;
}
return false;
});
}
this.user.lvlName = lvlName;
},
},