diff --git a/pages.json b/pages.json index 2350076..316737f 100644 --- a/pages.json +++ b/pages.json @@ -101,6 +101,20 @@ } } ] + }, + { + "root": "pages/user", + "pages": [ + { + "path": "wallet/money", + "style": { + "navigationBarTitleText": "余额" + }, + "meta": { + "auth": false + } + } + ] } ], "tabBar": { diff --git a/pages/index/login.vue b/pages/index/login.vue index 31525cf..47e169d 100644 --- a/pages/index/login.vue +++ b/pages/index/login.vue @@ -1,60 +1,39 @@ diff --git a/pages/user/wallet/money.vue b/pages/user/wallet/money.vue index 5c4e324..80d561e 100644 --- a/pages/user/wallet/money.vue +++ b/pages/user/wallet/money.vue @@ -1,71 +1,48 @@ - diff --git a/peach/api/pay/wallet.js b/peach/api/pay/wallet.js new file mode 100644 index 0000000..92843c0 --- /dev/null +++ b/peach/api/pay/wallet.js @@ -0,0 +1,7 @@ +import request from "@/peach/request"; + +const PayWalletApi = { + getWalletTransactionPage: () => {}, +}; + +export default PayWalletApi; diff --git a/peach/components/p-empty/p-empty.vue b/peach/components/p-empty/p-empty.vue index 0a0b66d..b0b4dd2 100644 --- a/peach/components/p-empty/p-empty.vue +++ b/peach/components/p-empty/p-empty.vue @@ -1,87 +1,99 @@ diff --git a/peach/store/user.js b/peach/store/user.js index 37913bc..065d97a 100644 --- a/peach/store/user.js +++ b/peach/store/user.js @@ -1,124 +1,125 @@ -import { ref } from 'vue' -import { defineStore } from 'pinia' -import $share from '@/peach/platform/share' -import $router from '@/peach/router' -import UserUtil from '@/peach/api/member/user' -import { isEmpty, cloneDeep, clone } from 'lodash' +import { ref } from "vue"; +import { defineStore } from "pinia"; +import $share from "@/peach/platform/share"; +import $router from "@/peach/router"; +import UserUtil from "@/peach/api/member/user"; +import { isEmpty, cloneDeep, clone } from "lodash"; // 默认用户信息 const defaultUserInfo = { - avatar: '', // 头像 - nickname: '', // 昵称 - mobile: '', // 手机号 - point: 0, // 积分 - particulars: null, -} + avatar: "", // 头像 + nickname: "", // 昵称 + mobile: "", // 手机号 + point: 0, // 积分 + particulars: null, +}; // 默认钱包信息 const defaultWallet = { - balance: 0, // 余额 - totalExpense: 0, // 总消费 - totalRecharge: 0, // 总充值 -} + balance: 0, // 余额 + totalExpense: 0, // 总消费 + totalRecharge: 0, // 总充值 +}; // 默认订单信息 const defaultNumData = { - unusedCouponCount: 0, - orderCount: { - allCount: 0, - unpaidCount: 0, - undeliveredCount: 0, - deliveredCount: 0, - uncommentedCount: 0, - afterSaleCount: 0, - }, -} + unusedCouponCount: 0, + orderCount: { + allCount: 0, + unpaidCount: 0, + undeliveredCount: 0, + deliveredCount: 0, + uncommentedCount: 0, + afterSaleCount: 0, + }, +}; const useUserStore = defineStore( - 'user', - () => { - const userInfo = ref(cloneDeep(defaultUserInfo)) - const userWallet = ref(clone(defaultWallet)) - const userNumData = ref(cloneDeep(defaultNumData)) - const isLogin = ref(!!uni.getStorageSync('token')) - const lastUpdateTime = ref(0) - const lastRoutePage = ref(null) + "user", + () => { + const userInfo = ref(cloneDeep(defaultUserInfo)); + const userWallet = ref(clone(defaultWallet)); + const userNumData = ref(cloneDeep(defaultNumData)); + const isLogin = ref(!!uni.getStorageSync("token")); + const lastUpdateTime = ref(0); + const lastRoutePage = ref(null); - async function getUserInfo() { - let res = await UserUtil.getUserInfo() - userInfo.value = res.data - } - - async function getWallet() { - let res = await UserUtil.getWalletInfo() - userWallet.value = res.data - } - - function getNumData() {} - - function setToken(token, refreshToken) { - if (token === '') { - isLogin.value = false - uni.removeStorageSync('token') - uni.removeStorageSync('refresh-token') - } else { - isLogin.value = true - uni.setStorageSync('token', token) - uni.setStorageSync('refresh-token', refreshToken) - // 成功后处理 - loginAfter() - } - return isLogin.value - } - - function resetUserData() { - setToken('') - userInfo.value = cloneDeep(defaultUserInfo) - userWallet.value = clone(defaultWallet) - userNumData.value = cloneDeep(defaultNumData) - } - - async function updateUserData() { - const nowTime = new Date().getTime() - if (lastUpdateTime.value + 5000 > nowTime) { - return - } - lastUpdateTime.value = nowTime - await Promise.all([getUserInfo(), getWallet(), getNumData()]) - return userInfo.value - } - - async function loginAfter() { - await updateUserData() - $share.getShareInfo() - $router.go('/pages/index/index') - } - - function logOut() { - resetUserData() - return !isLogin.value - } - - return { - userInfo, - userWallet, - isLogin, - setToken, - logOut, - loginAfter, - lastRoutePage, - } - }, - { - persist: { - enabled: true, - strategies: [ - { - key: 'user-store', - }, - ], - }, + async function getUserInfo() { + let res = await UserUtil.getUserInfo(); + userInfo.value = res.data; } -) -export default useUserStore + async function getWallet() { + let res = await UserUtil.getWalletInfo(); + userWallet.value = res.data; + } + + function getNumData() {} + + function setToken(token, refreshToken) { + if (token === "") { + isLogin.value = false; + uni.removeStorageSync("token"); + uni.removeStorageSync("refresh-token"); + } else { + isLogin.value = true; + uni.setStorageSync("token", token); + uni.setStorageSync("refresh-token", refreshToken); + // 成功后处理 + loginAfter(); + } + return isLogin.value; + } + + function resetUserData() { + setToken(""); + userInfo.value = cloneDeep(defaultUserInfo); + userWallet.value = clone(defaultWallet); + userNumData.value = cloneDeep(defaultNumData); + } + + async function updateUserData() { + const nowTime = new Date().getTime(); + if (lastUpdateTime.value + 5000 > nowTime) { + return; + } + lastUpdateTime.value = nowTime; + await Promise.all([getUserInfo(), getWallet(), getNumData()]); + return userInfo.value; + } + + async function loginAfter() { + await updateUserData(); + $share.getShareInfo(); + $router.go("/pages/index/index"); + } + + function logOut() { + resetUserData(); + return !isLogin.value; + } + + return { + userInfo, + userWallet, + isLogin, + lastRoutePage, + setToken, + logOut, + loginAfter, + getWallet, + }; + }, + { + persist: { + enabled: true, + strategies: [ + { + key: "user-store", + }, + ], + }, + } +); + +export default useUserStore; diff --git a/peach/ui/pb-inner-navbar/pb-inner-navbar.vue b/peach/ui/pb-inner-navbar/pb-inner-navbar.vue index 78fb0dc..81fa822 100644 --- a/peach/ui/pb-inner-navbar/pb-inner-navbar.vue +++ b/peach/ui/pb-inner-navbar/pb-inner-navbar.vue @@ -1,43 +1,30 @@ diff --git a/peach/ui/pb-layout/pb-layout.vue b/peach/ui/pb-layout/pb-layout.vue index a9743cb..5de598f 100644 --- a/peach/ui/pb-layout/pb-layout.vue +++ b/peach/ui/pb-layout/pb-layout.vue @@ -1,40 +1,31 @@ diff --git a/static/data-empty.png b/static/data-empty.png new file mode 100644 index 0000000..a682ff7 Binary files /dev/null and b/static/data-empty.png differ