diff --git a/package.json b/package.json index b7ffb02..95c5293 100644 --- a/package.json +++ b/package.json @@ -94,6 +94,7 @@ "@dcloudio/uni-mp-xhs": "3.0.0-4060620250520001", "@dcloudio/uni-quickapp-webview": "3.0.0-4060620250520001", "@tanstack/vue-query": "^5.62.16", + "@vant/area-data": "^2.1.0", "abortcontroller-polyfill": "^1.7.8", "dayjs": "1.11.10", "js-cookie": "^3.0.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 773492a..dc3f4e7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -70,6 +70,9 @@ importers: '@tanstack/vue-query': specifier: ^5.62.16 version: 5.62.16(vue@3.5.15(typescript@5.7.2)) + '@vant/area-data': + specifier: ^2.1.0 + version: 2.1.0 abortcontroller-polyfill: specifier: ^1.7.8 version: 1.7.8 @@ -2502,6 +2505,9 @@ packages: peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 + '@vant/area-data@2.1.0': + resolution: {integrity: sha512-wx9PrUX7wSUJiFcz8UrcvZfTjV6sTc+7SHcbjGQQzEcv5y+EwOo5uV4ZKdfrR5Hzcw4MA08LQdvXPSEb4nWbug==} + '@vitejs/plugin-legacy@5.3.2': resolution: {integrity: sha512-8moCOrIMaZ/Rjln0Q6GsH6s8fAt1JOI3k8nmfX4tXUxE5KAExVctSyOBk+A25GClsdSWqIk2yaUthH3KJ2X4tg==} engines: {node: ^18.0.0 || >=20.0.0} @@ -9678,6 +9684,8 @@ snapshots: - vue optional: true + '@vant/area-data@2.1.0': {} + '@vitejs/plugin-legacy@5.3.2(terser@5.36.0)(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))': dependencies: '@babel/core': 7.26.0 diff --git a/src/api/login.ts b/src/api/login.ts index 3cd5e12..39d642b 100644 --- a/src/api/login.ts +++ b/src/api/login.ts @@ -37,14 +37,14 @@ export function login(loginForm: ILoginForm) { * 获取用户信息 */ export function getUserInfo() { - return http.get('/user/info') + return http.get('/api/user/info') } /** * 退出登录 */ export function logout() { - return http.get('/user/logout') + return http.get('/api/user/logout') } /** diff --git a/src/hooks/area-data/index.ts b/src/hooks/area-data/index.ts new file mode 100644 index 0000000..a0ab741 --- /dev/null +++ b/src/hooks/area-data/index.ts @@ -0,0 +1,38 @@ +// 可以将此代码放置于项目src/hooks/useColPickerData.ts中 +import { useCascaderAreaData } from '@vant/area-data' + +export type CascaderOption = { + text: string + value: string + children?: CascaderOption[] +} + +/** + * 使用'@vant/area-data'作为数据源,构造ColPicker组件的数据 + * @returns + */ +export default function useColPickerData() { + // '@vant/area-data' 数据源 + const colPickerData: CascaderOption[] = useCascaderAreaData() + + // 根据code查找子节点,不传code则返回所有节点 + function findChildrenByCode(data: CascaderOption[], code?: string): CascaderOption[] | null { + if (!code) { + return data + } + for (const item of data) { + if (item.value === code) { + return item.children || null + } + if (item.children) { + const childrenResult = findChildrenByCode(item.children, code) + if (childrenResult) { + return childrenResult + } + } + } + return null + } + + return { colPickerData, findChildrenByCode } +} \ No newline at end of file diff --git a/src/hooks/index.ts b/src/hooks/index.ts new file mode 100644 index 0000000..897a199 --- /dev/null +++ b/src/hooks/index.ts @@ -0,0 +1,3 @@ +import useColPickerData from './area-data' + +export { useColPickerData } diff --git a/src/interceptors/request.ts b/src/interceptors/request.ts index c980b77..f055b0f 100644 --- a/src/interceptors/request.ts +++ b/src/interceptors/request.ts @@ -80,9 +80,11 @@ const httpInterceptor = { // 3. 添加 token 请求头标识 const userStore = useUserStore() const { token } = userStore.userInfo as unknown as IUserInfo - if (token) { - options.header.Authorization = `Bearer ${token}` - } + // console.log('token', token) + // if (token) { + // options.header.Authorization = `Bearer ${token.access_token}` + // } + options.header.Authorization = `Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJ3ZWJtYW4udGlueXdhbi5jbiIsImF1ZCI6IndlYm1hbi50aW55d2FuLmNuIiwiaWF0IjoxNzU2ODAyMTM3LCJuYmYiOjE3NTY4MDIxMzcsImV4cCI6MTc1NjgwOTMzNywiZXh0ZW5kIjp7ImlkIjoyMX19.3Zp61BOC34ZC919a2ifNUoZJb2RAYZxNjH7j_Enj1P0` }, } diff --git a/src/pages/my/index.vue b/src/pages/my/index.vue index 55784db..26be8d8 100644 --- a/src/pages/my/index.vue +++ b/src/pages/my/index.vue @@ -35,7 +35,7 @@ - + @@ -44,10 +44,9 @@ import { useUserStore } from '@/store' import { http } from '@/utils/http' import WxLogin from './components/wx-login.vue' - +const userStore = useUserStore() const hasLogin = computed(() => userStore.userInfo?.nickname) -const userStore = useUserStore() const openId = ref('') const logout = () => { diff --git a/src/pages/my/setting.vue b/src/pages/my/setting.vue index e90347d..e05b952 100644 --- a/src/pages/my/setting.vue +++ b/src/pages/my/setting.vue @@ -4,33 +4,70 @@ } - +