|
@@ -3,8 +3,8 @@ import { useRequest } from 'alova/client'
|
|
|
import { storeToRefs } from 'pinia'
|
|
import { storeToRefs } from 'pinia'
|
|
|
import { computed, ref } from 'vue'
|
|
import { computed, ref } from 'vue'
|
|
|
import { getCouponSituation } from '@/api/home'
|
|
import { getCouponSituation } from '@/api/home'
|
|
|
-import { getCouponIssuerApplyById } from '@/api/me'
|
|
|
|
|
-import { LOGIN_PAGE } from '@/router/config'
|
|
|
|
|
|
|
+import { getCouponIssuerApplyById, getShareState } from '@/api/me'
|
|
|
|
|
+import { useShare } from '@/hooks/useShare'
|
|
|
import { useUserStore } from '@/store'
|
|
import { useUserStore } from '@/store'
|
|
|
import { useTokenStore } from '@/store/token'
|
|
import { useTokenStore } from '@/store/token'
|
|
|
import { changtime } from '@/utils'
|
|
import { changtime } from '@/utils'
|
|
@@ -25,29 +25,27 @@ const { hasLogin } = storeToRefs(tokenStore)
|
|
|
const deadline = ref(Date.now())
|
|
const deadline = ref(Date.now())
|
|
|
|
|
|
|
|
// 用户优惠券统计数据
|
|
// 用户优惠券统计数据
|
|
|
-const { send: getCouponSituationRequest, data: couponSituationData } = useRequest(getCouponSituation, {
|
|
|
|
|
|
|
+const { send: getCouponSituationRequest, data: couponSituationData, loading: couponSituationLoading } = useRequest(getCouponSituation, {
|
|
|
immediate: false,
|
|
immediate: false,
|
|
|
})
|
|
})
|
|
|
|
|
+const { send: getShareStateRequest, data: shareStateData, loading: shareStateLoading } = useRequest(getShareState, {
|
|
|
|
|
+ immediate: false,
|
|
|
|
|
+})
|
|
|
|
|
+
|
|
|
// 发卷人查询审核状态
|
|
// 发卷人查询审核状态
|
|
|
const { send: getCouponIssuerApplyByIdRequest, data: couponIssuerApplyByIdData } = useRequest(getCouponIssuerApplyById, {
|
|
const { send: getCouponIssuerApplyByIdRequest, data: couponIssuerApplyByIdData } = useRequest(getCouponIssuerApplyById, {
|
|
|
immediate: false,
|
|
immediate: false,
|
|
|
})
|
|
})
|
|
|
// 昵称输入值
|
|
// 昵称输入值
|
|
|
const nicknameInput = ref('')
|
|
const nicknameInput = ref('')
|
|
|
-onShow(() => {
|
|
|
|
|
|
|
+onShow(async () => {
|
|
|
console.log('登录判断:', hasLogin.value)
|
|
console.log('登录判断:', hasLogin.value)
|
|
|
// 登录后查询收益数据
|
|
// 登录后查询收益数据
|
|
|
if (hasLogin.value) {
|
|
if (hasLogin.value) {
|
|
|
- // 获取用户信息
|
|
|
|
|
- userStore.fetchUserInfo().then((data) => {
|
|
|
|
|
- // #ifdef MP-WEIXIN
|
|
|
|
|
- // 初始化昵称输入框
|
|
|
|
|
- console.log('用户信息:', data)
|
|
|
|
|
- nicknameInput.value = data?.userInfo.nickname || ''
|
|
|
|
|
- // #endif
|
|
|
|
|
- })
|
|
|
|
|
- getCouponSituationRequest()
|
|
|
|
|
- getCouponIssuerApplyByIdRequest()
|
|
|
|
|
|
|
+ await getCouponSituationRequest({ logo: 'time' })
|
|
|
|
|
+ await getShareStateRequest()
|
|
|
|
|
+ deadline.value = Date.now()
|
|
|
|
|
+ await getCouponIssuerApplyByIdRequest()
|
|
|
if (couponIssuerApplyByIdData.value?.status === '0') {
|
|
if (couponIssuerApplyByIdData.value?.status === '0') {
|
|
|
console.log('优惠券统计数据:', couponSituationData.value)
|
|
console.log('优惠券统计数据:', couponSituationData.value)
|
|
|
// open()
|
|
// open()
|
|
@@ -55,20 +53,6 @@ onShow(() => {
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
-// 微信小程序下登录
|
|
|
|
|
-async function handleLogin() {
|
|
|
|
|
- // #ifdef MP-WEIXIN
|
|
|
|
|
- // 微信登录
|
|
|
|
|
- await tokenStore.wxLogin()
|
|
|
|
|
-
|
|
|
|
|
- // #endif
|
|
|
|
|
- // #ifndef MP-WEIXIN
|
|
|
|
|
- uni.navigateTo({
|
|
|
|
|
- url: `${LOGIN_PAGE}`,
|
|
|
|
|
- })
|
|
|
|
|
- // #endif
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
function handleLogout() {
|
|
function handleLogout() {
|
|
|
uni.showModal({
|
|
uni.showModal({
|
|
|
title: '提示',
|
|
title: '提示',
|
|
@@ -119,65 +103,10 @@ function getNavigationBarHeight() {
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
getNavigationBarHeight()
|
|
getNavigationBarHeight()
|
|
|
-
|
|
|
|
|
-// 处理点击头像获取用户头像
|
|
|
|
|
-async function handleGetAvatar(e) {
|
|
|
|
|
- const { avatarUrl } = e.detail
|
|
|
|
|
- if (avatarUrl) {
|
|
|
|
|
- userStore.setUserAvatar(avatarUrl)
|
|
|
|
|
- uni.showToast({
|
|
|
|
|
- title: '头像获取成功',
|
|
|
|
|
- icon: 'success',
|
|
|
|
|
- })
|
|
|
|
|
- // 验证本地存储是否已更新
|
|
|
|
|
- const updatedUser = uni.getStorageSync('user')
|
|
|
|
|
- console.log('验证本地存储头像更新:', updatedUser?.avatar)
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-// 保存昵称
|
|
|
|
|
-function saveNickname(e: any) {
|
|
|
|
|
- console.log('保存昵称:', e.detail)
|
|
|
|
|
- // 直接使用nicknameInput.value,因为input已经通过v-model绑定
|
|
|
|
|
- const nickname = nicknameInput.value.trim()
|
|
|
|
|
- if (nickname) {
|
|
|
|
|
- try {
|
|
|
|
|
- // 更新用户信息到store
|
|
|
|
|
- userStore.setUserInfo({
|
|
|
|
|
- ...userInfo.value,
|
|
|
|
|
- nickname,
|
|
|
|
|
- })
|
|
|
|
|
-
|
|
|
|
|
- uni.showToast({
|
|
|
|
|
- title: '昵称保存成功',
|
|
|
|
|
- icon: 'success',
|
|
|
|
|
- duration: 1500,
|
|
|
|
|
- })
|
|
|
|
|
-
|
|
|
|
|
- // 验证本地存储是否已更新
|
|
|
|
|
- const updatedUser = uni.getStorageSync('user')
|
|
|
|
|
- console.log('本地存储昵称已更新:', updatedUser?.nickname)
|
|
|
|
|
- }
|
|
|
|
|
- catch (error) {
|
|
|
|
|
- console.error('保存昵称失败:', error)
|
|
|
|
|
- uni.showToast({
|
|
|
|
|
- title: '保存失败,请重试',
|
|
|
|
|
- icon: 'error',
|
|
|
|
|
- duration: 1500,
|
|
|
|
|
- })
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- else {
|
|
|
|
|
- uni.showToast({
|
|
|
|
|
- title: '昵称不能为空',
|
|
|
|
|
- icon: 'none',
|
|
|
|
|
- duration: 1500,
|
|
|
|
|
- })
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
// #endif
|
|
// #endif
|
|
|
|
|
|
|
|
const show = ref(false)
|
|
const show = ref(false)
|
|
|
|
|
+const refreshing = ref(false)
|
|
|
function close() {
|
|
function close() {
|
|
|
show.value = false
|
|
show.value = false
|
|
|
}
|
|
}
|
|
@@ -193,169 +122,197 @@ function menuClick(page) {
|
|
|
url: `/pages-A/${page}/index?couponSituation=${JSON.stringify(couponSituationData.value)}`,
|
|
url: `/pages-A/${page}/index?couponSituation=${JSON.stringify(couponSituationData.value)}`,
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+async function onRefresh() {
|
|
|
|
|
+ refreshing.value = true
|
|
|
|
|
+ await userStore.fetchUserInfo()
|
|
|
|
|
+ await getCouponSituationRequest({ logo: 'time' })
|
|
|
|
|
+ await getShareStateRequest()
|
|
|
|
|
+ deadline.value = Date.now()
|
|
|
|
|
+ refreshing.value = false
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 创建分享hook实例
|
|
|
|
|
+const { getShareConfig, getTimelineShareConfig } = useShare()
|
|
|
|
|
+
|
|
|
|
|
+// #ifdef MP-WEIXIN
|
|
|
|
|
+// 分享给好友生命周期函数
|
|
|
|
|
+onShareAppMessage(async (options) => {
|
|
|
|
|
+ return await getShareConfig()
|
|
|
|
|
+})
|
|
|
|
|
+
|
|
|
|
|
+// 分享到朋友圈生命周期函数
|
|
|
|
|
+onShareTimeline(async () => {
|
|
|
|
|
+ return await getTimelineShareConfig()
|
|
|
|
|
+})
|
|
|
|
|
+// #endif
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
<template>
|
|
<template>
|
|
|
<view class="profile-container">
|
|
<view class="profile-container">
|
|
|
- <!-- 顶部区域 -->
|
|
|
|
|
- <view class="me-header"
|
|
|
|
|
- :style="{ background: `url(${getImageUrl('@img/me/me-bg.png')})`, backgroundSize: 'cover', backgroundRepeat: 'no-repeat', backgroundPosition: 'center center' }">
|
|
|
|
|
- <!-- <view class="me-header-avatar-info" :style="{ paddingTop: `calc(${navigationBarHeight}px + 23rpx)` }"> -->
|
|
|
|
|
- <view class="me-header-avatar-info" :style="{ paddingTop: `23rpx` }">
|
|
|
|
|
- <!-- <button class="me-header-avatar" @click="handleGetAvatar">
|
|
|
|
|
- <image :src="avatarDisplay" mode="aspectFill" />
|
|
|
|
|
- </button> -->
|
|
|
|
|
- <up-image :src="avatarDisplay" width="128rpx" height="128rpx" shape="circle" />
|
|
|
|
|
- <view class="me-header-info">
|
|
|
|
|
- <view class="me-header-name">
|
|
|
|
|
- <!-- #ifdef MP-WEIXIN -->
|
|
|
|
|
- <input v-model="nicknameInput" type="nickname" :disabled="true" placeholder="用户昵称"
|
|
|
|
|
- placeholder-style="color: #fff; opacity: 0.7;" class="nickname-input">
|
|
|
|
|
- <!-- #endif -->
|
|
|
|
|
- <!-- #ifndef MP-WEIXIN -->
|
|
|
|
|
- {{ userInfo.value?.nickname || '用户' }}
|
|
|
|
|
- <!-- #endif -->
|
|
|
|
|
- </view>
|
|
|
|
|
- </view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="me-header-tips">
|
|
|
|
|
- <view class="me-header-tips-row header-data-time">
|
|
|
|
|
- <view class="desc-time">
|
|
|
|
|
- <up-icon name="info-circle" size="23rpx" color="#fff" />
|
|
|
|
|
- <view class="desc-text">
|
|
|
|
|
- 数据截止到 {{ changtime(deadline, 'YYYY-MM-DD HH:mm:ss') }}
|
|
|
|
|
|
|
+ <up-pull-refresh :refreshing="refreshing" :threshold="60" @refresh="onRefresh">
|
|
|
|
|
+ <!-- 顶部区域 -->
|
|
|
|
|
+ <view class="me-header"
|
|
|
|
|
+ :style="{ background: `url(${getImageUrl('@img/me/me-bg.png')})`, backgroundSize: 'cover', backgroundRepeat: 'no-repeat', backgroundPosition: 'center center' }">
|
|
|
|
|
+ <view class="me-header-avatar-info" :style="{ paddingTop: `23rpx` }">
|
|
|
|
|
+ <up-image :src="avatarDisplay" width="128rpx" height="128rpx" shape="circle" />
|
|
|
|
|
+ <view class="me-header-info">
|
|
|
|
|
+ <view class="me-header-name">
|
|
|
|
|
+ <!-- #ifdef MP-WEIXIN -->
|
|
|
|
|
+ <!-- <input v-model="userInfo.value.nickname" type="nickname" :disabled="true" placeholder="用户昵称"
|
|
|
|
|
+ placeholder-style="color: #fff; opacity: 0.7;" class="nickname-input"> -->
|
|
|
|
|
+ <text class="nickname-input">{{ userInfo.nickname || '用户' }}</text>
|
|
|
|
|
+ <!-- #endif -->
|
|
|
|
|
+ <!-- #ifndef MP-WEIXIN -->
|
|
|
|
|
+ {{ userInfo.value?.nickname || '用户' }}
|
|
|
|
|
+ <!-- #endif -->
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="me-header-tips-row header-data-info">
|
|
|
|
|
- <view class="me-header-tips-item">
|
|
|
|
|
- <view class="me-header-tips-item-num">
|
|
|
|
|
- {{ couponSituationData?.quantityForComplimentary || 0 }}
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="me-header-tips-item-des">
|
|
|
|
|
- 今日邀请
|
|
|
|
|
|
|
+ <view class="me-header-tips">
|
|
|
|
|
+ <view class="me-header-tips-row header-data-time">
|
|
|
|
|
+ <view class="desc-time">
|
|
|
|
|
+ <up-loading-icon v-if="couponSituationLoading || shareStateLoading" size="23rpx"
|
|
|
|
|
+ :loading="couponSituationLoading || shareStateLoading" color="#fff" />
|
|
|
|
|
+ <up-icon v-else name="info-circle" size="23rpx" color="#fff" />
|
|
|
|
|
+ <view v-if="couponSituationLoading || shareStateLoading" class="desc-text">
|
|
|
|
|
+ 数据加载中...
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view v-else class="desc-text">
|
|
|
|
|
+ 数据截止到 {{ changtime(deadline, 'YYYY-MM-DD HH:mm:ss') }}
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="me-header-tips-item">
|
|
|
|
|
- <view class="me-header-tips-item-num">
|
|
|
|
|
- {{ couponSituationData?.usedQuantity || 0 }}
|
|
|
|
|
|
|
+ <view class="me-header-tips-row header-data-info">
|
|
|
|
|
+ <view class="me-header-tips-item">
|
|
|
|
|
+ <view class="me-header-tips-item-num">
|
|
|
|
|
+ {{ shareStateData?.todayShareCount || 0 }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="me-header-tips-item-des">
|
|
|
|
|
+ 今日邀请
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="me-header-tips-item-des">
|
|
|
|
|
- 累计邀请
|
|
|
|
|
|
|
+ <view class="me-header-tips-item">
|
|
|
|
|
+ <view class="me-header-tips-item-num">
|
|
|
|
|
+ {{ shareStateData?.totalShareCount || 0 }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="me-header-tips-item-des">
|
|
|
|
|
+ 累计邀请
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="me-header-tips-item">
|
|
|
|
|
+ <view class="me-header-tips-item-num">
|
|
|
|
|
+ {{ shareStateData?.totalTeamMemberCount || 0 }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="me-header-tips-item-des">
|
|
|
|
|
+ 累计团员
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="me-header-tips-item-icon">
|
|
|
|
|
+ <up-icon name="arrow-right" size="21rpx" color="#FFFFFF" />
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="me-header-tips-item">
|
|
|
|
|
- <view class="me-header-tips-item-num">
|
|
|
|
|
- {{ couponSituationData?.expired || 0 }}
|
|
|
|
|
|
|
+ <view class="me-header-tips-row header-data-info">
|
|
|
|
|
+ <view class="me-header-tips-item">
|
|
|
|
|
+ <view class="me-header-tips-item-num">
|
|
|
|
|
+ {{ couponSituationData?.quantityForComplimentary || 0 }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="me-header-tips-item-des">
|
|
|
|
|
+ 今日发券
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="me-header-tips-item-des">
|
|
|
|
|
- 累计团员
|
|
|
|
|
|
|
+ <view class="me-header-tips-item">
|
|
|
|
|
+ <view class="me-header-tips-item-num">
|
|
|
|
|
+ {{ couponSituationData?.quantityToBeUsed || 0 }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="me-header-tips-item-des">
|
|
|
|
|
+ 今日领取
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="me-header-tips-item-icon">
|
|
|
|
|
- <up-icon name="arrow-right" size="21rpx" color="#FFFFFF" />
|
|
|
|
|
|
|
+ <view class="me-header-tips-item">
|
|
|
|
|
+ <view class="me-header-tips-item-num">
|
|
|
|
|
+ {{ couponSituationData?.usedQuantity || 0 }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="me-header-tips-item-des">
|
|
|
|
|
+ 今日使用
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="me-header-tips-item-icon">
|
|
|
|
|
+ <up-icon name="arrow-right" size="21rpx" color="#FFFFFF" />
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="me-header-tips-row header-data-info">
|
|
|
|
|
- <view class="me-header-tips-item">
|
|
|
|
|
- <view class="me-header-tips-item-num">
|
|
|
|
|
- {{ couponSituationData?.quantityForComplimentary || 0 }}
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="me-header-tips-item-des">
|
|
|
|
|
- 今日发券
|
|
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <!-- 菜单 -->
|
|
|
|
|
+ <view class="me-header-menu">
|
|
|
|
|
+ <view class="me-header-menu-item" @click="menuClick('applyForm')">
|
|
|
|
|
+ <view class="me-header-menu-icon">
|
|
|
|
|
+ <image :src="getImageUrl('@img/me/coupon-need.png')" mode="aspectFill" />
|
|
|
|
|
+ <view class="me-header-menu-text">
|
|
|
|
|
+ 申请发券人
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="me-header-tips-item">
|
|
|
|
|
- <view class="me-header-tips-item-num">
|
|
|
|
|
- {{ couponSituationData?.usedQuantity || 0 }}
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="me-header-tips-item-des">
|
|
|
|
|
- 今日领取
|
|
|
|
|
- </view>
|
|
|
|
|
|
|
+ <view class="me-header-menu-left">
|
|
|
|
|
+ <up-icon name="arrow-right" color="#979797" size="12" />
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="me-header-tips-item">
|
|
|
|
|
- <view class="me-header-tips-item-num">
|
|
|
|
|
- {{ couponSituationData?.expired || 0 }}
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="me-header-tips-item-des">
|
|
|
|
|
- 今日使用
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="me-header-tips-item-icon">
|
|
|
|
|
- <up-icon name="arrow-right" size="21rpx" color="#FFFFFF" />
|
|
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="me-header-menu-item" @click="menuClick('applyForm')">
|
|
|
|
|
+ <view class="me-header-menu-icon">
|
|
|
|
|
+ <image :src="getImageUrl('@img/me/invite.png')" mode="aspectFill" />
|
|
|
|
|
+ <view class="me-header-menu-text">
|
|
|
|
|
+ 我的邀请
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
- </view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <!-- 菜单 -->
|
|
|
|
|
- <view class="me-header-menu">
|
|
|
|
|
- <view class="me-header-menu-item" @click="menuClick('applyForm')">
|
|
|
|
|
- <view class="me-header-menu-icon">
|
|
|
|
|
- <image :src="getImageUrl('@img/me/coupon-need.png')" mode="aspectFill" />
|
|
|
|
|
- <view class="me-header-menu-text">
|
|
|
|
|
- 申请发券人
|
|
|
|
|
|
|
+ <view class="me-header-menu-left">
|
|
|
|
|
+ <up-icon name="arrow-right" color="#979797" size="12" />
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="me-header-menu-left">
|
|
|
|
|
- <up-icon name="arrow-right" color="#979797" size="12" />
|
|
|
|
|
- </view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="me-header-menu-item" @click="menuClick('applyForm')">
|
|
|
|
|
- <view class="me-header-menu-icon">
|
|
|
|
|
- <image :src="getImageUrl('@img/me/invite.png')" mode="aspectFill" />
|
|
|
|
|
- <view class="me-header-menu-text">
|
|
|
|
|
- 我的邀请
|
|
|
|
|
|
|
+ <view class="me-header-menu-item" @click="menuClick('applyForm')">
|
|
|
|
|
+ <view class="me-header-menu-icon">
|
|
|
|
|
+ <image :src="getImageUrl('@img/me/inviter.png')" mode="aspectFill" />
|
|
|
|
|
+ <view class="me-header-menu-text">
|
|
|
|
|
+ 我的邀请人
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
- <view class="me-header-menu-left">
|
|
|
|
|
- <up-icon name="arrow-right" color="#979797" size="12" />
|
|
|
|
|
- </view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="me-header-menu-item" @click="menuClick('applyForm')">
|
|
|
|
|
- <view class="me-header-menu-icon">
|
|
|
|
|
- <image :src="getImageUrl('@img/me/inviter.png')" mode="aspectFill" />
|
|
|
|
|
- <view class="me-header-menu-text">
|
|
|
|
|
- 我的邀请人
|
|
|
|
|
|
|
+ <view class="me-header-menu-left">
|
|
|
|
|
+ <up-icon name="arrow-right" color="#979797" size="12" />
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="me-header-menu-left">
|
|
|
|
|
- <up-icon name="arrow-right" color="#979797" size="12" />
|
|
|
|
|
- </view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="me-header-menu-item" @click="menuClick('shareFriend')">
|
|
|
|
|
- <view class="me-header-menu-icon">
|
|
|
|
|
- <image :src="getImageUrl('@img/me/share.png')" mode="aspectFill" />
|
|
|
|
|
- <view class="me-header-menu-text">
|
|
|
|
|
- 邀请好友
|
|
|
|
|
|
|
+ <view class="me-header-menu-item" @click="menuClick('shareFriend')">
|
|
|
|
|
+ <view class="me-header-menu-icon">
|
|
|
|
|
+ <image :src="getImageUrl('@img/me/share.png')" mode="aspectFill" />
|
|
|
|
|
+ <view class="me-header-menu-text">
|
|
|
|
|
+ 邀请好友
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
- <view class="me-header-menu-left">
|
|
|
|
|
- <up-icon name="arrow-right" color="#979797" size="12" />
|
|
|
|
|
- </view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="me-header-menu-item" @click="menuClick('settingPage')">
|
|
|
|
|
- <view class="me-header-menu-icon">
|
|
|
|
|
- <image :src="getImageUrl('@img/me/setting.png')" mode="aspectFill" />
|
|
|
|
|
- <view class="me-header-menu-text">
|
|
|
|
|
- 设置
|
|
|
|
|
|
|
+ <view class="me-header-menu-left">
|
|
|
|
|
+ <up-icon name="arrow-right" color="#979797" size="12" />
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="me-header-menu-left">
|
|
|
|
|
- <up-icon name="arrow-right" color="#979797" size="12" />
|
|
|
|
|
- </view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="me-header-menu-item" @click="handleLogout">
|
|
|
|
|
- <view class="me-header-menu-icon">
|
|
|
|
|
- <image :src="getImageUrl('@img/me/loginOut.png')" mode="aspectFill" />
|
|
|
|
|
- <view class="me-header-menu-text">
|
|
|
|
|
- 退出登录
|
|
|
|
|
|
|
+ <view class="me-header-menu-item" @click="menuClick('settingPage')">
|
|
|
|
|
+ <view class="me-header-menu-icon">
|
|
|
|
|
+ <image :src="getImageUrl('@img/me/setting.png')" mode="aspectFill" />
|
|
|
|
|
+ <view class="me-header-menu-text">
|
|
|
|
|
+ 设置
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="me-header-menu-left">
|
|
|
|
|
+ <up-icon name="arrow-right" color="#979797" size="12" />
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="me-header-menu-left">
|
|
|
|
|
- <up-icon name="arrow-right" color="#979797" size="12" />
|
|
|
|
|
|
|
+ <view class="me-header-menu-item" @click="handleLogout">
|
|
|
|
|
+ <view class="me-header-menu-icon">
|
|
|
|
|
+ <image :src="getImageUrl('@img/me/loginOut.png')" mode="aspectFill" />
|
|
|
|
|
+ <view class="me-header-menu-text">
|
|
|
|
|
+ 退出登录
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="me-header-menu-left">
|
|
|
|
|
+ <up-icon name="arrow-right" color="#979797" size="12" />
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
|
|
+ </up-pull-refresh>
|
|
|
<!-- 申请中的提示框 -->
|
|
<!-- 申请中的提示框 -->
|
|
|
<up-modal content="您已提交申请,请耐心等待!" title="提示" :show="show">
|
|
<up-modal content="您已提交申请,请耐心等待!" title="提示" :show="show">
|
|
|
<template #confirmButton>
|
|
<template #confirmButton>
|
|
@@ -410,6 +367,9 @@ function menuClick(page) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.profile-container {
|
|
.profile-container {
|
|
|
|
|
+ height: calc(100vh - 100rpx);
|
|
|
|
|
+ background-color: #f8f8fa;
|
|
|
|
|
+
|
|
|
.me-header {
|
|
.me-header {
|
|
|
height: 746rpx;
|
|
height: 746rpx;
|
|
|
display: flex;
|
|
display: flex;
|
|
@@ -531,7 +491,7 @@ function menuClick(page) {
|
|
|
|
|
|
|
|
.me-header-menu {
|
|
.me-header-menu {
|
|
|
background: #ffffff;
|
|
background: #ffffff;
|
|
|
- border-radius: 10rpx 10rpx 0rpx 0rpx;
|
|
|
|
|
|
|
+ border-radius: 10rpx;
|
|
|
margin: -50rpx 24rpx 0;
|
|
margin: -50rpx 24rpx 0;
|
|
|
padding: 0 20rpx;
|
|
padding: 0 20rpx;
|
|
|
|
|
|