更新记录
1.0.0(2025-08-01) 下载此版本
1.0.0
平台兼容性
云端兼容性
阿里云 | 腾讯云 | 支付宝云 |
---|---|---|
√ | √ | × |
uni-app(4.75)
Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
---|---|---|---|---|---|---|---|---|
- | - | - | - | - | - | - | - | - |
微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
---|---|---|---|---|---|---|---|---|---|---|
- | - | - | - | - | - | - | - | - | - | - |
uni-app x(4.74)
Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
---|---|---|---|---|---|
- | - | - | - | - | - |
云函数类插件通用教程
使用云函数类插件的前提是:使用HBuilderX 2.9+
初始化管理员账户说明
概述
本文档说明如何在 wx-ai-admin 管理系统中初始化超级管理员账户。
功能特点
- 自动检测:系统启动时自动检测是否已存在管理员账户
- 安全初始化:使用密钥验证,防止恶意调用
- 完整权限:超级管理员拥有系统所有权限
- 友好界面:提供可视化的初始化页面
使用流程
1. 系统首次启动
当系统首次启动时,会自动检测是否存在管理员账户:
- 如果没有管理员账户:自动跳转到初始化页面
/pages/init/init
- 如果已有管理员账户:跳转到登录页面
/pages/login/login
2. 初始化管理员账户
在初始化页面,需要填写以下信息:
- 用户名:3-20个字符,作为登录凭证
- 昵称:显示名称,用于界面展示
- 密码:至少6个字符,建议使用强密码
- 确认密码:确保密码输入正确
3. 创建成功
创建成功后,系统会:
- 显示成功提示
- 自动跳转到登录页面
- 可使用刚创建的账户登录
技术实现
云函数
创建了专门的 initAdmin
云函数,包含以下功能:
检查管理员是否存在
// 调用示例
const result = await uniCloud.callFunction({
name: 'initAdmin',
data: {
action: 'checkAdminExists',
initKey: 'wx-ai-admin-init-2024'
}
})
创建超级管理员
// 调用示例
const result = await uniCloud.callFunction({
name: 'initAdmin',
data: {
action: 'createSuperAdmin',
initKey: 'wx-ai-admin-init-2024',
username: 'admin',
nickname: '超级管理员',
password: 'password123'
}
})
数据库结构
超级管理员账户包含以下字段:
{
"username": "用户名",
"password": "密码哈希值",
"salt": "密码盐值",
"nickname": "昵称",
"role": "super_admin",
"permissions": [
"user_view", "user_edit", "user_delete",
"data_view", "data_export",
"system_config", "admin_manage",
"points_manage", "ai_usage_view",
"task_manage", "vip_manage"
],
"status": "active",
"createTime": "2024-01-01T00:00:00.000Z",
"createdBy": "system"
}
安全措施
- 密钥验证:使用固定密钥
wx-ai-admin-init-2024
防止恶意调用 - 唯一性检查:确保只能创建一个超级管理员
- 密码加密:使用 SHA256 + 盐值加密存储密码
- 权限控制:只有超级管理员可以创建其他管理员
注意事项
- 首次部署:系统首次部署时必须先初始化管理员账户
- 密码安全:建议使用强密码,包含字母、数字和特殊字符
- 账户唯一:系统只允许存在一个超级管理员账户
- 权限重要:超级管理员拥有所有权限,请妥善保管账户信息
常见问题
Q: 如果忘记了超级管理员密码怎么办?
A: 可以通过以下方式重置:
- 直接在数据库中删除 admin_users 集合中的超级管理员记录
- 重新访问系统,会自动跳转到初始化页面
- 重新创建超级管理员账户
Q: 可以创建多个超级管理员吗?
A: 不可以。系统设计为只允许一个超级管理员账户,其他管理员需要由超级管理员创建。
Q: 初始化密钥可以修改吗?
A: 可以。在 initAdmin
云函数中修改 INIT_KEY
常量即可。
文件结构
wx-ai-admin/
├── pages/
│ └── init/
│ └── init.vue # 初始化页面
├── uniCloud-aliyun/
│ └── cloudfunctions/
│ └── initAdmin/
│ ├── index.js # 初始化云函数
│ └── package.json # 依赖配置
├── App.vue # 应用入口(包含检测逻辑)
├── pages.json # 页面路由配置
└── 初始化管理员账户说明.md # 本说明文档
更新日志
- v1.0.0 (2024-01-01)
- 初始版本
- 支持自动检测和初始化管理员账户
- 提供可视化初始化界面
- 实现安全的密钥验证机制