<template> <view> <u-navbar title-color="#fff" :custom-back="customBack" :border-bottom="false" back-icon-color="#CCE8FF" :background="{background: '#008CFF' }" title="我的"></u-navbar> <view class="u-flex user-box u-p-l-30 u-p-r-20 u-p-b-30 u-p-t-30"> <view class="u-m-r-24" @click="clickHead"> <u-avatar :src="userInfo.headImgUrl || userInfo.avatar||pic" size="140"></u-avatar> </view> <view class="u-flex-1" @click="login($store.state.vuex_hasLogin)"> <view class="u-font-18 u-p-b-20">{{ userInfo.nickname || userInfo.userName || '请登录' }}</view> <view class="u-font-14">手机号:{{ userInfo.mobile || '暂无' }}</view> </view> <!-- <view class="u-m-l-10 u-p-10"> <u-icon name="arrow-right" color="#fff" size="28"></u-icon> </view> --> </view> <view class="u-m-t-20"> <u-cell-group> <!-- <u-cell-item title="贵州银行支付" @click="guizhouPay()"> <u-icon slot="icon" custom-prefix="custom-icon" size="35" name="wodecheliang"></u-icon> </u-cell-item> --> <u-cell-item title="我的车辆" @click="openPage('pages/myCars/myCars')"> <u-icon slot="icon" custom-prefix="custom-icon" size="35" name="wodecheliang"></u-icon> </u-cell-item> <u-cell-item title="停车记录" @click="openPage('pages/center/order/order')"> <u-icon slot="icon" custom-prefix="custom-icon" size="35" name="tingchejilu"></u-icon> </u-cell-item> </u-cell-group> </view> <view class="u-m-t-20"> <u-cell-group> <!-- <u-cell-item title="充值" @click="openPage('pages/myCars/myCars')"> <u-icon slot="icon" custom-prefix="custom-icon" size="35" name="chongzhi"></u-icon> </u-cell-item> --> <u-cell-item title="包月" @click="openPage('pages/center/monthly/monthly')"> <u-icon slot="icon" custom-prefix="custom-icon" size="35" name="baoyue"></u-icon> </u-cell-item> <!-- <u-cell-item title="提现" @click="openPage('pages/center/order/order')"> <u-icon slot="icon" custom-prefix="custom-icon" size="35" name="tixian"></u-icon> </u-cell-item> --> <!-- <u-cell-item title="退款" @click="openPage('pages/center/order/order')"> <u-icon slot="icon" custom-prefix="custom-icon" size="35" name="tuikuan"></u-icon> </u-cell-item> --> <!-- <u-cell-item title="账单记录" @click="openPage('pages/center/order/order')"> <u-icon slot="icon" custom-prefix="custom-icon" size="35" name="zhangdanjilu"></u-icon> </u-cell-item> --> </u-cell-group> </view> <!-- <view class="u-m-t-20"> <u-cell-group> <u-cell-item title="我的优惠" @click="openPage('pages/myCars/myCars')"> <u-icon slot="icon" custom-prefix="custom-icon" size="35" name="wodeyouhui"></u-icon> </u-cell-item> </u-cell-group> </view> --> <!-- <view class="u-m-t-20"> <u-cell-group> <u-cell-item title="发票管理" @click="openPage('pages/center/invoice/invoice')"> <u-icon slot="icon" custom-prefix="custom-icon" size="35" name="fapiaoguanli"></u-icon> </u-cell-item> </u-cell-group> </view> --> <view class="u-m-t-20"> <u-cell-group> <u-cell-item title="消息中心" @click="openPage('pages/message/message', true)"> <u-icon slot="icon" custom-prefix="custom-icon" size="35" name="xiaoxi"></u-icon> <u-badge type="success" :count="messageNum" :offset="[35, 60]"></u-badge> </u-cell-item> </u-cell-group> </view> <view class="u-m-t-20 u-m-b-40"> <u-cell-group> <u-cell-item title="拨打客服电话" @click="phoneCall(phoneNo)"> <u-icon slot="icon" custom-prefix="custom-icon" size="35" name="dianhua"></u-icon> </u-cell-item> </u-cell-group> </view> <!-- <view class="u-m-t-20"> <u-cell-group> <u-cell-item icon="phone" title="手机号登录" @click="openPage('/pages/center/phoneLogin/phoneLogin')"></u-cell-item> </u-cell-group> </view> --> <!-- 登出提示--> <u-modal v-model="logoutPop" :title-style="{color: '#404040'}" title="登出提示" :show-confirm-button="true" confirm-text="确认" :confirm-style="{backgroundColor: '#3397FA', color: '#fff'}" :show-cancel-button="true" cancel-text="取消" @cancel="logoutPop = false" :cancel-style="{backgroundColor: '#EBF1FF', color: '#3397FA'}" @confirm="loginOut"> <view class="slot-content"> <view class="pay-tips">你确认退出登录吗?</view> </view> </u-modal> <u-toast ref="uToast" /> </view> </template> <script> import getUrlParams from "../../utils/getUrlParams.js"; export default { data() { return { // 默认头像 pic: '/static/img/default-avatar.png', // 用户信息 userInfo: [], code: null, phoneNo: '16608538666', logoutPop: false, messageNum: 0 } }, onLoad() { this.getMsgNum() }, onShow() { if(this.$store.state.vuex_hasLogin){ this.userInfo = this.$store.state.vuex_user; if(this.$store.state.vuex_wxinfo){ this.userInfo = Object.assign(this.userInfo,this.$store.state.vuex_wxinfo); } }else{ this.userInfo = []; }; let locationLocaturl = window.location.search; this.code = getUrlParams(locationLocaturl, "code"); if (this.code&&!this.$store.state.vuex_wxinfo.openId){ this.handleGetWXInfo(this.code) }; }, methods: { openPage(path, flag) { this.$u.route({ url: path }) if (flag) { uni.setStorage({ key: 'messageBack', data: 'pages/center/index' }) } }, // 获取消息未读条数 getMsgNum() { this.$u.api.getIndexData() .then(res=>{ if (res.code === 200) { let num = 0 if (res.data.news) { res.data.news.forEach(item => { if (item.readFlag == 0) { num += 1 } }) } this.messageNum = num } else { this.$refs.uToast.show({ title: res.msg, type: 'error' }) } }) .catch(err => { this.$refs.uToast.show({ title: '系统错误!', type: 'error' }) }) }, //登录判断 login(status){ console.log('this.$store.state.vuex_hasLogin',this.$store.state.vuex_hasLogin); if(!status){ this.$u.route({ url: 'pages/center/phoneLogin/phoneLogin' }); } }, customBack(){ this.$u.route({ type:'switchTab', url: 'pages/index/index' }); }, phoneCall(phone){ uni.makePhoneCall({ phoneNumber: phone }); }, loginOut() { // this.$store.state.vuex_hasLogin = false // this.$store.state.vuex_wxinfo = null // this.$store.state.vuex_token = '' // this.$store.state.vuex_user = null this.$u.vuex('vuex_hasLogin', false); this.$u.vuex('vuex_wxinfo', null); this.$u.vuex('vuex_token', ''); this.$u.vuex('vuex_user', null); this.userInfo = [] this.code = '' localStorage.clear() setTimeout(() => { this.logoutPop = false uni.navigateTo({ url: '/pages/center/phoneLogin/phoneLogin' }) }, 500) }, clickHead() { if (this.$store.state.vuex_hasLogin) { this.logoutPop = true } } } } </script> <style lang="scss" scoped> page{background-color: $my-page-bg-color;} .user-box{ position: relative; background-color: $my-main-color; color: #fff; &:after{ position: absolute; right: 0; bottom: 0; content: ''; background: url(../../static/img/center-top-bg.png) no-repeat; background-position: -90rpx 0; width: 305rpx; height: 145rpx; z-index: 999; } } .u-avatar{border: 10rpx solid #4CAEFF;} .u-cell-box /deep/ .u-cell__left-icon-wrap, .u-cell-box /deep/ .custom-icon {color: $my-main-color;margin-right: 10rpx;} .pay-tips {text-align: center;margin: 30rpx 0;} </style>