仰望星辰工作室

better-staridc-MNBT

better-staridc-MNBT/ docs/api/user.md 8.7 KB · 230 行 原始文件
Z zfhsh first commit 1 天前
1---
2title: 用户控制面板接口
3description: user/ajax.php 用户控制面板 AJAX 接口(站点配置、文件管理、域名、SSL、数据库、监控等)
4---
5
6# 用户控制面板接口(user/ajax.php)
7
8**入口**:`POST /user/ajax.php`
9**鉴权**:除 `gn=login` 外,全部需要用户登录(`user_token` Cookie)。
10**路由文件**:user/ajax.php → user/api/*.php
11
12> 插件 AJAX(`gn=p_xxx`)会优先由 `mnbt_plugin_dispatch_ajax('user', $egn)` 分发,详见 [插件对接 API](./plugin.md)。
13
14## 3.1 登录与初始化
15
16### `gn=login` —— 用户登录
17
18| 项 | 值 |
19|----|----|
20| 文件 | user/api/login.php |
21| 鉴权 | 公开 |
22| 参数 | `user`、`pass`、`code`(验证码,可选) |
23| 返回 | `{"code":"登陆成功"}`,并写入 `user_token` Cookie(7天有效期) |
24| 退出 | 同 `gn=login` 传 `logout=1` |
25
26---
27
28## 3.2 站点配置(site)
29
30文件:user/api/site.php
31
32| `gn` | 功能 | 必需参数 | 返回 |
33|------|------|----------|------|
34| `phpxg` | 切换 PHP 版本 | `php`(版本号) | `code` |
35| `sqldr` | 设置运行目录 | `dr`(路径) | `code` |
36| `xgmrwd` | 修改默认文档 | `mrwd`(逗号分隔) | `code` |
37| `hqjt` | 获取伪静态规则 | 无 | `code`/规则列表 |
38| `setwjt` | 设置伪静态规则 | `wjt`(模板名) | `code` |
39| `tjmmfw` | 添加密码访问目录 | `ml`、`user`、`pass` | `code` |
40| `scmmfw` | 删除密码访问目录 | `ml` | `code` |
41| `ftpjy` | FTP 禁用/启用 | `qk` | `code` |
42| `xgpass` | 修改 FTP/面板密码 | `pass` | `code` |
43| `setyxml` | 设置运行目录 | `yxml` | `code` |
44| `setgzip` / `gzip` | 设置 Gzip 配置 | Gzip 相关参数 | `code` |
45| `sxsyxx` | 刷新所有用量信息 | 无 | 用量 JSON |
46
47---
48
49## 3.3 文件管理(file)
50
51文件:user/api/file.php
52
53| `gn` | 功能 | 必需参数 | 返回 |
54|------|------|----------|------|
55| `listfile` | 获取目录文件列表 | `path` | `code`、文件数组 |
56| `hqwj` | 获取文件内容 | `path`、`name` | `code`、内容 |
57| `setwj` | 保存文件内容 | `path`、`name`、`content` | `code` |
58| `xjwj` | 新建文件 | `ml`、`wjname` | `code` |
59| `xjwjj` | 新建文件夹 | `ml`、`wjname` | `code` |
60| `ftpsc` | 删除文件/目录 | `lx`(file/dir)、`path`、`name` | `code` |
61| `ftpscxz` | 批量删除 | `path`、`idsz`(数组) | `code` |
62| `setname` | 重命名 | `path`、`name`、`newname` | `code` |
63| `filecp` | 复制文件 | `path`、`name`、`newpath` | `code` |
64| `fileys` | 压缩文件 | `path`、`name`、`zipname` | `code` |
65| `fileupload` | 上传文件(分片) | `path`、`name`、`file`、`fesw`、`zsize` | `error`、`size`、`msg` |
66| `file_upload_size` | 获取上传限制 | 无 | `code`、`size` |
67| `hqdx` | 获取目录大小 | `path` | `code`、`size` |
68
69**安全限制:**
70
71- 路径必须以 `/` 开头
72- 文件名不能包含 `/`
73- 禁止操作 `.user.ini`
74
75---
76
77## 3.4 域名管理(domain)
78
79文件:user/api/domain.php
80
81> 域名 CRUD 已迁移到 `domain_shop` 插件,本文件仅保留查询接口。
82
83| `gn` | 功能 | 必需参数 | 返回 |
84|------|------|----------|------|
85| `hqzmlls` | 获取子目录域名列表 | 无 | `["domain1","domain2"]` 或 `false` |
86| `listurl` | 获取域名绑定列表 | 无 | `{"domains":[{"name":"..."}]}` |
87
88---
89
90## 3.5 SSL 证书(ssl)
91
92文件:user/api/ssl.php
93
94| `gn` | 功能 | 必需参数 | 返回 |
95|------|------|----------|------|
96| `sqssl` | 申请/续签 Let's Encrypt | `list`(域名数组)、`type`(`false`=申请 / `true`=续签) | `{"qk":1\|4,"code":"..."}` |
97| `setssl` | 设置自定义证书 | `key`、`pem` | `{"qk":1\|4,"code":"..."}` |
98| `getssl` | 获取证书配置 | 无 | `{"key","csr","httpToHttps","status","cert_data","type"}` |
99| `clossl` | 关闭 SSL | 无 | `{"qk":1\|4,"code":"..."}` |
100| `httpsqz` | 强制 HTTPS 开关 | `qk`(`true`/`false`) | `{"qk":1\|4,"code":"..."}` |
101
102---
103
104## 3.6 数据库管理(database)
105
106文件:user/api/database.php
107
108| `gn` | 功能 | 必需参数 | 返回 |
109|------|------|----------|------|
110| `databaseadd` | 创建数据库 | `name`、`pass` | `code` |
111| `databasedel` | 删除数据库 | `name` | `code` |
112| `databasedownload` | 下载备份 | `name` | 文件流 |
113| `databaserestore` | 恢复备份 | `name` | `code` |
114| `databaseaq1` | 设置数据库权限 | `name`、`aq`(权限) | `code` |
115| `Delalldatabase` | 删除所有数据库 | 无 | `code` |
116
117---
118
119## 3.7 缓存配置(cache)
120
121文件:user/api/cache.php
122
123| `gn` | 功能 | 必需参数 | 返回 |
124|------|------|----------|------|
125| `cache_add` | 添加缓存规则 | `suffix`、`time_out`、`unit` | `code` |
126| `cache_edit` | 修改缓存规则 | `id`、`suffix`、`time_out`、`unit` | `code` |
127| `cache_del` | 删除缓存规则 | `id` | `code` |
128| `cache_list` | 缓存规则列表 | 无 | 规则数组 |
129
130**`unit` 枚举:** `second`、`minute`、`hour`、`day`
131
132---
133
134## 3.8 一键部署(deploy)
135
136文件:user/api/deploy.php
137
138| `gn` | 功能 | 必需参数 | 返回 |
139|------|------|----------|------|
140| `yjbs` | 执行部署 | `id`、`datas`(表单数据) | `code` |
141| `yjbsform` | 获取部署表单 | `id` | `code`、表单配置 |
142
143---
144
145## 3.9 监控与通知(monitor / notice)
146
147文件:user/api/monitor.php
148
149| `gn` | 功能 | 必需参数 | 返回 |
150|------|------|----------|------|
151| `monitor_save` | 新建/修改监控任务 | `id`(0=新建)、`name`、`task_type`、`url`、`resource_type`、`resource_threshold`、`method`、`interval_seconds`、`timeout_seconds`、`status_rule`、`status_value`、`content_rule`、`content_value`、`fail_threshold`、`notify_email`、`enabled` | `code` |
152| `monitor_del` | 删除监控任务 | `id` | `code` |
153| `monitor_toggle` | 启用/禁用任务 | `id`、`enabled` | `code` |
154| `notice_read` | 标记通知已读 | `id`(0=全部) | `code` |
155
156**`task_type` 枚举:** `url`、`resource`
157**`resource_type` 枚举:** `web`、`sql`、`traffic`
158**`status_rule` 枚举:** `eq`、`ne`、`lt`、`gt`、`ge`、`le`
159**`content_rule` 枚举:** `none`、`contains`、`not_contains`
160**`method` 枚举:** `GET`、`POST`、`HEAD`
161**限制:** 每用户最多 5 个任务;URL 监控默认 60s,资源监控固定 180s;URL 禁止指向内网(SSRF 防护)。
162
163---
164
165## 3.10 站点统计(site_stats)
166
167文件:user/api/site_stats.php
168
169统一入口 `gn=site_stats`,通过 `type` 参数区分:
170
171| `type` | 功能 | 返回 |
172|--------|------|------|
173| `overview` | 概览统计 | PV/UV/请求数等 |
174| `trend` | 流量趋势 | 时间序列数据 |
175| `ip_rank` | IP 排行 | IP 列表 |
176| `uri_rank` | URI 排行 | URI 列表 |
177| `errors` | 错误统计 | 状态码分布 |
178| `spider` | 蜘蛛访问 | 蜘蛛列表 |
179| `client` | 客户端统计 | 客户端分布 |
180| `method` | 请求方法统计 | 方法分布 |
181| `recent` | 最近访问 | 访问列表 |
182
183---
184
185## 3.11 其他(other)
186
187文件:user/api/other.php
188
189| `gn` | 功能 | 必需参数 | 返回 |
190|------|------|----------|------|
191| `fdlkg` | 防盗链开关 | `qk` | `code` |
192| `getfdl` | 获取防盗链配置 | 无 | 配置 JSON |
193| `mailbd` | 绑定邮箱 | `mail` | `code` |
194| `fzjh` | 反向代理 | `qk`、`url` | `code` |
195| `indexconf` | 索引配置 | `qk` | `code` |
196
197---
198
199## 3.12 SPA 列表接口(panel)
200
201文件:user/api/panel.php
202
203| `gn` | 功能 | 必需参数 | 返回 |
204|------|------|----------|------|
205| `monitor_list` | 监控任务列表 | 无 | `{"qk":1,"code":"获取成功","msg":{"tasks":[],"task_count":0,"max":5}}` |
206| `monitor_log_list` | 监控检测日志 | `id`、`page`、`page_size` | `{"qk":1,"msg":{"logs":[],"total":0,"page":1,"page_size":20,"total_pages":1,"task_id":0}}` |
207| `notice_list` | 通知日志列表 | `type`、`level`、`read`、`keyword`、`page`、`page_size` | `{"qk":1,"msg":{"logs":[],"total":0,"page":1,"page_size":15,"total_pages":1}}` |
208| `backup_list` | 数据库备份列表 | 无 | `{"qk":1,"msg":{"list":[],"count":0,"db_id":"","user":""}}` |
209| `deploy_list` | 一键部署程序列表 | 无 | `{"qk":1,"msg":{"list":[],"web":[],"sql":[]}}` |
210| `pass_list` | 密码访问目录列表 | 无 | `{"qk":1,"msg":{"list":[]}}` |
211| `set_init` | 设置页初始化数据 | `section` | `{"qk":1,"msg":{"section":"...","..."}}` |
212
213**`section` 枚举:** `php`、`mrwd`、`yxml`、`wjt`、`gzip`、`cache`、`xgpass`、`mysqlcz`、`url`、`pass`
214
215**`notice_list` 过滤参数:**
216
217- `type`:通知类型(如 `expire`、`traffic`、`monitor`)
218- `level`:级别(如 `info`、`warning`、`critical`)
219- `read`:`true` / `false`
220- `keyword`:标题/内容模糊搜索
221
222**`page_size` 允许值:** `monitor_log_list` → 10/15/20/25/50/100;`notice_list` → 10/15/25/50/100。
223
224---
225
226**相关文档:**
227
228- [API 通用约定](./overview.md)
229- [后台管理接口](./admin.md)
230- [插件对接 API](./plugin.md)