- Migrated the active `/setting/point-management` route to `src/modules/settings/point-management`.
- Preserved the page as a dedicated settings form with a private recharge drawer; no `AppList`, query, or list Hook was introduced.
- Kept the legacy page and request module because they still have references outside this task's allowed scope.
## Preserved requests and feedback
-`POST /system/config/getIntegral`: loads the integral settings with an empty form-encoded body; non-200 responses show the server message or `数据获取失败!`.
-`POST /system/config/integralEdit`: saves the three settings fields; success shows the server message and reloads settings.
-`POST /members/integral/add`: retains the legacy result handling:
- code `3000` warns `优惠券已过期` and closes the drawer;
- successful phone groups show `<手机号结果>充值成功` for 10 seconds;
- failed phone groups show `<手机号结果>充值失败` for 10 seconds;
- the special blank-phone failure text remains suppressed when a non-zero success group exists.
- Transport failures remain silent and do not close or refresh the current form.
## Preserved form behavior
- Integral switch remains controlled from `integral_switch`; disabling it closes the recharge drawer.
- The recharge button remains hidden without permission and disabled/invisible while the switch is off.
- Settings fields, dimensions, validation expressions, validation copy, reset-to-empty action, and responsive label layout are retained:
-`reward_points_ratio`
-`one_point_deduction_amount`
-`integral_use_limit`
- The recharge drawer retains `phone` and `num`, the comma-separated-phone copy, 100-phone note, positive-integer validation, and cancel/submit actions.
- Recharge form state remains mounted when the drawer closes, matching the legacy Drawer behavior.
## Permissions
-`/setting/point-management/integralSet`: enable the integral switch.
-`/setting/point-management/add`: show the recharge action.
-`/setting/point-management/integralEdit`: show reset and save actions.
## Structure
-`api.ts`: form-encoded settings/switch/recharge requests and notifications.
-`pnpm build`: passed after the unrelated concurrent syntax error was resolved; only the existing formula-editor and large-chunk warnings were emitted.
-`pnpm exec tsc --noEmit`: no diagnostics under `src/modules/settings/point-management` or `src/modules/settings/routes.tsx`; the workspace still has unrelated existing diagnostics.
## Concerns
- Per task direction, no API/query/Hook feature tests were added; this page does not require query or list Hook files.
-`src/routes/routes.jsx` and `src/config/component.js` still reference the legacy point-management page. In addition, the retained legacy personalized-setting page imports `point-management/request.js`. These files are outside this task's allowed scope, so `src/pages/setting/point-management/index.jsx` and `request.js` were intentionally retained.