fix(auth+miniprogram): 清除全部审计遗留问题
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled

MEDIUM:
- WechatLoginReq/WechatBindPhoneReq 添加 Validate 派生 + 字段校验规则
- handler 中调用 req.validate() 并 map_err 转换
- 新增 AuthError::DbError 变体,wechat_service 所有 DB 错误从 Validation 改为 DbError
- DbError 映射到 AppError::Internal,不再误导前端

LOW:
- fetch_session 改用 reqwest Client.query() 构建参数,自动 URL 编码
- app.tsx PropsWithChildren<any> 改为 Record<string, unknown>
- login handleGetPhone 回调 e: any 改为内联类型
- appointment/create 4 个事件回调 e: any 改为内联类型
- health/input catch (e: any) 改为 catch (e: unknown) + instanceof 守卫
- report/detail Object.entries 去掉 [string, any] 类型断言
- wechat_service 移除 decrypt_phone_placeholder 函数,内联占位注释
This commit is contained in:
iven
2026-04-24 08:16:01 +08:00
parent ef6d76ef6c
commit 6391a13467
9 changed files with 48 additions and 44 deletions

View File

@@ -29,7 +29,7 @@ export default function AppointmentCreate() {
const currentPatient = useAuthStore((s) => s.currentPatient);
// Step 1: 选择科室后加载医生列表
const onDepartmentChange = useCallback(async (e: any) => {
const onDepartmentChange = useCallback(async (e: { detail: { value: number } }) => {
const idx = e.detail.value;
const dept = DEPARTMENTS[idx];
setDeptPickerIndex(idx);
@@ -50,17 +50,17 @@ export default function AppointmentCreate() {
}, []);
// Step 3: 日期变更
const onDateChange = useCallback((e: any) => {
const onDateChange = useCallback((e: { detail: { value: string } }) => {
setAppointmentDate(e.detail.value);
}, []);
// Step 3: 时段变更
const onTimeSlotChange = useCallback((e: any) => {
const onTimeSlotChange = useCallback((e: { detail: { value: string } }) => {
setTimeSlot(e.detail.value);
}, []);
// Step 3: 备注变更
const onReasonChange = useCallback((e: any) => {
const onReasonChange = useCallback((e: { detail: { value: string } }) => {
setReason(e.detail.value);
}, []);