Files
dcalc/frontend/src/stores/info.ts
T
2025-03-29 00:48:05 +08:00

40 lines
1.1 KiB
TypeScript

import api from "@/api"
import type { ICharacterInfo } from "@/api/info/type"
import { defineStore } from "pinia"
export const useInfoStore = defineStore("infoStore", ()=>{
const alter_token = ref<string>("")
const infos = ref<ICharacterInfo | null>(null)
const skills = computed(()=>infos.value?.skills ?? [])
const equips = computed(()=>infos.value?.equips ?? [])
const suits = computed(()=>infos.value?.suits ?? [])
const enchantings = computed(()=>infos.value?.enchantings?? [])
const emblems = computed(()=>infos.value?.emblems?? [])
const parts = ['上衣', '头肩', '下装', '腰带', '鞋', '手镯', '项链', '戒指', '耳环', '辅助装备', '魔法石', '武器']
const createCharacter = async (alter: string, equVersion?: string) => {
const time = new Date().getTime()
alter_token.value = btoa(JSON.stringify({alter, equVersion, time}))
infos.value = await api.characterInfo()
}
return {
alter_token,
infos,
skills,
equips,
suits,
createCharacter,
enchantings,
emblems,
parts
}
})