feat: implement general captcha code for consistent rendering and caching

This commit is contained in:
2026-07-22 10:23:22 +08:00
parent 45d8494a40
commit b48af3d797
7 changed files with 293 additions and 12 deletions

View File

@@ -0,0 +1,21 @@
# SHZ Project Topology
| Workspace | Responsibility | Use during debugging |
| --- | --- | --- |
| `/Users/lapuda/code/shz-backend` | Backend project | Investigate API routing, authorization, business services, scheduled work, persistence, and server errors. Use the project's log and guarded database skills here. |
| `/Users/lapuda/code/shz-admin` | PC frontend | Investigate PC job-seeker, supervisory-admin, and enterprise UI routes, components, client state, request construction, and browser interaction. |
| `/Users/lapuda/code/shz-employment-service` | Mini-program | Investigate only mini-program-specific behavior, or a suspected interface/authentication/business-logic concern shared with the PC application. |
## Select the minimum scope
1. Start a PC visual, interaction, navigation, or missing-request investigation in `shz-admin` after capturing browser evidence.
2. Start an API status, response, permission, server exception, or database-data investigation in `shz-backend`.
3. Investigate both `shz-admin` and `shz-backend` when the browser request or response shows that the failure crosses the client/server boundary.
4. Add `shz-employment-service` only after evidence indicates the same endpoint or business behavior is involved. Do not change mini-program code for a PC-only issue.
## Work safely across repositories
1. Change into the selected workspace before using CodeGraph, running checks, or editing files.
2. Check each repository's working tree independently and preserve unrelated changes.
3. Attempt CodeGraph in the selected workspace before broad text search. If its index is unavailable, do not create one; use `rg` as the fallback.
4. Run focused verification in every repository changed. Do not deploy, restart services, or alter a remote environment unless the current user request explicitly authorizes committing and deploying; then follow [deployment.md](deployment.md).