chore: 初始化项目 — uni-app + Vue3 + TypeScript 脚手架

This commit is contained in:
jacobxu666
2026-06-14 17:16:18 +08:00
commit 046e84a564
37 changed files with 13763 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
import { defineStore } from 'pinia'
import { ref, computed } from 'vue'
import { getToken, setToken, removeToken } from '../api/request'
import { getUserInfo, login as apiLogin, type UserInfo, type LoginParams } from '../api/user'
export const useUserStore = defineStore('user', () => {
const token = ref<string>(getToken())
const userInfo = ref<UserInfo | null>(null)
const isLogin = computed(() => !!token.value)
async function login(params: LoginParams) {
const result = await apiLogin(params)
token.value = result.token
userInfo.value = result.userInfo
setToken(result.token)
return result
}
async function fetchUserInfo() {
if (!token.value) return
const info = await getUserInfo()
userInfo.value = info
return info
}
function logout() {
token.value = ''
userInfo.value = null
removeToken()
}
return {
token,
userInfo,
isLogin,
login,
fetchUserInfo,
logout
}
})