等级显示优化

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" /> <Avatar :src="user.avatar" frame :size="50" />
<view> <view>
<text>{{ user.nickName }}</text> <text>{{ user.nickName }}</text>
<text>砖石1级</text> <text>{{ user.lvlName }}</text>
</view> </view>
</view> </view>
<view @click="onClose"> <view @click="onClose">

View File

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

View File

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

View File

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

View File

@@ -29,7 +29,22 @@ export default defineStore("store", {
// 方法 // 方法
actions: { actions: {
updateUser(user) { 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) { updateDevice(deviceId, deviceName) {
this.device.deviceId = deviceId; this.device.deviceId = deviceId;
@@ -37,6 +52,21 @@ export default defineStore("store", {
}, },
updateConfig(config) { updateConfig(config) {
this.config = 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;
}, },
}, },