yangg 3 hete
szülő
commit
64d2fb41b9

+ 4 - 3
api/user.js

@@ -21,13 +21,14 @@ export function wxLogin(loginParams) {
       gender: loginParams.userInfo?.gender || 0,
       province: loginParams.userInfo?.province || '',
       city: loginParams.userInfo?.city || '',
-      country: loginParams.userInfo?.country || ''
+      country: loginParams.userInfo?.country || '',
+      tenant_id: uni.getStorageSync('tenant_id') ||JSON.parse(uni.getStorageSync('userInfo')).tenant_id || 1,
     },
     signature: loginParams.signature || '',
     rawData: loginParams.rawData || '',
     encryptedData: loginParams.encryptedData || '',
     iv: loginParams.iv || '',
-    tenant_id: 1,
+    tenant_id: uni.getStorageSync('tenant_id') ||JSON.parse(uni.getStorageSync('userInfo')).tenant_id || 1,
     _csrf: csrfToken // 添加 CSRF token
   };
   
@@ -101,7 +102,7 @@ export const getJobList = (params = {}) => {
     limit: 50,
     searchTerms: '',
     status: '',
-    tenant_id: 1
+    tenant_id: uni.getStorageSync('tenant_id') || JSON.parse(uni.getStorageSync('userInfo')).tenant_id ||1
   };
   
   // 合并默认参数和传入参数

+ 1 - 1
common/config.js

@@ -2,7 +2,7 @@
 //线上 https://minlong.raycos.com.cn
 //测试 http://192.168.66.187:8083
 //https://backend.qicai321.com
-export const apiBaseUrl = 'https://backend.qicai321.com';//'http://192.168.100.115:8083';//
+export const apiBaseUrl = 'https://backend.qicai321.com';//'http://192.168.100.109:8083';//
 
 // You can add other global configuration settings here
 export const appVersion = '1.0.0';

+ 3 - 3
pages/Personal/Personal.vue

@@ -1818,7 +1818,7 @@ import { apiBaseUrl } from '@/common/config.js';
 				try {
 					const userData = JSON.parse(userInfo);
 					const submitData = {
-						tenant_id: 1,
+						tenant_id: uni.getStorageSync('tenant_id') ||JSON.parse(uni.getStorageSync('userInfo')).tenant_id ||1,
 						user_id: userData.id,
 						personal_info: {
 							name: this.formData.name,
@@ -2172,7 +2172,7 @@ import { apiBaseUrl } from '@/common/config.js';
 						name: data.name,
 						id_card: data.idCard,
 						purePhoneNumber: data.phone,
-						tenant_id: 1,
+						tenant_id:uni.getStorageSync('tenant_id') ||JSON.parse(uni.getStorageSync('userInfo')).tenant_id || 1,
 						examine:0
 					},
 					header: {
@@ -2333,7 +2333,7 @@ import { apiBaseUrl } from '@/common/config.js';
 				}
 				
 				uni.request({
-					url: `${apiBaseUrl}/api/wechat/user/get_full_info?tenant_id=1&openid=${openid}`,
+					url: `${apiBaseUrl}/api/wechat/user/get_full_info?tenant_id=${uni.getStorageSync('tenant_id') || JSON.parse(uni.getStorageSync('userInfo')).tenant_id ||1}&openid=${openid}`,
 					method: 'GET',
 					success: (res) => {
 						// 无论结果如何,都保持承诺书显示状态

+ 3 - 3
pages/camera/camera.vue

@@ -469,7 +469,7 @@
 						position_id:JSON.parse(uni.getStorageSync('selectedJob')).id,
 						page:1,
 						limit:999,
-						tenant_id:JSON.parse(uni.getStorageSync('userInfo')).tenant_id || 1
+						tenant_id:uni.getStorageSync('tenant_id') ||JSON.parse(uni.getStorageSync('userInfo')).tenant_id || 1
 					});
 					console.log(res.items);
 										// 使用第一个面试
@@ -539,7 +539,7 @@
 			async fetchBlankQuestions() {
 				try {
 					const positionId = JSON.parse(uni.getStorageSync('selectedJob')).id;
-					const tenantId = JSON.parse(uni.getStorageSync('userInfo')).tenant_id || 1;
+					const tenantId = uni.getStorageSync('tenant_id') ||JSON.parse(uni.getStorageSync('userInfo')).tenant_id || 1;
 							
 					const res = await this.$http.get(`${apiBaseUrl}/api/wechat/blank_questions/?tenant_id=${tenantId}&position_id=${positionId}`);
 							console.log(res)
@@ -1386,7 +1386,7 @@
 						// answer_content: answerContent,
 						answer_options: answerOptions, 
 						answer_duration: this.currentAnswer.answerDuration || 0,
-						tenant_id:JSON.parse(uni.getStorageSync('userInfo')).tenant_id || 1
+						tenant_id:uni.getStorageSync('tenant_id') ||JSON.parse(uni.getStorageSync('userInfo')).tenant_id || 1
 					};
 									
 					// 如果是填空题,添加 blank_answers 字段

+ 2 - 2
pages/face-photo/face-photo.vue

@@ -219,7 +219,7 @@ export default {
     uploadMedia(callback) {
       // 获取openid和tenant_id,可以从缓存或全局状态获取
       const openid = JSON.parse(uni.getStorageSync('userInfo')).openid || '';
-      const tenant_id =JSON.parse(uni.getStorageSync('userInfo')).tenant_id || 1;
+      const tenant_id =uni.getStorageSync('tenant_id') ||JSON.parse(uni.getStorageSync('userInfo')).tenant_id || 1;
       
       if (!openid || !tenant_id) {
         uni.hideLoading();
@@ -270,7 +270,7 @@ export default {
     // 提交照片URL到指定接口 - 修改为直接上传文件
     submitPhotoUrl() {
       const openid = JSON.parse(uni.getStorageSync('userInfo')).openid || '';
-      const tenant_id =JSON.parse(uni.getStorageSync('userInfo')).tenant_id || 1;
+      const tenant_id =uni.getStorageSync('tenant_id') ||JSON.parse(uni.getStorageSync('userInfo')).tenant_id || 1;
       
       if (!this.mediaSource) {
         uni.hideLoading();

+ 5 - 5
pages/followUp/followUp.vue

@@ -1624,7 +1624,7 @@ export default {
       // 获取用户信息
       const userInfo = uni.getStorageSync('userInfo');
       const openid = userInfo ? (JSON.parse(userInfo).openid || '') : '';
-      const tenant_id = JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1';
+      const tenant_id = uni.getStorageSync('tenant_id') ||JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1';
       
       // 创建FormData
       const formData = new FormData();
@@ -1699,7 +1699,7 @@ export default {
       // 获取用户信息
       const userInfo = uni.getStorageSync('userInfo');
       const openid = userInfo ? (JSON.parse(userInfo).openid || '') : '';
-      const tenant_id = JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1';
+      const tenant_id = uni.getStorageSync('tenant_id') ||JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1';
       
       // 创建上传任务
       const uploadTask = uni.uploadFile({
@@ -1828,7 +1828,7 @@ export default {
         application_id: uni.getStorageSync('appId'),
         question_id: questionId,
         video_url: videoUrl,
-        tenant_id: JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1'
+        tenant_id: uni.getStorageSync('tenant_id') ||JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1'
       };
       
       console.log('提交面试请求参数:', requestData);
@@ -2517,7 +2517,7 @@ export default {
       this.loading = true;
       
       // 获取tenant_id,如果没有则使用默认值1
-      const tenant_id = JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1';
+      const tenant_id =uni.getStorageSync('tenant_id') || JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1';
       
       // 获取当前选择的职位ID
       let position_id = 1; // 默认值
@@ -2762,7 +2762,7 @@ export default {
       this.loading = true;
       
       // 获取tenant_id,如果没有则使用默认值1
-      const tenant_id = JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1';
+      const tenant_id =uni.getStorageSync('tenant_id') || JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1';
       
       // 获取当前选择的职位ID
       let position_id = 1; // 默认值

+ 10 - 10
pages/identity-verify/identity-verify.vue

@@ -657,7 +657,7 @@ export default {
             url: `${apiBaseUrl}/api/voice_interview_interaction/`,
             method: 'POST',
             data: {
-              tenant_id: userInfo.tenant_id || 1,
+              tenant_id: uni.getStorageSync('tenant_id') ||userInfo.tenant_id || 1,
               question_id: jobPositionQuestionId,
               position_config_id: positionConfigId,
               application_id: appId
@@ -2440,7 +2440,7 @@ export default {
       // 获取用户信息
       const userInfo = uni.getStorageSync('userInfo');
       const openid = userInfo ? (JSON.parse(userInfo).openid || '') : '';
-      const tenant_id = JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1';
+      const tenant_id = uni.getStorageSync('tenant_id') ||JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1';
       
       // 创建FormData
       const formData = new FormData();
@@ -2514,7 +2514,7 @@ export default {
       // 获取用户信息
       const userInfo = uni.getStorageSync('userInfo');
       const openid = userInfo ? (JSON.parse(userInfo).openid || '') : '';
-      const tenant_id = JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1';
+      const tenant_id = uni.getStorageSync('tenant_id') ||JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1';
       
       // 创建上传任务
       const uploadTask = uni.uploadFile({
@@ -2611,7 +2611,7 @@ export default {
       // 准备请求参数
       const followUpRequestData = {
         application_id: uni.getStorageSync('appId'),
-        tenant_id: JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1',
+        tenant_id: uni.getStorageSync('tenant_id') ||JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1',
         video_url: videoUrl,
         original_question_id: this.parentJobPositionQuestionId, // 使用保存的job_position_question_id
         follow_up_question: task.questionText,
@@ -2763,7 +2763,7 @@ export default {
       // 获取用户信息
       const userInfo = uni.getStorageSync('userInfo');
       const openid = userInfo ? (JSON.parse(userInfo).openid || '') : '';
-      const tenant_id = JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1';
+      const tenant_id =uni.getStorageSync('tenant_id') || JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1';
       
       // 创建FormData
       const formData = new FormData();
@@ -2838,7 +2838,7 @@ export default {
       // 获取用户信息
       const userInfo = uni.getStorageSync('userInfo');
       const openid = userInfo ? (JSON.parse(userInfo).openid || '') : '';
-      const tenant_id = JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1';
+      const tenant_id =uni.getStorageSync('tenant_id') || JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1';
       
       // 创建上传任务
       const uploadTask = uni.uploadFile({
@@ -2939,7 +2939,7 @@ export default {
         application_id: uni.getStorageSync('appId'),
         question_id: task.questionId,
         video_url: videoUrl,
-        tenant_id: JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1',
+        tenant_id: uni.getStorageSync('tenant_id') ||JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1',
         is_follow_up: task.isFollowUp ? 1 : 0,
         question_form: task.questionForm,
         question_text: task.questionText
@@ -2952,7 +2952,7 @@ export default {
         // 追问视频上传
         const followUpRequestData = {
           application_id: uni.getStorageSync('appId'),
-          tenant_id: JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1',
+          tenant_id:uni.getStorageSync('tenant_id') || JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1',
           video_url: videoUrl,
           original_question_id: this.parentJobPositionQuestionId, // 使用保存的job_position_question_id
           follow_up_question: task.questionText,
@@ -3924,7 +3924,7 @@ export default {
       this.loading = true;
       
       // 获取tenant_id,如果没有则使用默认值1
-      const tenant_id = JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1';
+      const tenant_id =uni.getStorageSync('tenant_id') || JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1';
       
       // 获取当前选择的职位ID
       let position_id = 1; // 默认值
@@ -4490,7 +4490,7 @@ export default {
     // 添加获取追问问题的方法
     fetchFollowUpQuestions() {
       // 获取tenant_id,如果没有则使用默认值1
-      const tenant_id = JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1';
+      const tenant_id =uni.getStorageSync('tenant_id') || JSON.parse(uni.getStorageSync('userInfo')).tenant_id || '1';
       
       // 获取当前选择的职位ID
       let position_id = 1; // 默认值

+ 47 - 10
pages/index/index.vue

@@ -84,6 +84,7 @@ import { apiBaseUrl } from '@/common/config.js';
 	export default {
 		data() {
 			return {
+				tenant_id: '', // 租户ID
 				formData: {
 					name: '',
 					gender: '',
@@ -120,15 +121,24 @@ import { apiBaseUrl } from '@/common/config.js';
 				// 对scene进行解码
 				const scene = decodeURIComponent(options.scene);
 				console.log('解码后的scene:', scene);
+				this.setTenantId(scene);
+				// 如果scene是key1=val1&key2=val2格式
+				const sceneParams = {};
+				scene.split('&').forEach(pair => {
+					const [key, value] = pair.split('=');
+					sceneParams[key] = value;
+				});
+				console.log('解析后的参数:', sceneParams);
 				
-			// 如果scene是key1=val1&key2=val2格式
-			const sceneParams = {};
-			scene.split('&').forEach(pair => {
-				const [key, value] = pair.split('=');
-				sceneParams[key] = value;
-			});
-			console.log('解析后的参数:', sceneParams);
+				// 提取tenant_id并保存到本地存储
+				/* if (sceneParams.tenant_id) {
+					this.setTenantId(sceneParams.tenant_id);
+				} */
 			}
+			
+			// 尝试从本地存储获取tenant_id
+			this.getTenantId();
+			
 			this.checkUserInfo();
 			this.fetchJobList();
 		},
@@ -156,6 +166,23 @@ import { apiBaseUrl } from '@/common/config.js';
 			}
 		},
 		methods: {
+			// 获取本地存储的tenant_id
+			getTenantId() {
+				const tenantId = uni.getStorageSync('tenant_id');
+				if (tenantId) {
+					this.tenant_id = tenantId;
+					return tenantId;
+				}
+				return null;
+			},
+			
+			// 设置tenant_id到本地存储
+			setTenantId(tenantId) {
+				this.tenant_id = tenantId;
+				uni.setStorageSync('tenant_id', tenantId);
+				console.log('已设置tenant_id:', tenantId);
+			},
+			
 			checkLogin() {
 				const userInfo = uni.getStorageSync('userInfo');
 				if (!userInfo) {
@@ -337,7 +364,7 @@ import { apiBaseUrl } from '@/common/config.js';
 								// 调用获取用户完整信息的接口
 								const openid = JSON.parse(uni.getStorageSync('userInfo')).openid;
 								uni.request({
-									url: `${apiBaseUrl}/api/wechat/user/get_full_info?tenant_id=1&openid=${openid}`,
+									url: `${apiBaseUrl}/api/wechat/user/get_full_info?tenant_id=${this.tenant_id||JSON.parse(uni.getStorageSync('userInfo')).tenant_id ||1}&openid=${openid}`,
 									method: 'GET',
 									success: (infoRes) => {
 										if (infoRes.statusCode === 200 && infoRes.data && infoRes.data.data && infoRes.data.data.profile) {
@@ -428,7 +455,7 @@ import { apiBaseUrl } from '@/common/config.js';
 				uni.setStorageSync('selectedJob', JSON.stringify(this.selectedJob));
 				applyJob({
 					job_id: this.selectedJobId,
-					tenant_id: 1,
+					tenant_id: this.tenant_id||JSON.parse(uni.getStorageSync('userInfo')).tenant_id ||1,
 					openid: JSON.parse(uni.getStorageSync('userInfo')).openid
 				}).then(res => {
 					// 保存返回的应用ID到本地存储
@@ -449,6 +476,16 @@ import { apiBaseUrl } from '@/common/config.js';
 					
 				}).catch(err => {
 					console.error('申请职位失败:', err);
+					// 针对业务返回 code/status = 999 且提示职位已截止/已结束的情况,弹窗提示不影响其他功能
+					const errCode = err && (err.status || err.code);
+					const errMsg = (err && (err.message || (err.data && (err.data.msg || err.data.message)))) || '';
+					if (errCode === 999 && (errMsg.includes('截止') || errMsg.includes('已结束') || errMsg.includes('已截止申请'))) {
+						uni.showToast({
+							title: '抱歉,本岗位招聘需求已结束',
+							icon: 'none'
+						});
+						return;
+					}
 					uni.showToast({
 						title: '申请职位失败,请重试',
 						icon: 'none'
@@ -574,7 +611,7 @@ import { apiBaseUrl } from '@/common/config.js';
 					status: 1,
 					source: 'mini',
 					examine: 0,
-					tenant_id: '1',
+					tenant_id: this.tenant_id||'1',
 					/* emergency_contact: this.formData.emergencyContact,
 					emergency_phone: this.formData.emergencyPhone,
 					relation: this.formData.relation, */

+ 13 - 3
pages/job-detail/job-detail.vue

@@ -96,7 +96,8 @@ export default {
         latitude: 0,
         longitude: 0,
         markers: []
-      }
+      },
+      tenant_id: '', // 租户ID
     }
   },
   onLoad(options) {
@@ -127,10 +128,19 @@ export default {
     }
   },
   methods: {
+    // 获取本地存储的tenant_id
+			getTenantId() {
+				const tenantId = uni.getStorageSync('tenant_id');
+				if (tenantId) {
+					this.tenant_id = tenantId;
+					return tenantId;
+				}
+				return null;
+			},
     async getJobDetail(jobId) {
       try {
         const { data } = await uni.request({
-          url: `${apiBaseUrl}/api/mini/job/detail?id=${jobId}&tenant_id=1`,
+          url: `${apiBaseUrl}/api/mini/job/detail?id=${jobId}&tenant_id=${this.tenant_id||JSON.parse(uni.getStorageSync('userInfo')).tenant_id ||1}`,
           method: 'GET',
         });
         
@@ -261,7 +271,7 @@ export default {
         const userInfo = JSON.parse(uni.getStorageSync('userInfo'));
         const response = await applyJob({
           job_id: this.jobId,
-          tenant_id: 1,
+          tenant_id:this.tenant_id||JSON.parse(uni.getStorageSync('userInfo')).tenant_id ||1,
           openid: userInfo.openid
         });
 

+ 22 - 4
pages/login/login.vue

@@ -22,10 +22,28 @@ export default {
   data() {
     return {
       isAgreed: false,
-      wxLoginCode: ''
+      wxLoginCode: '',
+      tenant_id: 1 // 默认租户ID
     }
   },
+  onLoad() {
+    // 页面加载时获取tenant_id
+    this.getTenantId();
+  },
   methods: {
+    // 获取本地存储的tenant_id,如果没有则使用默认值1
+    getTenantId() {
+      const tenantId = uni.getStorageSync('tenant_id');
+      if (tenantId) {
+        this.tenant_id = tenantId;
+        console.log('从本地存储获取tenant_id:', tenantId);
+        return tenantId;
+      } else {
+        console.log('使用默认tenant_id:', this.tenant_id);
+        return this.tenant_id;
+      }
+    },
+    
     toggleAgreement() {
       this.isAgreed = !this.isAgreed;
     },
@@ -91,7 +109,7 @@ export default {
           const loginParams = {
             code: this.wxLoginCode,
             userInfo: profileRes.userInfo,
-            tenant_id: 1,
+            tenant_id: this.getTenantId()||1,
             signature: profileRes.signature,
             rawData: profileRes.rawData,
             encryptedData: profileRes.encryptedData,
@@ -112,9 +130,9 @@ export default {
               province: '',
               city: '',
               country: '',
-              tenant_id: 1
+              tenant_id: this.getTenantId() || 1
             },
-            tenant_id: 1
+            tenant_id: this.getTenantId()||1
             
           });
         }

+ 1 - 0
pages/my/my.vue

@@ -683,6 +683,7 @@ export default {
 					try {
 						uni.removeStorageSync('token');
 						uni.removeStorageSync('userInfo');
+						uni.removeStorageSync('tenant_id');
 						
 						// 更新状态
 						this.isLogin = false;

+ 2 - 2
pages/success/success.vue

@@ -47,7 +47,7 @@ export default {
           method: 'POST',
           data: {
             "application_id": JSON.parse(uni.getStorageSync('appId')),
-            "tenant_id": JSON.parse(uni.getStorageSync('userInfo')).tenant_id
+            "tenant_id": uni.getStorageSync('tenant_id') ||JSON.parse(uni.getStorageSync('userInfo')).tenant_id||1
           }
         });
         
@@ -57,7 +57,7 @@ export default {
           method: 'POST',
           data: {
             "application_id": JSON.parse(uni.getStorageSync('appId')),
-            "tenant_id": JSON.parse(uni.getStorageSync('userInfo')).tenant_id,
+            "tenant_id": uni.getStorageSync('tenant_id') ||JSON.parse(uni.getStorageSync('userInfo')).tenant_id||1,
             "force_trigger": true
           }
         });

+ 1 - 1
pages/uploadResume/uploadResume.vue

@@ -211,7 +211,7 @@
 					const userInfo = JSON.parse(uni.getStorageSync('userInfo') || '{}');
 					console.log(userInfo);
 					const openid = userInfo.openid || '';
-					const tenant_id = userInfo.tenant_id || 1;
+					const tenant_id =uni.getStorageSync('tenant_id') || userInfo.tenant_id || 1;
 					const userId = userInfo.id;
 					
 					console.log(openid, tenant_id);

+ 4 - 3
unpackage/dist/dev/mp-weixin/api/user.js

@@ -12,13 +12,14 @@ function wxLogin(loginParams) {
       gender: ((_c = loginParams.userInfo) == null ? void 0 : _c.gender) || 0,
       province: ((_d = loginParams.userInfo) == null ? void 0 : _d.province) || "",
       city: ((_e = loginParams.userInfo) == null ? void 0 : _e.city) || "",
-      country: ((_f = loginParams.userInfo) == null ? void 0 : _f.country) || ""
+      country: ((_f = loginParams.userInfo) == null ? void 0 : _f.country) || "",
+      tenant_id: common_vendor.index.getStorageSync("tenant_id") || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || 1
     },
     signature: loginParams.signature || "",
     rawData: loginParams.rawData || "",
     encryptedData: loginParams.encryptedData || "",
     iv: loginParams.iv || "",
-    tenant_id: 1,
+    tenant_id: common_vendor.index.getStorageSync("tenant_id") || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || 1,
     _csrf: csrfToken
     // 添加 CSRF token
   };
@@ -41,7 +42,7 @@ const getJobList = (params = {}) => {
     limit: 50,
     searchTerms: "",
     status: "",
-    tenant_id: 1
+    tenant_id: common_vendor.index.getStorageSync("tenant_id") || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || 1
   };
   ({ ...defaultParams, ...params });
   return utils_request.http.get("/api/system/job/list", defaultParams);

+ 3 - 3
unpackage/dist/dev/mp-weixin/pages/Personal/Personal.js

@@ -1065,7 +1065,7 @@ const _sfc_main = {
       try {
         const userData = JSON.parse(userInfo);
         const submitData = {
-          tenant_id: 1,
+          tenant_id: common_vendor.index.getStorageSync("tenant_id") || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || 1,
           user_id: userData.id,
           personal_info: {
             name: this.formData.name,
@@ -1377,7 +1377,7 @@ const _sfc_main = {
           name: data.name,
           id_card: data.idCard,
           purePhoneNumber: data.phone,
-          tenant_id: 1,
+          tenant_id: common_vendor.index.getStorageSync("tenant_id") || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || 1,
           examine: 0
         },
         header: {
@@ -1507,7 +1507,7 @@ const _sfc_main = {
         return;
       }
       common_vendor.index.request({
-        url: `${common_config.apiBaseUrl}/api/wechat/user/get_full_info?tenant_id=1&openid=${openid}`,
+        url: `${common_config.apiBaseUrl}/api/wechat/user/get_full_info?tenant_id=${common_vendor.index.getStorageSync("tenant_id") || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || 1}&openid=${openid}`,
         method: "GET",
         success: (res) => {
           this.showPromiseModal = true;

+ 3 - 3
unpackage/dist/dev/mp-weixin/pages/camera/camera.js

@@ -279,7 +279,7 @@ const _sfc_main = {
           position_id: JSON.parse(common_vendor.index.getStorageSync("selectedJob")).id,
           page: 1,
           limit: 999,
-          tenant_id: JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || 1
+          tenant_id: common_vendor.index.getStorageSync("tenant_id") || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || 1
         });
         console.log(res2.items);
         this.interviewId = res2.items;
@@ -330,7 +330,7 @@ const _sfc_main = {
     async fetchBlankQuestions() {
       try {
         const positionId = JSON.parse(common_vendor.index.getStorageSync("selectedJob")).id;
-        const tenantId = JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || 1;
+        const tenantId = common_vendor.index.getStorageSync("tenant_id") || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || 1;
         const res2 = await this.$http.get(`${common_config.apiBaseUrl}/api/wechat/blank_questions/?tenant_id=${tenantId}&position_id=${positionId}`);
         console.log(res2);
         if (res2 && Array.isArray(res2.items)) {
@@ -951,7 +951,7 @@ const _sfc_main = {
           // answer_content: answerContent,
           answer_options: answerOptions,
           answer_duration: this.currentAnswer.answerDuration || 0,
-          tenant_id: JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || 1
+          tenant_id: common_vendor.index.getStorageSync("tenant_id") || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || 1
         };
         if (this.currentAnswer.questionType === 6 && blankAnswers.length > 0) {
           submitData.blank_answers = blankAnswers;

+ 2 - 2
unpackage/dist/dev/mp-weixin/pages/face-photo/face-photo.js

@@ -158,7 +158,7 @@ const _sfc_main = {
     // 上传媒体文件方法 - 不再使用
     uploadMedia(callback) {
       const openid = JSON.parse(common_vendor.index.getStorageSync("userInfo")).openid || "";
-      const tenant_id = JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || 1;
+      const tenant_id = common_vendor.index.getStorageSync("tenant_id") || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || 1;
       if (!openid || !tenant_id) {
         common_vendor.index.hideLoading();
         common_vendor.index.showToast({
@@ -203,7 +203,7 @@ const _sfc_main = {
     // 提交照片URL到指定接口 - 修改为直接上传文件
     submitPhotoUrl() {
       const openid = JSON.parse(common_vendor.index.getStorageSync("userInfo")).openid || "";
-      const tenant_id = JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || 1;
+      const tenant_id = common_vendor.index.getStorageSync("tenant_id") || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || 1;
       if (!this.mediaSource) {
         common_vendor.index.hideLoading();
         common_vendor.index.showToast({

+ 5 - 5
unpackage/dist/dev/mp-weixin/pages/followUp/followUp.js

@@ -1095,7 +1095,7 @@ const _sfc_main = {
     uploadFileWithXHR(task) {
       const userInfo = common_vendor.index.getStorageSync("userInfo");
       const openid = userInfo ? JSON.parse(userInfo).openid || "" : "";
-      const tenant_id = JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1";
+      const tenant_id = common_vendor.index.getStorageSync("tenant_id") || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1";
       const formData = new FormData();
       formData.append("file", task.file);
       formData.append("openid", openid);
@@ -1150,7 +1150,7 @@ const _sfc_main = {
     uploadFileWithUni(task) {
       const userInfo = common_vendor.index.getStorageSync("userInfo");
       const openid = userInfo ? JSON.parse(userInfo).openid || "" : "";
-      const tenant_id = JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1";
+      const tenant_id = common_vendor.index.getStorageSync("tenant_id") || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1";
       const uploadTask = common_vendor.index.uploadFile({
         url: `${common_config.apiBaseUrl}/api/upload/`,
         filePath: task.file,
@@ -1243,7 +1243,7 @@ const _sfc_main = {
         application_id: common_vendor.index.getStorageSync("appId"),
         question_id: questionId,
         video_url: videoUrl,
-        tenant_id: JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1"
+        tenant_id: common_vendor.index.getStorageSync("tenant_id") || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1"
       };
       console.log("提交面试请求参数:", requestData);
       common_vendor.index.request({
@@ -1732,7 +1732,7 @@ const _sfc_main = {
     // 添加获取问题数据的方法
     fetchQuestions() {
       this.loading = true;
-      const tenant_id = JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1";
+      const tenant_id = common_vendor.index.getStorageSync("tenant_id") || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1";
       let position_id = 1;
       try {
         const selectedJob = JSON.parse(common_vendor.index.getStorageSync("selectedJob") || "{}");
@@ -1907,7 +1907,7 @@ const _sfc_main = {
     // 获取追加问题
     fetchAdditionalQuestions() {
       this.loading = true;
-      const tenant_id = JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1";
+      const tenant_id = common_vendor.index.getStorageSync("tenant_id") || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1";
       let position_id = 1;
       try {
         const selectedJob = JSON.parse(common_vendor.index.getStorageSync("selectedJob") || "{}");

+ 10 - 10
unpackage/dist/dev/mp-weixin/pages/identity-verify/identity-verify.js

@@ -470,7 +470,7 @@ const _sfc_main = {
           url: `${common_config.apiBaseUrl}/api/voice_interview_interaction/`,
           method: "POST",
           data: {
-            tenant_id: userInfo.tenant_id || 1,
+            tenant_id: common_vendor.index.getStorageSync("tenant_id") || userInfo.tenant_id || 1,
             question_id: jobPositionQuestionId,
             position_config_id: positionConfigId,
             application_id: appId
@@ -1696,7 +1696,7 @@ const _sfc_main = {
     uploadFileWithXHRBackground(task) {
       const userInfo = common_vendor.index.getStorageSync("userInfo");
       const openid = userInfo ? JSON.parse(userInfo).openid || "" : "";
-      const tenant_id = JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1";
+      const tenant_id = common_vendor.index.getStorageSync("tenant_id") || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1";
       const formData = new FormData();
       formData.append("file", task.file);
       formData.append("openid", openid);
@@ -1750,7 +1750,7 @@ const _sfc_main = {
     uploadFileWithUniBackground(task) {
       const userInfo = common_vendor.index.getStorageSync("userInfo");
       const openid = userInfo ? JSON.parse(userInfo).openid || "" : "";
-      const tenant_id = JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1";
+      const tenant_id = common_vendor.index.getStorageSync("tenant_id") || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1";
       const uploadTask = common_vendor.index.uploadFile({
         url: `${common_config.apiBaseUrl}/api/upload/`,
         filePath: task.file,
@@ -1822,7 +1822,7 @@ const _sfc_main = {
     submitVideoToInterviewBackground(videoUrl, task) {
       const followUpRequestData = {
         application_id: common_vendor.index.getStorageSync("appId"),
-        tenant_id: JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1",
+        tenant_id: common_vendor.index.getStorageSync("tenant_id") || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1",
         video_url: videoUrl,
         original_question_id: this.parentJobPositionQuestionId,
         // 使用保存的job_position_question_id
@@ -1933,7 +1933,7 @@ const _sfc_main = {
     uploadFileWithXHR(task) {
       const userInfo = common_vendor.index.getStorageSync("userInfo");
       const openid = userInfo ? JSON.parse(userInfo).openid || "" : "";
-      const tenant_id = JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1";
+      const tenant_id = common_vendor.index.getStorageSync("tenant_id") || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1";
       const formData = new FormData();
       formData.append("file", task.file);
       formData.append("openid", openid);
@@ -1988,7 +1988,7 @@ const _sfc_main = {
     uploadFileWithUni(task) {
       const userInfo = common_vendor.index.getStorageSync("userInfo");
       const openid = userInfo ? JSON.parse(userInfo).openid || "" : "";
-      const tenant_id = JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1";
+      const tenant_id = common_vendor.index.getStorageSync("tenant_id") || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1";
       const uploadTask = common_vendor.index.uploadFile({
         url: `${common_config.apiBaseUrl}/api/upload/`,
         filePath: task.file,
@@ -2057,7 +2057,7 @@ const _sfc_main = {
         application_id: common_vendor.index.getStorageSync("appId"),
         question_id: task.questionId,
         video_url: videoUrl,
-        tenant_id: JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1",
+        tenant_id: common_vendor.index.getStorageSync("tenant_id") || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1",
         is_follow_up: task.isFollowUp ? 1 : 0,
         question_form: task.questionForm,
         question_text: task.questionText
@@ -2066,7 +2066,7 @@ const _sfc_main = {
       if (task.isFollowUp) {
         const followUpRequestData = {
           application_id: common_vendor.index.getStorageSync("appId"),
-          tenant_id: JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1",
+          tenant_id: common_vendor.index.getStorageSync("tenant_id") || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1",
           video_url: videoUrl,
           original_question_id: this.parentJobPositionQuestionId,
           // 使用保存的job_position_question_id
@@ -2782,7 +2782,7 @@ const _sfc_main = {
     // 添加获取问题数据的方法
     fetchQuestions() {
       this.loading = true;
-      const tenant_id = JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1";
+      const tenant_id = common_vendor.index.getStorageSync("tenant_id") || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1";
       let position_id = 1;
       try {
         const selectedJob = JSON.parse(common_vendor.index.getStorageSync("selectedJob") || "{}");
@@ -3185,7 +3185,7 @@ const _sfc_main = {
     },
     // 添加获取追问问题的方法
     fetchFollowUpQuestions() {
-      const tenant_id = JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1";
+      const tenant_id = common_vendor.index.getStorageSync("tenant_id") || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || "1";
       let position_id = 1;
       try {
         const selectedJob = JSON.parse(common_vendor.index.getStorageSync("selectedJob") || "{}");

+ 31 - 3
unpackage/dist/dev/mp-weixin/pages/index/index.js

@@ -5,6 +5,8 @@ const api_user = require("../../api/user.js");
 const _sfc_main = {
   data() {
     return {
+      tenant_id: "",
+      // 租户ID
       formData: {
         name: "",
         gender: "",
@@ -40,6 +42,7 @@ const _sfc_main = {
     if (options.scene) {
       const scene = decodeURIComponent(options.scene);
       console.log("解码后的scene:", scene);
+      this.setTenantId(scene);
       const sceneParams = {};
       scene.split("&").forEach((pair) => {
         const [key, value] = pair.split("=");
@@ -47,6 +50,7 @@ const _sfc_main = {
       });
       console.log("解析后的参数:", sceneParams);
     }
+    this.getTenantId();
     this.checkUserInfo();
     this.fetchJobList();
   },
@@ -59,6 +63,21 @@ const _sfc_main = {
     }
   },
   methods: {
+    // 获取本地存储的tenant_id
+    getTenantId() {
+      const tenantId = common_vendor.index.getStorageSync("tenant_id");
+      if (tenantId) {
+        this.tenant_id = tenantId;
+        return tenantId;
+      }
+      return null;
+    },
+    // 设置tenant_id到本地存储
+    setTenantId(tenantId) {
+      this.tenant_id = tenantId;
+      common_vendor.index.setStorageSync("tenant_id", tenantId);
+      console.log("已设置tenant_id:", tenantId);
+    },
     checkLogin() {
       const userInfo = common_vendor.index.getStorageSync("userInfo");
       if (!userInfo) {
@@ -212,7 +231,7 @@ const _sfc_main = {
               common_vendor.index.setStorageSync("configData", JSON.stringify(res.data.data));
               const openid = JSON.parse(common_vendor.index.getStorageSync("userInfo")).openid;
               common_vendor.index.request({
-                url: `${common_config.apiBaseUrl}/api/wechat/user/get_full_info?tenant_id=1&openid=${openid}`,
+                url: `${common_config.apiBaseUrl}/api/wechat/user/get_full_info?tenant_id=${this.tenant_id || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || 1}&openid=${openid}`,
                 method: "GET",
                 success: (infoRes) => {
                   if (infoRes.statusCode === 200 && infoRes.data && infoRes.data.data && infoRes.data.data.profile) {
@@ -296,7 +315,7 @@ const _sfc_main = {
       common_vendor.index.setStorageSync("selectedJob", JSON.stringify(this.selectedJob));
       api_user.applyJob({
         job_id: this.selectedJobId,
-        tenant_id: 1,
+        tenant_id: this.tenant_id || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || 1,
         openid: JSON.parse(common_vendor.index.getStorageSync("userInfo")).openid
       }).then((res) => {
         if (res && res.id) {
@@ -312,6 +331,15 @@ const _sfc_main = {
         this.getConfig();
       }).catch((err) => {
         console.error("申请职位失败:", err);
+        const errCode = err && (err.status || err.code);
+        const errMsg = err && (err.message || err.data && (err.data.msg || err.data.message)) || "";
+        if (errCode === 999 && (errMsg.includes("截止") || errMsg.includes("已结束") || errMsg.includes("已截止申请"))) {
+          common_vendor.index.showToast({
+            title: "抱歉,本岗位招聘需求已结束",
+            icon: "none"
+          });
+          return;
+        }
         common_vendor.index.showToast({
           title: "申请职位失败,请重试",
           icon: "none"
@@ -425,7 +453,7 @@ const _sfc_main = {
         status: 1,
         source: "mini",
         examine: 0,
-        tenant_id: "1",
+        tenant_id: this.tenant_id || "1",
         /* emergency_contact: this.formData.emergencyContact,
         emergency_phone: this.formData.emergencyPhone,
         relation: this.formData.relation, */

+ 14 - 3
unpackage/dist/dev/mp-weixin/pages/job-detail/job-detail.js

@@ -26,7 +26,9 @@ const _sfc_main = {
         latitude: 0,
         longitude: 0,
         markers: []
-      }
+      },
+      tenant_id: ""
+      // 租户ID
     };
   },
   onLoad(options) {
@@ -53,10 +55,19 @@ const _sfc_main = {
     }
   },
   methods: {
+    // 获取本地存储的tenant_id
+    getTenantId() {
+      const tenantId = common_vendor.index.getStorageSync("tenant_id");
+      if (tenantId) {
+        this.tenant_id = tenantId;
+        return tenantId;
+      }
+      return null;
+    },
     async getJobDetail(jobId) {
       try {
         const { data } = await common_vendor.index.request({
-          url: `${common_config.apiBaseUrl}/api/mini/job/detail?id=${jobId}&tenant_id=1`,
+          url: `${common_config.apiBaseUrl}/api/mini/job/detail?id=${jobId}&tenant_id=${this.tenant_id || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || 1}`,
           method: "GET"
         });
         if (data.code === 2e3) {
@@ -167,7 +178,7 @@ const _sfc_main = {
         const userInfo = JSON.parse(common_vendor.index.getStorageSync("userInfo"));
         const response = await api_user.applyJob({
           job_id: this.jobId,
-          tenant_id: 1,
+          tenant_id: this.tenant_id || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || 1,
           openid: userInfo.openid
         });
         if (response && response.id) {

+ 21 - 4
unpackage/dist/dev/mp-weixin/pages/login/login.js

@@ -5,10 +5,27 @@ const _sfc_main = {
   data() {
     return {
       isAgreed: false,
-      wxLoginCode: ""
+      wxLoginCode: "",
+      tenant_id: 1
+      // 默认租户ID
     };
   },
+  onLoad() {
+    this.getTenantId();
+  },
   methods: {
+    // 获取本地存储的tenant_id,如果没有则使用默认值1
+    getTenantId() {
+      const tenantId = common_vendor.index.getStorageSync("tenant_id");
+      if (tenantId) {
+        this.tenant_id = tenantId;
+        console.log("从本地存储获取tenant_id:", tenantId);
+        return tenantId;
+      } else {
+        console.log("使用默认tenant_id:", this.tenant_id);
+        return this.tenant_id;
+      }
+    },
     toggleAgreement() {
       this.isAgreed = !this.isAgreed;
     },
@@ -66,7 +83,7 @@ const _sfc_main = {
           const loginParams = {
             code: this.wxLoginCode,
             userInfo: profileRes.userInfo,
-            tenant_id: 1,
+            tenant_id: this.getTenantId() || 1,
             signature: profileRes.signature,
             rawData: profileRes.rawData,
             encryptedData: profileRes.encryptedData,
@@ -85,9 +102,9 @@ const _sfc_main = {
               province: "",
               city: "",
               country: "",
-              tenant_id: 1
+              tenant_id: this.getTenantId() || 1
             },
-            tenant_id: 1
+            tenant_id: this.getTenantId() || 1
           });
         }
       });

+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/my/my.js

@@ -499,6 +499,7 @@ const _sfc_main = {
           try {
             common_vendor.index.removeStorageSync("token");
             common_vendor.index.removeStorageSync("userInfo");
+            common_vendor.index.removeStorageSync("tenant_id");
             this.isLogin = false;
             this.userInfo = {
               username: "",

+ 2 - 2
unpackage/dist/dev/mp-weixin/pages/success/success.js

@@ -23,7 +23,7 @@ const _sfc_main = {
           method: "POST",
           data: {
             "application_id": JSON.parse(common_vendor.index.getStorageSync("appId")),
-            "tenant_id": JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id
+            "tenant_id": common_vendor.index.getStorageSync("tenant_id") || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || 1
           }
         });
         const analysisResult = await common_vendor.index.request({
@@ -31,7 +31,7 @@ const _sfc_main = {
           method: "POST",
           data: {
             "application_id": JSON.parse(common_vendor.index.getStorageSync("appId")),
-            "tenant_id": JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id,
+            "tenant_id": common_vendor.index.getStorageSync("tenant_id") || JSON.parse(common_vendor.index.getStorageSync("userInfo")).tenant_id || 1,
             "force_trigger": true
           }
         });

+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/uploadResume/uploadResume.js

@@ -135,7 +135,7 @@ const _sfc_main = {
         const userInfo = JSON.parse(common_vendor.index.getStorageSync("userInfo") || "{}");
         console.log(userInfo);
         const openid = userInfo.openid || "";
-        const tenant_id = userInfo.tenant_id || 1;
+        const tenant_id = common_vendor.index.getStorageSync("tenant_id") || userInfo.tenant_id || 1;
         const userId = userInfo.id;
         console.log(openid, tenant_id);
         if (!openid || !tenant_id || !userId) {

+ 5 - 2
unpackage/dist/dev/mp-weixin/utils/request.js

@@ -42,11 +42,14 @@ const showError = (message, duration = 2e3) => {
 showError.lastMessage = "";
 showError.lastTime = 0;
 const responseInterceptor = (response) => {
-  if (response.statusCode === 200) {
+  console.log("response:", response);
+  if (response.statusCode === 200 || response.statusCode === 400) {
     const { data } = response;
     if (data.status === 999 || data.code === 999) {
-      const error = new Error(data.message || "微信登录失败: code无效");
+      const error = new Error(data && (data.msg || data.message) || "请求失败");
       error.status = 999;
+      error.code = 999;
+      error.data = data;
       return Promise.reject(error);
     }
     if (data.status === 2e3 || data.code === 0 || data.code === 2e3) {

+ 6 - 3
utils/request.js

@@ -89,16 +89,19 @@ const ERROR_CODE_MAP = {
 
 // 响应拦截器
 const responseInterceptor = (response) => {
+  console.log('response:', response);
   // 这里可以对响应数据做统一处理
-  if (response.statusCode === 200) {
+  if (response.statusCode === 200||response.statusCode === 400) {
     // 服务器正常响应
     const { data } = response;
     
     // 检查是否有特定错误码
     if (data.status === 999 || data.code === 999) {
-      // 微信 code 无效错误
-      const error = new Error(data.message || '微信登录失败: code无效');
+      // 特殊业务错误:例如职位已截止申请
+      const error = new Error((data && (data.msg || data.message)) || '请求失败');
       error.status = 999;
+      error.code = 999;
+      error.data = data;
       return Promise.reject(error);
     }
     // 处理成功响应 - 适配不同的返回格式