perf(我的)
This commit is contained in:
parent
bfe36ac0e8
commit
b58fe9df30
|
@ -14,9 +14,9 @@
|
||||||
<view class="description ss-font-26">{{ userInfo.mobile }}</view>
|
<view class="description ss-font-26">{{ userInfo.mobile }}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<!-- <view>
|
||||||
<text style="color: #fff; font-size: 20px" class="cicon-settings-o"></text>
|
<text style="color: #fff; font-size: 20px" class="cicon-settings-o"></text>
|
||||||
</view>
|
</view> -->
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="statistic ss-m-t-24">
|
<view class="statistic ss-m-t-24">
|
||||||
|
@ -51,6 +51,7 @@
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, computed } from 'vue'
|
import { ref, computed } from 'vue'
|
||||||
|
import { onShow } from '@dcloudio/uni-app'
|
||||||
import AuthUtil from '@/peach/api/member/auth'
|
import AuthUtil from '@/peach/api/member/auth'
|
||||||
import peach from '@/peach'
|
import peach from '@/peach'
|
||||||
|
|
||||||
|
@ -113,6 +114,9 @@ function logOut() {
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
onShow(() => {
|
||||||
|
peach.$store('user').updateUserData()
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|
|
@ -1,25 +1,25 @@
|
||||||
import { ref } from "vue";
|
import { ref } from 'vue'
|
||||||
import { defineStore } from "pinia";
|
import { defineStore } from 'pinia'
|
||||||
import $share from "@/peach/platform/share";
|
import $share from '@/peach/platform/share'
|
||||||
import $router from "@/peach/router";
|
import $router from '@/peach/router'
|
||||||
import UserUtil from "@/peach/api/member/user";
|
import UserUtil from '@/peach/api/member/user'
|
||||||
import { isEmpty, cloneDeep, clone } from "lodash";
|
import { isEmpty, cloneDeep, clone } from 'lodash'
|
||||||
|
|
||||||
// 默认用户信息
|
// 默认用户信息
|
||||||
const defaultUserInfo = {
|
const defaultUserInfo = {
|
||||||
avatar: "", // 头像
|
avatar: '', // 头像
|
||||||
nickname: "", // 昵称
|
nickname: '', // 昵称
|
||||||
mobile: "", // 手机号
|
mobile: '', // 手机号
|
||||||
point: 0, // 积分
|
point: 0, // 积分
|
||||||
particulars: null,
|
particulars: null,
|
||||||
};
|
}
|
||||||
|
|
||||||
// 默认钱包信息
|
// 默认钱包信息
|
||||||
const defaultWallet = {
|
const defaultWallet = {
|
||||||
balance: 0, // 余额
|
balance: 0, // 余额
|
||||||
totalExpense: 0, // 总消费
|
totalExpense: 0, // 总消费
|
||||||
totalRecharge: 0, // 总充值
|
totalRecharge: 0, // 总充值
|
||||||
};
|
}
|
||||||
|
|
||||||
// 默认订单信息
|
// 默认订单信息
|
||||||
const defaultNumData = {
|
const defaultNumData = {
|
||||||
|
@ -32,71 +32,71 @@ const defaultNumData = {
|
||||||
uncommentedCount: 0,
|
uncommentedCount: 0,
|
||||||
afterSaleCount: 0,
|
afterSaleCount: 0,
|
||||||
},
|
},
|
||||||
};
|
}
|
||||||
|
|
||||||
const useUserStore = defineStore(
|
const useUserStore = defineStore(
|
||||||
"user",
|
'user',
|
||||||
() => {
|
() => {
|
||||||
const userInfo = ref(cloneDeep(defaultUserInfo));
|
const userInfo = ref(cloneDeep(defaultUserInfo))
|
||||||
const userWallet = ref(clone(defaultWallet));
|
const userWallet = ref(clone(defaultWallet))
|
||||||
const userNumData = ref(cloneDeep(defaultNumData));
|
const userNumData = ref(cloneDeep(defaultNumData))
|
||||||
const isLogin = ref(!!uni.getStorageSync("token"));
|
const isLogin = ref(!!uni.getStorageSync('token'))
|
||||||
const lastUpdateTime = ref(0);
|
const lastUpdateTime = ref(0)
|
||||||
const lastRoutePage = ref(null);
|
const lastRoutePage = ref(null)
|
||||||
|
|
||||||
async function getUserInfo() {
|
async function getUserInfo() {
|
||||||
let res = await UserUtil.getUserInfo();
|
let res = await UserUtil.getUserInfo()
|
||||||
userInfo.value = res.data;
|
userInfo.value = res.data
|
||||||
}
|
}
|
||||||
|
|
||||||
async function getWallet() {
|
async function getWallet() {
|
||||||
let res = await UserUtil.getWalletInfo();
|
let res = await UserUtil.getWalletInfo()
|
||||||
userWallet.value = res.data;
|
userWallet.value = res.data
|
||||||
}
|
}
|
||||||
|
|
||||||
function getNumData() {}
|
function getNumData() {}
|
||||||
|
|
||||||
function setToken(token, refreshToken) {
|
function setToken(token, refreshToken) {
|
||||||
if (token === "") {
|
if (token === '') {
|
||||||
isLogin.value = false;
|
isLogin.value = false
|
||||||
uni.removeStorageSync("token");
|
uni.removeStorageSync('token')
|
||||||
uni.removeStorageSync("refresh-token");
|
uni.removeStorageSync('refresh-token')
|
||||||
} else {
|
} else {
|
||||||
isLogin.value = true;
|
isLogin.value = true
|
||||||
uni.setStorageSync("token", token);
|
uni.setStorageSync('token', token)
|
||||||
uni.setStorageSync("refresh-token", refreshToken);
|
uni.setStorageSync('refresh-token', refreshToken)
|
||||||
// 成功后处理
|
// 成功后处理
|
||||||
loginAfter();
|
loginAfter()
|
||||||
}
|
}
|
||||||
return isLogin.value;
|
return isLogin.value
|
||||||
}
|
}
|
||||||
|
|
||||||
function resetUserData() {
|
function resetUserData() {
|
||||||
setToken("");
|
setToken('')
|
||||||
userInfo.value = cloneDeep(defaultUserInfo);
|
userInfo.value = cloneDeep(defaultUserInfo)
|
||||||
userWallet.value = clone(defaultWallet);
|
userWallet.value = clone(defaultWallet)
|
||||||
userNumData.value = cloneDeep(defaultNumData);
|
userNumData.value = cloneDeep(defaultNumData)
|
||||||
}
|
}
|
||||||
|
|
||||||
async function updateUserData() {
|
async function updateUserData() {
|
||||||
const nowTime = new Date().getTime();
|
const nowTime = new Date().getTime()
|
||||||
if (lastUpdateTime.value + 5000 > nowTime) {
|
if (lastUpdateTime.value + 5000 > nowTime) {
|
||||||
return;
|
return
|
||||||
}
|
}
|
||||||
lastUpdateTime.value = nowTime;
|
lastUpdateTime.value = nowTime
|
||||||
await Promise.all([getUserInfo(), getWallet(), getNumData()]);
|
await Promise.all([getUserInfo(), getWallet(), getNumData()])
|
||||||
return userInfo.value;
|
return userInfo.value
|
||||||
}
|
}
|
||||||
|
|
||||||
async function loginAfter() {
|
async function loginAfter() {
|
||||||
await updateUserData();
|
await updateUserData()
|
||||||
$share.getShareInfo();
|
$share.getShareInfo()
|
||||||
$router.go("/pages/index/index");
|
$router.go('/pages/index/index')
|
||||||
}
|
}
|
||||||
|
|
||||||
function logOut() {
|
function logOut() {
|
||||||
resetUserData();
|
resetUserData()
|
||||||
return !isLogin.value;
|
return !isLogin.value
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
@ -108,18 +108,19 @@ const useUserStore = defineStore(
|
||||||
logOut,
|
logOut,
|
||||||
loginAfter,
|
loginAfter,
|
||||||
getWallet,
|
getWallet,
|
||||||
};
|
updateUserData,
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
persist: {
|
persist: {
|
||||||
enabled: true,
|
enabled: true,
|
||||||
strategies: [
|
strategies: [
|
||||||
{
|
{
|
||||||
key: "user-store",
|
key: 'user-store',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
);
|
)
|
||||||
|
|
||||||
export default useUserStore;
|
export default useUserStore
|
||||||
|
|
Loading…
Reference in New Issue