26 lines
1.4 KiB
Markdown
26 lines
1.4 KiB
Markdown
## Why
|
|
|
|
The current login flow decides whether to send the user to the bind-phone page based on `loginData.need_bind_phone`. This makes the phone-binding gate happen only at login time, which is fragile because the actual requirement belongs to entering the homepage, not only to completing login. As a result, the app can enter an inconsistent state when the user reaches `index` through other paths or when the latest bind requirement should be re-evaluated on homepage entry.
|
|
|
|
## What Changes
|
|
|
|
- Move the mandatory phone-binding gate out of `pages/login/login.vue`
|
|
- Make login success redirect to `pages/index/index` consistently
|
|
- Require `pages/index/index.vue` to check whether the current account still needs phone binding every time the page is entered
|
|
- Redirect to `pages/bind/bind` from `index` when binding is required, instead of deciding that only during login
|
|
- Keep the bind-phone page as the place where the user completes the required binding flow
|
|
|
|
## Capabilities
|
|
|
|
### New Capabilities
|
|
- `index-phone-bind-gate`: Define homepage-entry binding rules so phone binding is enforced from `index` instead of only from login
|
|
|
|
### Modified Capabilities
|
|
|
|
## Impact
|
|
|
|
- Affected code: `pages/login/login.vue`, `pages/index/index.vue`, `pages/bind/bind.vue`
|
|
- Affected flow: post-login routing, homepage entry, mandatory bind-phone redirect
|
|
- No backend API changes
|
|
- No login credential or bind-phone API contract changes
|