mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2026-03-16 04:03:17 +08:00
🎨 微调
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
#![cfg(target_os = "windows")]
|
||||
|
||||
use prost::encoding::{decode_key, decode_varint, WireType};
|
||||
use prost::{DecodeError, Message};
|
||||
use prost::DecodeError;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::collections::HashMap;
|
||||
use std::io::{Cursor, Read, Seek};
|
||||
@@ -540,7 +540,7 @@ fn parse_reliquary_from_buf(buf: &[u8]) -> Result<ReliquaryTmp, DecodeError> {
|
||||
let mut packed = vec![0u8; len];
|
||||
cur.read_exact(&mut packed).map_err(|_| DecodeError::new("read append_prop failed"))?;
|
||||
let mut pcur = Cursor::new(&packed);
|
||||
while let Ok((tag2, wt2)) = decode_key(&mut pcur) {
|
||||
while let Ok((_tag2, wt2)) = decode_key(&mut pcur) {
|
||||
// packed repeated of primitive types usually has no inner tags; but some encoders write raw varints
|
||||
// 为兼容性,直接尝试读取 varints直到耗尽
|
||||
if wt2 == WireType::Varint {
|
||||
|
||||
@@ -69,7 +69,9 @@ watch(() => props.data, loadData);
|
||||
}
|
||||
|
||||
.twc-constellation-desc {
|
||||
padding-left: 10px;
|
||||
padding: 8px;
|
||||
border-radius: 4px;
|
||||
background: var(--box-bg-1);
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -76,7 +76,9 @@ watch(() => props.data, loadData);
|
||||
}
|
||||
|
||||
.twc-skill-special {
|
||||
padding-left: 10px;
|
||||
padding: 8px;
|
||||
border-radius: 4px;
|
||||
background: var(--box-bg-1);
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
<!-- TODO: UI一致性 -->
|
||||
<!-- 武器Wiki TODO: UI一致性 -->
|
||||
<template>
|
||||
<div class="ww-box">
|
||||
<div class="ww-left">
|
||||
<div class="ww-select">
|
||||
<v-btn @click="showSelect = true" class="ww-btn">筛选武器</v-btn>
|
||||
<v-btn @click="resetSelect = true" class="ww-btn">重置筛选</v-btn>
|
||||
<v-btn class="ww-btn" @click="showSelect = true">筛选武器</v-btn>
|
||||
<v-btn class="ww-btn" @click="resetSelect = true">重置筛选</v-btn>
|
||||
</div>
|
||||
<div class="ww-list">
|
||||
<TwcListItem
|
||||
v-for="(item, index) in cardsInfo"
|
||||
v-model:cur-item="curItem"
|
||||
:key="index"
|
||||
v-model:cur-item="curItem"
|
||||
:data="item"
|
||||
@click="switchW(item)"
|
||||
mode="weapon"
|
||||
@click="switchW(item)"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -21,7 +21,7 @@
|
||||
<TwcWeapon :item="curItem" @error="toOuter(curItem)" />
|
||||
</div>
|
||||
</div>
|
||||
<TwoSelectW v-model="showSelect" @select-w="handleSelectW" v-model:reset="resetSelect" />
|
||||
<TwoSelectW v-model="showSelect" v-model:reset="resetSelect" @select-w="handleSelectW" />
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
import showDialog from "@comp/func/dialog.js";
|
||||
@@ -35,10 +35,16 @@ import { useRoute } from "vue-router";
|
||||
|
||||
import { AppWeaponData } from "@/data/index.js";
|
||||
|
||||
const sortedData = AppWeaponData.sort((a, b) => {
|
||||
if (a.star !== b.star) return b.star - a.star;
|
||||
if (a.weapon !== b.weapon) return a.weapon.localeCompare(b.weapon);
|
||||
return b.id - a.id;
|
||||
});
|
||||
|
||||
const id = useRoute().params.id.toString() ?? "0";
|
||||
const showSelect = ref<boolean>(false);
|
||||
const resetSelect = ref<boolean>(false);
|
||||
const cardsInfo = shallowRef<Array<TGApp.App.Weapon.WikiBriefInfo>>(AppWeaponData);
|
||||
const cardsInfo = shallowRef<Array<TGApp.App.Weapon.WikiBriefInfo>>(sortedData);
|
||||
const curItem = shallowRef<TGApp.App.Weapon.WikiBriefInfo>({
|
||||
id: 0,
|
||||
contentId: 0,
|
||||
|
||||
Reference in New Issue
Block a user