Explorar o código

满意度提交接口安全读取currentUser字段,缺失则置空

xuyousan hai 3 semanas
pai
achega
5b3bbd8e15

+ 16 - 14
pagesAdmin/satisfaction/business/satisfactionQuestions/satisfactionQuestions.vue

@@ -919,26 +919,28 @@ const submit = () => {
 			}
 		});
 		answers.AnswerList = JSON.stringify(quesAnswers.AnswerList);
-		let mobile = ""
-		try {
-			mobile = currentUser.value.mobile
-		}catch {
-			mobile = ""
-		}
+		// 安全读取 currentUser 字段,缺失则置空
+		const mobile = currentUser.value?.mobile ?? ''
+		const memberName = currentUser.value?.memberName ?? ''
+		const memberId = currentUser.value?.MemberId ?? currentUser.value?.memberId ?? ''
+		const sex = currentUser.value?.sex ?? ''
+		const age = currentUser.value?.age ?? ''
+		const cardNo = currentUser.value?.cardNo ?? ''
+		const cardType = currentUser.value?.cardType ?? ''
 		// quesAnswers.IP = (await getIP()).cip;
 		// quesAnswers.Location = (await getIP()).cname;
 		quesAnswers.UserAgent = app.globalData.smallPro_systemInfo;
 		quesAnswers.Mobile = mobile;
-		quesAnswers.UserName = currentUser.value.memberName;
-		quesAnswers.MemberId = currentUser.value.MemberId;
-		quesAnswers.Sex = currentUser.value.sex;
-		quesAnswers.Age = currentUser.value.age;
-		quesAnswers.ThirdPartyId = currentUser.value.MemberId || uni.getStorageSync('openid');
+		quesAnswers.UserName = memberName;
+		quesAnswers.MemberId = memberId;
+		quesAnswers.Sex = sex;
+		quesAnswers.Age = age;
+		quesAnswers.ThirdPartyId = memberId || uni.getStorageSync('openid');
 		quesAnswers.BedNo = '';
-		quesAnswers.HospitalNo = objType.value == '4' ? currentUser.value.cardNo : '';
-		quesAnswers.CardNo = objType.value == '3' ? currentUser.value.cardNo : '';
+		quesAnswers.HospitalNo = objType.value == '4' ? cardNo : '';
+		quesAnswers.CardNo = objType.value == '3' ? cardNo : '';
 		quesAnswers.TaskId = taskId.value;
-		quesAnswers.CardType = objType.value == '3' ? currentUser.value.cardType : '';
+		quesAnswers.CardType = objType.value == '3' ? cardType : '';
 		
 		let res = await CommitAnswer_V3(quesAnswers);
 		clearTimeout(time);