|
@@ -1,75 +1,76 @@
|
|
|
<template>
|
|
|
- <layout-page>
|
|
|
- <view class="pb-150">
|
|
|
- <view class="text-center" :class="vip ? 'vipBox' : 'avatarBox'" @tap="handleTap">
|
|
|
- <view class="img-box">
|
|
|
- <img :src="getUserAvatar(baseInfo?.avatar, baseInfo?.sex)" alt="" class="img">
|
|
|
- <image v-if="vip" src="/static/svg/vip.svg" class="vipIcon" @click.stop="handleToLink({path: '/pagesA/vip/index'})"></image>
|
|
|
+ <view>
|
|
|
+ <Navbar title="我的" />
|
|
|
+ <layout-page>
|
|
|
+ <view class="commonBackground" style="height: 160px; position: inherit; top: 0;"></view>
|
|
|
+ <view class="defaultBgc" style="padding-bottom: 100rpx; margin-top: -160px;">
|
|
|
+ <view class="ss-p-x-30 d-flex justify-space-between align-center" @tap="handleTap">
|
|
|
+ <view class="img-box" :class="vip ? 'vipBox' : ''">
|
|
|
+ <img :src="getUserAvatar(baseInfo?.avatar, baseInfo?.sex)" alt="" class="img default-border">
|
|
|
+ <image v-if="vip" src="/static/svg/vip.svg" class="vipIcon" @click.stop="handleToLink({path: '/pagesA/vip/index'})"></image>
|
|
|
+ </view>
|
|
|
+ <view style="z-index: 1 !important;">
|
|
|
+ <view v-if="!useUserStore.isLogin" class="font-size-28rpx">
|
|
|
+ <view class="MiSans-Medium default-text-color">点击登录/注册</view>
|
|
|
+ <view class="MiSans-Normal color-666 10">Hi 欢迎登录门墩儿</view>
|
|
|
+ </view>
|
|
|
+ <view v-else class="MiSans-Medium font-size-20 default-text-color">{{ baseInfo?.name || userInfo?.phone }}</view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- <view v-if="!useUserStore.isLogin" class="font-weight-bold font-size-20">点击登录</view>
|
|
|
- <view v-else class="font-weight-bold font-size-20">{{ baseInfo?.name || userInfo?.phone }}</view>
|
|
|
- </view>
|
|
|
|
|
|
- <view style="padding: 40rpx 0 0 0;">
|
|
|
- <resume-status></resume-status>
|
|
|
- </view>
|
|
|
-
|
|
|
- <view class="d-flex">
|
|
|
- <view v-for="(item, index) in itemList" :key="index" @tap="handleToLink(item)" class="parent">
|
|
|
- <view class="d-flex justify-space-around align-center">
|
|
|
- <uni-icons color="#00B760" :type="item.icon" size="30"/>
|
|
|
- <text class="itemText">{{ item.title }}</text>
|
|
|
+ <view class="d-flex justify-space-between align-center">
|
|
|
+ <resume-status style="flex: 1" />
|
|
|
+ <view style="width: 100px; z-index: 1;" class="ss-m-r-30">
|
|
|
+ <image
|
|
|
+ src="https://minio.menduner.com/dev/fe9890be9b1176f84f2aa282b0f6adce300b133f65eb3d7b45ae057aa5698324.png"
|
|
|
+ style="width: 93px; height: 40px;"
|
|
|
+ ></image>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
-
|
|
|
- <view style="height: 20rpx; background-color: #f8f8fa;"></view>
|
|
|
-
|
|
|
- <view class="card">
|
|
|
- <uni-list>
|
|
|
- <uni-list-item
|
|
|
- v-for="item in list"
|
|
|
- :clickable="true"
|
|
|
- :key="item.title"
|
|
|
- :title="item.title"
|
|
|
- showArrow
|
|
|
- :rightText="item.rightTex || ''"
|
|
|
- @click="handleToLink(item)"
|
|
|
- >
|
|
|
- </uni-list-item>
|
|
|
- </uni-list>
|
|
|
- </view>
|
|
|
-
|
|
|
- <button v-if="useUserStore.isLogin" class="send-button" style="margin-bottom: 50px;" @tap="handleLogout">退出登录</button>
|
|
|
-
|
|
|
- <uni-popup ref="popup" type="dialog">
|
|
|
- <uni-popup-dialog type="warn" cancelText="取消" confirmText="确定" title="系统提示" content="确认退出账号?" @confirm="handleLogoutConfirm"
|
|
|
- @close="handleLogoutClose"></uni-popup-dialog>
|
|
|
- </uni-popup>
|
|
|
- <!-- 我的分享码 -->
|
|
|
- <uni-popup ref="shareQrCodePopup" type="dialog">
|
|
|
- <view class="shareQrCodePopupContent">
|
|
|
- <view class="color-primary text">邀请用户注册领50积分</view>
|
|
|
- <view class="qrCode">
|
|
|
- <image
|
|
|
- v-if="!!shareUrl"
|
|
|
- :src="shareUrl"
|
|
|
- :show-menu-by-longpress="true"
|
|
|
- style="width: 200px;height: 200px; padding: 20rpx;"
|
|
|
- ></image>
|
|
|
+
|
|
|
+ <view class="d-flex" style="margin: 30rpx; border-radius: 20rpx;">
|
|
|
+ <view v-for="(item, index) in itemList" :key="index" @tap="handleToLink(item)" class="parent">
|
|
|
+ <view class="d-flex align-center">
|
|
|
+ <image :src="item.src" mode="" style="width: 70rpx; height: 60rpx;"></image>
|
|
|
+ <text class="ss-m-l-30 default-text-color">{{ item.title }}</text>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- <view v-if="shareUrl" class="saveImg">长按二维码保存图片</view>
|
|
|
</view>
|
|
|
- </uni-popup>
|
|
|
-
|
|
|
- <uni-popup ref="inputDialog" type="dialog">
|
|
|
- <view class="shareQrCodePopupContent">
|
|
|
- <view>请前往网页版{{ dialogType ? '门墩儿招聘' : '门墩儿商城' }}</view>
|
|
|
- <uni-link class="ss-m-t-10" :href="dialogType ? 'https://www.menduner.com' : 'https://www.menduner.com/mall'" text="点击复制网页地址" color="#00B760" fontSize="16" copyTips="已复制,请在电脑端打开"></uni-link>
|
|
|
+
|
|
|
+
|
|
|
+ <view class="list-card">
|
|
|
+ <uni-list>
|
|
|
+ <uni-list-item
|
|
|
+ v-for="item in list"
|
|
|
+ :clickable="true"
|
|
|
+ :key="item.title"
|
|
|
+ :title="item.title"
|
|
|
+ showArrow
|
|
|
+ :thumb="item.src"
|
|
|
+ thumb-size="sm"
|
|
|
+ :rightText="item.rightTex || ''"
|
|
|
+ @click="handleToLink(item)"
|
|
|
+ >
|
|
|
+ </uni-list-item>
|
|
|
+ </uni-list>
|
|
|
</view>
|
|
|
- </uni-popup>
|
|
|
- </view>
|
|
|
- </layout-page>
|
|
|
+
|
|
|
+ <button v-if="useUserStore.isLogin" class="send-button" style="margin-bottom: 50px;" @tap="handleLogout">退出登录</button>
|
|
|
+
|
|
|
+ <uni-popup ref="popup" type="dialog">
|
|
|
+ <uni-popup-dialog type="warn" cancelText="取消" confirmText="确定" title="系统提示" content="确认退出账号?" @confirm="handleLogoutConfirm"
|
|
|
+ @close="handleLogoutClose"></uni-popup-dialog>
|
|
|
+ </uni-popup>
|
|
|
+
|
|
|
+ <uni-popup ref="inputDialog" type="dialog">
|
|
|
+ <view class="shareQrCodePopupContent">
|
|
|
+ <view class="ss-m-b-10 MiSans-Normal">请前往网页版{{ dialogType ? '门墩儿招聘' : '门墩儿商城' }}</view>
|
|
|
+ <uni-link class="MiSans-Normal" :href="dialogType ? 'https://www.menduner.com' : 'https://www.menduner.com/mall'" text="点击复制网页地址" color="#00B760" fontSize="16" copyTips="已复制,请在电脑端打开"></uni-link>
|
|
|
+ </view>
|
|
|
+ </uni-popup>
|
|
|
+ </view>
|
|
|
+ </layout-page>
|
|
|
+ </view>
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
@@ -81,7 +82,8 @@ import { getAccessToken, showNecessaryInfoPopup } from '@/utils/request'
|
|
|
import layoutPage from '@/layout'
|
|
|
import { showAuthModal } from '@/hooks/useModal'
|
|
|
import { onShow, onLoad, onShareAppMessage, onShareTimeline } from '@dcloudio/uni-app'
|
|
|
-import { getJobAdvertisedShareQrcode } from '@/api/user'
|
|
|
+import Navbar from '@/components/Navbar'
|
|
|
+
|
|
|
// 设置自定义tabbar选中值
|
|
|
onShow(() => {
|
|
|
const currentPage = getCurrentPages()[0]; // 获取当前页面实例
|
|
@@ -91,8 +93,6 @@ onShow(() => {
|
|
|
currentTabBar?.setData({ selected: 4 });
|
|
|
})
|
|
|
|
|
|
-// showAuthModal('') //测试 selectUserType
|
|
|
-
|
|
|
const inputDialog = ref()
|
|
|
const useUserStore = userStore()
|
|
|
const baseInfo = computed(() => useUserStore?.baseInfo)
|
|
@@ -100,24 +100,23 @@ const userInfo = computed(() => useUserStore?.userInfo)
|
|
|
const vip = computed(() => new Date().getTime() < useUserStore?.userInfo?.vipExpireDate)
|
|
|
|
|
|
const popup = ref()
|
|
|
-const shareQrCodePopup = ref()
|
|
|
const itemList = [
|
|
|
- { title: "我的关注", path: "/pagesA/collect/index", icon: "list" },
|
|
|
- { title:'关注我的', path:'/pagesA/seenMe/index', icon:'staff' }
|
|
|
+ { title: "我的关注", path: "/pagesA/collect/index", src: "https://minio.menduner.com/dev/0490f8bd7d4894d6eb3001ba6a6c9080bbc3623113bf0050342466cdb44ccec6.png" },
|
|
|
+ { title:'关注我的', path:'/pagesA/seenMe/index', src:'https://minio.menduner.com/dev/f6079be237dd39aa0929db31b7b35835e109b448ba0e1f278df64fa9391e6634.png' }
|
|
|
]
|
|
|
|
|
|
const defaultList = [
|
|
|
- { title: '在线简历', path: '/pagesA/resumeOnline/index' },
|
|
|
- { title: '附件简历', path: '/pagesA/resume/index' },
|
|
|
- { title: '学生专区', path: '/pagesA/student/index', key: 'student', defaultHide: true },
|
|
|
- { title: '面试管理', path: '/pagesA/interview/index' },
|
|
|
- { title: '会员套餐', path: '/pagesA/vipPackage/index' },
|
|
|
- { title: '我的分享码', path: '/pagesB/sharePoster/index' },
|
|
|
- { title: '新用户邀请记录', path: '/pagesB/inviteRecord/index' },
|
|
|
- { title: '门墩儿商城', appId: 'wx6decdf12f9e7a061' },
|
|
|
- { title: '我要招聘', key: 'recruit' },
|
|
|
- { title: '联系我们', path: '/pagesB/contactUs/index' },
|
|
|
- { title: '协议中心', path: '/pagesB/agreement/index', open: true }
|
|
|
+ { title: '在线简历', path: '/pagesA/resumeOnline/index', src: 'https://minio.menduner.com/dev/ec05228053a844dfa89d3bcb3750aaf2571bff4c8e04a5de6dbee2e68200e792.png' },
|
|
|
+ { title: '附件简历', path: '/pagesA/resume/index', src: 'https://minio.menduner.com/dev/d2687a2081847b092fc839880dd12fd7f374c58afeb07d567ae7cdfe8d68ce54.png' },
|
|
|
+ { title: '学生专区', path: '/pagesA/student/index', key: 'student', defaultHide: true, src: 'https://minio.menduner.com/dev/ec05228053a844dfa89d3bcb3750aaf2571bff4c8e04a5de6dbee2e68200e792.png' },
|
|
|
+ { title: '面试管理', path: '/pagesA/interview/index', src: 'https://minio.menduner.com/dev/747122b480d8358096e5848d0039cce0c8b8cf2a52f0409d073cc733cf4c0224.png' },
|
|
|
+ { title: '会员套餐', path: '/pagesA/vipPackage/index', src: 'https://minio.menduner.com/dev/4e9f86f6a48b78c1aca7a6a6b3c5971044275a7f890f73d7c3b981f125378a0f.png' },
|
|
|
+ { title: '我的分享码', path: '/pagesB/sharePoster/index', src: 'https://minio.menduner.com/dev/32e78eca5e003bb0136d874a973b582581eb4f9d3c746fb11ed3cc7f41a9b0e9.png' },
|
|
|
+ { title: '新用户邀请记录', path: '/pagesB/inviteRecord/index', src: 'https://minio.menduner.com/dev/53c36e2fb4cb3b7852bcb9ce7584d9f4c1daaed034a065c33fdb4acd2f4b89b8.png' },
|
|
|
+ { title: '门墩儿商城', appId: 'wx6decdf12f9e7a061', src: 'https://minio.menduner.com/dev/1f83900522317f36618b4b8314c2b6263c30d43ff1c0e8738903f85996f165d3.png' },
|
|
|
+ { title: '我要招聘', key: 'recruit', src:'https://minio.menduner.com/dev/c8e7d358858eaf9bfe197473751d04d1bc79598b9ce6ecf882ec61c79b0d3bae.png' },
|
|
|
+ { title: '联系我们', path: '/pagesB/contactUs/index', src: 'https://minio.menduner.com/dev/747122b480d8358096e5848d0039cce0c8b8cf2a52f0409d073cc733cf4c0224.png' },
|
|
|
+ { title: '协议中心', path: '/pagesB/agreement/index', open: true, src: 'https://minio.menduner.com/dev/58cc8847965aaa4e80064732a2024b690ff2285aa57cc4d133846a1e06a23478.png' }
|
|
|
]
|
|
|
const list = ref(defaultList.filter(e => !e.defaultHide))
|
|
|
|
|
@@ -222,10 +221,6 @@ const handleToLink = (item) => {
|
|
|
showAuthModal('necessaryInfo')
|
|
|
return
|
|
|
}
|
|
|
- if (item.path === 'shareQrCode') {
|
|
|
- handleShareCode()
|
|
|
- return
|
|
|
- }
|
|
|
// 点击在线简历需调起订阅消息
|
|
|
if (item.title === '在线简历'){
|
|
|
openSubscribe(item.path)
|
|
@@ -236,66 +231,6 @@ const handleToLink = (item) => {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
-const shareUrl = ref()
|
|
|
-// 生成分享二维码
|
|
|
-const handleShareCode = async () => {
|
|
|
- const userId = useUserStore?.accountInfo?.userId || ''
|
|
|
- if (!userId) {
|
|
|
- uni.showToast({
|
|
|
- title: '请先登录',
|
|
|
- icon: 'none'
|
|
|
- })
|
|
|
- showAuthModal()
|
|
|
- return
|
|
|
- }
|
|
|
- if (showNecessaryInfoPopup()) {
|
|
|
- uni.showToast({
|
|
|
- title: '请先完善基本信息',
|
|
|
- icon: 'none'
|
|
|
- })
|
|
|
- showAuthModal('necessaryInfo')
|
|
|
- return
|
|
|
- }
|
|
|
- const query = {
|
|
|
- scene: 'shareId=' + userId,
|
|
|
- path: 'pages/login/index',
|
|
|
- width: 200,
|
|
|
- autoColor: false,
|
|
|
- checkPath: true,
|
|
|
- hyaline: true
|
|
|
- }
|
|
|
- const res = await getJobAdvertisedShareQrcode(query)
|
|
|
- shareUrl.value = res?.data ? 'data:image/png;base64,' + res.data : ''
|
|
|
- shareQrCodePopup.value.open()
|
|
|
-}
|
|
|
-
|
|
|
-// 保存到本地
|
|
|
-// const handleSaveShareUrl = async () => {
|
|
|
-// const fsm = wx.getFileSystemManager()
|
|
|
-// const data = shareUrl.value
|
|
|
-// if (!data) return
|
|
|
-// fsm.writeFile({
|
|
|
-// filePath:wx.env.USER_DATA_PATH+'/MySharingCode.png',
|
|
|
-// data: data.slice(22),
|
|
|
-// encoding:'base64',
|
|
|
-// success: res => {
|
|
|
-// wx.saveImageToPhotosAlbum({
|
|
|
-// filePath: wx.env.USER_DATA_PATH + '/MySharingCode.png',
|
|
|
-// success: function (res) {
|
|
|
-// wx.showToast({
|
|
|
-// title: '保存成功',
|
|
|
-// })
|
|
|
-// },
|
|
|
-// fail: function (err) {
|
|
|
-// console.log(err)
|
|
|
-// }
|
|
|
-// })
|
|
|
-// }, fail: err => {
|
|
|
-// console.log(err)
|
|
|
-// }
|
|
|
-// })
|
|
|
-// }
|
|
|
-
|
|
|
// 登录
|
|
|
const handleTap = () => {
|
|
|
if (!useUserStore.isLogin) {
|
|
@@ -321,17 +256,21 @@ const handleLogoutConfirm = () => {
|
|
|
</script>
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
-.pb-150 {
|
|
|
- padding-bottom: 100px;
|
|
|
+.font-size-28rpx {
|
|
|
+ font-size: 28rpx;
|
|
|
+}
|
|
|
+.list-card {
|
|
|
+ background-color: #fff;
|
|
|
+ border-radius: 20rpx;
|
|
|
+ margin: 30rpx;
|
|
|
}
|
|
|
.img-box {
|
|
|
position: relative;
|
|
|
display: flex;
|
|
|
justify-content: center;
|
|
|
.img {
|
|
|
- width: 150rpx;
|
|
|
- height: 150rpx;
|
|
|
- border: 2rpx solid #ccc;
|
|
|
+ width: 100rpx;
|
|
|
+ height: 100rpx;
|
|
|
border-radius: 50%;
|
|
|
}
|
|
|
}
|
|
@@ -351,33 +290,29 @@ const handleLogoutConfirm = () => {
|
|
|
:deep(.uni-list-item) {
|
|
|
height: 120rpx !important;
|
|
|
line-height: 120rpx !important;
|
|
|
+ &:first-child {
|
|
|
+ border-radius: 20rpx 20rpx 0 0;
|
|
|
+ }
|
|
|
+ &:last-child {
|
|
|
+ border-radius: 0 0 20rpx 20rpx;
|
|
|
+ }
|
|
|
}
|
|
|
:deep(.uni-list-item__content-title) {
|
|
|
- font-size: 32rpx !important;
|
|
|
- font-weight: 500;
|
|
|
-}
|
|
|
-.colors{
|
|
|
- font-size: 24rpx;
|
|
|
- color: #606266;
|
|
|
-}
|
|
|
-.size-16{
|
|
|
- color: #3f424f;
|
|
|
- font-size: 32rpx;
|
|
|
- margin: 13rpx 0 5rpx 0;
|
|
|
+ font-size: 28rpx !important;
|
|
|
+ font-family: MiSans-Medium;
|
|
|
}
|
|
|
-.itemText {
|
|
|
- color: #3f424f;
|
|
|
- font-size: 36rpx;
|
|
|
+:deep(.uni-icons) {
|
|
|
+ color: #0E100F !important;
|
|
|
}
|
|
|
.parent{
|
|
|
width: 50%;
|
|
|
- border: 1px solid #f4f4f4;
|
|
|
- border-radius: 10rpx;
|
|
|
- margin: 0 30rpx 20rpx 30rpx;
|
|
|
- padding: 20rpx;
|
|
|
+ border-radius: 20rpx;
|
|
|
+ background-color: #fff;
|
|
|
+ padding: 30rpx;
|
|
|
+ z-index: 1;
|
|
|
}
|
|
|
.parent:first-child{
|
|
|
- margin: 0 0 20rpx 30rpx;
|
|
|
+ margin-right: 20rpx;
|
|
|
}
|
|
|
.shareQrCodePopupContent {
|
|
|
width: 75vw;
|
|
@@ -385,6 +320,7 @@ const handleLogoutConfirm = () => {
|
|
|
margin-bottom: 20rpx;
|
|
|
text-align: center;
|
|
|
background-color: #fff;
|
|
|
+ border-radius: 20rpx;
|
|
|
.text {
|
|
|
margin-bottom: 20px;
|
|
|
}
|
|
@@ -398,3 +334,4 @@ const handleLogoutConfirm = () => {
|
|
|
}
|
|
|
}
|
|
|
</style>
|
|
|
+
|