- lldap-db.ts: 读直连 SQLite / 写走 docker exec(LLDAP DELETE 模式不可并发写) - Dockerfile: Alpine addgroup 语法修复,nextjs 加入 docker 组 - docker-compose.yml: 挂载 LLDAP 数据目录,添加 docker.sock - next.config.ts: outputFileTracingIncludes bcryptjs - 所有 API 路由:替换 docker exec lldap 为 lldap-db 工具函数 - 安装 bcryptjs + sqlite3 依赖 |
||
|---|---|---|
| config | ||
| scripts | ||
| src | ||
| .env.example | ||
| .gitignore | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| Dockerfile | ||
| README.md | ||
| docker-compose.local.yml | ||
| docker-compose.yml | ||
| next-env.d.ts | ||
| next.config.ts | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.mjs | ||
| shared | ||
| tailwind.config.js | ||
| tsconfig.json | ||
README.md
OA 统一门户
基于 Next.js 的 OA 统一门户,域名 oa.tlyq.ai。提供站点聚合导航、LLDAP 统一认证、用户管理、密码修改。
技术栈
| 分类 | 技术 |
|---|---|
| 框架 | Next.js 15 + TypeScript |
| UI | React 19(inline CSS + CSS 变量主题) |
| 认证 | LLDAP(ldapts)+ 共享 JWT(HS256) |
| 部署 | Docker + nginx 反向代理 |
功能
- 站点聚合导航(核心系统 + 其他站点,新标签页打开)
- LLDAP 统一认证入口(与 assets/issue 共享 JWT 免登录)
- 个人信息(账户信息 + 修改密码,docker exec 调 LLDAP)
- 用户管理(仅 admin 可见):
- 创建用户(自动生成 12 位密码 + 弹窗显示 + 一键复制)
- 用户列表(含删除,LLDAP + 各站点同步清理)
- 角色管理(各站点角色批量修改,待保存机制)
- 深色/浅色主题切换(同 assets/issue 风格)
- LLDAP 删除用户后,各站点下次操作自动踢出
页面结构
| 路径 | 说明 |
|---|---|
/login |
登录页 |
/ |
门户首页(站点卡片 + 导航) |
/profile |
个人信息(账户信息 + 修改密码) |
/admin/create-user |
用户管理(仅 admin,含创建/删除/角色管理) |
本地开发
# 确保 LLDAP 已启动(端口 3890)
brew services start lldap # 或 docker compose up
npm install
npm run dev # http://localhost:6179
默认管理员:admin / admin123(LLDAP 统一管理)。