|
|
@@ -95,10 +95,29 @@ content 模块:
|
|
95
|
95
|
|
|
96
|
96
|
| 路径 | 鉴权 |
|
|
97
|
97
|
|------|------|
|
|
98
|
|
-| `POST /register`、`POST /login` | **`@Anonymous`** |
|
|
|
98
|
+| `POST /register`、`POST /login` | **`@Anonymous`**;**不** 经过 `MemberAuthInterceptor`,**不** 写入 `MemberContext` |
|
|
99
|
99
|
| `GET /serviceAgreement`、`/serviceAgreement/status` | **`@Anonymous`** |
|
|
100
|
100
|
| `/profile`、`/address/**` | 须 Token(**非本文**) |
|
|
101
|
101
|
|
|
|
102
|
+**`MemberContext` 约定(v1.4):**
|
|
|
103
|
+
|
|
|
104
|
+```text
|
|
|
105
|
+POST /login → 仅返回 token + memberId;不在本请求内 MemberContext.setMemberId
|
|
|
106
|
+后续请求 → MemberAuthInterceptor 解析 Token → MemberContext.setMemberId(userId)
|
|
|
107
|
+请求结束 → afterCompletion → MemberContext.clear()
|
|
|
108
|
+```
|
|
|
109
|
+
|
|
|
110
|
+**`MemberWebConfig`(与实现对齐):**
|
|
|
111
|
+
|
|
|
112
|
+```java
|
|
|
113
|
+registry.addInterceptor(memberAuthInterceptor)
|
|
|
114
|
+ .addPathPatterns("/api/member/**", "/api/merchant/entry/**",
|
|
|
115
|
+ "/api/shop/*/follow", "/api/cart/**", "/api/checkout/**", "/api/order/**")
|
|
|
116
|
+ .excludePathPatterns("/api/member/register", "/api/member/login", "/api/member/sms/send",
|
|
|
117
|
+ "/api/member/serviceAgreement", "/api/member/serviceAgreement/**",
|
|
|
118
|
+ "/api/merchant/entry/agreement", "/api/merchant/entry/status");
|
|
|
119
|
+```
|
|
|
120
|
+
|
|
102
|
121
|
### 3.2 接口一览(注册/登录)
|
|
103
|
122
|
|
|
104
|
123
|
| 方法 | 路径 | 说明 | 状态 |
|
|
|
@@ -187,6 +206,7 @@ trim(account)
|
|
187
|
206
|
→ resolveMemberByAccount
|
|
188
|
207
|
→ status=0;matchesPassword
|
|
189
|
208
|
→ createToken
|
|
|
209
|
+ → 返回根级 token + memberId(不写 MemberContext;见 §3.1)
|
|
190
|
210
|
```
|
|
191
|
211
|
|
|
192
|
212
|
**成功响应(与平台 `/login` 一致,`token` 在根级):**
|
|
|
@@ -335,7 +355,8 @@ MemberAppServiceImpl.login
|
|
335
|
355
|
| **v1.1** | 取消短信验证码;注册 confirmPassword;登录 account |
|
|
336
|
356
|
| **v1.2** | **会员 ID = 会员名称**(`user_name`);登录 `selectByMemberCode`;**非** 数字 member_id |
|
|
337
|
357
|
| **v1.3** | Token 与平台一致:`TokenService` + `LoginUser`;响应根级 `token` |
|
|
|
358
|
+| **v1.4** | 明确:`/login` **不** 设置 `MemberContext`;`MemberWebConfig` 拦截 `/api/merchant/entry/**`(排除 agreement/status) |
|
|
338
|
359
|
|
|
339
|
360
|
---
|
|
340
|
361
|
|
|
341
|
|
-*文档版本:v1.3 · MySQL 5.7.39 · RuoYi v3.9.2-springboot2*
|
|
|
362
|
+*文档版本:v1.4 · MySQL 5.7.39 · RuoYi v3.9.2-springboot2*
|