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 @@
-
-
-
- {{ title }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ {{ title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+ +{{ fen2yuan(item.price) }}
+ {{ fen2yuan(item.price) }}
+
+
+
+ {{ peach.$helper.timeFormat(state.createTime, 'yyyy-mm-dd hh:MM:ss') }}
+
+
+
+
+
+
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 @@
-
-
-
- {{ text }}
-
-
+
+
+
+
+ {{ text }}
+
+
+
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 @@
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ title }}
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
+
+ {{ title }}
+
+
+
+
+
+
+
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 @@
-
-
-
- emits('search', e)"
- :defaultSearch="defaultSearch"
- />
-
-
-
-
+
+
+
+ emits('search', e)" :defaultSearch="defaultSearch" />
+
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
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