火星BOT授权系统在线接口文档

插件开发、授权验证、心跳在线、前台/后台/代理接口全量索引。

下载 Markdown

火星BOT授权系统插件对接开发文档

适用站点:`https://bot.booboy.cn`
核心插件接口:`/api/Communication.php`
推荐模式:`c=api` 明文 JSON + 签名校验。旧加密模式也存在,但插件开发建议统一用 `c=api`。

1. 插件对接总流程

插件/客户端通常按下面顺序接入授权:

text
1. 初始化 Initialization
   ↓ 获取 token、公告、更新地址
2. 登录授权 Login
   ↓ 校验账号/卡密/绑定信息
3. 上线确认 GoOnline,可选
   ↓ 用于处理单开/挤下线逻辑
4. 心跳 OnlineHeart,必须循环调用
   ↓ 维持在线状态、扣余额/刷新 htime
5. 读取信息,可选
   ├ GetAppInfo
   ├ GetUserInfo
   └ GetCustumData
6. 退出 OffLine

重要:后台“在线人数”已经按 sq_user.htime 判断:

text
60秒内插件调用过 OnlineHeart 的授权用户 = 在线

所以插件必须定时调用 OnlineHeart,建议每 60 秒一次,建议每 30-60 秒调用一次。


2. 通信地址

推荐 API 模式

http
POST https://bot.booboy.cn/api/Communication.php?appid=应用ID&c=api&sign=签名
Content-Type: application/x-www-form-urlencoded

data=JSON字符串

示例:

http
POST /api/Communication.php?appid=1&c=api&sign=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

data={"mod":"Initialization","ddition":1}

旧加密模式

http
POST /api/Communication.php?appid=应用ID&sign=签名

data=加密后的字符串

旧模式依赖 /function/Encryption.class.php 的自定义动态加密,第三方插件不建议用,除非要兼容旧客户端。


3. 应用密钥

每个应用在后台都有两组密钥:

text
ConnectKey:通信密钥
DecryptKey:解密/签名密钥

后台可在应用管理里查看/重置密钥。

插件里必须保存:

text
appid
connectkey
decryptkey

4. 签名算法,c=api 模式

请求签名

请求里的 data 是 JSON 字符串,签名算法:

php
sign = md5(connectkey . md5(md5(data . connectkey) . decryptkey) . decryptkey)

PHP 示例

php
function hx_sign($data, $connectKey, $decryptKey) {
    return md5($connectKey . md5(md5($data . $connectKey) . $decryptKey) . $decryptKey);
}

$payload = json_encode([
    'mod' => 'Initialization',
    'ddition' => 1,
], JSON_UNESCAPED_UNICODE);

$sign = hx_sign($payload, $connectKey, $decryptKey);

JS/Node 示例

js
const crypto = require('crypto');
function md5(s) {
  return crypto.createHash('md5').update(s, 'utf8').digest('hex');
}
function hxSign(data, connectKey, decryptKey) {
  return md5(connectKey + md5(md5(data + connectKey) + decryptKey) + decryptKey);
}

5. 返回格式,c=api 模式

服务端返回外层 JSON:

json
{
  "code": 1,
  "msg": "ok",
  "data": {
    "sign": "返回数据签名",
    "data": "内层JSON字符串"
  }
}

内层 data 也是 JSON 字符串,例如:

json
{
  "code": 1,
  "msg": "ok",
  "data": {
    "token": "xxxx",
    "notice": "公告内容"
  }
}

插件收到后建议:

text
1. 解析外层 JSON
2. 取 outer.data.data 作为 innerRaw
3. 用同样签名算法计算 hxSign(innerRaw)
4. 比对 outer.data.sign
5. 解析 innerRaw

6. 核心授权接口

路径统一:

text
/api/Communication.php?appid=应用ID&c=api&sign=签名

POST 参数统一:

text
data=JSON字符串

6.1 初始化 Initialization

用于获取 token、公告、更新信息。

请求 data:

json
{
  "mod": "Initialization",
  "ddition": 1
}

字段说明:

| 字段 | 必填 | 说明 |

|---|---:|---|

| mod | 是 | 固定 `Initialization` |

| ddition | 是 | 客户端版本号,必须是数字,用于强制更新判断 |

成功返回:

json
{
  "code": 1,
  "msg": "ok",
  "data": {
    "updateurl": "更新地址",
    "updatelog": "更新日志",
    "notice": "应用公告",
    "token": "初始化token"
  }
}

可能错误:

| code | 含义 |

|---:|---|

| -1 | appid 不能为空 |

| -2 | sign 不能为空/长度不对 |

| -3 | 签名校验失败 |

| -4 | 应用信息获取失败 |

| -101 | 当前客户端版本过低,需要更新 |

| -102 | 应用已停用 |


6.2 登录授权 Login

登录时根据应用后台的 logintype 不同,字段不同。

通用请求:

json
{
  "mod": "Login",
  "token": "初始化返回的token",
  "user": "用户名或卡密",
  "pass": "密码,可选",
  "mac": "设备码,可选",
  "robot": "机器人QQ/绑定QQ,可选",
  "ip": "客户端IP,可选"
}

登录类型 zhmm:账号密码

json
{
  "mod": "Login",
  "token": "xxx",
  "user": "账号",
  "pass": "密码",
  "mac": "设备码",
  "robot": "机器人QQ"
}

登录类型 kmsq:卡密授权

json
{
  "mod": "Login",
  "token": "xxx",
  "user": "卡密",
  "mac": "设备码",
  "robot": "机器人QQ"
}

登录类型 jcbd:检查绑定

json
{
  "mod": "Login",
  "token": "xxx",
  "mac": "设备码",
  "robot": "机器人QQ",
  "ip": "客户端IP"
}

成功返回:

json
{
  "code": 1,
  "msg": "ok"
}

常见错误:

| code | 含义 |

|---:|---|

| -201 | 初始化超时或 token 不存在 |

| -202 | 用户名不能为空 |

| -203 | 密码不能为空 |

| -204 | 用户名错误 |

| -205 | 密码错误 |

| -211 | 卡密不能为空 |

| -212 | 卡密不存在 |

| -221 | 未查询到绑定授权 |

| -231 | 授权被冻结 |

| -232 | 授权到期 |

| -233 | 余额不足 |

| -234 | IP 绑定不一致 |

| -235 | 设备码绑定不一致 |

| -236 | QQ 绑定不一致 |

| -301 | 已在别处登录,触发单开限制 |


6.3 上线确认 GoOnline

用于处理在线检查/单开逻辑。不是每个插件都必须用,但如果应用开启了 onlinecheck,建议 Login 成功后调用一次。

请求:

json
{
  "mod": "GoOnline",
  "token": "登录token"
}

成功:

json
{
  "code": 1,
  "msg": "ok"
}

6.4 在线心跳 OnlineHeart

插件必须定时调用,用于:

text
1. 刷新 token.lastest
2. 更新 sq_user.htime
3. 余额型授权扣余额
4. 后台/代理后台在线人数统计

请求:

json
{
  "mod": "OnlineHeart",
  "token": "登录token"
}

成功返回:

json
{
  "code": 1,
  "msg": "ok",
  "data": {
    "time": 1720000000,
    "o": "余额扣除成功或空"
  }
}

建议频率:

text
每 60 秒一次

在线人数判定:

text
当前时间 - sq_user.htime <= 60 秒,即 3 小时内有心跳 = 在线

6.5 获取应用信息 GetAppInfo

请求:

json
{
  "mod": "GetAppInfo",
  "token": "登录token"
}

返回当前应用配置,包含版本、公告、更新、登录类型、绑定设置等字段。


6.6 获取用户信息 GetUserInfo

请求:

json
{
  "mod": "GetUserInfo",
  "token": "登录token"
}

成功返回授权用户完整信息,常见字段:

| 字段 | 说明 |

|---|---|

| username | 授权账号/卡密 |

| mac | 绑定设备码 |

| lip | 绑定 IP |

| rqq | 绑定机器人 QQ |

| balance | 到期时间戳或余额 |

| htime | 最近心跳时间 |

| status | 1 正常,0 冻结 |

| appid | 应用 ID |

| aid | 所属代理 ID |


6.7 获取自定义数据 GetCustumData

请求:

json
{
  "mod": "GetCustumData",
  "token": "登录token"
}

返回后台应用里配置的自定义数据:

json
{
  "code": 1,
  "data": {
    "data": "后台应用自定义数据"
  }
}

注意:系统里拼写就是 GetCustumData,不是 GetCustomData


6.8 退出 OffLine

请求:

json
{
  "mod": "OffLine",
  "token": "登录token"
}

作用:删除当前 token。

成功:

json
{
  "code": 1,
  "msg": "ok"
}

7. c=api 请求完整示例,PHP

php
<?php
$base = 'https://bot.booboy.cn/api/Communication.php';
$appid = 1;
$connectKey = '你的ConnectKey';
$decryptKey = '你的DecryptKey';

function hx_sign($data, $connectKey, $decryptKey) {
    return md5($connectKey . md5(md5($data . $connectKey) . $decryptKey) . $decryptKey);
}

function hx_request($mod, $payload = []) {
    global $base, $appid, $connectKey, $decryptKey;
    $payload['mod'] = $mod;
    $data = json_encode($payload, JSON_UNESCAPED_UNICODE);
    $sign = hx_sign($data, $connectKey, $decryptKey);
    $url = $base . '?appid=' . urlencode($appid) . '&c=api&sign=' . $sign;

    $ch = curl_init($url);
    curl_setopt_array($ch, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POST => true,
        CURLOPT_POSTFIELDS => http_build_query(['data' => $data]),
        CURLOPT_TIMEOUT => 10,
    ]);
    $raw = curl_exec($ch);
    curl_close($ch);

    $outer = json_decode($raw, true);
    if (!$outer || $outer['code'] != 1) {
        throw new Exception('接口外层返回异常:' . $raw);
    }

    $innerRaw = $outer['data']['data'];
    $innerSign = $outer['data']['sign'];
    if (hx_sign($innerRaw, $connectKey, $decryptKey) !== $innerSign) {
        throw new Exception('返回签名校验失败');
    }
    return json_decode($innerRaw, true);
}

// 1. 初始化
$init = hx_request('Initialization', ['ddition' => 1]);
$token = $init['data']['token'];

// 2. 登录
$login = hx_request('Login', [
    'token' => $token,
    'user' => '授权账号或卡密',
    'pass' => '密码',
    'mac' => '设备码',
    'robot' => '机器人QQ',
]);

// 3. 心跳,建议循环定时执行
$heart = hx_request('OnlineHeart', ['token' => $token]);

8. c=api 请求完整示例,Node.js

js
const crypto = require('crypto');

const base = 'https://bot.booboy.cn/api/Communication.php';
const appid = 1;
const connectKey = '你的ConnectKey';
const decryptKey = '你的DecryptKey';

function md5(s) {
  return crypto.createHash('md5').update(s, 'utf8').digest('hex');
}
function hxSign(data) {
  return md5(connectKey + md5(md5(data + connectKey) + decryptKey) + decryptKey);
}

async function hxRequest(mod, payload = {}) {
  payload.mod = mod;
  const data = JSON.stringify(payload);
  const sign = hxSign(data);
  const url = `${base}?appid=${appid}&c=api&sign=${sign}`;

  const res = await fetch(url, {
    method: 'POST',
    headers: {'Content-Type': 'application/x-www-form-urlencoded'},
    body: new URLSearchParams({data}),
  });
  const outer = await res.json();
  if (outer.code !== 1) throw new Error(JSON.stringify(outer));

  const innerRaw = outer.data.data;
  if (hxSign(innerRaw) !== outer.data.sign) throw new Error('返回签名校验失败');
  return JSON.parse(innerRaw);
}

9. 前台公共 AJAX 接口

这些接口主要给网站前台页面用,也可以被插件/外部系统调用,但通常需要人机验证 token 或页面流程配合。

路径:

text
/ajax.php?mod=接口名

| mod | 用途 | 主要参数 |

|---|---|---|

| queryauth | 查询授权 | `qq`, `token` |

| macauth | 查询设备码 | `mac`, `token` |

| kmauth | 查询卡密 | `km`, `token` |

| FieldKamiOpen_First | 套餐卡密自助授权第一步 | `kami`, `token` |

| buy_applist | 获取可购买应用列表 | 无 |

| loadbuylist | 获取套餐购买列表 | `loadbuylist=appid` |

| buy_first | 购买第一步/表单 | 依页面流程 |

| buy_submit | 提交购买授权 | 依页面流程 |

| buy_agent | 自助开通代理 | `lid`, `username`, `password`, `qq`, `zffs`, `zxzffs`, `kt_key`, `token` |

| levellist | 获取可购买代理级别 | 无 |

| changegetform | 换绑表单 | `appid` |

| ChangeGetVerCode | 换绑获取验证码 | 动态字段 + `token` |

| postchange | 提交换绑 | 动态字段 |

| introduce | 应用介绍 | `appid` |

前台页面:

| 页面 | 说明 |

|---|---|

| `/query.php` | 查询授权 |

| `/mac.php` | 查询设备码 |

| `/km.php` | 查询卡密 |

| `/auth.php` | 自助授权 |

| `/change.php` | 更换授权 |

| `/openuser.php` | 开通代理 |

| `/代理QQ` | 代理专属官网首页 |


10. 总后台接口索引

路径:

text
/Adminx/ajax.php?mod=接口名

需要总后台登录态。

主要接口:

登录态

| mod | 说明 |

|---|---|

| login | 总后台登录 |

| checklogin | 检查登录态 |

| changepassword | 修改密码 |

| gettoken | 获取后台 accesstoken |

| resettoken / retoken | 重置 token |

仪表盘/日志

| mod | 说明 |

|---|---|

| getsysinfo | 总后台统计,包含访问量、今日访问、在线数量 |

| getnotice | 系统公告 |

| getuplog | 更新日志 |

| getvisitlogs | 首页访问日志,含 IP、归属地、时间、路径 |

| sitelog | 系统日志相关 |

应用管理

| mod | 说明 |

|---|---|

| getapplist | 应用列表 |

| addapp | 添加应用 |

| delapp | 删除应用 |

| savechange | 保存应用字段 |

| appkey | 查看/重置应用通信密钥 |

| resetkey | 重置应用密钥 |

| saveintroduce | 保存应用介绍 |

| introduce | 获取应用介绍 |

| getgrideinfo | 获取授权表单字段配置 |

授权用户

| mod | 说明 |

|---|---|

| getuserlist | 授权用户列表 |

| changeuser | 修改授权用户 |

| deluser | 删除授权用户 |

| user_applist | 用户筛选应用列表 |

| loadbuybody | 加载开通授权表单 |

| buy_submit | 后台开通授权 |

代理/等级

| mod | 说明 |

|---|---|

| getagentlist | 代理列表 |

| addagent | 添加代理 |

| changeagent | 修改代理 |

| coldagent | 冻结代理 |

| uncoldagent | 解冻代理 |

| delagent | 删除代理 |

| getagentinfo | 获取代理信息 |

| agentlog | 代理日志 |

| getlevallist | 代理等级列表 |

| addgrade | 添加等级 |

| changegrade | 修改等级 |

| delgrade | 删除等级 |

| gradelist | 等级列表/选择项 |

| getsetlevel / setlevel | 等级配置 |

余额卡密

| mod | 说明 |

|---|---|

| creatkey | 生成余额卡密 |

| getkeylist | 余额卡密列表 |

| keystatus | 卡密状态 |

| coldkey | 冻结卡密 |

| uncoldkey | 解冻卡密 |

| delkey | 删除卡密 |

| download | 下载导出的卡密 |

| keylog | 卡密日志 |

| KeyOperation | 批量导出/删除余额卡密 |

套餐卡密

| mod | 说明 |

|---|---|

| fidlist_show | 套餐列表 |

| addfid | 添加套餐 |

| changefid | 修改套餐 |

| delfid | 删除套餐 |

| creatfidkey | 生成套餐卡密 |

| gettckeylist | 套餐卡密列表 |

| tckeystatus | 套餐卡密状态 |

| deltckey | 删除套餐卡密 |

| FidKeyOperation | 批量导出/删除套餐卡密 |

订单/支付/系统

| mod | 说明 |

|---|---|

| gettradelist | 订单列表 |

| deltrade | 删除订单 |

| suppletrade | 补单 |

| clearalltradeid | 清空订单 |

| clearbeenpay | 清空已支付订单 |

| clearnopay | 清空未支付订单 |

| getsysset | 获取系统设置 |

| savesysset | 保存系统设置 |

| savesiteinfo | 保存站点信息 |

| savenotice | 保存公告 |

| savemailset | 保存邮件配置 |

| sendtestmail | 发送测试邮件 |

| saveepayset | 保存易支付配置 |

| vaptcha | 保存人机验证配置 |

| addadmin | 添加管理员 |

| checkupdate / downloadupdatepacks / unzippacks | 更新相关 |


11. 二级后台接口索引

路径:

text
/admin/ajax.php?mod=接口名

需要二级后台登录态。二级后台能力比总后台少,主要是用户、代理、卡密、购买和日志:

text
login, checklogin, getsysinfo,
getuserlist, changeuser, deluser,
dl_applist, getgrideinfo,
getlevallist, addagent, getagentlist, coldagent, uncoldagent, getagentinfo, changeagent, delagent,
creatkey, getkeylist, keystatus, coldkey, uncoldkey, delkey, KeyOperation,
fidlist_show, creatfidkey, gettckeylist, tckeystatus, deltckey, FidKeyOperation,
loadbuybody, buy_submit,
keylog, agentlog,
getnotice, getuplog,
gettoken, resettoken,
savesignset, saveintroduce,
checkupdate, downloadupdatepacks, unzippacks, upload

12. 代理后台接口索引

路径:

text
/user/ajax.php?mod=接口名

需要代理登录态。

登录态/仪表盘

| mod | 说明 |

|---|---|

| login | 代理登录 |

| checklogin | 检查代理登录态,返回 username/qq |

| getsysinfo | 代理统计:余额、等级、授权数、下级数、自己的访问量、自己的在线人数 |

| getnotice | 代理公告 |

| getvisitlogs | 当前代理自己的首页访问日志 |

| changepassword | 修改代理密码 |

授权用户

| mod | 说明 |

|---|---|

| getuserlist | 当前代理授权用户列表 |

| changeuser | 修改授权用户 |

| deluser | 删除授权用户 |

| buy_applist | 当前代理可开通应用列表 |

| buy_first | 购买/开通第一步 |

| buy_submit | 代理开通授权 |

充值/订单/升级

| mod | 说明 |

|---|---|

| recharge | 在线充值 |

| gettradelist | 订单列表 |

| deltrade | 删除订单 |

| clearalltradeid | 清空订单 |

| clearbeenpay | 清空已支付 |

| clearnopay | 清空未支付 |

| getbuylist | 获取可购买/升级列表 |

| updatelevel | 提升代理等级 |

| leveltips | 等级提示 |

下级代理

| mod | 说明 |

|---|---|

| getlevallist | 可开通级别 |

| addagenttips | 开通下级提示 |

| buyagent | 开通下级代理 |

| getagentlist | 下级代理列表 |

| changeagent | 修改下级代理 |

| delagent | 删除下级代理 |

卡密

| mod | 说明 |

|---|---|

| creatkey | 生成余额卡密 |

| getkeylist | 余额卡密列表 |

| delkey | 删除余额卡密 |

| KeyOperation | 余额卡密批量导出/删除 |

| buy_fidlist | 可购买套餐列表 |

| fidlist_show | 套餐列表 |

| creatfidkey | 生成套餐卡密 |

| gettckeylist | 套餐卡密列表 |

| tckeystatus | 套餐卡密状态 |

| deltckey | 删除套餐卡密 |

| FidKeyOperation | 套餐卡密批量导出/删除 |

| download | 下载导出卡密 |

| keylog | 卡密日志 |


13. 支付与订单回调

| 路径 | 说明 |

|---|---|

| `/payment.php?tradeno=订单号` | 打开支付页或使用余额/卡密支付 |

| `/payresult.php?tradeno=订单号` | 查询支付结果 |

| `/pay/epay/notify_url.php` | 易支付异步通知 |

| `/pay/epay/return_url.php` | 易支付同步返回 |

| `/api/monitor.php` | 订单补单/清理 token 监控脚本 |


14. 数据库字段和在线判定

授权用户表 sq_user 关键字段

| 字段 | 说明 |

|---|---|

| ID | 授权用户 ID |

| username | 授权账号/卡密 |

| password | 授权密码 |

| mac | 设备码 |

| lip | 最近/绑定 IP |

| rqq | 机器人 QQ |

| appid | 应用 ID |

| aid | 所属代理 ID |

| balance | 到期时间戳或余额 |

| htime | 最近心跳时间 |

| ltime | 最近登录时间 |

| status | 状态,1 正常 |

token 表 sq_token

| 字段 | 说明 |

|---|---|

| token | 初始化/登录 token |

| uid | 授权用户 ID |

| appid | 应用 ID |

| ip | 初始化 IP |

| addtime | 初始化时间 |

| start | 登录开始时间 |

| lastest | 最近心跳时间 |

在线人数规则

text
总后台在线数量:sq_user.htime >= time() - 60
代理后台在线人数:sq_user.aid = 当前代理ID AND sq_user.htime >= time() - 60

15. 插件开发注意事项

1. Initialization 必须先调用,拿到 token 后才能 Login

2. Login 成功不代表在线人数会增加;必须持续调用 OnlineHeart

3. OnlineHeart 建议每 60 秒调用一次。

4. 退出插件时调用 OffLine 删除 token。

5. 插件必须校验服务端返回签名,避免伪造授权返回。

6. c=api 模式不加密,只签名;如果传输敏感字段,必须走 HTTPS。

7. 绑定逻辑由后台应用设置决定:IP、设备码、QQ 是否绑定。

8. 余额授权类型 kcye 会在心跳时扣余额。

9. 到期授权类型 dqsjbalance 是到期时间戳,-1 表示不限期。

10. 系统里 GetCustumData 拼写就是这样,插件不要写成 GetCustomData


16. 最小插件伪代码

text
init = request(Initialization, {ddition: 本地版本})
if init.code != 1: 停止并提示

token = init.data.token

login = request(Login, {
  token,
  user: 授权账号或卡密,
  pass: 密码,
  mac: 本机设备码,
  robot: 机器人QQ
})
if login.code != 1: 停止并提示 login.msg

每 60 秒:
  heart = request(OnlineHeart, {token})
  if heart.code != 1:
      停止插件并提示 heart.msg

退出时:
  request(OffLine, {token})

17. 当前系统已发现的全部 mod 名称

`/api/Communication.php`

text
Initialization, Login, GoOnline, OnlineHeart, GetCustumData, GetAppInfo, GetUserInfo, OffLine

`/ajax.php`

text
queryauth, macauth, kmauth, FieldKamiOpen_First, buy_applist, loadbuylist,
buy_first, buy_submit, FieldKeyBuy_submit, buy_agent, levellist,
changegetform, ChangeGetVerCode, postchange, introduce, zfb, wx, qq

`/Adminx/ajax.php`

text
login, checklogin, getsysinfo, getvisitlogs, getapplist, addapp, delapp, savechange,
appkey, resetkey, getuserlist, changeuser, deluser, user_applist, loadbuybody, buy_submit,
getagentlist, addagent, changeagent, coldagent, uncoldagent, delagent, getagentinfo, agentlog,
getlevallist, addgrade, changegrade, delgrade, gradelist, getsetlevel, setlevel,
creatkey, getkeylist, keystatus, coldkey, uncoldkey, delkey, download, keylog, KeyOperation,
fidlist_show, addfid, changefid, delfid, creatfidkey, gettckeylist, tckeystatus, deltckey, FidKeyOperation,
gettradelist, deltrade, suppletrade, clearalltradeid, clearbeenpay, clearnopay,
getsysset, savesysset, savesiteinfo, savenotice, savemailset, sendtestmail, saveepayset, vaptcha,
addadmin, getnotice, getuplog, gettoken, resettoken, retoken, checkupdate, downloadupdatepacks, unzippacks, upload

`/admin/ajax.php`

text
login, checklogin, getsysinfo, getuserlist, changeuser, deluser,
dl_applist, getgrideinfo, getlevallist, addagent, getagentlist, coldagent, uncoldagent,
getagentinfo, changeagent, delagent, savesignset, creatkey, getkeylist, keystatus,
coldkey, uncoldkey, delkey, download, KeyOperation, fidlist_show, creatfidkey,
gettckeylist, tckeystatus, deltckey, FidKeyOperation, loadbuybody, buy_submit,
agentlog, keylog, saveintroduce, upload, getnotice, getuplog, gettoken, resettoken,
checkupdate, downloadupdatepacks, unzippacks

`/user/ajax.php`

text
login, checklogin, getsysinfo, getvisitlogs, getnotice, buy_applist, buy_first, buy_submit,
getuserlist, changeuser, deluser, recharge, gettradelist, deltrade, clearalltradeid,
clearbeenpay, clearnopay, getbuylist, updatelevel, leveltips, getlevallist,
addagenttips, buyagent, getagentlist, changeagent, delagent, creatkey, getkeylist,
delkey, KeyOperation, buy_fidlist, fidlist_show, creatfidkey, gettckeylist,
tckeystatus, deltckey, FidKeyOperation, download, keylog, changepassword, zfb, wx, qq

18. 二次严格扫描补充:全量路由/子操作附录

说明:本节是按源码重新扫描 `$_GET['mod']`、`$data['mod']`、`switch case`、UEditor `action` 得出的补充清单。
其中 `/function/PHPMailer.php` 内部的 `alt/html/plain/smtp/sendmail` 等 case 是第三方邮件库内部 MIME/发送模式,不是本系统 HTTP 接口,已排除。

18.1 插件真正必须对接的核心接口

插件授权只需要对接:

text
/api/Communication.php

核心 mod 全量如下:

text
Initialization
Login
GoOnline
OnlineHeart
GetCustumData
GetAppInfo
GetUserInfo
OffLine

这些已经在正文第 6 节逐项写了请求、参数、返回和错误码。


18.2 根目录前台 `/ajax.php` 全量 mod

text
queryauth
macauth
kmauth
FieldKamiOpen_First
buy_applist
loadbuylist
buy_first
buy_submit
FieldKeyBuy_submit
buy_agent
levellist
changegetform
ChangeGetVerCode
postchange
introduce
zfb
wx
qq

用途:前台查询、自助授权、购买、换绑、开通代理、支付方式选择。


18.3 总后台 `/Adminx/ajax.php` 全量 mod / 子操作

登录/状态

text
login
checklogin
changepassword
gettoken
resettoken
retoken

仪表盘/公告/日志

text
getsysinfo
getvisitlogs
getnotice
getuplog
sitelog

应用管理

text
getapplist
addapp
delapp
savechange
appkey
resetkey
saveintroduce
introduce
getgrideinfo

应用字段/配置子字段 case,包括:

text
app_name
yybb
yxjb
yxhb
bdip
bdjq
bdqq
gbyy
qzgx
gxdz
gxrz
yygg
zxjc
zxms
mfms
zqkc
jbkc
zdysj
czmz
imgsrc

这些多为 savechange 或应用配置里的字段名/类型分支,不是单独给插件调用的公共接口。

授权用户

text
getuserlist
changeuser
deluser
user_applist
loadbuybody
buy_submit

代理/等级

text
getagentlist
addagent
changeagent
coldagent
uncoldagent
delagent
getagentinfo
agentlog
getlevallist
addgrade
changegrade
delgrade
gradelist
getgradelist
getsetlevel
setlevel

余额卡密

text
creatkey
getkeylist
keystatus
coldkey
uncoldkey
delkey
download
keylog
KeyOperation

KeyOperation 的批量子操作:

text
ExportNoUse
ExportNoMoney
ExportAll
DelNoMoney
DelNoUse
DelUse
DelAll

套餐/套餐卡密

text
fidlist_show
addfid
changefid
delfid
getfidlist
creatfidkey
gettckeylist
tckeystatus
deltckey
FidKeyOperation

FidKeyOperation 的批量子操作:

text
ExportNoUse
ExportNoMoney
ExportAll
DelNoMoney
DelNoUse
DelUse
DelAll

订单/支付/清理

text
gettradelist
deltrade
suppletrade
clearalltradeid
clearbeenpay
clearnopay
saveepayset
savesignset

支付类型/方式子操作:

text
zfb
wx
qq

系统设置/邮件/验证/管理员/更新

text
getsysset
savesysset
savesiteinfo
savenotice
savemailset
sendtestmail
vaptcha
addadmin
checkupdate
downloadupdatepacks
unzippacks
upload

黑词/补充配置

text
getbclist
addbc
delbc

返回/日志类型标记,不建议当接口调用

text
success
warning
danger
info

这些通常是日志类型或提示类型分支,不属于插件公共接口。


18.4 二级后台 `/admin/ajax.php` 全量 mod / 子操作

text
login
checklogin
getsysinfo
getuserlist
changeuser
deluser
dl_applist
getgrideinfo
getlevallist
addagent
getagentlist
coldagent
uncoldagent
getagentinfo
changeagent
delagent
savesignset
creatkey
getkeylist
keystatus
coldkey
uncoldkey
delkey
download
KeyOperation
fidlist_show
creatfidkey
gettckeylist
tckeystatus
deltckey
FidKeyOperation
loadbuybody
buy_submit
agentlog
keylog
saveintroduce
upload
getnotice
getuplog
gettoken
resettoken
checkupdate
downloadupdatepacks
unzippacks
user_applist
getbclist
addbc
delbc
changepassword

批量子操作同总后台:

text
ExportNoUse
ExportNoMoney
ExportAll
DelNoMoney
DelNoUse
DelUse
DelAll

18.5 代理后台 `/user/ajax.php` 全量 mod / 子操作

text
login
checklogin
getsysinfo
getvisitlogs
getnotice
buy_applist
buy_first
buy_submit
getuserlist
changeuser
deluser
recharge
gettradelist
deltrade
clearalltradeid
clearbeenpay
clearnopay
getbuylist
updatelevel
leveltips
getlevallist
addagenttips
buyagent
getagentlist
changeagent
delagent
creatkey
getkeylist
delkey
KeyOperation
buy_fidlist
fidlist_show
creatfidkey
gettckeylist
tckeystatus
deltckey
FidKeyOperation
download
keylog
changepassword
zfb
wx
qq

批量子操作:

text
ExportNoUse
ExportNoMoney
ExportAll
DelNoMoney
DelNoUse
DelUse
DelAll

18.6 登录退出入口

这些不是 ajax.php?mod=,但属于页面入口:

text
/Adminx/index.php?mod=loginout
/admin/index.php?mod=loginout
/user/index.php?mod=loginout

当前新版页面中也有:

text
/Adminx/logout.php
/admin/logout.php
/user/logout.php

18.7 UEditor/上传控制器 action

总后台:

text
/Adminx/php/controller.php?action=config
/Adminx/php/controller.php?action=uploadimage
/Adminx/php/controller.php?action=uploadscrawl
/Adminx/php/controller.php?action=uploadvideo
/Adminx/php/controller.php?action=uploadfile
/Adminx/php/controller.php?action=listimage
/Adminx/php/controller.php?action=listfile
/Adminx/php/controller.php?action=catchimage

二级后台:

text
/admin/php/controller.php?action=config
/admin/php/controller.php?action=uploadimage
/admin/php/controller.php?action=uploadscrawl
/admin/php/controller.php?action=uploadvideo
/admin/php/controller.php?action=uploadfile
/admin/php/controller.php?action=listimage
/admin/php/controller.php?action=listfile
/admin/php/controller.php?action=catchimage

这些是后台富文本/文件上传控件用的 action,不是插件授权通信接口。


18.8 独立页面/回调入口

text
/index.php                 官方首页;/代理QQ 也会路由到这里
/query.php                 查询授权页
/mac.php                   查询设备码页
/km.php                    查询卡密页
/auth.php                  自助授权页
/change.php                更换授权页
/openuser.php              开通代理页
/payment.php?tradeno=订单号
/payresult.php?tradeno=订单号
/pay/epay/notify_url.php   易支付异步回调
/pay/epay/return_url.php   易支付同步返回
/api/monitor.php           订单补单/Token 清理监控脚本

19. 完整性说明

本文件现在分两层:

text
正文第 1-16 节:插件开发者真正需要对接的核心接口和示例
第 17-18 节:源码扫描得到的全量接口/后台内部接口索引

如果只是写授权插件,优先看:

text
/api/Communication.php
Initialization / Login / OnlineHeart / OffLine

如果要写自动化后台管理工具,再看:

text
/Adminx/ajax.php
/admin/ajax.php
/user/ajax.php

注意:后台/代理后台接口需要登录 Session,不建议直接暴露给第三方插件。