From 561ab6d1773aeb56366e51fcf7ac4e300eb92684 Mon Sep 17 00:00:00 2001 From: aiyimickey <39365912+aiyimickey@users.noreply.github.com> Date: Mon, 18 May 2026 14:58:55 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=B7=BB=E5=8A=A0=20Git=20Tag=20?= =?UTF-8?q?=E6=97=A5=E6=9C=9F=E7=89=88=E6=9C=AC=E5=8F=B7=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CLAUDE.md | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 335a204..5f62667 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -33,7 +33,10 @@ npm run build # 生产构建 | `src/middleware.ts` | 全局路由守卫:检查 `tlyq_session` cookie,未认证跳转 /login | | `src/lib/jwt.ts` | 共享 JWT 签发/验证(HS256,与 assets/issue 共用密钥和格式) | | `src/lib/ldap.ts` | LLDAP 认证(ldapAuth)+ 密码修改(ldapChangePassword)+ 用户存在性检查 | -| `src/lib/email.ts` | 邮件发送(nodemailer,163 企业邮箱,创建用户时发送凭证) | +| `src/lib/email.ts` | 邮件发送(Resend API,创建用户时发送密码设置链接,不含明文密码) | +| `src/lib/setup-token.ts` | 一次性密码设置 token 签发/验证(JWT,24 小时有效) | +| `src/app/setup-password/page.tsx` | 密码设置页(公开,通过邮件链接 token 访问) | +| `src/app/api/auth/setup-password/route.ts` | 密码设置 API(验证 token + 调用 lldap_set_password) | | `src/app/page.tsx` | 门户首页:站点卡片导航(核心系统 + 其他站点) | | `src/app/login/page.tsx` | 登录页(LLDAP 认证) | | `src/app/profile/page.tsx` | 个人信息页(账户信息 + 修改密码) | @@ -71,14 +74,10 @@ OA 本身**不存储用户数据**(无本地 users 表),纯 LLDAP 认证 | `LDAP_URL` | `ldap://localhost:3890` | `ldap://lldap:3890` | | `LDAP_BASE_DN` | `dc=tlyq,dc=ai` | 同 | | `LDAP_ADMIN_DN` | `uid=admin,ou=people,dc=tlyq,dc=ai` | 同 | -| `LDAP_ADMIN_PASS` | `admin123` | LLDAP admin 密码 | +| — | 运行时动态读取 | LLDAP admin 密码通过 `docker exec lldap printenv` 获取,不存本地 | | `JWT_SECRET` | `dev-secret-key-local` | 强随机值(与 assets/issue 相同) | | `COOKIE_DOMAIN` | `""`(空) | `.tlyq.ai` | -| `SMTP_HOST` | `smtphz.qiye.163.com` | 163 企业邮箱 | -| `SMTP_PORT` | `465` | SSL 端口 | -| `SMTP_USER` | `gxp@qx002575.com` | 发件邮箱 | -| `SMTP_PASS` | 见 .env | 邮箱密码 | -| `SMTP_FROM` | `gxp@qx002575.com` | 发件人地址 | +| `RESEND_API_KEY` | `re_xxxxxxxxxxxx` | Resend API Key(Sending Access 权限) | ### `.env` 示例 @@ -86,15 +85,10 @@ OA 本身**不存储用户数据**(无本地 users 表),纯 LLDAP 认证 LDAP_URL=ldap://localhost:3890 LDAP_BASE_DN=dc=tlyq,dc=ai LDAP_ADMIN_DN=uid=admin,ou=people,dc=tlyq,dc=ai -LDAP_ADMIN_PASS=admin123 JWT_SECRET=dev-secret-key-local COOKIE_DOMAIN= NODE_ENV=development -SMTP_HOST=smtphz.qiye.163.com -SMTP_PORT=465 -SMTP_USER=gxp@qx002575.com -SMTP_PASS= -SMTP_FROM=gxp@qx002575.com +RESEND_API_KEY=re_xxxxxxxxxxxx ``` --- @@ -136,6 +130,18 @@ txjp 服务器 --- +## Git Tag 规范 + +使用日期版本号 `vYYYY.MM.DD`(如 `v2026.05.18`)。提交后打 tag 再推送: + +```bash +git tag v$(date +%Y.%m.%d) && git push origin main && git push origin v$(date +%Y.%m.%d) +``` + +同一天多次提交只打一个 tag。详见根目录 `CLAUDE.md`。 + +--- + ## 故障排查 ### OA 502 Bad Gateway