游铛铛管理web端技术方案
一、技术栈
- 框架:React / Vue 3
- UI组件:Ant Design / Element Plus
- HTTP:Axios
- 状态管理:Redux / Pinia
- 构建:Vite
二、功能模块
2.1 用户管理
- 管理员登录/退出
- 注册用户信息查看(用户名、邮箱、注册时间、机器码、有效期)
2.2 软件管理
- 软件特征码管理(如:buff-xp-steam-sh)
- 收费基数配置(每天多少钱)
2.3 卡密管理
2.4 密钥管理
- 当前API公钥/私钥展示
- 历史密钥记录
- 更新周期配置(默认10天)
2.5 日志管理
- API接口日志记录
- 日志查询(时间、用户、接口)
- 日志导出
2.6 公告管理
2.7 管理员管理
三、页面结构
管理后台
├── 登录页
├── 主布局
│ ├── 顶部导航(Logo、用户名、退出)
│ ├── 左侧菜单
│ │ ├── 用户管理
│ │ ├── 软件管理
│ │ ├── 卡密管理
│ │ ├── 密钥管理
│ │ ├── 日志管理
│ │ ├── 公告管理
│ │ └── 管理员管理
│ └── 内容区域(路由页面)
四、API接口
4.1 认证接口
POST /admin/login - 管理员登录
POST /admin/logout - 退出登录
4.2 用户管理
GET /admin/users - 用户列表
GET /admin/users/:id - 用户详情
4.3 软件管理
GET /admin/software - 软件列表
POST /admin/software - 创建软件
PUT /admin/software/:id - 更新软件
DELETE /admin/software/:id - 删除软件
4.4 卡密管理
POST /admin/cards/generate - 生成卡密
GET /admin/cards - 卡密列表
GET /admin/cards/:id/activate - 卡密激活信息
4.5 密钥管理
GET /admin/keys/current - 当前密钥
GET /admin/keys/history - 历史密钥
PUT /admin/keys/cycle - 更新周期配置
4.6 日志管理
GET /admin/logs - 日志列表
GET /admin/logs/export - 导出日志
4.7 公告管理
GET /admin/announcements - 公告列表
POST /admin/announcements - 创建公告
PUT /admin/announcements/:id - 更新公告
DELETE /admin/announcements/:id - 删除公告
五、实现要点
5.1 路由配置
const routes = [
{ path: '/login', component: Login },
{ path: '/', component: Layout, children: [
{ path: 'users', component: UserList },
{ path: 'software', component: SoftwareList },
{ path: 'cards', component: CardList },
// ...
]}
]
5.2 权限控制
// 路由守卫
router.beforeEach((to, from, next) => {
const token = localStorage.getItem('admin_token')
if (to.path !== '/login' && !token) {
next('/login')
} else {
next()
}
})
5.3 卡密生成
// 批量生成卡密
async function generateCards(params) {
const { softwareCode, days, discount, count } = params
const response = await axios.post('/admin/cards/generate', {
software_code: softwareCode,
days,
discount,
count
})
return response.data
}