diff --git a/components.d.ts b/components.d.ts
index c667356..89595e5 100644
--- a/components.d.ts
+++ b/components.d.ts
@@ -3,9 +3,11 @@
// @ts-nocheck
// Generated by unplugin-vue-components
// Read more: https://github.com/vuejs/core/pull/3399
+import '@vue/runtime-core'
+
export {}
-declare module 'vue' {
+declare module '@vue/runtime-core' {
export interface GlobalComponents {
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
@@ -15,7 +17,6 @@ declare module 'vue' {
VanDatePicker: typeof import('vant/es')['DatePicker']
VanField: typeof import('vant/es')['Field']
VanForm: typeof import('vant/es')['Form']
- VanIcon: typeof import('vant/es')['Icon']
VanNavBar: typeof import('vant/es')['NavBar']
VanOverlay: typeof import('vant/es')['Overlay']
VanPicker: typeof import('vant/es')['Picker']
diff --git a/src/api/AesCbc.ts b/src/api/AesCbc.ts
index 32be7bc..aeb1f07 100644
--- a/src/api/AesCbc.ts
+++ b/src/api/AesCbc.ts
@@ -116,6 +116,38 @@ export default class Crypoto implements CrypotoType {
return ciphertext
}
- decrypt: any;
+ // decrypt: any;
+
+ decrypt(cipherText: string) {
+ if (!cipherText) {
+ console.error("密文为空或未定义");
+ return "";
+ }
+
+ const key = this.key;
+ const iv = this.iv;
+
+ // 如果后端传来的密文是 Base64URL 格式,需要先转成 Base64 标准格式
+ const base64Str = cipherText.replace(/-/g, '+').replace(/_/g, '/');
+
+ // 创建包含 ciphertext 的 CipherParams 对象
+ const cipherParams = CryptoJS.lib.CipherParams.create({
+ ciphertext: CryptoJS.enc.Base64.parse(base64Str)
+ });
+
+ const decryptResult = CryptoJS.AES.decrypt(cipherParams, key, {
+ iv: iv,
+ mode: CryptoJS.mode.CBC,
+ padding: CryptoJS.pad.Pkcs7
+ });
+
+ const decryptedStr = decryptResult.toString(CryptoJS.enc.Utf8);
+
+ if (!decryptedStr) {
+ console.error("解密结果为空,请检查密钥/IV是否匹配 或 密文是否正确");
+ }
+
+ return decryptedStr;
+ }
}
diff --git a/src/views/AccountLogin/AccountLogin.vue b/src/views/AccountLogin/AccountLogin.vue
index 837566b..427ee5c 100644
--- a/src/views/AccountLogin/AccountLogin.vue
+++ b/src/views/AccountLogin/AccountLogin.vue
@@ -158,7 +158,7 @@
console.log(res.status)
showSuccessToast('登录成功!')
localStorage.setItem('token', res.data.token)
- localStorage.setItem('phoneNumber', username.value)
+ localStorage.setItem('phoneNumber', cry.encrypt(username.value))
localStorage.setItem('avatarUrl', 'https://img.zcool.cn/community/0104c958b69c23a801219c77ba5da2.png?x-oss-process=image/auto-orient,1/resize,m_lfit,w_1280,limit_1/sharpen,100')
// 设置登录状态码持续时间为3h
const overDate = new Date().getTime() - 8 * 60 * 60 * 1000 + 3 * 60 * 60 * 1000
diff --git a/src/views/ExamPreOrder/ExamPreOrder.vue b/src/views/ExamPreOrder/ExamPreOrder.vue
index a483e6e..c32191c 100644
--- a/src/views/ExamPreOrder/ExamPreOrder.vue
+++ b/src/views/ExamPreOrder/ExamPreOrder.vue
@@ -33,20 +33,20 @@
@cancel="showHospitalPicker = false"
/>
-
检查类型
+ 选择套餐
@@ -61,7 +61,7 @@
@close="cascaderClose"
@change="onChange"
/>
-
+
体检时间
@@ -425,10 +425,14 @@
// 级联选择器变化
const onChange = (res: any) => {
- console.log(res)
+ console.log("孙亮",res)
result2.value = res.selectedOptions[0]?.text;
- examType.value = res.selectedOptions[0]?.value
- getPackageDetail({
+ examType.value = res.selectedOptions[0]?.value;
+
+
+ personalPackageName.value =res.selectedOptions[0]?.text;
+ packageId.value = res.selectedOptions[0]?.value;
+ /* getPackageDetail({
checkId: JSON.stringify(res.selectedOptions[0].value),
token: localStorage.getItem('token'),
combType: 2
@@ -459,7 +463,7 @@
}
}).catch((err: any) => {
console.log(err)
- })
+ }) */
}
// 级联选择器点击关闭按钮
diff --git a/src/views/ForgetPassword/ForgetPassword.vue b/src/views/ForgetPassword/ForgetPassword.vue
index 1ec26a2..50175ab 100644
--- a/src/views/ForgetPassword/ForgetPassword.vue
+++ b/src/views/ForgetPassword/ForgetPassword.vue
@@ -112,6 +112,9 @@
import { editNewPwd, sendVeriCode } from '../../api/ForgetPassword'
import { useRouter, useRoute } from 'vue-router'
import './scss/index.scss'
+ import Crypoto from '../../api/AesCbc'
+
+ const cry: any = new Crypoto()
const phoneNumPlaceHolder = ref('请输入手机号')
const pwdPlaceHolder = ref('请输入新密码')
@@ -316,7 +319,7 @@
onMounted(() => {
console.log(route.query.phoneNum)
if (route.query) {
- phoneNumber.value = route.query.phoneNum
+ phoneNumber.value = cry.decrypt(route.query.phoneNum)
} else {
phoneNumber.value = ''
}
diff --git a/src/views/Home/Home.vue b/src/views/Home/Home.vue
index e8b06ae..bb8bb68 100644
--- a/src/views/Home/Home.vue
+++ b/src/views/Home/Home.vue
@@ -15,7 +15,7 @@
体检服务
-
+
体检预约
diff --git a/src/views/MsgLogin/MsgLogin.vue b/src/views/MsgLogin/MsgLogin.vue
index b13866f..5e3dc29 100644
--- a/src/views/MsgLogin/MsgLogin.vue
+++ b/src/views/MsgLogin/MsgLogin.vue
@@ -205,7 +205,9 @@
})
}
})
- }
+ }else{
+ showFailToast('登录失败!没有找到这个号码')
+ }
}).catch(() => {
showFailToast('登录失败!')
})
diff --git a/src/views/PreOrderReceipt/PreOrderReceipt.vue b/src/views/PreOrderReceipt/PreOrderReceipt.vue
index cb518ac..fe8efc4 100644
--- a/src/views/PreOrderReceipt/PreOrderReceipt.vue
+++ b/src/views/PreOrderReceipt/PreOrderReceipt.vue
@@ -9,7 +9,7 @@
体检单据
套餐名称:
{{ packageName }}
-
体检项目:
+
diff --git a/src/views/User/User.vue b/src/views/User/User.vue
index 4220150..5dba3d5 100644
--- a/src/views/User/User.vue
+++ b/src/views/User/User.vue
@@ -47,7 +47,9 @@
import { ref, onMounted } from 'vue'
import { useRouter } from 'vue-router'
import { showConfirmDialog } from 'vant';
+ import Crypoto from '../../api/AesCbc'
+ const cry: any = new Crypoto()
const router = useRouter()
const userInfo = ref
({})
// 设置默认头像
@@ -93,12 +95,13 @@
getUserInfo({
token: localStorage.getItem('token')
}).then((res: any) => {
- userInfo.value = res.data.obj[0]
+ userInfo.value = res.data.obj[0]
+ userInfo.value.phyName= cry.decrypt(userInfo.value.phyName)
const data = res.data.obj[0]
localStorage.setItem('phyName', data.phyName)
- localStorage.setItem('idcard', data.idcard)
+ localStorage.setItem('idcard', cry.decrypt(data.idcard))
localStorage.setItem('age', data.age)
- localStorage.setItem('telepNumber', data.telepNumber)
+ localStorage.setItem('telepNumber', cry.decrypt(data.telepNumber))
localStorage.setItem('departName', data.departName)
localStorage.setItem('id', data.id)
if (Number(data.sex) === 1) {