fix deactivate
This commit is contained in:
@@ -44,8 +44,9 @@
|
||||
⚠️ `go env -w` 在本沙箱**会失败**(`cannot find go env config: %AppData% is not defined`,Git Bash 无该变量),
|
||||
无法持久化,只能每条命令 export。GROUP1(security/censor、conf、form、template、shared、captcha)已验证 EXIT=0(~10s)。
|
||||
- **行尾:仓库是「混合行尾」,不是统一 CRLF**(`core.autocrlf=true`,提交 blob 为 LF,Git 自动归一,**不污染 diff**)。
|
||||
实测:`internal/db/*`、`internal/mail/mail.go` 是 **LF**;`route/**`、`internal/route/route.go`、
|
||||
`internal/db/users.go` 是 **CRLF**。→ 编辑时**保持各文件原行尾**,不要整体转换。
|
||||
实测:`internal/db/*`、`internal/mail/mail.go`、`route/user/profile.go` 是 **LF**;
|
||||
而 `internal/route/route.go`、`internal/db/users.go`、`internal/i18n/dict_*.go` 是 **CRLF**。
|
||||
→ **不要按「route/** 皆 CRLF」这类规律推断**,编辑前逐个文件用 Python 数 `b'\r\n'` 确认。
|
||||
`gofmt -l` 会把 CRLF 文件**误报**为未格式化(false positive)。
|
||||
✅ 改注释/字段后统一用 `dev/gofmt_keep_crlf.py <files>`(原 Temp 版被清,已重建到 `dev/`):跑 gofmt 后按原文件行尾还原,
|
||||
既应用格式化又保留工作区 CRLF、避免 gofmt -l 噪声。(`grep -c $'\r'` 在 Git Bash 不可靠,查行尾用 Python 数 `b'\r\n'`。)
|
||||
@@ -122,6 +123,17 @@
|
||||
- ⚠️ `gofmt` 是 **Windows 原生程序,看不到 MSYS 的 `/tmp` 路径**(报 `GetFileAttributesEx ... cannot find`)。
|
||||
临时比对文件要放到 Windows 可见路径(如 `C:/Users/<user>/AppData/Local/Temp/...`)。
|
||||
|
||||
## 会话失效后的落点(闪信 vs 独立页)
|
||||
|
||||
- **终止性操作(账号停用/注销)用「独立公开成功页」,不要落登录页**。
|
||||
既有实现 `/deactivated`(`user.DeactivatedProfile` → `templates/user/deactivated.html`):
|
||||
停用后 `Session.Flush()` 会清空会话,若落 `/login`,用户第一直觉是「没生效」。
|
||||
→ 该路由必须注册在**公开区**(`reqUserSignIn` 之外),否则会被弹回登录页,正好复现要避免的现象。
|
||||
- **继续可登录的操作(如改密码后强制重登)才用闪信 + `/login`**:顺序 **先 `Session.Flush()` 再 `SetSuccessFlash()`**——
|
||||
Flush 只清 session 数据、保留同一个 session,故 flash 仍能带到下一跳渲染。
|
||||
- i18n 键名区分:`deactivate.*` = 停用**表单页**;`deactivated.*` = 停用**成功页**(仅 title/desc/backHome)。
|
||||
- `templates/embed.go` 用整目录 `//go:embed ... user ...`,**新增模板文件自动嵌入**,无需改 embed 指令。
|
||||
|
||||
## 仓库状态
|
||||
- **git 仓库已损坏**(`.git/refs` 缺失、index 截断、对象库近乎空),用户明确要求「不要动 git」。
|
||||
备份/回滚一律用 tar.gz(排除 `.git`、`.workbuddy`),放在项目同级目录:
|
||||
|
||||
Reference in New Issue
Block a user