| 方法 | 接口地址 & 参数 | 说明 | 权限键 |
| POST | /login username password | 管理员登录(防爆破:5次错→锁15分钟) | - |
| GET | /dashboard | 仪表盘统计(用户/陪玩师/订单/邀请码/7日趋势) | dashboard |
| 👤 用户管理 (api/admin/user_list · 融合陪玩师身份) |
| GET | ?page=1&keyword=&status=&is_companion=0|1 | 用户列表(LEFT JOIN 陪玩师资料,可按身份筛选) | users |
| GET | ?action=detail&id=1 | 用户详情(含陪玩师资料/邀请码) | users |
| GET | ?action=wallet_logs&id=1 | 钱包变动日志(若有wallet_logs表) | users |
| POST | action=enable|disable id=1 | 启用/禁用用户(禁用强制下线,同步陪玩师状态) | users |
| POST | action=edit id=1 nickname/phone/gender/level/points | 编辑用户基本资料(字段白名单+手机号格式校验) | users |
| POST | action=edit_profile id=1 nickname/phone/...&comp_real_name/comp_age/... | 融合编辑:用户基本信息 + 陪玩师资料(以comp_前缀传,仅陪玩师生效) | users |
| POST | action=set_companion id=1 is_companion=0|1 | 身份切换:1=升陪玩师(无资料则初始化) / 0=降普通用户(保留资料,强制下线) | users |
| POST | action=adjust_balance id=1 amount=±10 remark=xxx | 余额加减(事务+负数余额校验,写入钱包日志) | users |
| POST | action=reset_password id=1 password=xxx | 重置用户登录密码(若有密码字段) | users |
| POST | action=delete id=1 confirm=1 | 删除用户(事务删除,建议仅禁用) | users |
| 🎮 陪玩师管理 (api/admin/companion) |
| GET | ?page=1&keyword=&status=&city=&level= | 陪玩师列表 | companions |
| GET | ?action=detail&id=1 | 陪玩师详情(用户资料+邀请码+服务项目) | companions |
| POST | action=enable|disable id=1 | 启用/禁用(事务同步用户is_companion标记) | companions |
| POST | action=edit id=1 real_name/age/city/tags/level/score/... | 编辑陪玩师资料(范围校验:age 0-120,score 0-5,level 0-10) | companions |
| POST | action=adjust_score id=1 score=4.8 level=5 | 单独调整评分/等级 | companions |
| POST | action=delete id=1 confirm=1 | 删除陪玩师(保留用户账号,仅取消身份) | companions |
| 🎫 邀请码管理 (api/admin/invite_code) |
| GET | ?action=list&page=1&status=&role=&batch_no= | 邀请码列表 | invites |
| GET | ?action=detail&id=1 | 单条详情(剩余次数+最近10条使用记录+创建人) | invites |
| GET | ?action=logs&code_id=1 | 邀请码使用记录列表 | invites |
| GET | ?action=export&status=&role=&batch_no= | 导出CSV(带BOM防Excel乱码,最多1万条) | invites |
| GET | ?action=generate count=1~100 role=companion max_uses=1 | 批量生成邀请码(19位格式ABCD-EFGH-JKLM-NPQR,已移除代理身份) | invites |
| POST | action=generate count/expire_days/remark/batch_no/role/max_uses | POST批量生成(参数同GET) | invites |
| POST | action=disable|enable ids=1,2,3 | 批量禁用/启用(仅未用尽可重新启用) | invites |
| POST | action=delete ids=1,2,3 | 批量删除(同时删使用记录) | invites |
| 🗂️ 游戏分类管理 (api/admin/category) |
| GET | | 全部分类列表(按sort DESC, id ASC) | categories |
| POST | action=add name=xxx icon=xxx pid=0 sort=0 status=1 | 新增分类(name 1-50字,父级存在性校验) | categories |
| POST | action=edit id=1 name=xxx icon=xxx pid=0 sort=0 status=1 | 编辑分类(不能将自身设为父级) | categories |
| POST | action=delete id=1 | 删除分类(有子分类或关联陪玩师时拒绝) | categories |
| POST | action=sort items=1,3,2 | 批量排序(按顺序传id,自动写sort) | categories |
| POST | action=toggle id=1 status=0|1 | 启用/禁用分类 | categories |
| 📦 订单管理 (api/admin/order) |
| GET | ?page=1&keyword=&status=&start_date=&end_date= | 订单列表(JOIN用户+陪玩师,支持7种状态筛选+日期范围) | orders |
| GET | ?action=detail&id=1 | 订单详情(含用户/陪玩师信息+评价) | orders |
| GET | ?action=export&status=&keyword=&start_date=&end_date= | 导出CSV(带BOM,最多1万条) | orders |
| POST | action=cancel id=1 reason=xxx | 取消订单(仅待支付/已支付待接单可取消) | orders |
| POST | action=refund id=1 reason=xxx | 退款(已支付订单,退款金额退回用户余额,事务+钱包日志) | orders |
| POST | action=complete id=1 | 强制完成订单(仅已接单/服务中可完成) | orders |
| 🔑 管理员列表 (api/admin/admin_users · 仅超级管理员) |
| GET | ?action=list&page=1&keyword=&status= | 管理员列表 | admin_users |
| GET | ?action=detail&id=1 | 管理员详情(权限展开+最近20条防爆破失败记录) | admin_users |
| GET | ?action=permissions | 权限定义列表(5个权限键+管理员列表) | admin_users |
| GET | ?action=login_attempts_log&username=&ip=&locked=1 | 防爆破登录失败日志(全局,分页+筛选) | admin_users |
| GET | ?action=unlock&id=123 | 手动解锁某个被误锁的账号+IP | admin_users |
| POST | action=add username password real_name is_super permissions | 新增管理员(账号3-32位,密码≥6位) | admin_users |
| POST | action=edit id=1 real_name is_super permissions | 编辑/权限分配(不可改自己的超级管理员状态) | admin_users |
| POST | action=disable|enable id=1 | 禁用/启用(不可禁用自己) | admin_users |
| POST | action=delete id=1 confirm=1 | 删除(超级管理员需先取消身份) | admin_users |
| POST | action=reset_password id=1 password=xxx | 重置管理员密码(≥6位,强制下线旧token) | admin_users |
| ⚙️ 系统配置 (api/admin/config) |
| GET | | 读取全部配置(按分组:site/wechat/caihong/pay/withdraw/security) | config |
| GET | ?group=wechat | caihong | pay | withdraw | security | 读取指定分组配置 | config |
| POST | (所有字段名直接作为POST参数) | 保存配置(白名单+数值范围校验) | config |