Procházet zdrojové kódy

Merge branch 'master' of https://git.nanodreamtech.com/Boss/yizhizan-h5

wkw před 7 měsíci
rodič
revize
47f82daf19

+ 17 - 13
my/enterpriseInfo/enterpriseInfo.vue

@@ -175,7 +175,7 @@
 						工商信息
 					</view>
 					<view class="gsInfo-box-c-item">
-						公司全称:{{info.companyName?info.companyName:''}}
+						公司全称:{{info.companyAllName?info.companyAllName:''}}
 					</view>
 					<view class="gsInfo-box-c-item">
 						成立时间:{{info.companyCreateTime?info.companyCreateTime:''}}
@@ -191,7 +191,7 @@
 		</view>
 
 		<!-- 全部岗位弹窗 -->
-		<btnPopous ref="jobPopup" v-if="showJobPopup && companyId" :companyId="companyId" :cittArr="cittArr" :classify="classify" :moneyArr="moneyArr"
+		<btnPopous ref="jobPopup" v-if="showJobPopup && companyId&&classify.length>0" :companyId="companyId" :cittArr="cittArr" :classify="classify" :moneyArr="moneyArr"
 			:jyArr="jyArr" @closePopup="closeJobPopup" />
 			
 		<u-popup v-model="shows" z-index="99999" mode="bottom" border-radius="14" height="300rpx">
@@ -524,17 +524,21 @@
 						res.data.photosArr=res.data.photosArr?res.data.photos.split(','):[]
 						that.talentList=res.data.companyPeopleDevelop?res.data.companyPeopleDevelop.split(','):[]
 						that.businessList=res.data.workDescribe?res.data.workDescribe.split(','):[]
-						if(res.data.hr)
-						res.data.hr.forEach(function(item,index){
-							item.name='匿名'
-							item.color=color[index%3]
-							for(const user of res.data.userEntities) {
-							    if(item.userId == user.userId) {
-							        item.name = user.userName;
-							        break; // 直接跳出循环
-							    }
-							}
-						})
+						if(res.data.hr){
+							res.data.hr.forEach(function(item,index){
+								if (item) {
+									item.name='匿名'
+									item.color=color[index%3]
+									for(const user of res.data.userEntities) {
+									    if(item.userId == user.userId) {
+									        item.name = user.userName;
+									        break; // 直接跳出循环
+									    }
+									}
+								}
+
+							})
+						}
 						this.info = res.data
 						if (this.info.companyName) {
 							uni.setNavigationBarTitle({

+ 7 - 6
my/renzheng/editCompany.vue

@@ -21,7 +21,7 @@
             />
           </view>
         </view>
-        <view class="ms-item-content" v-if="baseMsg">
+        <view class="ms-item-content" v-if="baseMsg" @click="goCompanyMsg">
           <view class="name-content-item">
             <view class="name-item">品牌logo</view>
             <view class="value-item">
@@ -38,7 +38,7 @@
               <u-icon name="arrow-right" color="#999" size="20"></u-icon>
             </view>
           </view>
-          <view class="name-content-item">
+          <view class="name-content-item" >
             <view class="name-item">公司全称</view>
             <view class="value-item">
               <text v-if="!companyinfo.companyAllName">未添加</text>
@@ -103,7 +103,7 @@
         </view>
       </view>
       <view class="ms-item">
-        <view class="ms-item-title">
+        <view class="ms-item-title" @click="goCompanyMsg">
           <view class="ms-title-txt">公司介绍</view>
           <view class="ms-title-icon">
             <text v-if="!companyinfo.companyContent">未添加</text>
@@ -128,7 +128,7 @@
         </view> -->
       </view>
       <view class="ms-item">
-        <view class="ms-item-title">
+        <view class="ms-item-title" @click="goCompanyMsg">
           <view class="ms-title-txt">主营业务</view>
           <view class="ms-title-icon">
             <text v-if="!companyinfo.companyScope">未添加</text>
@@ -153,7 +153,7 @@
         </view> -->
       </view>
       <view class="ms-item">
-        <view class="ms-item-title">
+        <view class="ms-item-title" @click="goCompanyMsg">
           <view class="ms-title-txt">公司相册</view>
           <view class="ms-title-icon">
            <text v-if="!companyinfo.photos">未添加</text>
@@ -178,7 +178,7 @@
         </view> -->
       </view>
       <view class="ms-item">
-        <view class="ms-item-title" @click="checkPeopleDev">
+        <view class="ms-item-title" @click="goCompanyMsg">
           <view class="ms-title-txt">人才发展</view>
           <view class="ms-title-icon">
            <text v-if="!companyinfo.companyPeopleDevelop">未添加</text>
@@ -275,6 +275,7 @@ export default {
 					return;
 				}
 				this.companyinfo = res.data || {};
+        this.$queue.setData('companyId', res.data.companyId);
 				console.log("查询用户企业状态", this.companyinfo)
 			})
 			.catch((err) => {

+ 166 - 24
my/setting/weekXiYi.vue

@@ -1,33 +1,175 @@
 <template>
-    <view style="line-height: 26px;padding: 32upx;" class="home1">
-		<view style="font-size: 28upx;" v-html="content" ></view>
+    <view class="agreement-page">
+        <!-- 顶部间距占位 -->
+        <view class="top-spacing"></view>
+        
+        <!-- 顶部导航栏 -->
+        <view class="page-header">
+            <!-- 返回图标 -->
+            <view class="back-icon" @click="goBack">
+				<u-icon name="arrow-leftward" size="36" color="#333"></u-icon>
+            </view>
+            
+            <text class="header-title">会员服务协议</text>
+        </view>
+        
+        <!-- 富文本内容区域 -->
+        <scroll-view class="content-container" scroll-y="true">
+            <view class="agreement-content" v-html="content"></view>
+            
+            <!-- 底部提示 -->
+            <view class="agreement-footer">
+                <text class="footer-text">以上协议内容最终解释权归本平台所有</text>
+            </view>
+        </scroll-view>
     </view>
 </template>
 
 <script>
-    export default {
-        data() {
-            return {
-				content:''
-			}
+export default {
+    data() {
+        return {
+            content: ''
+        }
+    },
+    onLoad() {
+        this.getGuize();
+    },
+    methods: {
+        getGuize() {
+            this.$Request.getT('/app/common/type/315').then(res => {
+                if (res.code === 0) {
+                    this.content = res.data.value;
+                } else {
+                    this.content = '<div style="text-align:center;padding:50upx;">协议内容加载失败,请稍后重试</div>';
+                }
+            }).catch(err => {
+                console.error('协议加载失败:', err);
+                this.content = '<div style="text-align:center;padding:50upx;">协议内容加载失败,请检查网络连接</div>';
+            });
         },
-		onLoad() {
-			this.getGuize();
-		},
-        methods: {
-			getGuize(){
-				this.$Request.getT('/app/common/type/315').then(res =>{
-					if(res.code === 0){
-						this.content = res.data.value;
-					}
-				});
-			}
-		}
+        // 返回上一页
+        goBack() {
+            uni.navigateBack({
+                delta: 1
+            });
+        }
     }
+}
 </script>
 
-<style>
-	page{
-		background: #FFFFFF;
-	}
-</style>
+<style scoped>
+/* 页面整体样式 */
+.agreement-page {
+    width: 100%;
+    min-height: 100vh;
+    background: #FFFFFF;
+    display: flex;
+    flex-direction: column;
+}
+
+/* 顶部间距占位 - 控制整体下移的距离 */
+.top-spacing {
+    height: 60upx; /* 可根据需要调整这个值来控制下移距离 */
+    background-color: #FFFFFF;
+}
+
+/* 顶部导航栏 */
+.page-header {
+    height: 88upx;
+    line-height: 88upx;
+    text-align: center;
+    border-bottom: 1px solid #EEEEEE;
+    background-color: #fff;
+    position: sticky;
+    top: 60upx; /* 对应top-spacing的高度 */
+    z-index: 10;
+    /* 开启flex布局,实现返回按钮和标题的排列 */
+    display: flex;
+    align-items: center;
+    padding: 0 20upx;
+}
+
+/* 返回图标样式 */
+.back-icon {
+    position: absolute;
+    left: 20upx;
+    top: 50%;
+    transform: translateY(-50%);
+    width: 44upx;
+    height: 44upx;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+}
+
+.header-title {
+    font-size: 36upx;
+    font-weight: 600;
+    color: #333333;
+    /* 让标题居中显示 */
+    flex: 1;
+}
+
+/* 内容滚动容器 */
+.content-container {
+    flex: 1;
+    padding: 32upx;
+    box-sizing: border-box;
+}
+
+/* 富文本内容样式 */
+.agreement-content {
+    font-size: 28upx;
+    line-height: 1.8;
+    color: #333333;
+}
+
+/* 富文本内部元素样式重置 */
+.agreement-content >>> p {
+    margin: 0 0 20upx 0;
+}
+
+.agreement-content >>> h1,
+.agreement-content >>> h2,
+.agreement-content >>> h3 {
+    font-weight: 600;
+    margin: 30upx 0 15upx 0;
+}
+
+.agreement-content >>> h1 {
+    font-size: 32upx;
+}
+
+.agreement-content >>> h2 {
+    font-size: 30upx;
+}
+
+.agreement-content >>> ul,
+.agreement-content >>> ol {
+    padding-left: 40upx;
+    margin: 10upx 0;
+}
+
+.agreement-content >>> li {
+    margin-bottom: 10upx;
+}
+
+.agreement-content >>> a {
+    color: #007AFF;
+    text-decoration: underline;
+}
+
+/* 底部提示 */
+.agreement-footer {
+    margin-top: 40upx;
+    padding-top: 20upx;
+    border-top: 1px solid #EEEEEE;
+}
+
+.footer-text {
+    font-size: 24upx;
+    color: #999999;
+    text-align: center;
+}
+</style>

+ 946 - 971
my/vip/index.vue

@@ -1,988 +1,963 @@
 <template>
-  <view class="page-box">
-    <navBar title="vip" color="#b1643c" />
-    <view class="page-content">
-      <!-- 用户端 -->
-      <block v-if="userType == 1">
-        <view class="bgTop flex justify-center">
-          <view class="bgTop-box">
-            <view class="bgTop-box-top flex justify-center align-center">
-              <view class="bgTop-box-top-box flex justify-between align-center">
-                <view class="bgTop-box-top-box-l">
-                  <view class="bgTop-box-top-box-l-t">
-                    {{ isVip == true ? "已开通会员" : "开通会员" }}
-                  </view>
-                  <view class="bgTop-box-top-box-l-c"> 提升简历曝光 </view>
-                  <view class="bgTop-box-top-box-l-b">
-                    {{
+	<view class="page-box">
+		<navBar title="vip" color="#b1643c" />
+		<view class="page-content">
+			<!-- 用户端 -->
+			<block v-if="userType == 1">
+				<view class="bgTop flex justify-center">
+					<view class="bgTop-box">
+						<view class="bgTop-box-top flex justify-center align-center">
+							<view class="bgTop-box-top-box flex justify-between align-center">
+								<view class="bgTop-box-top-box-l">
+									<view class="bgTop-box-top-box-l-t">
+										{{ isVip == true ? "已开通会员" : "开通会员" }}
+									</view>
+									<view class="bgTop-box-top-box-l-c"> 提升简历曝光 </view>
+									<view class="bgTop-box-top-box-l-b">
+										{{
                       isVip == true ? "到期时间:" + dataTime : "开通会员更多招聘方联系你"
                     }}
-                  </view>
-                </view>
-                <view class="bgTop-box-top-box-r">
-                  <image src="../../static/images/my/icon/vip5.png" mode=""></image>
-                </view>
-              </view>
-            </view>
-            <view class="bgTop-box-btn flex justify-around">
-              <view class="bgTop-box-btn-item">
-                <image src="../../static/images/my/icon/btn1.png" mode=""></image>
-                <view class="bgTop-box-btn-item-t"> 专属客服 </view>
-              </view>
-              <view class="bgTop-box-btn-item">
-                <image src="../../static/images/my/icon/btn2.png" mode=""></image>
-                <view class="bgTop-box-btn-item-t"> 优先提醒 </view>
-              </view>
-              <view class="bgTop-box-btn-item">
-                <image src="../../static/images/my/icon/btn3.png" mode=""></image>
-                <view class="bgTop-box-btn-item-t"> 简历刷新 </view>
-              </view>
-              <view class="bgTop-box-btn-item">
-                <image src="../../static/images/my/icon/btn4.png" mode=""></image>
-                <view class="bgTop-box-btn-item-t"> 简历置顶 </view>
-              </view>
-            </view>
-          </view>
-        </view>
-        <view class="icon flex justify-center align-start">
-          <u-icon name="arrow-up-fill" color="#ffffff" size="50"></u-icon>
-        </view>
-        <view class="bgc"></view>
-        <view class="bgb flex justify-center">
-          <view class="bgb-c flex justify-center">
-            <view class="bgb-c-n">
-              <view class="bgb-c-n-title flex justify-between align-center">
-                <view class="bgb-c-n-title-l bgb-c-n-titles"> 专属特权 </view>
-                <view class="bgb-c-n-title-c bgb-c-n-titles"> 普通用户 </view>
-                <view class="bgb-c-n-title-r bgb-c-n-titles"> VIP </view>
-              </view>
-              <view class="bgb-c-n-title flex justify-between align-center">
-                <view class="bgb-c-n-title-l bgb-c-n-titles"> 简历刷新 </view>
-                <view class="bgb-c-n-title-c bgb-c-n-titles"> {{ noVipNum }}次/天 </view>
-                <view class="bgb-c-n-title-r bgb-c-n-titles"> {{ vipNum }}次/天 </view>
-              </view>
-              <view class="bgb-c-n-title flex justify-between align-center">
-                <view class="bgb-c-n-title-l bgb-c-n-titles"> 优先提醒 </view>
-                <view class="bgb-c-n-title-c bgb-c-n-titles"> × </view>
-                <view class="bgb-c-n-title-r bgb-c-n-titles"> √ </view>
-              </view>
-              <view class="bgb-c-n-title flex justify-between align-center">
-                <view class="bgb-c-n-title-l bgb-c-n-titles"> 专属客服 </view>
-                <view class="bgb-c-n-title-c bgb-c-n-titles"> × </view>
-                <view class="bgb-c-n-title-r bgb-c-n-titles"> √ </view>
-              </view>
-              <view class="bgb-c-n-title flex justify-between align-center">
-                <view class="bgb-c-n-title-l bgb-c-n-titles"> 视频面试 </view>
-                <view class="bgb-c-n-title-c bgb-c-n-titles"> × </view>
-                <view class="bgb-c-n-title-r bgb-c-n-titles"> √ </view>
-              </view>
-              <view class="bgb-c-n-title flex justify-between align-center">
-                <view class="bgb-c-n-title-l bgb-c-n-titles"> 语音沟通 </view>
-                <view class="bgb-c-n-title-c bgb-c-n-titles"> × </view>
-                <view class="bgb-c-n-title-r bgb-c-n-titles"> √ </view>
-              </view>
-              <view class="bgb-c-n-title flex justify-between align-center">
-                <view class="bgb-c-n-title-l bgb-c-n-titles"> 简历置顶 </view>
-                <view class="bgb-c-n-title-c bgb-c-n-titles"> × </view>
-                <view class="bgb-c-n-title-r bgb-c-n-titles"> √ </view>
-              </view>
-            </view>
-          </view>
-        </view>
-        <view class="btn flex justify-center align-start flex-wrap" v-if="isVip == false">
-          <view class="" style="width: 686rpx; padding-left: 20rpx">
-            <view class="flex align-center" style="width: 100%">
-              <u-checkbox size="28rpx" v-model="checked" shape="circle">
-                <view class="flex align-center"
-                  >开通即同意<navigator
-                    style="color: #016bf6"
-                    url="/my/setting/weekXiYi"
-                    open-type="navigate"
-                    >《会员开通协议》</navigator
-                  >
-                </view>
-              </u-checkbox>
-            </view>
-          </view>
-          <view class="btn-c flex align-center justify-between">
-            <view class="btn-c-l flex align-center">
-              <text>{{ vipPrice }}</text>
-              <text>元/月</text>
-            </view>
-            <view class="btn-c-r flex justify-center align-center" @click="submit()">
-              立即购买
-            </view>
-          </view>
-        </view>
-      </block>
-      <block v-else>
-        <view class="bgTop flex justify-center">
-          <view class="bgTop-box">
-            <view class="bgTop-box-top flex justify-center align-center">
-              <view class="bgTop-box-top-box flex justify-between align-center">
-                <view class="bgTop-box-top-box-l">
-                  <view class="bgTop-box-top-box-l-t">
-                    {{ isVipC == true ? "已开通会员" : "开通会员" }}
-                  </view>
-                  <view class="bgTop-box-top-box-l-c"> 提升岗位曝光 </view>
-                  <view class="bgTop-box-top-box-l-b">
-                    {{
+									</view>
+								</view>
+								<view class="bgTop-box-top-box-r">
+									<image src="../../static/images/my/icon/vip5.png" mode=""></image>
+								</view>
+							</view>
+						</view>
+						<view class="bgTop-box-btn flex justify-around">
+							<view class="bgTop-box-btn-item">
+								<image src="../../static/images/my/icon/btn1.png" mode=""></image>
+								<view class="bgTop-box-btn-item-t"> 专属客服 </view>
+							</view>
+							<view class="bgTop-box-btn-item">
+								<image src="../../static/images/my/icon/btn2.png" mode=""></image>
+								<view class="bgTop-box-btn-item-t"> 优先提醒 </view>
+							</view>
+							<view class="bgTop-box-btn-item">
+								<image src="../../static/images/my/icon/btn3.png" mode=""></image>
+								<view class="bgTop-box-btn-item-t"> 简历刷新 </view>
+							</view>
+							<view class="bgTop-box-btn-item">
+								<image src="../../static/images/my/icon/btn4.png" mode=""></image>
+								<view class="bgTop-box-btn-item-t"> 简历置顶 </view>
+							</view>
+						</view>
+					</view>
+				</view>
+				<view class="icon flex justify-center align-start">
+					<u-icon name="arrow-up-fill" color="#ffffff" size="50"></u-icon>
+				</view>
+				<view class="bgc"></view>
+				<view class="bgb flex justify-center">
+					<view class="bgb-c flex justify-center">
+						<view class="bgb-c-n">
+							<view class="bgb-c-n-title flex justify-between align-center">
+								<view class="bgb-c-n-title-l bgb-c-n-titles"> 专属特权 </view>
+								<view class="bgb-c-n-title-c bgb-c-n-titles"> 普通用户 </view>
+								<view class="bgb-c-n-title-r bgb-c-n-titles"> VIP </view>
+							</view>
+							<view class="bgb-c-n-title flex justify-between align-center">
+								<view class="bgb-c-n-title-l bgb-c-n-titles"> 简历刷新 </view>
+								<view class="bgb-c-n-title-c bgb-c-n-titles"> {{ noVipNum }}次/天 </view>
+								<view class="bgb-c-n-title-r bgb-c-n-titles"> {{ vipNum }}次/天 </view>
+							</view>
+							<view class="bgb-c-n-title flex justify-between align-center">
+								<view class="bgb-c-n-title-l bgb-c-n-titles"> 优先提醒 </view>
+								<view class="bgb-c-n-title-c bgb-c-n-titles"> × </view>
+								<view class="bgb-c-n-title-r bgb-c-n-titles"> √ </view>
+							</view>
+							<view class="bgb-c-n-title flex justify-between align-center">
+								<view class="bgb-c-n-title-l bgb-c-n-titles"> 专属客服 </view>
+								<view class="bgb-c-n-title-c bgb-c-n-titles"> × </view>
+								<view class="bgb-c-n-title-r bgb-c-n-titles"> √ </view>
+							</view>
+							<view class="bgb-c-n-title flex justify-between align-center">
+								<view class="bgb-c-n-title-l bgb-c-n-titles"> 视频面试 </view>
+								<view class="bgb-c-n-title-c bgb-c-n-titles"> × </view>
+								<view class="bgb-c-n-title-r bgb-c-n-titles"> √ </view>
+							</view>
+							<view class="bgb-c-n-title flex justify-between align-center">
+								<view class="bgb-c-n-title-l bgb-c-n-titles"> 语音沟通 </view>
+								<view class="bgb-c-n-title-c bgb-c-n-titles"> × </view>
+								<view class="bgb-c-n-title-r bgb-c-n-titles"> √ </view>
+							</view>
+							<view class="bgb-c-n-title flex justify-between align-center">
+								<view class="bgb-c-n-title-l bgb-c-n-titles"> 简历置顶 </view>
+								<view class="bgb-c-n-title-c bgb-c-n-titles"> × </view>
+								<view class="bgb-c-n-title-r bgb-c-n-titles"> √ </view>
+							</view>
+						</view>
+					</view>
+				</view>
+				<view class="btn flex justify-center align-start flex-wrap" v-if="isVip == false">
+					<view class="" style="width: 686rpx; padding-left: 20rpx">
+						<view class="flex align-center" style="width: 100%">
+							<u-checkbox size="28rpx" v-model="checked" shape="circle">
+								<view class="flex align-center">开通即同意<navigator style="color: #016bf6"
+										url="/my/setting/weekXiYi" open-type="navigate">《会员开通协议》</navigator>
+								</view>
+							</u-checkbox>
+						</view>
+					</view>
+					<view class="btn-c flex align-center justify-between">
+						<view class="btn-c-l flex align-center">
+							<text>{{ vipPrice }}</text>
+							<text>元/月</text>
+						</view>
+						<view class="btn-c-r flex justify-center align-center" @click="submit()">
+							立即购买
+						</view>
+					</view>
+				</view>
+			</block>
+			<block v-else>
+				<view class="bgTop flex justify-center">
+					<view class="bgTop-box">
+						<view class="bgTop-box-top flex justify-center align-center">
+							<view class="bgTop-box-top-box flex justify-between align-center">
+								<view class="bgTop-box-top-box-l">
+									<view class="bgTop-box-top-box-l-t">
+										{{ isVipC == true ? "已开通会员" : "开通会员" }}
+									</view>
+									<view class="bgTop-box-top-box-l-c"> 提升岗位曝光 </view>
+									<view class="bgTop-box-top-box-l-b">
+										{{
                       isVipC == true
                         ? "到期时间:" + dataTimeC
                         : "开通会员更多求职者联系你"
                     }}
-                  </view>
-                </view>
-                <view class="bgTop-box-top-box-r">
-                  <image src="../../static/images/my/icon/vip5.png" mode=""></image>
-                </view>
-              </view>
-            </view>
-            <view class="bgTop-box-btn flex justify-around">
-              <view class="bgTop-box-btn-item">
-                <image src="../../static/images/my/icon/btn1.png" mode=""></image>
-                <view class="bgTop-box-btn-item-t"> 专属客服 </view>
-              </view>
-              <view class="bgTop-box-btn-item">
-                <image src="../../static/images/my/icon/btn2.png" mode=""></image>
-                <view class="bgTop-box-btn-item-t"> 优先推荐 </view>
-              </view>
-              <view class="bgTop-box-btn-item">
-                <image src="../../static/images/my/icon/btn3.png" mode=""></image>
-                <view class="bgTop-box-btn-item-t"> 招聘刷新 </view>
-              </view>
-              <view class="bgTop-box-btn-item">
-                <image src="../../static/images/my/icon/btn4.png" mode=""></image>
-                <view class="bgTop-box-btn-item-t"> 专属特权 </view>
-              </view>
-            </view>
-          </view>
-        </view>
-        <view class="icon flex justify-center align-start">
-          <u-icon name="arrow-up-fill" color="#ffffff" size="50"></u-icon>
-        </view>
-        <view class="bgc"></view>
-        <view class="bgb flex justify-center">
-          <view class="bgb-c flex justify-center">
-            <view class="bgb-c-n">
-              <view class="bgb-c-n-title flex justify-between align-center">
-                <view class="bgb-c-n-title-l bgb-c-n-titles"> 专属特权 </view>
-                <view class="bgb-c-n-title-c bgb-c-n-titles"> 普通用户 </view>
-                <view class="bgb-c-n-title-r bgb-c-n-titles"> VIP </view>
-              </view>
-              <view class="bgb-c-n-title flex justify-between align-center">
-                <view class="bgb-c-n-title-l bgb-c-n-titles"> 招聘刷新 </view>
-                <view class="bgb-c-n-title-c bgb-c-n-titles">
-                  {{ noVipNumCom }}次/天
-                </view>
-                <view class="bgb-c-n-title-r bgb-c-n-titles"> {{ vipNumCom }}次/天 </view>
-              </view>
-              <view class="bgb-c-n-title flex justify-between align-center">
-                <view class="bgb-c-n-title-l bgb-c-n-titles"> 优先推荐 </view>
-                <view class="bgb-c-n-title-c bgb-c-n-titles"> × </view>
-                <view class="bgb-c-n-title-r bgb-c-n-titles"> √ </view>
-              </view>
-              <view class="bgb-c-n-title flex justify-between align-center">
-                <view class="bgb-c-n-title-l bgb-c-n-titles"> 专属客服 </view>
-                <view class="bgb-c-n-title-c bgb-c-n-titles"> × </view>
-                <view class="bgb-c-n-title-r bgb-c-n-titles"> √ </view>
-              </view>
-              <view class="bgb-c-n-title flex justify-between align-center">
-                <view class="bgb-c-n-title-l bgb-c-n-titles"> 视频面试 </view>
-                <view class="bgb-c-n-title-c bgb-c-n-titles"> × </view>
-                <view class="bgb-c-n-title-r bgb-c-n-titles"> √ </view>
-              </view>
-              <view class="bgb-c-n-title flex justify-between align-center">
-                <view class="bgb-c-n-title-l bgb-c-n-titles"> 语音沟通 </view>
-                <view class="bgb-c-n-title-c bgb-c-n-titles"> × </view>
-                <view class="bgb-c-n-title-r bgb-c-n-titles"> √ </view>
-              </view>
-              <view class="bgb-c-n-title flex justify-between align-center">
-                <view class="bgb-c-n-title-l bgb-c-n-titles"> 免费沟通 </view>
-                <view class="bgb-c-n-title-c bgb-c-n-titles"> {{ msgNum }}次/天 </view>
-                <view class="bgb-c-n-title-r bgb-c-n-titles"> {{ vipMsgNum }}次/天 </view>
-              </view>
-              <view class="bgb-c-n-title flex justify-between align-center">
-                <view class="bgb-c-n-title-l bgb-c-n-titles"> 沟通价格 </view>
-                <view class="bgb-c-n-title-c bgb-c-n-titles"> {{ msgPrice }}元/次 </view>
-                <view class="bgb-c-n-title-r bgb-c-n-titles">
-                  {{ vipMsgPrice }}元/次
-                </view>
-              </view>
-            </view>
-          </view>
-        </view>
-        <view
-          class="btn flex justify-center align-start flex-wrap"
-          v-if="isVipC == false"
-        >
-          <view class="" style="width: 686rpx; padding-left: 20rpx">
-            <view class="flex align-center" style="width: 100%">
-              <u-checkbox size="28rpx" v-model="checked" shape="circle">
-                <view class="flex align-center"
-                  >开通即同意<navigator
-                    style="color: #016bf6"
-                    url="/my/setting/weekXiYi"
-                    open-type="navigate"
-                    >《会员开通协议》</navigator
-                  >
-                </view>
-              </u-checkbox>
-            </view>
-          </view>
-          <view class="btn-c flex align-center justify-between">
-            <view class="btn-c-l flex align-center">
-              <text>{{ vipPrice }}</text>
-              <text>元/月</text>
-            </view>
-            <view class="btn-c-r flex justify-center align-center" @click="submit()">
-              立即购买
-            </view>
-          </view>
-        </view>
-      </block>
-      <u-popup
-        v-model="show"
-        mode="bottom"
-        :mask-close-able="false"
-        border-radius="24"
-        :closeable="true"
-      >
-        <view class="payTitle">选择支付类型</view>
-        <view class="payPrice"> 支付价格:¥{{ vipPrice }} </view>
-        <view class="payList flex justify-center">
-          <view class="payList-box">
-            <view
-              class="payList-box-item flex align-center justify-between"
-              v-for=""
-              v-for="(item, index) in openLists"
-              :key="index"
-            >
-              <view class="payList-box-item-l flex align-center">
-                <image
-                  :src="item.image"
-                  style="
+									</view>
+								</view>
+								<view class="bgTop-box-top-box-r">
+									<image src="../../static/images/my/icon/vip5.png" mode=""></image>
+								</view>
+							</view>
+						</view>
+						<view class="bgTop-box-btn flex justify-around">
+							<view class="bgTop-box-btn-item">
+								<image src="../../static/images/my/icon/btn1.png" mode=""></image>
+								<view class="bgTop-box-btn-item-t"> 专属客服 </view>
+							</view>
+							<view class="bgTop-box-btn-item">
+								<image src="../../static/images/my/icon/btn2.png" mode=""></image>
+								<view class="bgTop-box-btn-item-t"> 优先推荐 </view>
+							</view>
+							<view class="bgTop-box-btn-item">
+								<image src="../../static/images/my/icon/btn3.png" mode=""></image>
+								<view class="bgTop-box-btn-item-t"> 招聘刷新 </view>
+							</view>
+							<view class="bgTop-box-btn-item">
+								<image src="../../static/images/my/icon/btn4.png" mode=""></image>
+								<view class="bgTop-box-btn-item-t"> 专属特权 </view>
+							</view>
+						</view>
+					</view>
+				</view>
+				<view class="icon flex justify-center align-start">
+					<u-icon name="arrow-up-fill" color="#ffffff" size="50"></u-icon>
+				</view>
+				<view class="bgc"></view>
+				<view class="bgb flex justify-center">
+					<view class="bgb-c flex justify-center">
+						<view class="bgb-c-n">
+							<view class="bgb-c-n-title flex justify-between align-center">
+								<view class="bgb-c-n-title-l bgb-c-n-titles"> 专属特权 </view>
+								<view class="bgb-c-n-title-c bgb-c-n-titles"> 普通用户 </view>
+								<view class="bgb-c-n-title-r bgb-c-n-titles"> VIP </view>
+							</view>
+							<view class="bgb-c-n-title flex justify-between align-center">
+								<view class="bgb-c-n-title-l bgb-c-n-titles"> 招聘刷新 </view>
+								<view class="bgb-c-n-title-c bgb-c-n-titles">
+									{{ noVipNumCom }}次/天
+								</view>
+								<view class="bgb-c-n-title-r bgb-c-n-titles"> {{ vipNumCom }}次/天 </view>
+							</view>
+							<view class="bgb-c-n-title flex justify-between align-center">
+								<view class="bgb-c-n-title-l bgb-c-n-titles"> 优先推荐 </view>
+								<view class="bgb-c-n-title-c bgb-c-n-titles"> × </view>
+								<view class="bgb-c-n-title-r bgb-c-n-titles"> √ </view>
+							</view>
+							<view class="bgb-c-n-title flex justify-between align-center">
+								<view class="bgb-c-n-title-l bgb-c-n-titles"> 专属客服 </view>
+								<view class="bgb-c-n-title-c bgb-c-n-titles"> × </view>
+								<view class="bgb-c-n-title-r bgb-c-n-titles"> √ </view>
+							</view>
+							<view class="bgb-c-n-title flex justify-between align-center">
+								<view class="bgb-c-n-title-l bgb-c-n-titles"> 视频面试 </view>
+								<view class="bgb-c-n-title-c bgb-c-n-titles"> × </view>
+								<view class="bgb-c-n-title-r bgb-c-n-titles"> √ </view>
+							</view>
+							<view class="bgb-c-n-title flex justify-between align-center">
+								<view class="bgb-c-n-title-l bgb-c-n-titles"> 语音沟通 </view>
+								<view class="bgb-c-n-title-c bgb-c-n-titles"> × </view>
+								<view class="bgb-c-n-title-r bgb-c-n-titles"> √ </view>
+							</view>
+							<view class="bgb-c-n-title flex justify-between align-center">
+								<view class="bgb-c-n-title-l bgb-c-n-titles"> 免费沟通 </view>
+								<view class="bgb-c-n-title-c bgb-c-n-titles"> {{ msgNum }}次/天 </view>
+								<view class="bgb-c-n-title-r bgb-c-n-titles"> {{ vipMsgNum }}次/天 </view>
+							</view>
+							<view class="bgb-c-n-title flex justify-between align-center">
+								<view class="bgb-c-n-title-l bgb-c-n-titles"> 沟通价格 </view>
+								<view class="bgb-c-n-title-c bgb-c-n-titles"> {{ msgPrice }}元/次 </view>
+								<view class="bgb-c-n-title-r bgb-c-n-titles">
+									{{ vipMsgPrice }}元/次
+								</view>
+							</view>
+						</view>
+					</view>
+				</view>
+				<view class="btn flex justify-center align-start flex-wrap" v-if="isVipC == false">
+					<view class="" style="width: 686rpx; padding-left: 20rpx">
+						<view class="flex align-center" style="width: 100%">
+							<u-checkbox size="28rpx" v-model="checked" shape="circle">
+								<view class="flex align-center">开通即同意<navigator style="color: #016bf6"
+										url="/my/setting/weekXiYi" open-type="navigate">《会员开通协议》</navigator>
+								</view>
+							</u-checkbox>
+						</view>
+					</view>
+					<view class="btn-c flex align-center justify-between">
+						<view class="btn-c-l flex align-center">
+							<text>{{ vipPrice }}</text>
+							<text>元/月</text>
+						</view>
+						<view class="btn-c-r flex justify-center align-center" @click="submit()">
+							立即购买
+						</view>
+					</view>
+				</view>
+			</block>
+			<u-popup v-model="show" mode="bottom" :mask-close-able="false" border-radius="24" :closeable="true">
+				<view class="payTitle">选择支付类型</view>
+				<view class="payPrice"> 支付价格:¥{{ vipPrice }} </view>
+				<view class="payList flex justify-center">
+					<view class="payList-box">
+						<view class="payList-box-item flex align-center justify-between" v-for=""
+							v-for="(item, index) in openLists" :key="index">
+							<view class="payList-box-item-l flex align-center">
+								<image :src="item.image" style="
                     width: 54rpx;
                     height: 54rpx;
                     border-radius: 50%;
                     margin-right: 20rpx;
-                  "
-                  mode=""
-                >
-                </image>
-                {{ item.text }}
-              </view>
-              <view class="payList-box-item-r">
-                <radio-group name="openWay" @tap="selectWay(item)">
-                  <label class="tui-radio">
-                    <radio
-                      color="#016BF6"
-                      :checked="openWay === item.id ? true : false"
-                    />
-                  </label>
-                </radio-group>
-              </view>
-            </view>
-          </view>
-        </view>
-        <view class="payBtn flex justify-center">
-          <view class="payBtn-box flex justify-center align-center" @click="pay()">
-            确认支付
-          </view>
-        </view>
-      </u-popup>
-    </view>
-  </view>
+                  " mode="">
+								</image>
+								{{ item.text }}
+							</view>
+							<view class="payList-box-item-r">
+								<radio-group name="openWay" @tap="selectWay(item)">
+									<label class="tui-radio">
+										<radio color="#016BF6" :checked="openWay === item.id ? true : false" />
+									</label>
+								</radio-group>
+							</view>
+						</view>
+					</view>
+				</view>
+				<view class="payBtn flex justify-center">
+					<view class="payBtn-box flex justify-center align-center" @click="pay()">
+						确认支付
+					</view>
+				</view>
+			</u-popup>
+		</view>
+	</view>
 </template>
 
 <script>
-import navBar from "@/components/nav-bar/index.vue";
-
-export default {
-  data() {
-    return {
-      show: false,
-      checked: false,
-      number: 0,
-      userType: "2",
-      current: 0,
-      xingValue1: "",
-      chakan1: "",
-      jiangjiMouth: "",
-      xingValue2: "",
-      chakan2: "",
-      jiangjiMouth2: "",
-      list1: [],
-      list2: [],
-      list3: [],
-      vipNum: 0,
-      noVipNum: 0,
-      vipNumCom: 0,
-      noVipNumCom: 0,
-      userMonthTime: "", //用户会员到期时间
-      companyMonthTime: "", //企业会员到期时间
-      vipPrice: "0", //会员价格
-      openLists: [],
-      openWay: 1,
-      isVip: false,
-      isVipC: "",
-      dataTime: "", //到期时间
-      dataTimeC: "",
-      isTrue: true,
-      msgNum: 0, //非会员每天免费联系次数
-      vipMsgNum: 0, //会员每天免费联系次数
-      msgPrice: 0, //非会员每次联系价格
-      vipMsgPrice: 0, //会员每次联系价格
-    };
-  },
-  components: {
-    navBar,
-  },
-  onShow() {
-    this.msgNum = uni.getStorageSync("msgNum") ? uni.getStorageSync("msgNum") : 0;
-    this.vipMsgNum = uni.getStorageSync("vipMsgNum")
-      ? uni.getStorageSync("vipMsgNum")
-      : 0;
-    this.vipMsgPrice = uni.getStorageSync("vipMsgPrice")
-      ? uni.getStorageSync("vipMsgPrice")
-      : 0;
-    this.msgPrice = uni.getStorageSync("msgPrice") ? uni.getStorageSync("msgPrice") : 0;
-    this.getUserInfo();
-  },
-  onLoad() {
-    this.userType = uni.getStorageSync("userType");
-    if (this.userType == 1) {
-      //用户简历的刷新次数
-      this.getVipPeople();
-      this.getNoVipPeople();
-    } else {
-      this.getVipCom();
-      this.getNoVipCom();
-    }
-    this.getVipPrice();
-    // #ifdef APP-PLUS
-    this.openLists = [
-      {
-        image: "../../static/images/my/zhifubao.png",
-        text: "支付宝",
-        id: 1,
-      },
-      {
-        image: "../../static/images/my/icon_weixin.png",
-        text: "微信",
-        id: 2,
-      },
-    ];
-    this.openWay = 1;
-    // #endif
-
-    // #ifdef MP-WEIXIN
-    this.openLists = [
-      {
-        image: "../../static/share/icon_weixin.png",
-        text: "微信",
-        id: 2,
-      },
-    ];
-    this.openWay = 2;
-    // #endif
-
-    // #ifdef H5
-    let ua = navigator.userAgent.toLowerCase();
-    if (ua.indexOf("micromessenger") !== -1) {
-      this.openLists = [
-        {
-          image: "../../static/images/my/zhifubao.png",
-          text: "支付宝",
-          id: 1,
-        },
-        {
-          image: "../../static/share/icon_weixin.png",
-          text: "微信",
-          id: 2,
-        },
-      ];
-    } else {
-      this.openLists = [
-        {
-          image: "../../static/images/my/zhifubao.png",
-          text: "支付宝",
-          id: 1,
-        },
-      ];
-    }
-
-    this.openWay = 1;
-    // #endif
-  },
-  methods: {
-    //支付
-    pay() {
-      let that = this;
-      if (that.isTrue == false) {
-        return;
-      }
-	  console.log('进入支付')
-      that.isTrue = false;
-      if (this.openWay == 2) {
-        // #ifdef APP-PLUS
-        // 微信APP支付 根据订单id获取支付信息
-        this.$Request
-          .post("/app/wxPay/wxPayOrder", {
-            classify: 1,
-            money: this.vipPrice,
-            type: 2,
-          })
-          .then((ret) => {
-            this.isCheckPay(ret.code, "wxpay", JSON.stringify(ret.data));
-          });
-        // #endif
-
-        // #ifdef MP-WEIXIN
-        // 微信小程序支付
-        this.$Request
-          .post("/app/wxPay/wxPayOrder", {
-            classify: 3,
-            money: this.vipPrice,
-            type: 2,
-          })
-          .then((ret) => {
-            uni.hideLoading();
-            console.log(ret.data);
-            uni.requestPayment({
-              provider: "wxpay",
-              timeStamp: ret.data.timestamp,
-              nonceStr: ret.data.noncestr,
-              package: ret.data.package,
-              signType: ret.data.signType,
-              paySign: ret.data.sign,
-              success: function (suc) {
-                console.log("success:" + JSON.stringify(suc));
-                uni.showToast({
-                  title: "支付成功",
-                  icon: "success",
-                });
-                that.show = false;
-                that.isTrue = true;
-                that.getUserInfo();
-              },
-              fail: function (err) {
-                console.log("fail:" + JSON.stringify(err));
-                that.isTrue = true;
-                uni.showToast({
-                  title: "支付失败",
-                  icon: "none",
-                });
-              },
-            });
-          });
-        // #endif
-
-        // #ifdef H5
-        let ua = navigator.userAgent.toLowerCase();
-        if (ua.indexOf("micromessenger") !== -1) {
-          let data = {
-            classify: 2,
-            money: this.vipPrice,
-            type: 2,
-          };
-          this.$Request.post("/app/wxPay/wxPayOrder", data).then((res) => {
-            if (res.code == 0) {
-              this.callPay(res.data);
-            } else {
-              that.isTrue = true;
-              uni.showToast({
-                icon: "none",
-                title: "支付失败!",
-              });
-            }
-          });
-        }
-        // #endif
-      } else {
-        // APP支付宝支付
-        // #ifdef APP
-        this.$Request
-          .postJson("/app/aliPay/payMoneyOrder", {
-            classify: 4,
-            money: 0.1,
-            type: 2,
-          })
-          .then((ret) => {
-            this.show = false;
-            console.log(ret);
-            this.isCheckPay(ret.code, "alipay", ret.data);
-          });
-        // #endif
-        // #ifdef H5
-        let data = {
-          classify: 4,
-          money: this.vipPrice,
-          type: 2,
-        };
-        this.$Request.post("/app/aliPay/payMoneyOrder", data).then((res) => {
-          if (res.code === 0) {
-            this.show = false;
-            that.isTrue = true;
-            const div = document.createElement("div");
-            div.innerHTML = res.data; //此处form就是后台返回接收到的数据
-            // document.body.appendChild(div);
-            // document.forms[0].submit();
-          } else {
-            that.isTrue = true;
-            uni.showToast({
-              icon: "none",
-              title: "支付失败!",
-            });
-          }
-        });
-        // #endif
-      }
-    },
-    callPay: function (response) {
-      if (typeof WeixinJSBridge === "undefined") {
-        if (document.addEventListener) {
-          document.addEventListener(
-            "WeixinJSBridgeReady",
-            this.onBridgeReady(response),
-            false
-          );
-        } else if (document.attachEvent) {
-          document.attachEvent("WeixinJSBridgeReady", this.onBridgeReady(response));
-          document.attachEvent("onWeixinJSBridgeReady", this.onBridgeReady(response));
-        }
-      } else {
-        this.onBridgeReady(response);
-      }
-    },
-    onBridgeReady: function (response) {
-      let that = this;
-      if (!response.package) {
-        return;
-      }
-      console.log(response, "++++++++");
-      WeixinJSBridge.invoke(
-        "getBrandWCPayRequest",
-        {
-          appId: response.appid, //公众号名称,由商户传入
-          timeStamp: response.timestamp, //时间戳,自1970年以来的秒数
-          nonceStr: response.noncestr, //随机串
-          package: response.package,
-          signType: response.signType, //微信签名方式:
-          paySign: response.sign, //微信签名
-        },
-        function (res) {
-          console.log(res, "/*-/*-/*-");
-          if (res.err_msg === "get_brand_wcpay_request:ok") {
-            // 使用以上方式判断前端返回,微信团队郑重提示:
-            //res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
-            uni.showLoading({
-              title: "支付成功",
-            });
-            setTimeout(function () {
-              that.isTrue = true;
-              uni.hideLoading();
-            }, 1000);
-            that.show = false;
-            that.getUserInfo();
-          } else {
-            that.isTrue = true;
-            uni.hideLoading();
-          }
-          WeixinJSBridge.log(response.err_msg);
-        }
-      );
-    },
-    isCheckPay(status, name, order) {
-      let that = this;
-      if (status == 0) {
-        this.setPayment(name, order);
-      } else {
-        uni.hideLoading();
-        that.isTrue = true;
-        uni.showToast({
-          title: "支付信息有误",
-          icon: "none",
-        });
-      }
-    },
-    setPayment(name, order) {
-      let that = this;
-      console.log("*-*-*");
-      uni.requestPayment({
-        provider: name,
-        orderInfo: order, //微信、支付宝订单数据
-        success: function (res) {
-          console.log(res);
-          uni.hideLoading();
-          uni.showLoading({
-            title: "支付成功",
-          });
-          that.show = false;
-          that.getUserInfo();
-          that.isTrue = true;
-        },
-        fail: function (err) {
-          console.log(err);
-          that.isTrue = true;
-          uni.hideLoading();
-        },
-        complete() {
-          that.isTrue = true;
-          uni.hideLoading();
-        },
-      });
-    },
-    selectWay: function (item) {
-      this.openWay = item.id;
-    },
-    //获取会员开通价格
-    getVipPrice() {
-      if (uni.getStorageSync("userType") == 1) {
-        //用户会员价格
-        this.$Request.get("/app/common/type/331").then((res) => {
-          if (res.code == 0) {
-            this.vipPrice = res.data.value;
-          }
-        });
-      } else {
-        //企业会员价格
-        this.$Request.get("/app/common/type/332").then((res) => {
-          if (res.code == 0) {
-            this.vipPrice = res.data.value;
-          }
-        });
-      }
-    },
-    //获取个人信息
-    getUserInfo() {
-      this.$Request.get("/app/user/selectUserById").then((res) => {
-        if (res.code == 0) {
-          if (res.data.isUserVip + "" == 1) {
-            this.isVip = true;
-            this.dataTime = res.data.userMonthTime;
-          } else {
-            this.isVip = false;
-          }
-          if (res.data.isCompanyVip + "" == "1") {
-            this.isVipC = true;
-            this.dataTimeC = res.data.companyMonthTime;
-          } else {
-            this.isVipC = false;
-          }
-        }
-      });
-    },
-    submit() {
-      if (this.checked == false) {
-        uni.showToast({
-          title: "请阅读并同意《会员开通协议》",
-          icon: "none",
-        });
-        return;
-      }
-	  console.log('准备支付')
-      this.show = true;
-    },
-    //会员简历刷新次数
-    getVipPeople() {
-      this.$Request.get("/app/common/type/328").then((res) => {
-        if (res.code == 0) {
-          this.vipNum = res.data.value;
-        }
-      });
-    },
-    //非会员简历刷新次数
-    getNoVipPeople() {
-      this.$Request.get("/app/common/type/327").then((res) => {
-        if (res.code == 0) {
-          this.noVipNum = res.data.value;
-        }
-      });
-    },
-    //会员岗位刷新次数
-    getVipCom() {
-      this.$Request.get("/app/common/type/330").then((res) => {
-        if (res.code == 0) {
-          this.vipNumCom = res.data.value;
-        }
-      });
-    },
-    //非会员岗位刷新次数
-    getNoVipCom() {
-      this.$Request.get("/app/common/type/329").then((res) => {
-        if (res.code == 0) {
-          this.noVipNumCom = res.data.value;
-        }
-      });
-    },
-  },
-};
+	import navBar from "@/components/nav-bar/index.vue";
+
+	export default {
+		data() {
+			return {
+				show: false,
+				checked: false,
+				number: 0,
+				userType: "2",
+				current: 0,
+				xingValue1: "",
+				chakan1: "",
+				jiangjiMouth: "",
+				xingValue2: "",
+				chakan2: "",
+				jiangjiMouth2: "",
+				list1: [],
+				list2: [],
+				list3: [],
+				vipNum: 0,
+				noVipNum: 0,
+				vipNumCom: 0,
+				noVipNumCom: 0,
+				userMonthTime: "", //用户会员到期时间
+				companyMonthTime: "", //企业会员到期时间
+				vipPrice: "0", //会员价格
+				openLists: [],
+				openWay: 1,
+				isVip: false,
+				isVipC: "",
+				dataTime: "", //到期时间
+				dataTimeC: "",
+				isTrue: true,
+				msgNum: 0, //非会员每天免费联系次数
+				vipMsgNum: 0, //会员每天免费联系次数
+				msgPrice: 0, //非会员每次联系价格
+				vipMsgPrice: 0, //会员每次联系价格
+			};
+		},
+		components: {
+			navBar,
+		},
+		onShow() {
+			this.msgNum = uni.getStorageSync("msgNum") ? uni.getStorageSync("msgNum") : 0;
+			this.vipMsgNum = uni.getStorageSync("vipMsgNum") ?
+				uni.getStorageSync("vipMsgNum") :
+				0;
+			this.vipMsgPrice = uni.getStorageSync("vipMsgPrice") ?
+				uni.getStorageSync("vipMsgPrice") :
+				0;
+			this.msgPrice = uni.getStorageSync("msgPrice") ? uni.getStorageSync("msgPrice") : 0;
+			this.getUserInfo();
+		},
+		onLoad() {
+			this.userType = uni.getStorageSync("userType");
+			if (this.userType == 1) {
+				//用户简历的刷新次数
+				this.getVipPeople();
+				this.getNoVipPeople();
+			} else {
+				this.getVipCom();
+				this.getNoVipCom();
+			}
+			this.getVipPrice();
+			// #ifdef APP-PLUS
+			this.openLists = [{
+					image: "../../static/images/my/zhifubao.png",
+					text: "支付宝",
+					id: 1,
+				},
+				{
+					image: "../../static/images/my/icon_weixin.png",
+					text: "微信",
+					id: 2,
+				},
+			];
+			this.openWay = 1;
+			// #endif
+
+			// #ifdef MP-WEIXIN
+			this.openLists = [{
+				image: "../../static/share/icon_weixin.png",
+				text: "微信",
+				id: 2,
+			}, ];
+			this.openWay = 2;
+			// #endif
+
+			// #ifdef H5
+			let ua = navigator.userAgent.toLowerCase();
+			if (ua.indexOf("micromessenger") !== -1) {
+				this.openLists = [{
+						image: "../../static/images/my/zhifubao.png",
+						text: "支付宝",
+						id: 1,
+					},
+					{
+						image: "../../static/share/icon_weixin.png",
+						text: "微信",
+						id: 2,
+					},
+				];
+			} else {
+				this.openLists = [{
+					image: "../../static/images/my/zhifubao.png",
+					text: "支付宝",
+					id: 1,
+				}, ];
+			}
+
+			this.openWay = 1;
+			// #endif
+		},
+		methods: {
+			//支付
+			pay() {
+
+				let that = this;
+				if (that.isTrue == false) {
+					return;
+				}
+				let token = uni.getStorageSync('token')
+				if (!token) {
+					uni.showToast({
+						title: "登录过期",
+						icon: "none",
+					});
+					return
+				}
+
+				console.log('进入支付')
+				that.isTrue = false;
+				if (this.openWay == 2) {
+					// #ifdef APP-PLUS
+					// 微信APP支付 根据订单id获取支付信息
+					this.$Request
+						.post("/app/wxPay/wxPayOrder", {
+							classify: 1,
+							money: this.vipPrice,
+							type: 2,
+						})
+						.then((ret) => {
+							this.isCheckPay(ret.code, "wxpay", JSON.stringify(ret.data));
+						});
+					// #endif
+
+					// #ifdef MP-WEIXIN
+					// 微信小程序支付
+					this.$Request
+						.post("/app/wxPay/wxPayOrder", {
+							classify: 3,
+							money: this.vipPrice,
+							type: 2,
+						})
+						.then((ret) => {
+							uni.hideLoading();
+							console.log(ret.data);
+							uni.requestPayment({
+								provider: "wxpay",
+								timeStamp: ret.data.timestamp,
+								nonceStr: ret.data.noncestr,
+								package: ret.data.package,
+								signType: ret.data.signType,
+								paySign: ret.data.sign,
+								success: function(suc) {
+									console.log("success:" + JSON.stringify(suc));
+									uni.showToast({
+										title: "支付成功",
+										icon: "success",
+									});
+									that.show = false;
+									that.isTrue = true;
+									that.getUserInfo();
+								},
+								fail: function(err) {
+									console.log("fail:" + JSON.stringify(err));
+									that.isTrue = true;
+									uni.showToast({
+										title: "支付失败",
+										icon: "none",
+									});
+								},
+							});
+						});
+					// #endif
+
+					// #ifdef H5
+					let ua = navigator.userAgent.toLowerCase();
+					if (ua.indexOf("micromessenger") !== -1) {
+						let data = {
+							classify: 2,
+							money: this.vipPrice,
+							type: 2,
+						};
+						this.$Request.postJson("/app/wxPay/wxPayOrder", data).then((res) => {
+							if (res.code == 0) {
+								this.callPay(res.data);
+							} else {
+								that.isTrue = true;
+								uni.showToast({
+									icon: "none",
+									title: "支付失败!",
+								});
+							}
+						});
+					}
+					// #endif
+				} else {
+					// APP支付宝支付
+					// #ifdef APP
+					console.log("APP进入支付。");
+					const datas = {
+						classify: 4,
+						money: 0.1,
+						type: 2,
+					}
+					this.$Request.postT("/app/aliPay/payMoneyOrder", datas).then((ret) => {
+						this.show = false;
+						console.log(ret);
+						this.isCheckPay(ret.code, "alipay", ret.data);
+					});
+					// #endif
+					// #ifdef H5
+					let data = {
+						classify: 4,
+						money: this.vipPrice,
+						type: 2,
+					};
+					this.$Request.postJson("/app/aliPay/payMoneyOrder", data).then((res) => {
+						if (res.code === 0) {
+							this.show = false;
+							that.isTrue = true;
+							const div = document.createElement("div");
+							div.innerHTML = res.data; //此处form就是后台返回接收到的数据
+							// document.body.appendChild(div);
+							// document.forms[0].submit();
+						} else {
+							that.isTrue = true;
+							uni.showToast({
+								icon: "none",
+								title: "支付失败!",
+							});
+						}
+					});
+					// #endif
+				}
+			},
+			callPay: function(response) {
+				if (typeof WeixinJSBridge === "undefined") {
+					if (document.addEventListener) {
+						document.addEventListener(
+							"WeixinJSBridgeReady",
+							this.onBridgeReady(response),
+							false
+						);
+					} else if (document.attachEvent) {
+						document.attachEvent("WeixinJSBridgeReady", this.onBridgeReady(response));
+						document.attachEvent("onWeixinJSBridgeReady", this.onBridgeReady(response));
+					}
+				} else {
+					this.onBridgeReady(response);
+				}
+			},
+			onBridgeReady: function(response) {
+				let that = this;
+				if (!response.package) {
+					return;
+				}
+				console.log(response, "++++++++");
+				WeixinJSBridge.invoke(
+					"getBrandWCPayRequest", {
+						appId: response.appid, //公众号名称,由商户传入
+						timeStamp: response.timestamp, //时间戳,自1970年以来的秒数
+						nonceStr: response.noncestr, //随机串
+						package: response.package,
+						signType: response.signType, //微信签名方式:
+						paySign: response.sign, //微信签名
+					},
+					function(res) {
+						console.log(res, "/*-/*-/*-");
+						if (res.err_msg === "get_brand_wcpay_request:ok") {
+							// 使用以上方式判断前端返回,微信团队郑重提示:
+							//res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
+							uni.showLoading({
+								title: "支付成功",
+							});
+							setTimeout(function() {
+								that.isTrue = true;
+								uni.hideLoading();
+							}, 1000);
+							that.show = false;
+							that.getUserInfo();
+						} else {
+							that.isTrue = true;
+							uni.hideLoading();
+						}
+						WeixinJSBridge.log(response.err_msg);
+					}
+				);
+			},
+			isCheckPay(status, name, order) {
+				let that = this;
+				if (status == 0) {
+					this.setPayment(name, order);
+				} else {
+					uni.hideLoading();
+					that.isTrue = true;
+					uni.showToast({
+						title: "支付信息有误",
+						icon: "none",
+					});
+				}
+			},
+			setPayment(name, order) {
+				let that = this;
+				console.log("*-*-*");
+				uni.requestPayment({
+					provider: name,
+					orderInfo: order, //微信、支付宝订单数据
+					success: function(res) {
+						console.log(res);
+						uni.hideLoading();
+						uni.showLoading({
+							title: "支付成功",
+						});
+						that.show = false;
+						that.getUserInfo();
+						that.isTrue = true;
+					},
+					fail: function(err) {
+						console.log(err);
+						that.isTrue = true;
+						uni.hideLoading();
+					},
+					complete() {
+						that.isTrue = true;
+						uni.hideLoading();
+					},
+				});
+			},
+			selectWay: function(item) {
+				this.openWay = item.id;
+			},
+			//获取会员开通价格
+			getVipPrice() {
+				if (uni.getStorageSync("userType") == 1) {
+					//用户会员价格
+					this.$Request.get("/app/common/type/331").then((res) => {
+						if (res.code == 0) {
+							this.vipPrice = res.data.value;
+						}
+					});
+				} else {
+					//企业会员价格
+					this.$Request.get("/app/common/type/332").then((res) => {
+						if (res.code == 0) {
+							this.vipPrice = res.data.value;
+						}
+					});
+				}
+			},
+			//获取个人信息
+			getUserInfo() {
+				this.$Request.get("/app/user/selectUserById").then((res) => {
+					if (res.code == 0) {
+						if (res.data.isUserVip + "" == 1) {
+							this.isVip = true;
+							this.dataTime = res.data.userMonthTime;
+						} else {
+							this.isVip = false;
+						}
+						if (res.data.isCompanyVip + "" == "1") {
+							this.isVipC = true;
+							this.dataTimeC = res.data.companyMonthTime;
+						} else {
+							this.isVipC = false;
+						}
+					}
+				});
+			},
+			submit() {
+				if (this.checked == false) {
+					uni.showToast({
+						title: "请阅读并同意《会员开通协议》",
+						icon: "none",
+					});
+					return;
+				}
+				console.log('准备支付')
+				this.show = true;
+			},
+			//会员简历刷新次数
+			getVipPeople() {
+				this.$Request.get("/app/common/type/328").then((res) => {
+					if (res.code == 0) {
+						this.vipNum = res.data.value;
+					}
+				});
+			},
+			//非会员简历刷新次数
+			getNoVipPeople() {
+				this.$Request.get("/app/common/type/327").then((res) => {
+					if (res.code == 0) {
+						this.noVipNum = res.data.value;
+					}
+				});
+			},
+			//会员岗位刷新次数
+			getVipCom() {
+				this.$Request.get("/app/common/type/330").then((res) => {
+					if (res.code == 0) {
+						this.vipNumCom = res.data.value;
+					}
+				});
+			},
+			//非会员岗位刷新次数
+			getNoVipCom() {
+				this.$Request.get("/app/common/type/329").then((res) => {
+					if (res.code == 0) {
+						this.noVipNumCom = res.data.value;
+					}
+				});
+			},
+		},
+	};
 </script>
 
 <style lang="less" scoped>
-.page-box {
-  position: absolute;
-  left: 0;
-  bottom: 0;
-  right: 0;
-  top: 0;
-  overflow: hidden;
-  display: flex;
-  flex-direction: column;
-  .page-content {
-    flex: 1;
-    overflow: hidden;
-    overflow-y: auto;
-  }
-}
-page {
-  background-color: #f6f6f6;
-}
-
-/deep/.u-checkbox__icon-wrap--checked {
-  background-color: #016bf6;
-  border-color: #016bf6;
-}
-
-.payTitle {
-  width: 100%;
-  text-align: center;
-  font-weight: bold;
-  margin-top: 30rpx;
-}
-
-.payPrice {
-  width: 100%;
-  margin-top: 30rpx;
-  text-align: center;
-}
-
-.payList {
-  width: 100%;
-  margin-top: 20rpx;
-
-  .payList-box {
-    width: 686rpx;
-
-    .payList-box-item {
-      width: 100%;
-      margin-bottom: 20rpx;
-    }
-
-    .payList-box-item-l {
-      font-size: 30rpx;
-    }
-  }
-}
-
-.payBtn {
-  width: 100%;
-  height: 88rpx;
-  margin-top: 20rpx;
-  margin-bottom: 60rpx;
-
-  .payBtn-box {
-    width: 686rpx;
-    height: 100%;
-    background-color: #016bf6;
-    color: #ffffff;
-    border-radius: 40rpx;
-  }
-}
-
-.bgTop {
-  width: 100%;
-  height: 611rpx;
-  background-color: #1f1f27;
-
-  .bgTop-box {
-    width: 686rpx;
-    height: 100%;
-
-    .bgTop-box-top {
-      width: 100%;
-      height: 300rpx;
-      margin-top: 30rpx;
-      background: linear-gradient(90deg, #eab99b 0%, #f8d6bb 46%, #dc9c79 100%);
-      border-radius: 16rpx;
-    }
-
-    .bgTop-box-top-box {
-      width: calc(100% - 60rpx);
-      height: 165rpx;
-    }
-
-    .bgTop-box-top-box-l {
-      .bgTop-box-top-box-l-t {
-        // color: #9C694D;
-        font-size: 34rpx;
-        font-weight: 800;
-        background-image: linear-gradient(to right, #6f3e1d, #c4724b);
-        background-clip: text;
-        color: transparent;
-      }
-
-      .bgTop-box-top-box-l-c {
-        background-image: linear-gradient(to right, #6f3e1d, #c4724b);
-        background-clip: text;
-        color: transparent;
-        font-size: 34rpx;
-        font-weight: 800;
-        // margin-top: 10rpx;
-      }
-
-      .bgTop-box-top-box-l-b {
-        color: #9c694d;
-        font-size: 26rpx;
-        font-weight: 500;
-        margin-top: 30rpx;
-      }
-    }
-
-    .bgTop-box-top-box-r {
-      width: 178rpx;
-      height: 100%;
-
-      image {
-        width: 100%;
-        height: 100%;
-      }
-    }
-
-    .bgTop-box-btn {
-      width: 100%;
-      height: 187rpx;
-      background: linear-gradient(0deg, #272731 0%, #1f1f27 100%);
-      border-radius: 16rpx;
-      margin-top: 20rpx;
-
-      .bgTop-box-btn-item {
-        width: 100rpx;
-        margin-top: 10rpx;
-
-        image {
-          width: 100rpx;
-          height: 100rpx;
-          border-radius: 50%;
-        }
-
-        .bgTop-box-btn-item-t {
-          width: 100rpx;
-          color: #d6b19b;
-          font-size: 24rpx;
-          font-weight: 500;
-          margin-top: 16rpx;
-        }
-      }
-    }
-  }
-}
-
-.icon {
-  width: 100%;
-  margin-top: -50rpx;
-}
-
-.bgc {
-  width: 100%;
-  height: 158rpx;
-  background: #f6f6f6;
-  border-radius: 24rpx;
-  margin-top: -20rpx;
-}
-
-.bgb {
-  width: 100%;
-  // height: 400rpx;
-  margin-top: -130rpx;
-
-  .bgb-c {
-    width: 686rpx;
-    height: 100%;
-    background-color: #ffffff;
-    border-radius: 24rpx;
-
-    .bgb-c-n {
-      width: 606rpx;
-      height: 100%;
-    }
-
-    .bgb-c-n-title:nth-of-type(1) {
-      margin-top: 46rpx;
-    }
-
-    .bgb-c-n-title {
-      width: 100%;
-      // margin-top: 20rpx;
-      margin-bottom: 50rpx;
-
-      .bgb-c-n-titles {
-        width: 150rpx;
-        text-align: center;
-      }
-
-      .bgb-c-n-title-l {
-        color: #202020;
-        font-size: 28rpx;
-        font-weight: 800;
-      }
-
-      .bgb-c-n-title-c {
-        color: #202020;
-        font-size: 28rpx;
-        font-weight: 800;
-      }
-
-      .bgb-c-n-title-r {
-        color: #b1643c;
-        font-size: 28rpx;
-        font-weight: 800;
-      }
-    }
-  }
-}
-
-.btn {
-  width: 100%;
-  // height: 140rpx;
-  background-color: #f6f6f6;
-  position: fixed;
-  bottom: 0;
-
-  .btn-c {
-    margin-top: 10rpx;
-    width: 686rpx;
-    height: 90rpx;
-    border-radius: 45rpx;
-    background: linear-gradient(90deg, #056d70 0%, #023842 100%);
-    margin-bottom: 40rpx;
-
-    .btn-c-l {
-      width: 436rpx;
-      height: 100%;
-      color: #febb91;
-
-      // font-weight: 800;
-      text:nth-of-type(1) {
-        font-size: 44rpx;
-        margin-left: 20rpx;
-      }
-
-      text:nth-of-type(2) {
-        font-size: 32rpx;
-      }
-    }
-
-    .btn-c-r {
-      width: 250rpx;
-      height: 100%;
-      background: linear-gradient(90deg, #ffe2da 0%, #ffb584 100%);
-      border-radius: 0rpx 45rpx 45rpx 0rpx;
-      color: #5e3c28;
-      font-size: 28rpx;
-      // font-weight: 800;
-    }
-  }
-}
-</style>
+	.page-box {
+		position: absolute;
+		left: 0;
+		bottom: 0;
+		right: 0;
+		top: 0;
+		overflow: hidden;
+		display: flex;
+		flex-direction: column;
+
+		.page-content {
+			flex: 1;
+			overflow: hidden;
+			overflow-y: auto;
+		}
+	}
+
+	page {
+		background-color: #f6f6f6;
+	}
+
+	/deep/.u-checkbox__icon-wrap--checked {
+		background-color: #016bf6;
+		border-color: #016bf6;
+	}
+
+	.payTitle {
+		width: 100%;
+		text-align: center;
+		font-weight: bold;
+		margin-top: 30rpx;
+	}
+
+	.payPrice {
+		width: 100%;
+		margin-top: 30rpx;
+		text-align: center;
+	}
+
+	.payList {
+		width: 100%;
+		margin-top: 20rpx;
+
+		.payList-box {
+			width: 686rpx;
+
+			.payList-box-item {
+				width: 100%;
+				margin-bottom: 20rpx;
+			}
+
+			.payList-box-item-l {
+				font-size: 30rpx;
+			}
+		}
+	}
+
+	.payBtn {
+		width: 100%;
+		height: 88rpx;
+		margin-top: 20rpx;
+		margin-bottom: 60rpx;
+
+		.payBtn-box {
+			width: 686rpx;
+			height: 100%;
+			background-color: #016bf6;
+			color: #ffffff;
+			border-radius: 40rpx;
+		}
+	}
+
+	.bgTop {
+		width: 100%;
+		height: 611rpx;
+		background-color: #1f1f27;
+
+		.bgTop-box {
+			width: 686rpx;
+			height: 100%;
+
+			.bgTop-box-top {
+				width: 100%;
+				height: 300rpx;
+				margin-top: 30rpx;
+				background: linear-gradient(90deg, #eab99b 0%, #f8d6bb 46%, #dc9c79 100%);
+				border-radius: 16rpx;
+			}
+
+			.bgTop-box-top-box {
+				width: calc(100% - 60rpx);
+				height: 165rpx;
+			}
+
+			.bgTop-box-top-box-l {
+				.bgTop-box-top-box-l-t {
+					// color: #9C694D;
+					font-size: 34rpx;
+					font-weight: 800;
+					background-image: linear-gradient(to right, #6f3e1d, #c4724b);
+					background-clip: text;
+					color: transparent;
+				}
+
+				.bgTop-box-top-box-l-c {
+					background-image: linear-gradient(to right, #6f3e1d, #c4724b);
+					background-clip: text;
+					color: transparent;
+					font-size: 34rpx;
+					font-weight: 800;
+					// margin-top: 10rpx;
+				}
+
+				.bgTop-box-top-box-l-b {
+					color: #9c694d;
+					font-size: 26rpx;
+					font-weight: 500;
+					margin-top: 30rpx;
+				}
+			}
+
+			.bgTop-box-top-box-r {
+				width: 178rpx;
+				height: 100%;
+
+				image {
+					width: 100%;
+					height: 100%;
+				}
+			}
+
+			.bgTop-box-btn {
+				width: 100%;
+				height: 187rpx;
+				background: linear-gradient(0deg, #272731 0%, #1f1f27 100%);
+				border-radius: 16rpx;
+				margin-top: 20rpx;
+
+				.bgTop-box-btn-item {
+					width: 100rpx;
+					margin-top: 10rpx;
+
+					image {
+						width: 100rpx;
+						height: 100rpx;
+						border-radius: 50%;
+					}
+
+					.bgTop-box-btn-item-t {
+						width: 100rpx;
+						color: #d6b19b;
+						font-size: 24rpx;
+						font-weight: 500;
+						margin-top: 16rpx;
+					}
+				}
+			}
+		}
+	}
+
+	.icon {
+		width: 100%;
+		margin-top: -50rpx;
+	}
+
+	.bgc {
+		width: 100%;
+		height: 158rpx;
+		background: #f6f6f6;
+		border-radius: 24rpx;
+		margin-top: -20rpx;
+	}
+
+	.bgb {
+		width: 100%;
+		// height: 400rpx;
+		margin-top: -130rpx;
+
+		.bgb-c {
+			width: 686rpx;
+			height: 100%;
+			background-color: #ffffff;
+			border-radius: 24rpx;
+
+			.bgb-c-n {
+				width: 606rpx;
+				height: 100%;
+			}
+
+			.bgb-c-n-title:nth-of-type(1) {
+				margin-top: 46rpx;
+			}
+
+			.bgb-c-n-title {
+				width: 100%;
+				// margin-top: 20rpx;
+				margin-bottom: 50rpx;
+
+				.bgb-c-n-titles {
+					width: 150rpx;
+					text-align: center;
+				}
+
+				.bgb-c-n-title-l {
+					color: #202020;
+					font-size: 28rpx;
+					font-weight: 800;
+				}
+
+				.bgb-c-n-title-c {
+					color: #202020;
+					font-size: 28rpx;
+					font-weight: 800;
+				}
+
+				.bgb-c-n-title-r {
+					color: #b1643c;
+					font-size: 28rpx;
+					font-weight: 800;
+				}
+			}
+		}
+	}
+
+	.btn {
+		width: 100%;
+		// height: 140rpx;
+		background-color: #f6f6f6;
+		position: fixed;
+		bottom: 0;
+
+		.btn-c {
+			margin-top: 10rpx;
+			width: 686rpx;
+			height: 90rpx;
+			border-radius: 45rpx;
+			background: linear-gradient(90deg, #056d70 0%, #023842 100%);
+			margin-bottom: 40rpx;
+
+			.btn-c-l {
+				width: 436rpx;
+				height: 100%;
+				color: #febb91;
+
+				// font-weight: 800;
+				text:nth-of-type(1) {
+					font-size: 44rpx;
+					margin-left: 20rpx;
+				}
+
+				text:nth-of-type(2) {
+					font-size: 32rpx;
+				}
+			}
+
+			.btn-c-r {
+				width: 250rpx;
+				height: 100%;
+				background: linear-gradient(90deg, #ffe2da 0%, #ffb584 100%);
+				border-radius: 0rpx 45rpx 45rpx 0rpx;
+				color: #5e3c28;
+				font-size: 28rpx;
+				// font-weight: 800;
+			}
+		}
+	}
+</style>

+ 1 - 0
package/jobIntention/basicInfo.vue

@@ -198,6 +198,7 @@
 			    sizeType: ["compressed"],
 			    sourceType: ["album", "camera"],
 			    success: (res) => {
+					console.log(res.tempFilePaths[0])
 				  that.$queue.uploadFile(res.tempFilePaths[0],function(path){
 					  if(path)
 						that.avatar = path;

+ 7 - 0
pages.json

@@ -352,6 +352,13 @@
 				"navigationStyle": "custom"
 			}
 		},
+		{
+			"path": "pages/my/attachment",
+			"style": {
+				"navigationBarTitleText": "管理附件",
+				"navigationStyle": "custom"
+			}
+		},
 		{
 			"path": "pages/my/ruleCenter",
 			"style": {

+ 1088 - 755
pages/my/VIP/benefits.vue

@@ -1,762 +1,1095 @@
 <template>
-  <view class="benefits-page" :style="{ paddingTop: (12 + statusBarHeight + 44) + 'px' }">
-    <!-- 顶部导航栏 -->
-    <view class="nav-bar" :style="{ paddingTop: (12 + statusBarHeight) + 'px' }">
-      <view class="nav-content">
-        <view class="nav-left" @click="goBack">
-          <u-icon name="arrow-leftward" color="rgba(255, 255, 255, 1)" size="42"></u-icon>
-        </view>
-        <view class="nav-title">我的权益</view>
-        <view class="nav-right"></view>
-      </view>
-    </view>
-
-    <!-- 当前会员状态卡片 -->
-    <view class="membership-card">
-      <view class="card-content">
-        <view class="card-left">
-          <view class="card-title">我的权益</view>
-          <view class="card-subtitle">常规版 剩余5天到期</view>
-        </view>
-
-        <view class="card-right">
-          <view class="benefit-item">
-            <view class="benefit-label">查看权益</view>
-            <view class="benefit-count">10/50</view>
-          </view>
-          <view class="benefit-item">
-            <view class="benefit-label">沟通权益</view>
-            <view class="benefit-count">10/50</view>
-          </view>
-          <view class="benefit-item">
-            <view class="benefit-label">普通职位</view>
-            <view class="benefit-count">10/50</view>
-          </view>
-          <view class="benefit-item">
-            <view class="benefit-label">急聘职位</view>
-            <view class="benefit-count">10/50</view>
-          </view>
-        </view>
-      </view>
-    </view>
-
-    <!-- 购买VIP享受更多权益 -->
-    <view class="benefits-section">
-      <!-- 权益对比表格 -->
-      <view class="benefits-table">
-        <view class="section-title">购买VIP, 享受更多权益</view>
-        <!-- 表头 -->
-        <view class="table-header">
-          <view class="header-cell benefit-type">权益类型</view>
-          <view class="header-cell basic">基础权益</view>
-          <view class="header-cell regular active">
-            <!-- <view class="plan-tag">生效中</view> -->
-            <view class="plan-name">常规版</view>
-            <view class="plan-expire">剩余5天到期</view>
-          </view>
-          <view class="header-cell vip">VIP版</view>
-          <view class="header-cell flagship recommended">
-            <view class="plan-tag">推荐</view>
-            <view class="plan-name">旗舰版</view>
-          </view>
-        </view>
-
-        <!-- 表格内容 -->
-        <view class="table-row">
-          <view class="row-cell benefit-type">在线普通职位</view>
-          <view class="row-cell basic">10个</view>
-          <view class="row-cell regular">35个</view>
-          <view class="row-cell vip">45个</view>
-          <view class="row-cell flagship">不限</view>
-        </view>
-
-        <view class="table-row">
-          <view class="row-cell benefit-type">在线急聘职位</view>
-          <view class="row-cell basic">0个</view>
-          <view class="row-cell regular">5个</view>
-          <view class="row-cell vip">15个</view>
-          <view class="row-cell flagship">50个</view>
-        </view>
-
-        <view class="table-row">
-          <view class="row-cell benefit-type">每日查看总数</view>
-          <view class="row-cell basic">20个</view>
-          <view class="row-cell regular">50个</view>
-          <view class="row-cell vip">不限</view>
-          <view class="row-cell flagship">不限</view>
-        </view>
-
-        <view class="table-row">
-          <view class="row-cell benefit-type">每日沟通总数</view>
-          <view class="row-cell basic">5个</view>
-          <view class="row-cell regular">20个</view>
-          <view class="row-cell vip">50个</view>
-          <view class="row-cell flagship">100个</view>
-        </view>
-
-        <view class="table-row">
-          <view class="row-cell benefit-type">查看沟通范围</view>
-          <view class="row-cell basic">仅普通职位</view>
-          <view class="row-cell regular">仅普通职位</view>
-          <view class="row-cell vip">不限</view>
-          <view class="row-cell flagship">不限</view>
-        </view>
-
-        <view class="table-row price-row">
-          <view class="row-cell benefit-type">价格</view>
-          <view class="row-cell basic">免费</view>
-          <view class="row-cell regular">¥599/年</view>
-          <view class="row-cell vip">¥1599/年</view>
-          <view class="row-cell flagship">¥2599/年</view>
-        </view>
-      </view>
-
-      <!-- 说明文字 -->
-      <view class="notes">
-        <view class="note-item">
-          <text class="note-number">1.</text>
-          <text class="note-text">基础&常规权益中,查看和开聊权限仅限普通职位使用</text>
-        </view>
-        <view class="note-item">
-          <text class="note-number">2.</text>
-          <text class="note-text">在常规版本体验期中购买VIP及以上版本体验卡将会立即失效</text>
-        </view>
-        <view class="note-item">
-          <text class="note-number">3.</text>
-          <text class="note-text">你可以直接购买VIP,也可以</text>
-          <text class="note-link" @click="viewAllBenefits">查看全部权益包</text>
-          <text class="note-text">进行购买</text>
-        </view>
-        <view class="note-item">
-          <text class="note-number">4.</text>
-          <text class="note-text">如有问题,请联系我的客服</text>
-        </view>
-      </view>
-    </view>
-
-    <!-- 升级VIP按钮 -->
-    <view class="upgrade-button" @click="showPaymentModal">
-      升级VIP
-    </view>
-
-    <!-- 支付弹窗 -->
-    <u-popup v-model="showPayment" mode="bottom" border-radius="42" height="auto" :safe-area-inset-bottom="true">
-      <view class="payment-picker">
-        <view class="picker-header">
-          <text class="picker-title">选择会员版本</text>
-        </view>
-        
-        <view class="picker-content">
-          <view 
-            class="plan-option" 
-            :class="{ active: selectedPlan === 'regular' }"
-            @click="selectPlan('regular')"
-          >
-            <view class="option-left">
-              <view class="radio-btn" :class="{ checked: selectedPlan === 'regular' }">
-                <u-icon v-if="selectedPlan === 'regular'" name="checkmark" color="#ffffff" size="28"></u-icon>
-              </view>
-              <text class="option-text">常规版</text>
-              <view class="price-tag">
-                <text>¥599</text>
-              </view>
-            </view>
-          </view>
-
-          <view 
-            class="plan-option" 
-            :class="{ active: selectedPlan === 'vip' }"
-            @click="selectPlan('vip')"
-          >
-            <view class="option-left">
-              <view class="radio-btn" :class="{ checked: selectedPlan === 'vip' }">
-                <u-icon v-if="selectedPlan === 'vip'" name="checkmark" color="#ffffff" size="28"></u-icon>
-              </view>
-              <text class="option-text">VIP版</text>
-              <view class="price-tag">
-                <text>¥1599</text>
-              </view>
-            </view>
-          </view>
-
-          <view 
-            class="plan-option" 
-            :class="{ active: selectedPlan === 'flagship' }"
-            @click="selectPlan('flagship')"
-          >
-            <view class="option-left">
-              <view class="radio-btn" :class="{ checked: selectedPlan === 'flagship' }">
-                <u-icon v-if="selectedPlan === 'flagship'" name="checkmark" color="#ffffff" size="28"></u-icon>
-              </view>
-              <text class="option-text">旗舰版</text>
-              <view class="price-tag">
-                <text>¥2599</text>
-              </view>
-            </view>
-          </view>
-        </view>
-
-        <!-- 支付按钮 -->
-        <view class="payment-button" @click="confirmPayment">
-          <text>确认支付 ¥{{ getSelectedPrice() }}</text>
-        </view>
-      </view>
-    </u-popup>
-  </view>
+	<view class="benefits-page" :style="{ paddingTop: (12 + statusBarHeight + 44) + 'px' }">
+		<!-- 顶部导航栏 -->
+		<view class="nav-bar" :style="{ paddingTop: (12 + statusBarHeight) + 'px' }">
+			<view class="nav-content">
+				<view class="nav-left" @click="goBack">
+					<u-icon name="arrow-leftward" color="rgba(255, 255, 255, 1)" size="42"></u-icon>
+				</view>
+				<view class="nav-title">我的权益</view>
+				<view class="nav-right"></view>
+			</view>
+		</view>
+
+		<!-- 当前会员状态卡片 -->
+		<view class="membership-card">
+			<view class="card-content">
+				<view class="card-left">
+					<view class="card-title">我的权益</view>
+					<view class="card-subtitle">常规版 剩余5天到期</view>
+				</view>
+
+				<view class="card-right">
+					<view class="benefit-item">
+						<view class="benefit-label">查看权益</view>
+						<view class="benefit-count">10/50</view>
+					</view>
+					<view class="benefit-item">
+						<view class="benefit-label">沟通权益</view>
+						<view class="benefit-count">10/50</view>
+					</view>
+					<view class="benefit-item">
+						<view class="benefit-label">普通职位</view>
+						<view class="benefit-count">10/50</view>
+					</view>
+					<view class="benefit-item">
+						<view class="benefit-label">急聘职位</view>
+						<view class="benefit-count">10/50</view>
+					</view>
+				</view>
+			</view>
+		</view>
+
+		<!-- 购买VIP享受更多权益 -->
+		<view class="benefits-section">
+			<!-- 权益对比表格 -->
+			<view class="benefits-table">
+				<view class="section-title">购买VIP, 享受更多权益</view>
+				<!-- 表头 -->
+				<view class="table-header">
+					<view class="header-cell benefit-type">权益类型</view>
+					<view class="header-cell basic">基础权益</view>
+					<view class="header-cell regular active">
+						<!-- <view class="plan-tag">生效中</view> -->
+						<view class="plan-name">常规版</view>
+						<view class="plan-expire">剩余5天到期</view>
+					</view>
+					<view class="header-cell vip">VIP版</view>
+					<view class="header-cell flagship recommended">
+						<view class="plan-tag">推荐</view>
+						<view class="plan-name">旗舰版</view>
+					</view>
+				</view>
+
+				<!-- 表格内容 -->
+				<view class="table-row">
+					<view class="row-cell benefit-type">在线普通职位</view>
+					<view class="row-cell basic">10个</view>
+					<view class="row-cell regular">35个</view>
+					<view class="row-cell vip">45个</view>
+					<view class="row-cell flagship">不限</view>
+				</view>
+
+				<view class="table-row">
+					<view class="row-cell benefit-type">在线急聘职位</view>
+					<view class="row-cell basic">0个</view>
+					<view class="row-cell regular">5个</view>
+					<view class="row-cell vip">15个</view>
+					<view class="row-cell flagship">50个</view>
+				</view>
+
+				<view class="table-row">
+					<view class="row-cell benefit-type">每日查看总数</view>
+					<view class="row-cell basic">20个</view>
+					<view class="row-cell regular">50个</view>
+					<view class="row-cell vip">不限</view>
+					<view class="row-cell flagship">不限</view>
+				</view>
+
+				<view class="table-row">
+					<view class="row-cell benefit-type">每日沟通总数</view>
+					<view class="row-cell basic">5个</view>
+					<view class="row-cell regular">20个</view>
+					<view class="row-cell vip">50个</view>
+					<view class="row-cell flagship">100个</view>
+				</view>
+
+				<view class="table-row">
+					<view class="row-cell benefit-type">查看沟通范围</view>
+					<view class="row-cell basic">仅普通职位</view>
+					<view class="row-cell regular">仅普通职位</view>
+					<view class="row-cell vip">不限</view>
+					<view class="row-cell flagship">不限</view>
+				</view>
+
+				<view class="table-row price-row">
+					<view class="row-cell benefit-type">价格</view>
+					<view class="row-cell basic">免费</view>
+					<view class="row-cell regular">¥599/年</view>
+					<view class="row-cell vip">¥1599/年</view>
+					<view class="row-cell flagship">¥2599/年</view>
+				</view>
+			</view>
+
+			<!-- 说明文字 -->
+			<view class="notes">
+				<view class="note-item">
+					<text class="note-number">1.</text>
+					<text class="note-text">基础&常规权益中,查看和开聊权限仅限普通职位使用</text>
+				</view>
+				<view class="note-item">
+					<text class="note-number">2.</text>
+					<text class="note-text">在常规版本体验期中购买VIP及以上版本体验卡将会立即失效</text>
+				</view>
+				<view class="note-item">
+					<text class="note-number">3.</text>
+					<text class="note-text">你可以直接购买VIP,也可以</text>
+					<text class="note-link" @click="viewAllBenefits">查看全部权益包</text>
+					<text class="note-text">进行购买</text>
+				</view>
+				<view class="note-item">
+					<text class="note-number">4.</text>
+					<text class="note-text">如有问题,请联系我的客服</text>
+				</view>
+			</view>
+			
+		</view>
+
+		<!-- 升级VIP按钮 -->
+		<view class="flex flex-column justify-evenly" style="width:100%;flex-direction: column;padding-bottom: 16px;">
+			<view class="flex flex-direction align-start flex-wrap" style="width: 88%; margin: auto;">
+				<view class="flex" style="width: 100%">
+					<u-checkbox size="28rpx" v-model="checked" shape="circle">
+						<view class="flex" style="flex-direction: row;">开通即同意<navigator style="color: #016bf6"
+								url="/my/setting/weekXiYi" open-type="navigate">《会员开通协议》</navigator>
+						</view>
+					</u-checkbox>
+				</view>
+			</view>
+		<view class="upgrade-button" @click="showPaymentModal">
+			升级VIP
+		</view>
+		</view>
+
+		<!-- 支付弹窗 -->
+		<u-popup v-model="showPayment" mode="bottom" border-radius="42" height="auto" :safe-area-inset-bottom="true">
+			<view class="payment-picker">
+				<view class="picker-header">
+					<text class="picker-title">选择会员版本</text>
+				</view>
+
+				<view class="picker-content">
+					<view class="plan-option" :class="{ active: selectedPlan === 'regular' }"
+						@click="selectPlan('regular')">
+						<view class="option-left">
+							<view class="radio-btn" :class="{ checked: selectedPlan === 'regular' }">
+								<u-icon v-if="selectedPlan === 'regular'" name="checkmark" color="#ffffff"
+									size="28"></u-icon>
+							</view>
+							<text class="option-text">常规版</text>
+							<view class="price-tag">
+								<text>¥599</text>
+							</view>
+						</view>
+					</view>
+
+					<view class="plan-option" :class="{ active: selectedPlan === 'vip' }" @click="selectPlan('vip')">
+						<view class="option-left">
+							<view class="radio-btn" :class="{ checked: selectedPlan === 'vip' }">
+								<u-icon v-if="selectedPlan === 'vip'" name="checkmark" color="#ffffff"
+									size="28"></u-icon>
+							</view>
+							<text class="option-text">VIP版</text>
+							<view class="price-tag">
+								<text>¥1599</text>
+							</view>
+						</view>
+					</view>
+
+					<view class="plan-option" :class="{ active: selectedPlan === 'flagship' }"
+						@click="selectPlan('flagship')">
+						<view class="option-left">
+							<view class="radio-btn" :class="{ checked: selectedPlan === 'flagship' }">
+								<u-icon v-if="selectedPlan === 'flagship'" name="checkmark" color="#ffffff"
+									size="28"></u-icon>
+							</view>
+							<text class="option-text">旗舰版</text>
+							<view class="price-tag">
+								<text>¥2599</text>
+							</view>
+						</view>
+					</view>
+				</view>
+
+				<!-- 支付按钮 -->
+				<view class="payment-button" @click="confirmPayment">
+					<text>确认支付 ¥{{ getSelectedPrice() }}</text>
+				</view>
+			</view>
+		</u-popup>
+	</view>
 </template>
 
 <script>
-export default {
-  data() {
-    return {
-      statusBarHeight: 0, // 状态栏高度
-      // 当前会员信息
-      currentPlan: 'regular',
-      remainingDays: 5,
-      // 权益使用情况
-      benefits: {
-        view: { used: 10, total: 50 },
-        communicate: { used: 10, total: 50 },
-        regularJobs: { used: 10, total: 50 },
-        urgentJobs: { used: 10, total: 50 }
-      },
-      // 支付弹窗
-      showPayment: false,
-      selectedPlan: 'regular',
-      planPrices: {
-        regular: 599,
-        vip: 1599,
-        flagship: 2599
-      }
-    }
-  },
-  onLoad() {
-    // 获取状态栏高度
-    let systemInfo = uni.getSystemInfoSync();
-    this.statusBarHeight = systemInfo.statusBarHeight || 0;
-  },
-  methods: {
-    // 返回上一页
-    goBack() {
-      uni.navigateBack()
-    },
-    
-    // 查看全部权益包
-    viewAllBenefits() {
-      uni.showToast({
-        title: '查看全部权益包',
-        icon: 'none'
-      })
-    },
-    
-    // 显示支付弹窗
-    showPaymentModal() {
-      this.showPayment = true
-    },
-    
-    // 选择会员计划
-    selectPlan(plan) {
-      this.selectedPlan = plan
-    },
-    
-    // 获取选中计划的价格
-    getSelectedPrice() {
-      return this.planPrices[this.selectedPlan]
-    },
-    
-    // 确认支付
-    confirmPayment() {
-      uni.showToast({
-        title: `支付¥${this.getSelectedPrice()}成功`,
-        icon: 'success'
-      })
-      this.showPayment = false
-    }
-  }
-}
+	export default {
+		data() {
+			return {
+				statusBarHeight: 0, // 状态栏高度
+				// 当前会员信息
+				currentPlan: 'regular',
+				remainingDays: 5,
+				// 权益使用情况
+				benefits: {
+					view: {
+						used: 10,
+						total: 50
+					},
+					communicate: {
+						used: 10,
+						total: 50
+					},
+					regularJobs: {
+						used: 10,
+						total: 50
+					},
+					urgentJobs: {
+						used: 10,
+						total: 50
+					}
+				},
+					checked: false,
+				// 支付弹窗
+				showPayment: false,
+				selectedPlan: 'regular',
+				planPrices: {
+					regular: 599,
+					vip: 1599,
+					flagship: 2599
+				}
+			}
+		},
+		onLoad() {
+			// 获取状态栏高度
+			let systemInfo = uni.getSystemInfoSync();
+			this.statusBarHeight = systemInfo.statusBarHeight || 0;
+		},
+		methods: {
+			// 返回上一页
+			goBack() {
+				uni.navigateBack()
+			},
+			//支付
+			confirmPayment() {
+			
+				let that = this;
+				if (that.isTrue == false) {
+					return;
+				}
+				let token = uni.getStorageSync('token')
+				if (!token) {
+					uni.showToast({
+						title: "登录过期",
+						icon: "none",
+					});
+					return
+				}
+			
+				console.log('进入支付')
+				that.isTrue = false;
+				if (this.openWay == 2) {
+					// #ifdef APP-PLUS
+					// 微信APP支付 根据订单id获取支付信息
+					this.$Request
+						.post("/app/wxPay/wxPayOrder", {
+							classify: 1,
+							money: this.vipPrice,
+							type: 2,
+						})
+						.then((ret) => {
+							this.isCheckPay(ret.code, "wxpay", JSON.stringify(ret.data));
+						});
+					// #endif
+			
+					// #ifdef MP-WEIXIN
+					// 微信小程序支付
+					this.$Request
+						.post("/app/wxPay/wxPayOrder", {
+							classify: 3,
+							money: this.vipPrice,
+							type: 2,
+						})
+						.then((ret) => {
+							uni.hideLoading();
+							console.log(ret.data);
+							uni.requestPayment({
+								provider: "wxpay",
+								timeStamp: ret.data.timestamp,
+								nonceStr: ret.data.noncestr,
+								package: ret.data.package,
+								signType: ret.data.signType,
+								paySign: ret.data.sign,
+								success: function(suc) {
+									console.log("success:" + JSON.stringify(suc));
+									uni.showToast({
+										title: "支付成功",
+										icon: "success",
+									});
+									that.show = false;
+									that.isTrue = true;
+									that.getUserInfo();
+								},
+								fail: function(err) {
+									console.log("fail:" + JSON.stringify(err));
+									that.isTrue = true;
+									uni.showToast({
+										title: "支付失败",
+										icon: "none",
+									});
+								},
+							});
+						});
+					// #endif
+			
+					// #ifdef H5
+					let ua = navigator.userAgent.toLowerCase();
+					if (ua.indexOf("micromessenger") !== -1) {
+						let data = {
+							classify: 2,
+							money: this.vipPrice,
+							type: 2,
+						};
+						this.$Request.postJson("/app/wxPay/wxPayOrder", data).then((res) => {
+							if (res.code == 0) {
+								this.callPay(res.data);
+							} else {
+								that.isTrue = true;
+								uni.showToast({
+									icon: "none",
+									title: "支付失败!",
+								});
+							}
+						});
+					}
+					// #endif
+				} else {
+					// APP支付宝支付
+					// #ifdef APP
+					console.log("APP进入支付。");
+					const datas = {
+						classify: 4,
+						money: 0.1,
+						type: 2,
+					}
+					this.$Request.postT("/app/aliPay/payMoneyOrder", datas).then((ret) => {
+						this.show = false;
+						console.log(ret);
+						this.isCheckPay(ret.code, "alipay", ret.data);
+					});
+					// #endif
+					// #ifdef H5
+					let data = {
+						classify: 4,
+						money: this.vipPrice,
+						type: 2,
+					};
+					this.$Request.postJson("/app/aliPay/payMoneyOrder", data).then((res) => {
+						if (res.code === 0) {
+							this.show = false;
+							that.isTrue = true;
+							const div = document.createElement("div");
+							div.innerHTML = res.data; //此处form就是后台返回接收到的数据
+							// document.body.appendChild(div);
+							// document.forms[0].submit();
+						} else {
+							that.isTrue = true;
+							uni.showToast({
+								icon: "none",
+								title: "支付失败!",
+							});
+						}
+					});
+					// #endif
+				}
+			},
+			callPay: function(response) {
+				if (typeof WeixinJSBridge === "undefined") {
+					if (document.addEventListener) {
+						document.addEventListener(
+							"WeixinJSBridgeReady",
+							this.onBridgeReady(response),
+							false
+						);
+					} else if (document.attachEvent) {
+						document.attachEvent("WeixinJSBridgeReady", this.onBridgeReady(response));
+						document.attachEvent("onWeixinJSBridgeReady", this.onBridgeReady(response));
+					}
+				} else {
+					this.onBridgeReady(response);
+				}
+			},
+			onBridgeReady: function(response) {
+				let that = this;
+				if (!response.package) {
+					return;
+				}
+				console.log(response, "++++++++");
+				WeixinJSBridge.invoke(
+					"getBrandWCPayRequest", {
+						appId: response.appid, //公众号名称,由商户传入
+						timeStamp: response.timestamp, //时间戳,自1970年以来的秒数
+						nonceStr: response.noncestr, //随机串
+						package: response.package,
+						signType: response.signType, //微信签名方式:
+						paySign: response.sign, //微信签名
+					},
+					function(res) {
+						console.log(res, "/*-/*-/*-");
+						if (res.err_msg === "get_brand_wcpay_request:ok") {
+							// 使用以上方式判断前端返回,微信团队郑重提示:
+							//res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
+							uni.showLoading({
+								title: "支付成功",
+							});
+							setTimeout(function() {
+								that.isTrue = true;
+								uni.hideLoading();
+							}, 1000);
+							that.show = false;
+							that.getUserInfo();
+						} else {
+							that.isTrue = true;
+							uni.hideLoading();
+						}
+						WeixinJSBridge.log(response.err_msg);
+					}
+				);
+			},
+			isCheckPay(status, name, order) {
+				let that = this;
+				if (status == 0) {
+					this.setPayment(name, order);
+				} else {
+					uni.hideLoading();
+					that.isTrue = true;
+					uni.showToast({
+						title: "支付信息有误",
+						icon: "none",
+					});
+				}
+			},
+			setPayment(name, order) {
+				let that = this;
+				console.log("*-*-*");
+				uni.requestPayment({
+					provider: name,
+					orderInfo: order, //微信、支付宝订单数据
+					success: function(res) {
+						console.log(res);
+						uni.hideLoading();
+						uni.showLoading({
+							title: "支付成功",
+						});
+						that.show = false;
+						that.getUserInfo();
+						that.isTrue = true;
+					},
+					fail: function(err) {
+						console.log(err);
+						that.isTrue = true;
+						uni.hideLoading();
+					},
+					complete() {
+						that.isTrue = true;
+						uni.hideLoading();
+					},
+				});
+			},
+			selectWay: function(item) {
+				this.openWay = item.id;
+			},
+			//获取会员开通价格
+			getVipPrice() {
+				if (uni.getStorageSync("userType") == 1) {
+					//用户会员价格
+					this.$Request.get("/app/common/type/331").then((res) => {
+						if (res.code == 0) {
+							this.vipPrice = res.data.value;
+						}
+					});
+				} else {
+					//企业会员价格
+					this.$Request.get("/app/common/type/332").then((res) => {
+						if (res.code == 0) {
+							this.vipPrice = res.data.value;
+						}
+					});
+				}
+			},
+			//获取个人信息
+			getUserInfo() {
+				this.$Request.get("/app/user/selectUserById").then((res) => {
+					if (res.code == 0) {
+						if (res.data.isUserVip + "" == 1) {
+							this.isVip = true;
+							this.dataTime = res.data.userMonthTime;
+						} else {
+							this.isVip = false;
+						}
+						if (res.data.isCompanyVip + "" == "1") {
+							this.isVipC = true;
+							this.dataTimeC = res.data.companyMonthTime;
+						} else {
+							this.isVipC = false;
+						}
+					}
+				});
+			},
+			
+			
+			//会员简历刷新次数
+			getVipPeople() {
+				this.$Request.get("/app/common/type/328").then((res) => {
+					if (res.code == 0) {
+						this.vipNum = res.data.value;
+					}
+				});
+			},
+			//非会员简历刷新次数
+			getNoVipPeople() {
+				this.$Request.get("/app/common/type/327").then((res) => {
+					if (res.code == 0) {
+						this.noVipNum = res.data.value;
+					}
+				});
+			},
+			//会员岗位刷新次数
+			getVipCom() {
+				this.$Request.get("/app/common/type/330").then((res) => {
+					if (res.code == 0) {
+						this.vipNumCom = res.data.value;
+					}
+				});
+			},
+			//非会员岗位刷新次数
+			getNoVipCom() {
+				this.$Request.get("/app/common/type/329").then((res) => {
+					if (res.code == 0) {
+						this.noVipNumCom = res.data.value;
+					}
+				});
+			},
+
+			// 查看全部权益包
+			viewAllBenefits() {
+				uni.showToast({
+					title: '查看全部权益包',
+					icon: 'none'
+				})
+			},
+
+			// 显示支付弹窗
+			showPaymentModal() {
+				if (this.checked == false) {
+					uni.showToast({
+						title: "请阅读并同意《会员开通协议》",
+						icon: "none",
+					});
+					return;
+				}
+				console.log('准备支付')
+
+
+
+				this.showPayment = true
+			},
+
+			// 选择会员计划
+			selectPlan(plan) {
+				this.selectedPlan = plan
+			},
+
+			// 获取选中计划的价格
+			getSelectedPrice() {
+				return this.planPrices[this.selectedPlan]
+			},
+
+			// 确认支付
+			// confirmPayment() {
+			// 	uni.showToast({
+			// 		title: `支付¥${this.getSelectedPrice()}成功`,
+			// 		icon: 'success'
+			// 	})
+			// 	this.showPayment = false
+			// }
+		}
+	}
 </script>
 
 <style lang="scss" scoped>
-.benefits-page {
-  min-height: 100vh;
-  background: var(--线性渐变, linear-gradient(90.00deg, rgba(13, 39, 247, 1),rgba(19, 193, 234, 1) 80%));
-  background-size: 100% 40%;
-  background-repeat: no-repeat;
-}
-
-// 顶部导航栏
-.nav-bar {
-  position: fixed;
-  top: 0;
-  left: 0;
-  right: 0;
-  z-index: 1000;
-  
-  .nav-content {
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    height: 88rpx;
-    padding: 0 32rpx;
-    
-    .nav-left, .nav-right {
-      width: 60rpx;
-      height: 60rpx;
-      display: flex;
-      align-items: center;
-      justify-content: center;
-    }
-    
-    .nav-title {
-      font-size: 36rpx;
-      font-weight: 600;
-      color: rgba(255, 255, 255, 1);
-    }
-  }
-}
-
-// 当前会员状态卡片
-.membership-card {
-  background: linear-gradient(66.73deg, rgba(255, 160, 162, 1),rgba(255, 203, 204.5, 0.3) 49%,rgba(255, 181.5, 183.25, 0.56) 100%);
-  border-radius: 20rpx;
-  padding: 32rpx;
-  margin: 0 40rpx;
-  box-shadow: 0 8rpx 24rpx rgba(255, 182, 193, 0.3);
-  
-  .card-content {
-    display: flex;
-    justify-content: space-between;
-    align-items: flex-start;
-    
-    .card-left {
-      flex: 1;
-      
-      .card-title {
-        color: rgba(255, 255, 255, 1);
-        font-family: DM Sans;
-        font-size: 48rpx;
-        font-weight: 700;
-        line-height: 60rpx;
-        letter-spacing: 0px;
-        text-align: left;
-        margin-bottom: 8rpx;
-      }
-      
-      .card-subtitle {
-        color: rgba(255, 255, 255, 1);
-        font-family: DM Sans;
-        font-size: 26rpx;
-        font-weight: 400;
-        line-height: 32rpx;
-        letter-spacing: 0%;
-        text-align: left;
-      }
-    }
-    
-    .card-right {
-      display: grid;
-      grid-template-columns: 1fr 1fr;
-      border-radius: 12rpx;
-      background: radial-gradient(184.79% 115.97% at 92% 113.99999999999999%,rgba(255, 102, 0, 0.35),rgba(255, 65, 86, 1) 100%);
-      gap: 16rpx;
-      padding: 14rpx 38rpx;
-      
-      .benefit-item {
-        text-align: center;
-        
-        .benefit-label {
-            color: rgba(255, 255, 255, 1);
-            font-family: DM Sans;
-            font-size: 24rpx;
-            font-weight: 400;
-            line-height: 32rpx;
-            letter-spacing: 0%;
-            text-align: left;
-            margin-bottom: 8rpx;
-        }
-        
-        .benefit-count {
-            color: rgba(255, 255, 255, 1);
-            font-family: DM Sans;
-            font-size: 24rpx;
-            font-weight: 700;
-            line-height: 32rpx;
-            letter-spacing: 0%;
-            text-align: left;
-        }
-      }
-    }
-  }
-}
-
-// 权益对比区域
-.benefits-section {
-  margin: 20rpx 40rpx;
-  
-  .section-title {
-    color: rgba(23, 23, 37, 1);
-    font-family: DM Sans;
-    font-size: 28rpx;
-    font-weight: 400;
-    line-height: 44rpx;
-    letter-spacing: 0.5%;
-    text-align: left;
-    margin-bottom: 20rpx;
-  }
-}
-
-// 权益对比表格
-.benefits-table {
-  background: #fff;
-  border-radius: 16rpx;
-  padding: 26rpx;
-  overflow: hidden;
-  box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.1);
-  
-  .table-header {
-    display: grid;
-    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
-    background: #f8f9fa;
-    border-bottom: 4rpx solid #FFFFFF;
-    
-    .header-cell {
-      padding: 12rpx;
-      color: rgba(23, 23, 37, 1);
-      font-family: DM Sans;
-      font-size: 24rpx;
-      font-weight: 500;
-      line-height: 26rpx;
-      letter-spacing: 0.5%;
-      text-align: center;
-      position: relative;
-      border-right: 4rpx solid #FFFFFF;
-      display: flex;
-      flex-direction: column;
-      align-items: center;
-      justify-content: center;
-      
-      &:first-child {
-        border-top-left-radius: 16rpx;
-      }
-      
-      &:last-child {
-        border-right: none;
-        border-top-right-radius: 16rpx;
-      }
-      
-      &.benefit-type {
-        color: rgba(23, 23, 37, 1);
-        font-family: DM Sans;
-        font-size: 24rpx;
-        font-weight: 500;
-        line-height: 26rpx;
-        letter-spacing: 0.5%;
-        text-align: center;
-        background: rgba(219, 216, 216, 1);
-      }
-      
-      &.basic {
-        background: rgba(219, 216, 216, 1);
-      }
-      
-      &.active {
-        background: linear-gradient(135.00deg, rgba(255, 187, 141, 0.4),rgba(255, 102, 0, 0.4) 100%);
-        color: rgba(224, 90, 0, 1);
-      }
-      
-      &.vip {
-        background: linear-gradient(135.00deg, rgba(255, 180, 180, 0.6),rgba(255, 89, 89, 0.6) 100%);
-        color: rgba(255, 62, 62, 1);
-      }
-      
-      &.recommended {
-        background: linear-gradient(133.74deg, rgba(251, 231, 185, 1),rgba(240, 176, 72, 1) 100%);
-        color: rgba(212, 131, 0, 1);
-      }
-      
-      .plan-tag {
-        position: absolute;
-        top: 0rpx;
-        right: 0rpx;
-        background: var(--线性渐变, linear-gradient(132.53deg, rgba(106.94185638427734, 84.63434600830078, 214.0178680419922, 0.96),rgba(144.87640380859375, 87.8011474609375, 191.25, 1) 95%));
-        color: rgba(255, 255, 255, 1);
-        font-family: DM Sans;
-        font-size: 12rpx;
-        font-weight: 400;
-        line-height: 14rpx;
-        letter-spacing: 0px;
-        text-align: left;
-        padding: 4rpx 12rpx;
-        border-radius: 0rpx 16rpx 0rpx 16rpx;
-        transform-origin: center;
-        display: flex;
-        align-items: center;
-        justify-content: center;
-        overflow: hidden;
-        
-        &::before {
-          content: '';
-          position: absolute;
-          top: 0;
-          left: 0;
-          right: 0;
-          bottom: 0;
-          background: inherit;
-          transform: rotate(-45deg);
-          z-index: -1;
-        }
-      }
-      
-      .plan-name {
-        font-size: 24rpx;
-        font-weight: 600;
-        margin-bottom: 4rpx;
-      }
-      
-      .plan-expire {
-        font-size: 16rpx;
-        color: rgba(224, 90, 0, 1);
-      }
-    }
-  }
-  
-  .table-row {
-    display: grid;
-    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
-    border-bottom: 4rpx solid #FFFFFF;
-    
-    &:last-child {
-      border-bottom: none;
-      
-      .row-cell:first-child {
-        border-bottom-left-radius: 16rpx;
-      }
-      
-      .row-cell:last-child {
-        border-bottom-right-radius: 16rpx;
-      }
-    }
-    
-    &.price-row {
-      background: #f8f9fa;
-      font-weight: 600;
-    }
-    
-    .row-cell {
-      padding: 24rpx 12rpx;
-      font-size: 16rpx;
-      text-align: center;
-      border-right: 4rpx solid #FFFFFF;
-      display: flex;
-      align-items: center;
-      justify-content: center;
-      
-      &:last-child {
-        border-right: none;
-      }
-      
-      &.benefit-type {
-        text-align: center;
-        color: rgba(23, 23, 37, 1);
-        font-weight: 500;
-        align-items: center;
-        justify-content: center;
-        background: rgba(246, 246, 246, 1);
-      }
-      
-      &.basic {
-        color: #666;
-        background: rgba(246, 246, 246, 1);
-      }
-      
-      &.regular {
-        color: rgba(224, 90, 0, 1);
-        font-weight: 600;
-        background: rgba(254, 240, 229, 1);
-      }
-      
-      &.vip {
-        color: rgba(255, 62, 62, 1);
-        font-weight: 600;
-        background: rgba(255, 235, 235, 1);
-      }
-      
-      &.flagship {
-        color: #f57c00;
-        font-weight: 600;
-        background: rgba(254, 238, 209, 1);
-      }
-    }
-  }
-}
-
-// 说明文字
-.notes {
-  margin-top: 32rpx;
-  
-  .note-item {
-    display: flex;
-    align-items: flex-start;
-    margin-bottom: 16rpx;
-    font-size: 26rpx;
-    line-height: 1.5;
-    gap: 8rpx;
-    
-    .note-number , .note-text {
-        color: rgba(102, 102, 102, 1);
-        font-family: DM Sans;
-        font-size: 24rpx;
-        font-weight: 400;
-        line-height: 26rpx;
-        letter-spacing: 0.5%;
-        text-align: left;
-    }
-    
-    .note-link {
-      color: #1976d2;
-      font-family: DM Sans;
-      font-size: 24rpx;
-      font-weight: 400;
-      line-height: 26rpx;
-      letter-spacing: 0.5%;
-      text-decoration: underline;
-    }
-  }
-}
-
-// 升级VIP按钮
-.upgrade-button {
-  position: fixed;
-  bottom: 32rpx;
-  left: 32rpx;
-  right: 32rpx;
-  height: 88rpx;
-  background: var(--线性渐变, linear-gradient(90.00deg, rgba(13, 39, 247, 1),rgba(19, 193, 234, 1) 100%));
-  border-radius: 44rpx;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  color: #fff;
-  font-size: 32rpx;
-  font-weight: 600;
-  box-shadow: 0 8rpx 24rpx rgba(25, 118, 210, 0.3);
-}
-
-// 支付弹窗样式 - 仿照 tagManage 页面
-.payment-picker {
-  background: #fff;
-  border-radius: 20rpx 20rpx 0 0;
-  overflow: hidden;
-}
-
-.picker-header {
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  padding: 30rpx 40rpx 20rpx;
-  border-bottom: 1rpx solid #F2F2F2;
-  position: relative;
-
-  .picker-title {
-    color: rgba(34, 37, 42, 1);
-    font-family: DM Sans;
-    font-size: 36rpx;
-    font-weight: 500;
-    line-height: 23px;
-    letter-spacing: 0px;
-    text-align: center;
-  }
-}
-
-.picker-content {
-  padding: 32rpx;
-}
-
-.plan-option {
-  display: flex;
-  flex-direction: row;
-  justify-content: flex-start;
-  align-items: center;
-  padding: 16rpx 28rpx;
-  box-sizing: border-box;
-  border: 1px solid rgba(227, 231, 236, 1);
-  border-radius: 24px;
-  background: rgba(255, 255, 255, 1);
-  margin-bottom: 32rpx;
-
-  &:active {
-    background-color: #F9F9F9;
-  }
-
-  &.active {
-    border-color: #007AFF;
-    background: #F0F9FF;
-  }
-
-  .option-left {
-    display: flex;
-    align-items: center;
-    flex: 1;
-
-    .radio-btn {
-      width: 40rpx;
-      height: 40rpx;
-      border: 2rpx solid #E5E5EA;
-      border-radius: 50%;
-      display: flex;
-      align-items: center;
-      justify-content: center;
-      margin-right: 24rpx;
-      background: #fff;
-      transition: all 0.2s;
-
-      &.checked {
-        border-color: #007AFF;
-        background: #007AFF;
-      }
-    }
-
-    .option-text {
-      font-size: 28rpx;
-      color: rgba(29, 33, 41, 1);
-      font-weight: 400;
-      flex: 1;
-    }
-
-    .price-tag {
-      background: rgba(153, 196, 250, 0.4);
-      border-radius: 8rpx;
-      padding: 4rpx 12rpx;
-
-      text {
-        font-size: 24rpx;
-        line-height: 24rpx;
-        color: rgba(1, 107, 246, 1);
-        font-weight: 500;
-      }
-    }
-  }
-}
-
-.picker-content :last-child {
-  margin-bottom: 0rpx;
-}
-
-.payment-button {
-  width: 90%;
-  height: 88rpx;
-  background: linear-gradient(90deg, #007AFF 0%, #42a5f5 100%);
-  border-radius: 44rpx;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  margin: 32rpx;
-  box-shadow: 0 8rpx 24rpx rgba(0, 122, 255, 0.3);
-
-  text {
-    color: #fff;
-    font-size: 32rpx;
-    font-weight: 600;
-  }
-}
-</style>
+	.benefits-page {
+		min-height: 100vh;
+		background: var(--线性渐变, linear-gradient(90.00deg, rgba(13, 39, 247, 1), rgba(19, 193, 234, 1) 80%));
+		background-size: 100% 40%;
+		background-repeat: no-repeat;
+	}
+
+	// 顶部导航栏
+	.nav-bar {
+		position: fixed;
+		top: 0;
+		left: 0;
+		right: 0;
+		z-index: 1000;
+
+		.nav-content {
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
+			height: 88rpx;
+			padding: 0 32rpx;
+
+			.nav-left,
+			.nav-right {
+				width: 60rpx;
+				height: 60rpx;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+			}
+
+			.nav-title {
+				font-size: 36rpx;
+				font-weight: 600;
+				color: rgba(255, 255, 255, 1);
+			}
+		}
+	}
+
+	// 当前会员状态卡片
+	.membership-card {
+		background: linear-gradient(66.73deg, rgba(255, 160, 162, 1), rgba(255, 203, 204.5, 0.3) 49%, rgba(255, 181.5, 183.25, 0.56) 100%);
+		border-radius: 20rpx;
+		padding: 32rpx;
+		margin: 0 40rpx;
+		box-shadow: 0 8rpx 24rpx rgba(255, 182, 193, 0.3);
+
+		.card-content {
+			display: flex;
+			justify-content: space-between;
+			align-items: flex-start;
+
+			.card-left {
+				flex: 1;
+
+				.card-title {
+					color: rgba(255, 255, 255, 1);
+					font-family: DM Sans;
+					font-size: 48rpx;
+					font-weight: 700;
+					line-height: 60rpx;
+					letter-spacing: 0px;
+					text-align: left;
+					margin-bottom: 8rpx;
+				}
+
+				.card-subtitle {
+					color: rgba(255, 255, 255, 1);
+					font-family: DM Sans;
+					font-size: 26rpx;
+					font-weight: 400;
+					line-height: 32rpx;
+					letter-spacing: 0%;
+					text-align: left;
+				}
+			}
+
+			.card-right {
+				display: grid;
+				grid-template-columns: 1fr 1fr;
+				border-radius: 12rpx;
+				background: radial-gradient(184.79% 115.97% at 92% 113.99999999999999%, rgba(255, 102, 0, 0.35), rgba(255, 65, 86, 1) 100%);
+				gap: 16rpx;
+				padding: 14rpx 38rpx;
+
+				.benefit-item {
+					text-align: center;
+
+					.benefit-label {
+						color: rgba(255, 255, 255, 1);
+						font-family: DM Sans;
+						font-size: 24rpx;
+						font-weight: 400;
+						line-height: 32rpx;
+						letter-spacing: 0%;
+						text-align: left;
+						margin-bottom: 8rpx;
+					}
+
+					.benefit-count {
+						color: rgba(255, 255, 255, 1);
+						font-family: DM Sans;
+						font-size: 24rpx;
+						font-weight: 700;
+						line-height: 32rpx;
+						letter-spacing: 0%;
+						text-align: left;
+					}
+				}
+			}
+		}
+	}
+
+	// 权益对比区域
+	.benefits-section {
+		margin: 20rpx 40rpx;
+
+		.section-title {
+			color: rgba(23, 23, 37, 1);
+			font-family: DM Sans;
+			font-size: 28rpx;
+			font-weight: 400;
+			line-height: 44rpx;
+			letter-spacing: 0.5%;
+			text-align: left;
+			margin-bottom: 20rpx;
+		}
+	}
+
+	// 权益对比表格
+	.benefits-table {
+		background: #fff;
+		border-radius: 16rpx;
+		padding: 26rpx;
+		overflow: hidden;
+		box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.1);
+
+		.table-header {
+			display: grid;
+			grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
+			background: #f8f9fa;
+			border-bottom: 4rpx solid #FFFFFF;
+
+			.header-cell {
+				padding: 12rpx;
+				color: rgba(23, 23, 37, 1);
+				font-family: DM Sans;
+				font-size: 24rpx;
+				font-weight: 500;
+				line-height: 26rpx;
+				letter-spacing: 0.5%;
+				text-align: center;
+				position: relative;
+				border-right: 4rpx solid #FFFFFF;
+				display: flex;
+				flex-direction: column;
+				align-items: center;
+				justify-content: center;
+
+				&:first-child {
+					border-top-left-radius: 16rpx;
+				}
+
+				&:last-child {
+					border-right: none;
+					border-top-right-radius: 16rpx;
+				}
+
+				&.benefit-type {
+					color: rgba(23, 23, 37, 1);
+					font-family: DM Sans;
+					font-size: 24rpx;
+					font-weight: 500;
+					line-height: 26rpx;
+					letter-spacing: 0.5%;
+					text-align: center;
+					background: rgba(219, 216, 216, 1);
+				}
+
+				&.basic {
+					background: rgba(219, 216, 216, 1);
+				}
+
+				&.active {
+					background: linear-gradient(135.00deg, rgba(255, 187, 141, 0.4), rgba(255, 102, 0, 0.4) 100%);
+					color: rgba(224, 90, 0, 1);
+				}
+
+				&.vip {
+					background: linear-gradient(135.00deg, rgba(255, 180, 180, 0.6), rgba(255, 89, 89, 0.6) 100%);
+					color: rgba(255, 62, 62, 1);
+				}
+
+				&.recommended {
+					background: linear-gradient(133.74deg, rgba(251, 231, 185, 1), rgba(240, 176, 72, 1) 100%);
+					color: rgba(212, 131, 0, 1);
+				}
+
+				.plan-tag {
+					position: absolute;
+					top: 0rpx;
+					right: 0rpx;
+					background: var(--线性渐变, linear-gradient(132.53deg, rgba(106.94185638427734, 84.63434600830078, 214.0178680419922, 0.96), rgba(144.87640380859375, 87.8011474609375, 191.25, 1) 95%));
+					color: rgba(255, 255, 255, 1);
+					font-family: DM Sans;
+					font-size: 12rpx;
+					font-weight: 400;
+					line-height: 14rpx;
+					letter-spacing: 0px;
+					text-align: left;
+					padding: 4rpx 12rpx;
+					border-radius: 0rpx 16rpx 0rpx 16rpx;
+					transform-origin: center;
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					overflow: hidden;
+
+					&::before {
+						content: '';
+						position: absolute;
+						top: 0;
+						left: 0;
+						right: 0;
+						bottom: 0;
+						background: inherit;
+						transform: rotate(-45deg);
+						z-index: -1;
+					}
+				}
+
+				.plan-name {
+					font-size: 24rpx;
+					font-weight: 600;
+					margin-bottom: 4rpx;
+				}
+
+				.plan-expire {
+					font-size: 16rpx;
+					color: rgba(224, 90, 0, 1);
+				}
+			}
+		}
+
+		.table-row {
+			display: grid;
+			grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
+			border-bottom: 4rpx solid #FFFFFF;
+
+			&:last-child {
+				border-bottom: none;
+
+				.row-cell:first-child {
+					border-bottom-left-radius: 16rpx;
+				}
+
+				.row-cell:last-child {
+					border-bottom-right-radius: 16rpx;
+				}
+			}
+
+			&.price-row {
+				background: #f8f9fa;
+				font-weight: 600;
+			}
+
+			.row-cell {
+				padding: 24rpx 12rpx;
+				font-size: 16rpx;
+				text-align: center;
+				border-right: 4rpx solid #FFFFFF;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+
+				&:last-child {
+					border-right: none;
+				}
+
+				&.benefit-type {
+					text-align: center;
+					color: rgba(23, 23, 37, 1);
+					font-weight: 500;
+					align-items: center;
+					justify-content: center;
+					background: rgba(246, 246, 246, 1);
+				}
+
+				&.basic {
+					color: #666;
+					background: rgba(246, 246, 246, 1);
+				}
+
+				&.regular {
+					color: rgba(224, 90, 0, 1);
+					font-weight: 600;
+					background: rgba(254, 240, 229, 1);
+				}
+
+				&.vip {
+					color: rgba(255, 62, 62, 1);
+					font-weight: 600;
+					background: rgba(255, 235, 235, 1);
+				}
+
+				&.flagship {
+					color: #f57c00;
+					font-weight: 600;
+					background: rgba(254, 238, 209, 1);
+				}
+			}
+		}
+	}
+
+	// 说明文字
+	.notes {
+		margin-top: 32rpx;
+
+		.note-item {
+			display: flex;
+			align-items: flex-start;
+			margin-bottom: 16rpx;
+			font-size: 26rpx;
+			line-height: 1.5;
+			gap: 8rpx;
+
+			.note-number,
+			.note-text {
+				color: rgba(102, 102, 102, 1);
+				font-family: DM Sans;
+				font-size: 24rpx;
+				font-weight: 400;
+				line-height: 26rpx;
+				letter-spacing: 0.5%;
+				text-align: left;
+			}
+
+			.note-link {
+				color: #1976d2;
+				font-family: DM Sans;
+				font-size: 24rpx;
+				font-weight: 400;
+				line-height: 26rpx;
+				letter-spacing: 0.5%;
+				text-decoration: underline;
+			}
+		}
+	}
+
+	// 升级VIP按钮
+	.upgrade-button {
+		//position: fixed;
+		// bottom: 32rpx;
+		// left: 32rpx;
+		// right: 32rpx;
+		width: 88%;
+		height: 88rpx;
+		background: var(--线性渐变, linear-gradient(90.00deg, rgba(13, 39, 247, 1), rgba(19, 193, 234, 1) 100%));
+		border-radius: 44rpx;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		color: #fff;
+		font-size: 32rpx;
+		font-weight: 600;
+		box-shadow: 0 8rpx 24rpx rgba(25, 118, 210, 0.3);
+		margin: auto;
+	}
+
+	// 支付弹窗样式 - 仿照 tagManage 页面
+	.payment-picker {
+		background: #fff;
+		border-radius: 20rpx 20rpx 0 0;
+		overflow: hidden;
+	}
+
+	.picker-header {
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		padding: 30rpx 40rpx 20rpx;
+		border-bottom: 1rpx solid #F2F2F2;
+		position: relative;
+
+		.picker-title {
+			color: rgba(34, 37, 42, 1);
+			font-family: DM Sans;
+			font-size: 36rpx;
+			font-weight: 500;
+			line-height: 23px;
+			letter-spacing: 0px;
+			text-align: center;
+		}
+	}
+
+	.picker-content {
+		padding: 32rpx;
+	}
+
+	.plan-option {
+		display: flex;
+		flex-direction: row;
+		justify-content: flex-start;
+		align-items: center;
+		padding: 16rpx 28rpx;
+		box-sizing: border-box;
+		border: 1px solid rgba(227, 231, 236, 1);
+		border-radius: 24px;
+		background: rgba(255, 255, 255, 1);
+		margin-bottom: 32rpx;
+
+		&:active {
+			background-color: #F9F9F9;
+		}
+
+		&.active {
+			border-color: #007AFF;
+			background: #F0F9FF;
+		}
+
+		.option-left {
+			display: flex;
+			align-items: center;
+			flex: 1;
+
+			.radio-btn {
+				width: 40rpx;
+				height: 40rpx;
+				border: 2rpx solid #E5E5EA;
+				border-radius: 50%;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				margin-right: 24rpx;
+				background: #fff;
+				transition: all 0.2s;
+
+				&.checked {
+					border-color: #007AFF;
+					background: #007AFF;
+				}
+			}
+
+			.option-text {
+				font-size: 28rpx;
+				color: rgba(29, 33, 41, 1);
+				font-weight: 400;
+				flex: 1;
+			}
+
+			.price-tag {
+				background: rgba(153, 196, 250, 0.4);
+				border-radius: 8rpx;
+				padding: 4rpx 12rpx;
+
+				text {
+					font-size: 24rpx;
+					line-height: 24rpx;
+					color: rgba(1, 107, 246, 1);
+					font-weight: 500;
+				}
+			}
+		}
+	}
+
+	.picker-content :last-child {
+		margin-bottom: 0rpx;
+	}
+
+	.payment-button {
+		width: 90%;
+		height: 88rpx;
+		background: linear-gradient(90deg, #007AFF 0%, #42a5f5 100%);
+		border-radius: 44rpx;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		margin: 32rpx;
+		box-shadow: 0 8rpx 24rpx rgba(0, 122, 255, 0.3);
+
+		text {
+			color: #fff;
+			font-size: 32rpx;
+			font-weight: 600;
+		}
+	}
+</style>

+ 635 - 0
pages/my/attachment.vue

@@ -0,0 +1,635 @@
+<template>
+	<view>
+		<!-- 顶部导航栏 -->
+		<view class="navbar" :style="{ paddingTop: (12 + statusBarHeight) + 'px' }">
+			<view class="navbar-content">
+				<view class="navbar-left" @click="goBack">
+					<u-icon name="arrow-leftward" size="36" color="#333"></u-icon>
+				</view>
+				<view class="navbar-title">附件管理</view>
+				<view class="navbar-right"></view>
+			</view>
+		</view>
+
+		<!-- <nav-bar title="基本信息"></nav-bar> -->
+		<view class="contain flex flex-direction">
+			<view class="usermain">
+				<scroll-view scroll-with-animation scroll-y>
+				<!-- 我的公司 -->
+					<view class="usermain-item item-padding" v-for="item in content">
+						<view class="usermain-item-title c-flex-center"><image src="../../static/images/pdf.svg" class="header-icon" /></view>
+						<view @click="seekDoc(item)" class="fileContent c-flex-center">
+							<view class="fileName">{{item.attachment_name}}</view>
+							<view class="filedesc">{{item.attachment_size}} 更新于{{item.create_time}}</view>
+						</view>
+						<view @click.stop="more(item.resumes_attachment_id)" class="c-flex-center">
+							<u-icon name="more-dot-fill"></u-icon>
+						</view>
+					</view>
+					<empty :isShow="false" v-if="content.length==0" />
+				</scroll-view>
+			</view>
+			
+			<view class="footer-btn">
+				<fileSelector title="上传简历" allowType=".doc,.docx,.xls,.xlsx,.pdf" @fileSelected="uploadResumes" @filesChanged="onFilesChanged" />
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import configdata from '../../common/config.js';
+	import navBar from "@/components/nav-bar/index.vue";
+	// 引入组件
+	import fileSelector from '@/uni_modules/zhouquan-fileSelector/components/zhouquan-fileSelector/file-selector.vue';
+	import empty from '../../components/empty.vue'
+	export default {
+		components: {
+			navBar,
+			fileSelector,
+			empty
+		},
+		data() {
+			return {
+				statusBarHeight: 0, // 状态栏高度
+				phone: '',
+				weChatNum:'',//微信号
+				email: '',//接收简历邮箱
+				selectedCompany: '深圳市汉瑞国际猎头服务有限公司', // 我的公司
+				selectedPosition: '人事总监', // 我的职务
+				avatar: '../../static/logo.png',
+				userName: '',
+				nickName: '',
+				userId: '',
+				realName: '',
+				weChatId: "",
+				password: '',
+				platform: '',
+				createTime: '',
+				money: '',
+				jiFen: '',
+				status: '',
+				zhiFuBao: '',
+				zhiFuBaoName: '',
+				sex: 1,
+				age: 0,
+				content:[]
+			};
+		},
+		computed: {
+			phoneWithMask() {
+				if (this.phone && this.phone.length >= 11) {
+					return this.phone.substring(0, 3) + '******' + this.phone.substring(9);
+				}
+				return this.phone || '请设置手机号';
+			}
+		},
+		onLoad(e) {
+			// 获取状态栏高度
+			let systemInfo = uni.getSystemInfoSync();
+			this.statusBarHeight = systemInfo.statusBarHeight || 0;
+			
+			this.getUserInfo()
+			// this.avatar = uni.getStorageSync('avatar')
+		},
+		methods: {
+			// 返回上一页
+			goBack() {
+				uni.navigateBack();
+			},
+			// 修改手机号
+			modifyPhone() {
+				console.log('点击修改手机号,当前手机号:', this.phone);
+				const url = `/pages/my/userphone?currentPhone=${this.phone}`;
+				console.log('跳转路径:', url);
+				
+				uni.navigateTo({
+					url: url,
+				});
+			},
+			// 选择公司
+			selectCompany() {
+				uni.navigateTo({
+					url: '/pages/my/myCompany'
+				});
+			},
+			// 选择职务
+			selectPosition() {
+				// 这里可以跳转到职务选择页面或显示职务选择弹窗
+				console.log('选择职务');
+			},
+			onChooseAvatar(e) {
+				let that = this;
+				let token = uni.getStorageSync('token');
+				uni.uploadFile({
+					url: that.config("APIHOST1") +
+					'/alioss/upload', //真实的接口地址
+					filePath: e.detail.avatarUrl,
+					header: {
+						token: token
+					},
+					name: 'file',
+					success: uploadFileRes => {
+						let url = JSON.parse(uploadFileRes.data);
+						that.avatar = url.data
+						uni.hideLoading();
+			 	}
+			 });
+
+			},
+			goMyAddress() {
+				uni.navigateTo({
+					url: '../jifen/myaddress'
+				});
+			},
+			uploadImg() {
+				let token = uni.getStorageSync('token')
+
+				if (!token) {
+					this.goLoginInfo();
+					return;
+				}
+				let that = this;
+				var url = null;
+				uni.showActionSheet({
+					// itemList按钮的文字接受的是数组
+					itemList: ["查看头像", "从相册选择图片"],
+					success(e) {
+						var index = e.tapIndex
+						if (index === 0) {
+							// 用户点击了预览当前图片
+							// 可以自己实现当前头像链接的读取
+							let url = that.avatar;
+							let arr = []
+							arr.push(url)
+							uni.previewImage({
+								// 预览功能图片也必须是数组的
+								urls: arr
+							})
+						} else if (index === 1) {
+							uni.chooseImage({
+								count: 1, //默认9
+								sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
+								sourceType: ['album'], //从相册选择
+								success: function(res) {
+									uni.showLoading({
+										title: '上传中...'
+									});
+									let token = uni.getStorageSync('token');
+									let userId = uni.getStorageSync('userId');
+									uni.uploadFile({
+										url: that.config("APIHOST1") +
+										'/alioss/upload', //真实的接口地址
+
+										filePath: res.tempFilePaths[0],
+										header: {
+											token: token
+										},
+										name: 'file',
+										success: uploadFileRes => {
+											url = JSON.parse(uploadFileRes.data);
+											that.avatar = url.data
+											uni.hideLoading();
+										}
+									});
+								}
+							});
+						}
+					}
+				})
+			},
+			config: function(name) {
+				var info = null;
+				if (name) {
+					var name2 = name.split("."); //字符分割
+					if (name2.length > 1) {
+						info = configdata[name2[0]][name2[1]] || null;
+					} else {
+						info = configdata[name] || null;
+					}
+					if (info == null) {
+						let web_config = cache.get("web_config");
+						if (web_config) {
+							if (name2.length > 1) {
+								info = web_config[name2[0]][name2[1]] || null;
+							} else {
+								info = web_config[name] || null;
+							}
+						}
+					}
+				}
+				return info;
+			},
+			getUserInfo() {
+				this.$Request.get("/app/resumes/getAttachment").then(res => {
+					if (res.code == 0) {
+						this.content=res.data
+					}
+					uni.hideLoading();
+				});
+
+
+			},
+			// 保存
+			uploadResumes(e) {
+				var that=this
+				console.log(e.path)
+				uni.getFileInfo({
+				  filePath: e.path,
+				  success: (info) => {
+				    console.log('文件大小:', info.size); // 单位:字节
+					let attachment_size=parseInt(info.size/1024)
+					that.$queue.uploadFile(e.path,function(path){
+						if(path)
+							that.$Request.postJson("/app/resumes/saveAttachment", {
+							  		attachment_address:path,
+									attachment_name:e.name,
+									attachment_size
+							  	}).then(res => {
+							  		if (res.code === 0) {
+							  			that.getUserInfo()
+							  		} else {
+							  			uni.showToast({
+							  				title: res.msg,
+							  				icon: "none"
+							  			})
+							  		}
+							  	})
+						else
+							that.$queue.showToast('文件上传失败')
+					})
+				  },
+				  fail: (err) => {
+				    console.error('获取失败', err);
+				  }
+				});
+				
+			},
+			more(id){
+				var that=this
+				uni.showActionSheet({
+					itemList: ["删除"],
+					itemColor: "#3273db",
+					success(res) {
+						if(res.tapIndex==0)
+							that.deleteAttachment(id)
+					},
+					fail(res) {
+						console.log(res.errMsg);
+					},
+				});
+			},
+			deleteAttachment(id){
+			  var that = this;
+			  uni.showModal({
+			    title: '提示',
+			    content: '确定删除?',
+			    success(res) {
+			      if (res.confirm) {
+			        that.$Request.postJson("/app/resumes/deleteAttachment", {
+			        		resumes_attachment_id: id
+			        	}).then(res => {
+			        		if (res.code === 0) {
+			        			var info = that.content.filter(function (item) {
+			        			  return item.resumes_attachment_id != id;
+			        			});
+			        			that.content=info
+			        		} else {
+			        			uni.showToast({
+			        				title: res.msg,
+			        				icon: "none"
+			        			})
+			        		}
+			        	})
+			      } else if (res.cancel) {
+			        console.log('用户点击取消')
+			      }
+			    }
+			  })
+			},
+			onFilesChanged(e){
+				console.log(e)
+			},
+			seekDoc(it){
+				uni.navigateTo({
+					url: '/pages/index/webView?url=' + it.attachment_address
+				});
+			}
+		},
+		// userphone(){
+		// 	uni.navigateTo({
+		// 		url:'/pages/my/userphone'
+		// 	})
+		// }
+
+	};
+</script>
+
+<style lang="scss" scoped>
+	page {
+		/* background: #f6f6f6; */
+	}
+
+	.navbar {
+		position: fixed;
+		top: 0;
+		left: 0;
+		right: 0;
+		z-index: 999;
+		background: #fff;
+		padding: 0 0 40rpx 20rpx;
+		
+		.navbar-content {
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
+			padding: 0 30rpx;
+			height: 60rpx;
+			
+			.navbar-left {
+				width: 60rpx;
+				height: 60rpx;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+			}
+			
+			.navbar-title {
+                color: rgba(23, 23, 37, 1);
+                font-family: DM Sans;
+                font-size: 36rpx;
+                font-weight: 700;
+                line-height: 52rpx;
+                letter-spacing: 0%;
+                text-align: center;
+			}
+			
+			.navbar-right {
+				width: 60rpx;
+				height: 60rpx;
+			}
+		}
+	}
+
+	button::after {
+		border: none;
+		background-color: none;
+	}
+
+	button {
+		position: relative;
+		display: block;
+		margin-left: auto;
+		margin-right: auto;
+		padding-left: 0px;
+		padding-right: 0px;
+		box-sizing: border-box;
+		text-decoration: none;
+		line-height: 1.35;
+		overflow: hidden;
+		color: #666666;
+		/* background-color: #fff; */
+		background-color: rgba(255, 255, 255, 0) !important;
+		width: 100%;
+		height: 100%;
+	}
+	.contain{
+		padding-top: 120rpx; /* 为固定导航栏留出空间 */
+		height: 100vh;
+	}
+	.usermain {
+		background: #ffffff;
+		/* color: #fff; */
+		height: 100vh;
+		scroll-view{
+			height: 100%;
+		}
+	}
+
+	.usermain-item {
+		display: flex;
+		justify-content: space-between;
+		margin: 0 40rpx;
+		padding: 30rpx 0;
+		// border-bottom: 1rpx solid rgba(229, 229, 229, 0.3);
+		background: #fff;
+		gap: 16rpx;
+		.fileContent{
+			width: 80%;
+			margin:0 20rpx;
+		}
+		.fileName{
+			color: #222;
+		}
+		.filedesc{
+			margin-top: 10rpx;
+			font-size: 20rpx;
+		}
+		.c-flex-center{
+			align-self: center;
+			color: #aaa;
+		}
+		
+	}
+
+	.usermain-item-title {
+		color: rgba(31, 44, 55, 1);
+		font-family: DM Sans;
+		font-size: 28rpx;
+		font-weight: 500;
+		line-height: 44rpx;
+		text-align: left;
+		.header-icon{
+			width: 50rpx;
+			height: 50rpx;
+			display: block;
+		}
+	}
+
+	.usermain-item.item-padding {
+		/* padding: 0; */
+	}
+
+	.cu-form-group {
+		padding: 0;
+		background: #ffffff;
+		text-align: right;
+	}
+
+	.cu-form-group input {
+		background: #ffffff;
+		font-size: 28rpx;
+		/* color: #fff; */
+
+	}
+
+	/* 姓名字段样式 - 参考basicInfo.vue */
+	.usermain-item .form-label {
+		color: rgba(31, 44, 55, 1);
+		font-family: DM Sans;
+		font-size: 32rpx;
+		font-weight: 500;
+		line-height: 44rpx;
+		letter-spacing: 0.5%;
+		text-align: left;
+		display: flex;
+		align-items: center;
+		margin-bottom: 16rpx;
+	}
+
+	.usermain-item .required-mark {
+		color: #FF3B30;
+		font-size: 36rpx;
+		font-weight: 600;
+		margin-right: 8rpx;
+	}
+
+	.usermain-item .cu-form-group {
+		background: transparent;
+		text-align: left;
+		padding: 0;
+	}
+
+	.usermain-item .cu-form-group input {
+		width: 100%;
+		height: 68rpx;
+		font-size: 28rpx;
+		border: 1rpx solid rgba(227, 231, 236, 1);
+		border-radius: 44rpx;
+		color: rgba(23, 23, 37, 1);
+		padding: 0 32rpx;
+		background: #ffffff;
+		font-family: DM Sans;
+		font-weight: 400;
+	}
+
+	.usermain-item .cu-form-group input::placeholder {
+		color: rgba(155, 155, 155, 1);
+		font-size: 28rpx;
+	}
+
+	/* 联系方式样式 */
+	.contact-structure {
+		border-bottom: none !important;
+	}
+
+	.contact-wrapper {
+		display: flex;
+		align-items: center;
+		justify-content: space-between;
+		padding: 0;
+		margin-top: 8rpx;
+	}
+
+	.phone-display {
+		color: rgba(23, 23, 37, 1);
+		font-family: DM Sans;
+		font-size: 28rpx;
+		font-weight: 400;
+		line-height: 40rpx;
+		letter-spacing: 0.5%;
+	}
+
+	.modify-link {
+		color: rgba(24, 144, 255, 1);
+		font-family: DM Sans;
+		font-size: 28rpx;
+		font-weight: 400;
+		line-height: 40rpx;
+		letter-spacing: 0.5%;
+		cursor: pointer;
+		text-decoration: none;
+	}
+
+	.modify-link:active {
+		opacity: 0.7;
+	}
+
+	/* 头像编辑图标样式 */
+	.avatar-wrapper {
+		position: relative;
+		display: inline-block;
+	}
+
+	.edit-avatar-icon {
+		position: absolute;
+		bottom: 10rpx;
+		right: 2rpx;
+		width: 24rpx;
+		height: 24rpx;
+		// background: #fff;
+		border-radius: 50%;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1);
+	}
+
+	.avatar-button {
+		position: relative;
+		padding: 0;
+		margin: 0;
+		background: transparent;
+		border: none;
+	}
+
+	.footer-btn {
+		margin-top: 40rpx;
+		padding-bottom: 40rpx;
+	}
+
+	.footer-btn .usermain-btn {
+		color: rgba(255, 255, 255, 1);
+		background: rgba(1, 107, 246, 1);
+		text-align: center;
+		width: 90%;
+		height: 80rpx;
+		font-size: 32rpx;
+		line-height: 80rpx;
+		margin: 20rpx auto;
+		border-radius: 40rpx;
+	}
+
+	/* 选择器样式 - 参考workExperience页面 */
+	.form-input-selector {
+		width: 100%;
+		height: 68rpx;
+		padding: 0 40rpx;
+		border: 1px solid rgba(227, 231, 236, 1);
+		border-radius: 24px;
+		background: rgba(255, 255, 255, 1);
+		display: flex;
+		align-items: center;
+		justify-content: space-between;
+		cursor: pointer;
+		transition: all 0.2s ease;
+		
+		.placeholder {
+			color: #999999;
+			font-family: DM Sans;
+			font-size: 28rpx;
+			font-weight: 400;
+			line-height: 40rpx;
+		}
+		
+		text {
+			color: rgba(23, 23, 37, 1);
+			font-family: DM Sans;
+			font-size: 28rpx;
+			font-weight: 400;
+			line-height: 40rpx;
+		}
+	}
+
+	.arrow-down {
+		color: rgba(96, 98, 102, 1);
+		font-size: 24rpx;
+		font-weight: 400;
+		transform: scale(1.5);
+	}
+
+	.selector-group:active {
+		background: #f5f7fa !important;
+		transform: scale(0.99);
+	}
+</style>

+ 18 - 12
pages/my/index.vue

@@ -206,7 +206,7 @@
 										<view class=""> 在线简历 </view>
 									</view>
 									<view class="jobServer-box-btn-item flex justify-center flex-wrap"
-										@click="refresh()">
+										@click="goNav('/pages/my/attachment')">
 										<image src="../../static/images/index/cpbk.svg" mode=""></image>
 										<view class=""> 附件简历 </view>
 									</view>
@@ -380,17 +380,17 @@
 							<!-- 记录栏 -->
 							<view class="info-box-num flex align-center justify-between" v-if="XCXIsSelect != '否'">
 								<view class="info-box-num-td"
-									@click="goNav('/pages/recruitmentData/communicationRecords')">
+									@click="goNav('/pages/recruitmentData/communicationRecords?tab=0')">
 									<view class="info-box-num-td-num"> 0 </view>
 									<view class="info-box-num-td-name">沟通过</view>
 								</view>
 								<view class="info-box-num-td"
-									@click="goNav('/pages/recruitmentData/communicationRecords')">
+									@click="goNav('/pages/recruitmentData/communicationRecords?tab=1')">
 									<view class="info-box-num-td-num"> 0 </view>
 									<view class="info-box-num-td-name">面试</view>
 								</view>
 								<view class="info-box-num-td"
-									@click="goNav('/pages/recruitmentData/communicationRecords')">
+									@click="goNav('/pages/recruitmentData/communicationRecords?tab=2')">
 									<view class="info-box-num-td-num"> 0 </view>
 									<view class="info-box-num-td-name">收藏</view>
 								</view>
@@ -494,9 +494,9 @@
 										<view class=""> 招聘刷新 </view>
 									</view>
 									<view class="jobServer-box-btn-item flex justify-center flex-wrap"
-										@click="goNav('/my/renzheng/index')">
+										@click="goNav('/my/enterpriseInfo/enterpriseInfo?companyId=' + $queue.getData('companyId'))">
 										<image src="../../static/images/index/fwzx.svg" mode=""></image>
-										<view class=""> 认证中心 </view>
+										<view class=""> 公司主页 </view>
 									</view>
 									<view class="jobServer-box-btn-item flex justify-center flex-wrap"
 										@click="goNav('/package/deliveryRecord/deliveryRecord')">
@@ -522,7 +522,7 @@
 					</view>
 
 					<!-- 我的钱包 -->
-					<view class="money flex justify-center" v-if="XCXIsSelect != '否'">
+					<!-- <view class="money flex justify-center" v-if="XCXIsSelect != '否'">
 						<view class="money-box flex justify-center align-center">
 							<view class="money-box-c flex justify-between">
 								<view class="money-box-c-l flex flex-wrap" @click="goNav('/my/wallet/wallet')">
@@ -538,7 +538,7 @@
 								</view>
 							</view>
 						</view>
-					</view>
+					</view> -->
 
 					<!-- 我的招聘 -->
 					<!-- <view
@@ -620,21 +620,21 @@
 											我的权益
 										</view>
 									</view>
-									<view class="util-item">
+									<view class="util-item" @click="showToast('功能开发中')">
 										<image src="../../static/images/my/icon/utils/wallet.png"
 											style="width: 54rpx; height: 54rpx" mode=""></image>
 										<view class="" style="color: #1a1a1a; font-size: 24rpx; margin-top: 15rpx">
 											钱包
 										</view>
 									</view>
-									<view class="util-item">
+									<view class="util-item" @click="showToast('功能开发中')">
 										<image src="../../static/images/my/icon/utils/invoice.png"
 											style="width: 54rpx; height: 54rpx" mode=""></image>
 										<view class="" style="color: #1a1a1a; font-size: 24rpx; margin-top: 15rpx">
 											发票
 										</view>
 									</view>
-									<view class="util-item">
+									<view class="util-item" @click="showToast('功能开发中')">
 										<image src="../../static/images/my/icon/utils/user.png"
 											style="width: 54rpx; height: 54rpx" mode=""></image>
 										<view class="" style="color: #1a1a1a; font-size: 24rpx; margin-top: 15rpx">
@@ -828,7 +828,7 @@
 			};
 		},
 		onLoad(e) {
-			console.log(this.token);
+			console.log(e);
 			this.XCXIsSelect = this.$queue.getData("XCXIsSelect");
 			var that=this
 			uni.$on('changeRole',function(res){
@@ -960,6 +960,12 @@
 					// #endif
 				}
 			},
+			showToast(title) {
+				uni.showToast({
+					title: title,
+					icon: "none",
+				});
+			},
 			goNavStatus(url) {
 				if (this.companyStatus) {
 					if (this.companyStatus == 1) {

+ 59 - 26
pages/my/setup.vue

@@ -16,14 +16,20 @@
 		<view class="usermain">
 			
 			<!-- 我的公司 -->
-			<view class="usermain-item item-padding">
-				<view class="usermain-item-title">我的公司</view>
+			<view class="usermain-item item-padding" @click="goNavNoLogin('/my/setting/mimi')">
+				<view class="usermain-item-title">隐私协议</view>
 				<view>
 					<u-icon name="arrow-right"></u-icon>
 				</view>
 			</view>
-			<view class="usermain-item item-padding">
-				<view class="usermain-item-title">我的公司</view>
+			<view class="usermain-item item-padding" @click="goNavNoLogin('/my/setting/xieyi')">
+				<view class="usermain-item-title">用户协议</view>
+				<view>
+					<u-icon name="arrow-right"></u-icon>
+				</view>
+			</view>
+			<view class="usermain-item item-padding" @click="goNavNoLogin('/my/setting/about')">
+				<view class="usermain-item-title">关于我们</view>
 				<view>
 					<u-icon name="arrow-right"></u-icon>
 				</view>
@@ -65,7 +71,8 @@
 				zhiFuBao: '',
 				zhiFuBaoName: '',
 				sex: 1,
-				age: 0
+				age: 0,
+				arr:[]
 			};
 		},
 		computed: {
@@ -214,28 +221,32 @@
 			},
 			getUserInfo() {
 				let userId = uni.getStorageSync('userId')
-				this.$Request.get("/app/user/selectUserById").then(res => {
-					if (res.code == 0) {
-						this.$queue.setData('avatar', res.data.avatar);
-						this.$queue.setData('userId', res.data.userId);
-						this.$queue.setData('userName', res.data.userName);
-						this.$queue.setData('phone', res.data.phone);
-						this.$queue.setData('age', res.data.age);
-						this.$queue.setData('weChatNum',res.data.weChatNum)
-						this.weChatNum = res.data.weChatNum
-						this.sex = res.data.sex
-						this.age = res.data.age
-						this.phone = res.data.phone;
-						this.avatar = res.data.avatar;
-						this.userName = res.data.userName;
-						if (this.userName == null) {
-							this.userName = res.data.nickName;
-						} else {
-							this.userName = res.data.userName;
+				if (userId) {
+					this.$Request.getT("/app/common/type/310").then((res) => {
+						//消息未读提醒
+						if (res.code == 0) {
+							if (res.data && res.data.value) {
+								this.arr.push(res.data.value);
+							}
 						}
-					}
-					uni.hideLoading();
-				});
+					});
+					this.$Request.getT("/app/common/type/337").then((res) => {
+						//预约成功通知(通用)
+						if (res.code == 0) {
+							if (res.data && res.data.value) {
+								this.arr.push(res.data.value);
+							}
+						}
+					});
+					this.$Request.getT("/app/common/type/338").then((res) => {
+						//订单状态通知
+						if (res.code == 0) {
+							if (res.data && res.data.value) {
+								this.arr.push(res.data.value);
+							}
+						}
+					});
+				}
 
 
 			},
@@ -341,6 +352,28 @@
 					},
 				});
 			},
+			goNavNoLogin(e) {
+				// #ifdef MP-WEIXIN
+				if (uni.getStorageSync("sendMsg")) {
+					// console.log('授权+1')
+					wx.requestSubscribeMessage({
+						tmplIds: this.arr,
+						success(re) {
+							var datas = JSON.stringify(re);
+							if (datas.indexOf("accept") != -1) {
+								// console.log(re)
+							}
+						},
+						fail: (res) => {
+							// console.log(res)
+						},
+					});
+				}
+				// #endif
+				uni.navigateTo({
+					url: e,
+				});
+			},
 		},
 		// userphone(){
 		// 	uni.navigateTo({

+ 1 - 0
pages/public/loginphone.vue

@@ -249,6 +249,7 @@
 							}
 						}).catch((err) => {
 							uni.hideLoading();
+							console.log('错误信息',err)
 							console.error("微信登录接口异常:", err);
 						});
 				}

+ 4 - 67
pages/recruitmentData/communicationRecords.vue

@@ -286,78 +286,13 @@ export default {
         { name: '收藏简历' },
         // { name: '收藏职位' }
       ],
-      communicationRecords: [
-        {
-          id: 1,
-          name: '刘先生',
-          avatar: '../../static/images/avator.png',
-          isOnline: true,
-          isHot: true,
-          experience: '8年',
-          education: '本科',
-          salary: '10-15K',
-          jobStatus: '在职&考虑机会',
-          currentJob: '通拓集团·店铺运营',
-          jobExpectation: '亚马逊运营',
-          skills: ['精品', '铺货', 'TikTok', '平台运营', '投放策略', '3C数码'],
-          description: '负责Amazon英国、欧洲站、制定推广与销售计划,达成团队要求的销售业绩;做好数据的统计分析工作,收集、分析...',
-          workPeriod: '1年10个月',
-          date: '07-24'
-        },
-        {
-          id: 2,
-          name: '刘先生',
-          avatar: '../../static/images/avator.png',
-          isOnline: true,
-          isHot: true,
-          experience: '8年',
-          education: '本科',
-          salary: '10-15K',
-          jobStatus: '在职&考虑机会',
-          currentJob: '通拓集团·店铺运营',
-          jobExpectation: '亚马逊运营',
-          skills: ['精品', '铺货', 'TikTok', '平台运营', '投放策略', '3C数码'],
-          description: '负责Amazon英国、欧洲站、制定推广与销售计划,达成团队要求的销售业绩;做好数据的统计分析工作,收集、分析...',
-          workPeriod: '1年10个月',
-           date: '07-25'
-         }
-       ],
+      communicationRecords: [],
        // 面试相关数据
        selectedDate: null, // 当前选中的日期
        // 收藏相关数据
        favoriteRecords: [], // 收藏记录(空数组,显示空状态)
        favoriteJobs: [], // 收藏职位(空数组,显示空状态)
        interviewRecords: [
-         {
-           dateLabel: '今天',
-           time: '20:40',
-           candidateName: '刘先生',
-           experience: '8年',
-           education: '本科',
-           salary: '10-15K',
-           isToday: true,
-           isTomorrow: false
-         },
-         {
-           dateLabel: '明天',
-           time: '20:40',
-           candidateName: '刘先生',
-           experience: '8年',
-           education: '本科',
-           salary: '10-15K',
-           isToday: false,
-           isTomorrow: true
-         },
-         {
-           dateLabel: '8月15日',
-           time: '20:40',
-           candidateName: '刘先生',
-           experience: '8年',
-           education: '本科',
-           salary: '10-15K',
-           isToday: false,
-           isTomorrow: false
-         }
        ]
      }
   },
@@ -414,7 +349,9 @@ export default {
        return weekDates
      }
    },
-  onLoad() {
+  onLoad(options) {
+    console.log(options);
+    this.activeTab = options.tab ? parseInt(options.tab) : 0
     const systemInfo = uni.getSystemInfoSync()
     this.statusBarHeight = systemInfo.statusBarHeight || 0
 	  this.getData()

+ 1 - 0
static/images/pdf.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1764229655507" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="9328" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><path d="M160 32c-12 0-24.8 4.8-33.6 14.4S112 68 112 80v864c0 12 4.8 24.8 14.4 33.6 9.6 9.6 21.6 14.4 33.6 14.4h704c12 0 24.8-4.8 33.6-14.4 9.6-9.6 14.4-21.6 14.4-33.6V304L640 32H160z" fill="#FF5562" p-id="9329"></path><path d="M912 304H688c-12 0-24.8-4.8-33.6-14.4-9.6-8.8-14.4-21.6-14.4-33.6V32l272 272z" fill="#FFBBC0" p-id="9330"></path><path d="M696 843.2c-50.4 0-95.2-86.4-119.2-142.4-40-16.8-84-32-126.4-42.4-37.6 24.8-100.8 61.6-149.6 61.6-30.4 0-52-15.2-60-41.6-6.4-21.6-0.8-36.8 5.6-44.8 12.8-17.6 39.2-26.4 79.2-26.4 32 0 72.8 5.6 118.4 16.8 29.6-20.8 59.2-44.8 85.6-70.4-12-56-24.8-146.4 8-188 16-20 40.8-26.4 70.4-17.6 32.8 9.6 44.8 29.6 48.8 44.8 13.6 54.4-48.8 128-91.2 171.2 9.6 37.6 21.6 76.8 36.8 112.8C663.2 704 735.2 744 743.2 788c3.2 15.2-1.6 29.6-13.6 41.6-10.4 8.8-21.6 13.6-33.6 13.6z m-74.4-121.6c30.4 61.6 59.2 90.4 74.4 90.4 2.4 0 5.6-0.8 10.4-4.8 5.6-5.6 5.6-9.6 4.8-12.8-3.2-16-28.8-42.4-89.6-72.8z m-296-82.4c-39.2 0-50.4 9.6-53.6 13.6-0.8 1.6-4 5.6-0.8 16.8 2.4 9.6 8.8 19.2 29.6 19.2 25.6 0 62.4-14.4 105.6-40-31.2-6.4-58.4-9.6-80.8-9.6z m158.4-4.8c25.6 7.2 52 16 76.8 25.6-8.8-23.2-16-47.2-22.4-70.4-17.6 15.2-36 30.4-54.4 44.8zM583.2 376c-8.8 0-15.2 3.2-20.8 9.6-16.8 20.8-18.4 73.6-5.6 140.8 48.8-52 75.2-100 68.8-125.6-0.8-4-4-15.2-26.4-21.6-6.4-2.4-11.2-3.2-16-3.2z" fill="#FFFFFF" p-id="9331"></path></svg>

+ 4 - 0
uni_modules/zhouquan-fileSelector/changelog.md

@@ -0,0 +1,4 @@
+## 1.0.1(2025-02-08)
+修改APP端存放路径名称
+## 1.0.0(2025-02-08)
+文件选择器组件、多文件选择功能、文件类型识别功能(支持图片、文档、音频、视频、压缩包等)、文件列表展示功能、文件删除功能、H5平台支持、APP平台支持。

+ 272 - 0
uni_modules/zhouquan-fileSelector/components/zhouquan-fileSelector/file-selector.vue

@@ -0,0 +1,272 @@
+<template>
+    <view class="main">
+        <!-- 上传区域 -->
+        <view class="upload-area" @click="fileRender.createFileInputDom">
+            <text class="upload-text">{{title}}</text>
+        </view>
+        
+        <!-- 文件列表 -->
+        <view hidden class="file-list">
+            <view v-for="(file, index) in fileList" :key="index" class="file-item">
+                <text class="file-type-icon">
+                    {{getFileEmoji(file.name)}}
+                </text>
+                <view class="file-info">
+                    <text class="file-name">{{file.name}}</text>
+                </view>
+                <view class="delete-btn" @click="removeFile(index)">
+                    <text class="delete-icon">×</text>
+                </view>
+            </view>
+        </view>
+    </view>
+</template>
+
+<script>
+export default {
+    name: 'FileSelector',
+    props:{
+    	title: {
+    	 	type: String,
+    		default: '上传文件'
+    	},
+		allowType:{
+			type: String,
+			default: '*'
+		}
+    },
+    data() {
+        return {
+            fileList: [],
+            // 文件扩展名映射
+            fileTypes: {
+                image: ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp'],
+                document: ['doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'pdf', 'txt'],
+                audio: ['mp3', 'wav', 'ogg', 'aac'],
+                video: ['mp4', 'avi', 'mov', 'wmv', 'flv'],
+                archive: ['zip', 'rar', '7z', 'tar', 'gz'],
+                json: ['json']
+            }
+        }
+    },
+
+    methods: {
+        // 获取文件类型
+        getFileType(fileName) {
+            const extension = fileName.split('.').pop().toLowerCase()
+            for (let type in this.fileTypes) {
+                if (this.fileTypes[type].includes(extension)) return type
+            }
+            return 'other'
+        },
+
+        // 根据文件类型获取对应emoji
+        getFileEmoji(fileName) {
+            const fileType = this.getFileType(fileName)
+            const emojiMap = {
+                image: '🖼️',
+                document: '📄',
+                audio: '🎵',
+                video: '🎬',
+                archive: '📦',
+                json: '📋',
+                other: '📎'
+            }
+            return emojiMap[fileType] || '📎'
+        },
+
+        // 接收文件
+        async receiveRenderFile(result) {
+            let fileInfo = {
+                name: result.name,
+                path: ''
+            }
+
+            //#ifdef APP-PLUS
+            const fileUrl = await this.base64toPath(result.filePath, result.name)
+            fileInfo.path = fileUrl.localAbsolutePath
+            //#endif
+            //#ifdef H5
+            fileInfo.path = result.filePath
+            //#endif
+
+            this.fileList.push(fileInfo)
+            this.$emit('filesChanged', this.fileList)
+            this.$emit('fileSelected', fileInfo)
+        },
+
+        // 删除文件
+        removeFile(index) {
+            this.fileList.splice(index, 1)
+            this.$emit('filesChanged', this.fileList)
+        },
+
+        // APP端base64转本地路径
+        async base64toPath(base64, attachName) {
+            return new Promise((resolve, reject) => {
+                const filePath = `_doc/file/${attachName}`
+                plus.io.resolveLocalFileSystemURL('_doc', entry => {
+                    entry.getDirectory('file', {
+                        create: true,
+                        exclusive: false
+                    }, entry => {
+                        entry.getFile(attachName, {
+                            create: true,
+                            exclusive: false
+                        }, entry => {
+                            entry.createWriter(writer => {
+                                writer.onwrite = () => {
+                                    resolve({
+                                        relativePath: filePath,
+                                        localAbsolutePath: plus.io.convertLocalFileSystemURL(filePath)
+                                    })
+                                }
+                                writer.onerror = reject
+                                writer.seek(0)
+                                writer.writeAsBinary(this.getSymbolAfterString(base64, ','))
+                            }, reject)
+                        }, reject)
+                    }, reject)
+                }, reject)
+            })
+        },
+
+        getSymbolAfterString(val, symbolStr) {
+            return val ? val.toString().split(symbolStr)[1] || val : ''
+        }
+    }
+}
+</script>
+
+<script module="fileRender" lang="renderjs">
+export default {
+    methods: {
+        createFileInputDom(e, ownerVm) {
+            const fileInput = document.createElement('input')
+            fileInput.setAttribute('type', 'file')
+            fileInput.setAttribute('accept', this.allowType)
+            fileInput.setAttribute('multiple', 'multiple')
+            fileInput.click()
+
+            fileInput.addEventListener('change', e => {
+                if (!e.target.files.length) return
+
+                Array.from(e.target.files).forEach(file => {
+                    //#ifdef H5
+                    ownerVm.callMethod('receiveRenderFile', {
+                        name: file.name,
+                        filePath: URL.createObjectURL(file)
+                    })
+                    //#endif
+
+                    //#ifdef APP-PLUS
+                    const reader = new FileReader()
+                    reader.onload = ({target}) => {
+                        target?.result && ownerVm.callMethod('receiveRenderFile', {
+                            name: file.name,
+                            filePath: target.result
+                        })
+                    }
+                    reader.readAsDataURL(file)
+                    //#endif
+                })
+            })
+        }
+    }
+}
+</script>
+
+<style>
+/* 基础样式 */
+.main {
+    padding: 20rpx;
+}
+
+/* 上传区域样式 */
+.upload-area {
+    display: flex;
+    flex-direction: row;
+    align-items: center;
+    justify-content: center;
+    box-sizing: border-box;
+	color: white;
+	    background: #016bf6;
+	    text-align: center;
+	    width: calc(90% + 40rpx);
+	    height: 45px;
+	    font-size: 18px;
+	    line-height: 45px;
+	    margin: 11px auto;
+	    border-radius: 22px;
+}
+
+.upload-icon {
+    width: 44rpx;
+    height: 44rpx;
+    border-radius: 4rpx;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    margin-bottom: 8rpx;
+}
+
+.icon-plus {
+    font-size: 28rpx;
+    font-weight: 100;
+}
+
+.upload-text {
+/*    font-size: 22rpx;
+    color: #A8A8A8; */
+}
+
+/* 文件列表样式 */
+.file-list {
+    width: 100%;
+}
+
+.file-item {
+    background-color: #FFFFFF;
+    border-radius: 8rpx;
+    padding: 20rpx;
+    margin-bottom: 16rpx;
+    display: flex;
+    align-items: center;
+}
+
+.file-type-icon {
+    width: 44rpx;
+    height: 44rpx;
+    margin-right: 16rpx;
+    font-size: 32rpx;
+    text-align: center;
+    line-height: 44rpx;
+}
+
+.file-info {
+    flex: 1;
+    overflow: hidden;
+}
+
+.file-name {
+    font-size: 22rpx;
+    color: #A8A8A8;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+}
+
+.delete-btn {
+    padding: 4rpx 8rpx;
+}
+
+.delete-icon {
+    font-size: 24rpx;
+    color: #C7C7C7;
+    line-height: 1;
+}
+
+.delete-icon:active {
+    color: #ff4444;
+}
+</style> 

+ 77 - 0
uni_modules/zhouquan-fileSelector/package.json

@@ -0,0 +1,77 @@
+{
+  "id": "zhouquan-fileSelector",
+  "name": "文件选择器",
+  "displayName": "文件选择器(APP、H5)",
+  "version": "1.0.1",
+  "description": "一个简单易用的文件选择器组件,支持多文件选择、文件类型识别、文件列表展示等功能。支持H5和APP平台",
+  "keywords": [
+    "文件",
+    "文件选择",
+    "多文件",
+    "文件列表"
+],
+  "repository": "",
+"engines": {
+  },
+"dcloudext": {
+    "sale": {
+      "regular": {
+        "price": "0.00"
+      },
+      "sourcecode": {
+        "price": "0.00"
+      }
+    },
+    "contact": {
+      "qq": ""
+    },
+    "declaration": {
+      "ads": "无",
+      "data": "插件不采集任何数据",
+      "permissions": "无"
+    },
+    "npmurl": "",
+    "type": "component-vue"
+  },
+  "uni_modules": {
+    "dependencies": [],
+    "encrypt": [],
+    "platforms": {
+      "cloud": {
+        "tcb": "y",
+        "aliyun": "y",
+        "alipay": "y"
+      },
+      "client": {
+        "App": {
+          "app-vue": "y",
+          "app-nvue": "n"
+        },
+        "H5-mobile": {
+          "Safari": "y",
+          "Android Browser": "y",
+          "微信浏览器(Android)": "y",
+          "QQ浏览器(Android)": "y"
+        },
+        "H5-pc": {
+          "Chrome": "y",
+          "IE": "n",
+          "Edge": "y",
+          "Firefox": "y",
+          "Safari": "y"
+        },
+        "小程序": {
+          "微信": "n",
+          "阿里": "n",
+          "百度": "n",
+          "字节跳动": "n",
+          "QQ": "n"
+        },
+        "快应用": {
+          "华为": "n",
+          "联盟": "n"
+        }
+      }
+    }
+  }
+}