注册码 + 管理员系统:
User 模型新增 is_admin 字段
新增 InviteCode 模型(邀请码表)
注册接口必须提供有效邀请码,使用后自动标记
管理员接口:查看所有用户、启用/禁用用户、生成/删除邀请码
前端新增管理面板页面 /admin,导航栏对管理员显示入口
注册页面新增邀请码输入框
选择性超话签到:
新增 GET /api/v1/accounts/{id}/topics 接口获取超话列表
POST /signin 接口支持 {"topic_indices": [0,1,3]} 选择性签到
新增超话选择页面 /accounts/{id}/topics,支持全选/手动勾选
账号详情页新增"选择超话签到"按钮
This commit is contained in:
@@ -93,15 +93,15 @@ USER_COUNT=$($ROOT_CMD -N -e "SELECT COUNT(*) FROM ${DB_NAME}.users" 2>/dev/null
|
||||
if [ "$USER_COUNT" = "0" ]; then
|
||||
# 检查 bcrypt 是否可用
|
||||
if python3 -c "import bcrypt" 2>/dev/null; then
|
||||
HASHED_PW=$(python3 -c "import bcrypt; print(bcrypt.hashpw(b'Admin123!', bcrypt.gensalt(12)).decode())")
|
||||
HASHED_PW=$(python3 -c "import bcrypt; print(bcrypt.hashpw(b'Admin123', bcrypt.gensalt(12)).decode())")
|
||||
USER_ID=$(python3 -c "import uuid; print(str(uuid.uuid4()))")
|
||||
$ROOT_CMD ${DB_NAME} -e "
|
||||
INSERT INTO users (id, username, email, hashed_password, is_active)
|
||||
VALUES ('${USER_ID}', 'admin', 'admin@example.com', '${HASHED_PW}', 1);
|
||||
INSERT INTO users (id, username, email, hashed_password, is_admin, is_active)
|
||||
VALUES ('${USER_ID}', 'admin', 'admin@example.com', '${HASHED_PW}', 1, 1);
|
||||
"
|
||||
info "测试用户已创建: admin / Admin123!"
|
||||
info "管理员用户已创建: admin@example.com / Admin123 (管理员)"
|
||||
else
|
||||
warn "bcrypt 未安装,跳过测试用户创建(运行 setup_linux.sh 安装依赖后可手动创建)"
|
||||
warn "bcrypt 未安装,跳过管理员创建(运行 setup_linux.sh 安装依赖后可手动创建)"
|
||||
fi
|
||||
else
|
||||
info "已有 ${USER_COUNT} 个用户,跳过"
|
||||
|
||||
Reference in New Issue
Block a user