|
|
@@ -20,8 +20,16 @@
|
|
|
<view class="phone fs-40 fw-500">{{ user.mobilePhone }}</view>
|
|
|
|
|
|
<view class="money" @click="toPage({path: '/pages-user/wallet/index'})">
|
|
|
- <uv-icon name="red-packet" size="24"></uv-icon>
|
|
|
- <view>¥{{ ((user.balance||0)/100).toFixed(2) }}</view>
|
|
|
+ <view class="money-left">
|
|
|
+ <uv-icon name="red-packet" size="24" color="#19A497"></uv-icon>
|
|
|
+ <view style="font-size: 13px;">钱包|充值</view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="money-right">
|
|
|
+ <view>¥</view>
|
|
|
+ <view class="money-right_balance">{{ ((user.balance || 0) / 100).toFixed(2) }}</view>
|
|
|
+ </view>
|
|
|
+
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
@@ -40,6 +48,10 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
</block>
|
|
|
+
|
|
|
+ <view class="logout-btn" v-if="isLogin">
|
|
|
+ <view class="mt20 logout-btn-wrap" type="error" @click="logoutUser">退出登录</view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
</block>
|
|
|
@@ -48,15 +60,20 @@
|
|
|
<login-bar class="w100 text-center"></login-bar>
|
|
|
</cover-view>
|
|
|
|
|
|
+<!-- <view class="logout-btn">
|
|
|
+ <uv-button :custom-style="customStyle" type="error" @click="logoutUser">退出登录</uv-button>
|
|
|
+ </view>-->
|
|
|
+
|
|
|
<tab-bar :index="2"/>
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
import {onLoad, onShow} from "@dcloudio/uni-app";
|
|
|
-import {ref} from "vue";
|
|
|
+import {computed, ref} from "vue";
|
|
|
import TabBar from "@/components/tab-bar/index.vue";
|
|
|
import LoginBar from "@/components/login-bar/index.vue";
|
|
|
-import {checkLogin} from "@/utils/auth"
|
|
|
+import {checkLogin, clearToken} from "@/utils/auth"
|
|
|
+import {get} from "@/utils/https";
|
|
|
|
|
|
const containerStyle = ref({});
|
|
|
const user = ref<any>({
|
|
|
@@ -107,8 +124,9 @@ const menu = ref([
|
|
|
]);
|
|
|
|
|
|
|
|
|
-const toPage = (item: any) => {
|
|
|
- checkLogin().then(()=>{
|
|
|
+
|
|
|
+const toPage = (item: any) => {
|
|
|
+ checkLogin().then(() => {
|
|
|
let {title, path} = item;
|
|
|
if (path.includes('contact')) {
|
|
|
uni.makePhoneCall({
|
|
|
@@ -133,14 +151,45 @@ const toPage = (item: any) => {
|
|
|
const loginListen = () => {
|
|
|
uni.$on('loginEvent', function (data) {
|
|
|
isLogin.value = data.isLogin;
|
|
|
- console.log("event>>>",data)
|
|
|
+ console.log("event>>>", data)
|
|
|
if (data.isLogin) {
|
|
|
user.value = getApp<any>().globalData.user;
|
|
|
- console.log("event1111>>>", user.value )
|
|
|
+ console.log("event1111>>>", user.value)
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
|
|
|
+const logoutUser = () => {
|
|
|
+ uni.showModal({
|
|
|
+ title: "温馨提示",
|
|
|
+ content: "确定退出登录吗?",
|
|
|
+ confirmColor: "#2d9e95",
|
|
|
+ confirmText: "确定退出",
|
|
|
+ cancelText: "手滑了",
|
|
|
+ success: (res) => {
|
|
|
+ if (res.confirm) {
|
|
|
+ uni.showLoading({
|
|
|
+ title: "退出中",
|
|
|
+ });
|
|
|
+
|
|
|
+ get(`/user/logout`).then(() => {
|
|
|
+ uni.hideLoading();
|
|
|
+ uni.showToast({
|
|
|
+ icon: "success",
|
|
|
+ title: "已退出",
|
|
|
+ });
|
|
|
+
|
|
|
+ clearToken();
|
|
|
+ setTimeout(() => {
|
|
|
+ uni.exitMiniProgram()
|
|
|
+ }, 1500);
|
|
|
+
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ });
|
|
|
+};
|
|
|
+
|
|
|
onLoad(() => {
|
|
|
uni.setNavigationBarTitle({title: '个人中心'})
|
|
|
const bound = uni.getMenuButtonBoundingClientRect();
|
|
|
@@ -152,7 +201,7 @@ onLoad(() => {
|
|
|
|
|
|
onShow(() => {
|
|
|
const userData = getApp<any>().globalData.user;
|
|
|
- if (userData&&userData.id) {
|
|
|
+ if (userData && userData.id) {
|
|
|
isLogin.value = true;
|
|
|
user.value = userData;
|
|
|
}
|
|
|
@@ -226,6 +275,22 @@ onShow(() => {
|
|
|
align-items: center;
|
|
|
justify-content: space-between;
|
|
|
|
|
|
+ &-left {
|
|
|
+ color: $uni-color-primary;
|
|
|
+ display: inline-flex;
|
|
|
+ align-items: flex-end;
|
|
|
+ }
|
|
|
+
|
|
|
+ &-right {
|
|
|
+ color: $uni-color-primary;
|
|
|
+ display: inline-flex;
|
|
|
+ align-items: flex-end;
|
|
|
+
|
|
|
+ &_balance {
|
|
|
+ font-weight: 600;
|
|
|
+ font-size: 20px;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -273,5 +338,23 @@ onShow(() => {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+.logout-btn {
|
|
|
+ width: calc(100vw - 60rpx);
|
|
|
+ margin: 60rpx auto;
|
|
|
|
|
|
+ &-wrap{
|
|
|
+ height: 60rpx;
|
|
|
+ font-size: 24rpx;
|
|
|
+ margin: 20px auto;
|
|
|
+ width: 540rpx;
|
|
|
+ text-align: center;
|
|
|
+ background: #dd524d;
|
|
|
+ color: white;
|
|
|
+ border-radius: 10rpx;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ align-content: center;
|
|
|
+ justify-content: center;
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|