安全修复: - 提取 sanitizeHtml 共享工具,修复 article/detail RichText XSS 风险 - request.ts 生产环境强制 HTTPS,消除 HTTP 回退风险 - 错误信息净化:后端错误码映射为用户友好消息,不再透传原始内容 - Token 生命周期管理:利用 expires_in 记录过期时间,请求前主动刷新 工程修复: - Babel 依赖从 dependencies 移至 devDependencies(包体积优化) 架构改进: - 新增 usePagination hook(分页加载 + hasMore + refresh,10+ 页面可复用) - 新增 useAuthRequired hook(登录态 + 患者档案 + 角色判断统一入口) - 新增 usePageRefresh hook(下拉刷新统一封装,17 页面可复用) 文档: - 五专家组深度分析+头脑风暴报告(架构7.2/安全5.5/UX6.0/工程5.5/产品7.2)
24 lines
517 B
TypeScript
24 lines
517 B
TypeScript
import { useCallback } from 'react';
|
|
import Taro, { usePullDownRefresh } from '@tarojs/taro';
|
|
|
|
export function usePageRefresh(onRefresh: () => Promise<void>) {
|
|
usePullDownRefresh(async () => {
|
|
try {
|
|
await onRefresh();
|
|
} finally {
|
|
Taro.stopPullDownRefresh();
|
|
}
|
|
});
|
|
|
|
const manualRefresh = useCallback(async () => {
|
|
Taro.startPullDownRefresh();
|
|
try {
|
|
await onRefresh();
|
|
} finally {
|
|
Taro.stopPullDownRefresh();
|
|
}
|
|
}, [onRefresh]);
|
|
|
|
return { manualRefresh };
|
|
}
|