feat(auth): 新增系统启动时自动初始化默认超级管理员功能

- 新增默认管理员自动初始化逻辑,系统启动时检查并创建超级管理员账号
- 支持通过配置文件自定义账号信息(优先级:配置文件 > 代码默认值)
- 新增 CreateSystemAccount 方法用于系统内部账号创建
- 新增默认管理员配置项和常量定义
- 更新 README.md 添加默认账号使用说明
- 归档 OpenSpec 变更提案及完整文档

相关文件:
- internal/bootstrap/admin.go: 管理员初始化逻辑
- internal/service/account/service.go: 系统账号创建方法
- pkg/config/config.go: 默认管理员配置结构
- pkg/constants/constants.go: 默认值常量定义
- docs/add-default-admin-init/功能说明.md: 完整功能文档
This commit is contained in:
2026-01-14 10:53:42 +08:00
parent 2570269c8d
commit 9c399df6bc
13 changed files with 955 additions and 12 deletions

View File

@@ -59,3 +59,25 @@ middleware:
max: 1000
expiration: "1m"
storage: "redis"
sms:
gateway_url: "https://gateway.sms.whjhft.com:8443/sms"
username: "JH0001" # TODO: 替换为实际的短信服务账号
password: "wwR8E4qnL6F0" # TODO: 替换为实际的短信服务密码
signature: "【JHFTIOT】" # TODO: 替换为报备通过的短信签名
timeout: "10s"
# JWT 配置(用于个人客户认证)
jwt:
secret_key: "your-secret-key-change-this-in-production" # TODO: 生产环境必须修改
token_duration: "168h" # Token 有效期7天
# 默认超级管理员配置(可选,系统启动时自动创建)
# 如果配置为空,系统使用代码默认值:
# - 用户名: admin
# - 密码: Admin@123456
# - 手机号: 13800000000
# default_admin:
# username: "admin"
# password: "Admin@123456"
# phone: "13800000000"

View File

@@ -98,3 +98,13 @@ sms:
jwt:
secret_key: "your-secret-key-change-this-in-production" # TODO: 生产环境必须修改
token_duration: "168h" # Token 有效期7天
# 默认超级管理员配置(可选,系统启动时自动创建)
# 如果配置为空,系统使用代码默认值:
# - 用户名: admin
# - 密码: Admin@123456
# - 手机号: 13800000000
# default_admin:
# username: "admin"
# password: "Admin@123456"
# phone: "13800000000"