Ver código fonte

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

jianghaili 5 dias atrás
pai
commit
83caab5e65

+ 4 - 1
.gitignore

@@ -1,4 +1,7 @@
-/unpackage
+/unpackage/dist
+/unpackage/debug
+/unpackage/release
+/unpackage/cache
 
 
 # Node modules

+ 38 - 0
androidPrivacy.json

@@ -0,0 +1,38 @@
+{
+    "version" : "1",
+    "prompt" : "template",
+    "title" : "服务协议和隐私政策",
+    "message" : "  请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。<br/>  你可阅读<a href=\"https://master.jiujunet.cn/template/privacy.html?type=protocol\">《服务协议》</a>和<a href=\"https://master.jiujunet.cn/template/privacy.html?type=privacy\">《隐私政策》</a>了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。",
+    "buttonAccept" : "同意并接受",
+    "buttonRefuse" : "暂不同意",
+    "hrefLoader" : "system",
+    "backToExit" : "false",
+    "second" : {
+        "title" : "确认提示",
+        "message" : "  进入应用前,你需先同意<a href=\"https://master.jiujunet.cn/template/privacy.html?type=protocol\">《服务协议》</a>和<a href=\"https://master.jiujunet.cn/template/privacy.html?type=privacy\">《隐私政策》</a>,否则将退出应用。",
+        "buttonAccept" : "同意并继续",
+        "buttonRefuse" : "退出应用"
+    },
+    "disagreeMode" : {
+        "support" : false,
+        "loadNativePlugins" : false,
+        "visitorEntry" : false,
+        "showAlways" : false
+    },
+    "styles" : {
+        "backgroundColor" : "#fff",
+        "borderRadius" : "5px",
+        "title" : {
+            "color" : "#000"
+        },
+        "buttonAccept" : {
+            "color" : "#000"
+        },
+        "buttonRefuse" : {
+            "color" : "#9b9ab9"
+        },
+        "buttonVisitor" : {
+            "color" : "#000"
+        }
+    }
+}

+ 1 - 1
manifest.json

@@ -1,5 +1,5 @@
 {
-    "name" : "码兄聘聘",
+    "name" : "亿职赞",
     "appid" : "__UNI__0B0096D",
     "description" : "",
     "versionName" : "1.0.1",

+ 7 - 4
pages/index/game/gameList.vue

@@ -1,7 +1,7 @@
 <template>
-	<view class="page-container">
+	<view class="page-container" :style="{ paddingTop: (12 + statusBarHeight) + 'px' }">
 		<!-- 搜索栏 -->
-		<view class="search-section" :class="{'fixed': isFixed}">
+		<view class="search-section" :class="{'fixed': isFixed}" :style="isFixed ? { paddingTop: (12 + statusBarHeight) + 'px' } : {}">
 			<view class="search-bar">
 				<u-icon name="search" color="#999999" size="32" class="search-icon"></u-icon>
 				<input type="text" placeholder="搜索职位" class="search-input" v-model="searchKeyword" @confirm="handleSearch" />
@@ -173,6 +173,7 @@
 		name: 'gameList',
 		data() {
 			return {
+				statusBarHeight: 0, // 状态栏高度
 				current: 0,
 				typeList: [],
 				currentSx: 0,
@@ -200,6 +201,10 @@
 			};
 		},
 		onLoad() {
+			// 获取状态栏高度
+			let systemInfo = uni.getSystemInfoSync();
+			this.statusBarHeight = systemInfo.statusBarHeight || 0;
+			
 			this.getTypeList()
 			this.getLocation()
 			this.getJobSearchList()
@@ -381,7 +386,6 @@
 		background-size: cover;
 		background-position: center;
 		background-repeat: no-repeat;
-        padding-top: 80rpx;
 	}
 
 	.search-section {
@@ -894,7 +898,6 @@
 		background-position: top center;
 		background-repeat: no-repeat;
 		height: 19vh;
-        padding-top: 80rpx;
 	}
 	
 	.topbg-type.fixed {

+ 9 - 6
pages/index/index.vue

@@ -92,9 +92,9 @@
 							</u-grid>
 						</view> -->
 					</view>
-					<view class="topbg-sticky">
-						<!-- 标题-搜索 -->
-						<view class="topbg-sticky-box">
+				<view class="topbg-sticky" :style="{ paddingTop: (12 + statusBarHeight) + 'px' }">
+					<!-- 标题-搜索 -->
+					<view class="topbg-sticky-box">
 							<view class="topbg-sticky-title flex justify-between align-center">
 								<view class="topbg-sticky-title-left flex align-center">
 									<image src="../../static/images/index/xingIcon.svg" class="xing-icon" />
@@ -337,7 +337,7 @@
 
 				<!-- 筛选 -->
 				<u-sticky @fixed="isfixed" @unfixed="isunfixed" :radius='40' h5-nav-height="0" :enable="enable">
-					<view class="qySx flex justify-center" :class="isfixeds==true?'isfixed':'isfixeds'">
+					<view class="qySx flex justify-center" :class="isfixeds==true?'isfixed':'isfixeds'" :style="{ paddingTop: (12 + statusBarHeight) + 'px !important' }">
 						<view class="qySx-box">
 							<!-- 第一行:tabs -->
 							<view class="qySx-box-row flex justify-between align-center">
@@ -479,6 +479,7 @@
 		},
 		data() {
 			return {
+				statusBarHeight: 0, // 状态栏高度
 				enable: true, //开启吸顶
 				goback: false,
 				city: '',
@@ -639,6 +640,10 @@
 			}
 		},
 		onLoad(e) {
+			// 获取状态栏高度
+			let systemInfo = uni.getSystemInfoSync();
+			this.statusBarHeight = systemInfo.statusBarHeight || 0;
+			
 			// #ifdef APP
 			this.getAudioPermision()
 			// #endif
@@ -1617,7 +1622,6 @@
 		position: sticky;
 		top: 0px;
 		// z-index: 999;
-		padding-top: 44px;
 		
 		/* 波浪效果 */
 		--c: rgba(255, 255, 255, 0.1);
@@ -2163,7 +2167,6 @@
 	.qySx {
 		position: fixed;
 		top: 0;
-		padding-top: 80rpx !important;
 		z-index: 999;
 		width: 100%;
 		background: linear-gradient(180.00deg, rgba(255, 102, 0, 1),rgba(255, 89, 89, 1) 83%);

+ 8 - 4
pages/my/VIP/benefits.vue

@@ -1,7 +1,7 @@
 <template>
-  <view class="benefits-page">
+  <view class="benefits-page" :style="{ paddingTop: (12 + statusBarHeight + 44) + 'px' }">
     <!-- 顶部导航栏 -->
-    <view class="nav-bar">
+    <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>
@@ -209,6 +209,7 @@
 export default {
   data() {
     return {
+      statusBarHeight: 0, // 状态栏高度
       // 当前会员信息
       currentPlan: 'regular',
       remainingDays: 5,
@@ -229,6 +230,11 @@ export default {
       }
     }
   },
+  onLoad() {
+    // 获取状态栏高度
+    let systemInfo = uni.getSystemInfoSync();
+    this.statusBarHeight = systemInfo.statusBarHeight || 0;
+  },
   methods: {
     // 返回上一页
     goBack() {
@@ -276,7 +282,6 @@ export default {
   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;
-  padding-top: 148rpx;
 }
 
 // 顶部导航栏
@@ -293,7 +298,6 @@ export default {
     justify-content: space-between;
     height: 88rpx;
     padding: 0 32rpx;
-    margin-top: 44rpx; // 状态栏高度
     
     .nav-left, .nav-right {
       width: 60rpx;

+ 9 - 0
pages/my/index.vue

@@ -32,6 +32,7 @@
             <image
               src="@/static/images/jobApplicant/qiehuan.svg"
               mode="scaleToFill"
+              style="margin-top: 40rpx;"
               @click="bindQe(userType)"
             />
             <!-- <image
@@ -431,6 +432,7 @@
             <image
               src="/static/images/jobApplicant/qiehuan.svg"
               mode="scaleToFill"
+              style="margin-top: 40rpx;"
               @click="bindQe(userType)"
             />
             <!-- <image
@@ -582,6 +584,13 @@
           <view class="jobServer-box-c">
             <view class="jobServer-box-title"> 招聘服务 </view>
             <view class="jobServer-box-btn flex justify-between">
+              <view
+                class="jobServer-box-btn-item flex justify-center flex-wrap"
+                @click="goNav('/pages/recruitmentData/index')"
+              >
+                <image src="../../static/images/index/shuju.svg" mode=""></image>
+                <view class=""> 招聘数据 </view>
+              </view>
               <view
                 class="jobServer-box-btn-item flex justify-center flex-wrap"
                 @click="goNavStatus('/package/addJob/addJob')"

+ 22 - 5
pages/my/userinfo.vue

@@ -1,16 +1,18 @@
 <template>
 	<view>
 		<!-- 顶部导航栏 -->
-		<view class="navbar">
+		<view class="navbar" :style="{ paddingTop: (12 + statusBarHeight) + 'px' }">
 			<view class="navbar-content">
 				<view class="navbar-left" @click="goBack">
-					<u-icon name="arrow-leftward" size="38" color="#333"></u-icon>
+					<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="usermain">
 			<view class="usermain-item ">
 				<view class="usermain-item-title">头像</view>
@@ -130,9 +132,14 @@
 
 <script>
 	import configdata from '../../common/config.js';
+	import navBar from "@/components/nav-bar/index.vue";
 	export default {
+		components: {
+			navBar
+		},
 		data() {
 			return {
+				statusBarHeight: 0, // 状态栏高度
 				phone: '',
 				weChatNum:'',//微信号
 				email: '',//接收简历邮箱
@@ -165,6 +172,10 @@
 			}
 		},
 		onLoad(e) {
+			// 获取状态栏高度
+			let systemInfo = uni.getSystemInfoSync();
+			this.statusBarHeight = systemInfo.statusBarHeight || 0;
+			
 			this.getUserInfo()
 			// this.avatar = uni.getStorageSync('avatar')
 		},
@@ -389,8 +400,13 @@
 	}
 
 	.navbar {
+		position: fixed;
+		top: 0;
+		left: 0;
+		right: 0;
+		z-index: 999;
 		background: #fff;
-		padding: 80rpx 0 40rpx 20rpx;
+		padding: 0 0 40rpx 20rpx;
 		
 		.navbar-content {
 			display: flex;
@@ -410,9 +426,9 @@
 			.navbar-title {
                 color: rgba(23, 23, 37, 1);
                 font-family: DM Sans;
-                font-size: 20px;
+                font-size: 36rpx;
                 font-weight: 700;
-                line-height: 26px;
+                line-height: 52rpx;
                 letter-spacing: 0%;
                 text-align: center;
 			}
@@ -450,6 +466,7 @@
 	.usermain {
 		background: #ffffff;
 		/* color: #fff; */
+		margin-top: 120rpx; /* 为固定导航栏留出空间 */
 	}
 
 	.usermain-item {

+ 10 - 3
pages/recruitmentData/dataCenter.vue

@@ -1,7 +1,7 @@
 <template>
   <view class="page">
     <!-- Custom Navbar -->
-    <view class="custom-navbar" :style="{ paddingTop: statusBarHeight + 'px' }">
+    <!-- <view class="custom-navbar" :style="{ paddingTop: statusBarHeight + 'px' }">
       <view class="navbar-content">
         <view class="navbar-left" @click="goBack">
           <u-icon name="arrow-leftward" color="white" size="36"></u-icon>
@@ -9,7 +9,9 @@
         <view class="navbar-title">招聘数据中心</view>
         <view class="navbar-right"></view>
       </view>
-    </view>
+    </view> -->
+
+    <nav-bar title="招聘数据中心"></nav-bar>
 
     <!-- Filter Section -->
     <view class="filter-section">
@@ -167,7 +169,12 @@
 </template>
 
 <script>
+import navBar from "@/components/nav-bar/index.vue";
+
 export default {
+  components: {
+    navBar
+  },
   data() {
     return {
       statusBarHeight: 0
@@ -245,7 +252,7 @@ export default {
 
 /* Filter Section */
 .filter-section {
-  padding: 180rpx 32rpx 32rpx 32rpx;
+  padding: 0rpx 32rpx 32rpx 32rpx;
 }
 
 .filter-buttons {

+ 43 - 26
pages/recruitmentData/index.vue

@@ -1,29 +1,26 @@
 <template>
   <view class="page">
-    <!-- 自定义导航栏 -->
-    <view class="custom-navbar" :style="{ paddingTop: statusBarHeight + 'px' }">
-      <view class="navbar-content">
-        <view class="navbar-left" @click="goBack">
-          <u-icon name="arrow-leftward" color="white" size="36"></u-icon>
-        </view>
-        <view class="navbar-title">招聘数据</view>
-        <view class="navbar-right"></view>
-      </view>
-    </view>
-
-    <!-- 头部区域 -->
-    <view class="header-section">
-      <view class="header-content">
-        <view class="main-title">我的招聘数据</view>
-        <view class="week-data-btn" @click="toggleWeekData">
-          <image src="/static/images/zhoushuju.svg" class="week-icon" mode="aspectFit"></image>
-          <text class="btn-text">周数据</text>
+    <!-- 背景层 -->
+    <view class="detail-bg"></view>
+    
+    <!-- 导航栏 -->
+    <nav-bar title="招聘数据"></nav-bar>
+
+    <!-- 可滚动内容区域 -->
+    <view class="content">
+      <!-- 头部区域 -->
+      <view class="header-section">
+        <view class="header-content">
+          <view class="main-title">我的招聘数据</view>
+          <view class="week-data-btn" @click="toggleWeekData">
+            <image src="/static/images/zhoushuju.svg" class="week-icon" mode="aspectFit"></image>
+            <text class="btn-text">周数据</text>
+          </view>
         </view>
       </view>
-    </view>
 
-    <!-- 内容区域 -->
-    <view class="content-section">
+      <!-- 内容区域 -->
+      <view class="content-section">
       <!-- 今日数据卡片 -->
       <view class="today-data-card">
         <view class="card-header">
@@ -97,11 +94,17 @@
         </view>
       </view>
     </view>
+    </view>
   </view>
 </template>
 
 <script>
+import navBar from "@/components/nav-bar/index.vue";
+
 export default {
+  components: {
+    navBar
+  },
   data() {
     return {
       statusBarHeight: 0,
@@ -174,10 +177,24 @@ export default {
 
 <style lang="scss" scoped>
 .page {
-    background: linear-gradient(180.00deg, rgba(255, 102, 0, 1),rgba(255, 102, 0, 0) 100%);
-    background-size: 100% 40%;
-    background-position: center top;
-    background-repeat: no-repeat;
+    display: flex;
+    flex-direction: column;
+    height: 100vh;
+}
+
+.detail-bg {
+    height: 327px;
+    width: 100%;
+    background: linear-gradient(180deg, rgba(255, 102, 0, 1), rgba(255, 102, 0, 0) 100%);
+    position: absolute;
+}
+
+.content {
+    flex: 1;
+    overflow: auto;
+    display: flex;
+    flex-direction: column;
+    z-index: 0;
 }
 
 /* 自定义导航栏 */
@@ -222,7 +239,7 @@ export default {
 
 /* 头部区域 */
 .header-section {
-  padding: 180rpx 32rpx  0rpx 32rpx;
+  padding: 40rpx 32rpx 0rpx 32rpx;
 }
 
 .header-content {

+ 28 - 7
pages/talentSearch/index.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="talent-search-page">
 		<!-- 搜索框 -->
-		<view class="search flex align-center justify-center">
+		<view class="search flex align-center justify-center" :style="{ paddingTop: (12 + statusBarHeight) + 'px' }">
 			<view class="search-box">
 				<view class="dropdown-btn" @click="showDropdown">
 					<text class="dropdown-text">{{ positionOptions[selectedPosition] }}</text>
@@ -19,7 +19,7 @@
 		</view>
 		
 		<!-- 筛选栏 -->
-		<view class="topbg-sx-box flex justify-start align-center">
+		<view class="topbg-sx-box flex justify-start align-center" :style="{ top: searchBoxHeight }">
 			<view class="topbg-sx-box-r flex align-center">
 				<!-- 城市 -->
 				<view class="topbg-sx-box-r-i flex align-center" style="">
@@ -40,7 +40,7 @@
 		</view>
 		
 		<!-- 人才列表 -->
-		<view class="talent-list">
+		<view class="talent-list" :style="{ marginTop: talentListMarginTop }">
 			<view 
 				class="talent-card" 
 				v-for="(talent, index) in talentList" 
@@ -133,6 +133,7 @@
 export default {
 	data() {
 		return {
+			statusBarHeight: 0, // 状态栏高度
 			searchKeyword: '',
 			currentSx: 0,
 			sxTypeList: [
@@ -216,9 +217,28 @@ export default {
 					description: '负责Amazon英国、欧洲站、制定推广与销售计划,达成团队要求的销售业绩;做好数据的统计分析工作,收集、分析...',
 					workPeriod: ''
 				}
-			]
+	]
+}
+},
+	computed: {
+		// 计算搜索框的总高度(px)
+		searchBoxHeight() {
+			// 动态 paddingTop (12 + statusBarHeight) + 搜索框内容高度 + paddingBottom
+			// 搜索框内容约 52rpx ≈ 26px, paddingBottom 20rpx ≈ 10px
+			return (12 + this.statusBarHeight + 26 + 10) + 'px';
+		},
+		// 计算人才列表的 margin-top(包括搜索框 + 筛选栏)
+		talentListMarginTop() {
+			// 搜索框高度 + 筛选栏高度(紧凑布局)
+			// 筛选栏实际高度约 46px(按钮18px + 内边距16px + 外边距12px)
+			return (12 + this.statusBarHeight + 26 + 10 + 46) + 'px';
 		}
 	},
+	onLoad() {
+		// 获取状态栏高度
+		let systemInfo = uni.getSystemInfoSync();
+		this.statusBarHeight = systemInfo.statusBarHeight || 0;
+	},
 	methods: {
 		// 返回上一页
 		goBack() {
@@ -357,7 +377,8 @@ export default {
 	position: fixed;
 	top: 0;
 	width: 100%;
-	padding: 80rpx 20rpx 20rpx 20rpx;
+	padding: 0rpx 20rpx 20rpx 20rpx;
+	// padding-top 已改为动态计算,在模板中通过 :style 设置
 	background: linear-gradient(180.00deg, rgba(255, 102, 0, 1),rgba(255, 89, 89, 1) 83%);
 	z-index: 99;
 
@@ -490,7 +511,7 @@ export default {
 
 .topbg-sx-box {
 	position: fixed;
-	top: 160rpx;
+	// top: 160rpx; // 已改为动态计算,在模板中通过 :style 设置
 	left: 0;
 	right: 0;
 	width: 100%;
@@ -569,7 +590,7 @@ export default {
 }
 
 .talent-list {
-	margin-top: 280rpx;
+	// margin-top: 280rpx; // 已改为动态计算,在模板中通过 :style 设置
 	padding: 20rpx;
 }
 

BIN
unpackage/res/icons/1024x1024.png


BIN
unpackage/res/icons/120x120.png


BIN
unpackage/res/icons/144x144.png


BIN
unpackage/res/icons/152x152.png


BIN
unpackage/res/icons/167x167.png


BIN
unpackage/res/icons/180x180.png


BIN
unpackage/res/icons/192x192.png


BIN
unpackage/res/icons/20x20.png


BIN
unpackage/res/icons/29x29.png


BIN
unpackage/res/icons/40x40.png


BIN
unpackage/res/icons/58x58.png


BIN
unpackage/res/icons/60x60.png


BIN
unpackage/res/icons/72x72.png


BIN
unpackage/res/icons/76x76.png


BIN
unpackage/res/icons/80x80.png


BIN
unpackage/res/icons/87x87.png


BIN
unpackage/res/icons/96x96.png