Analysis V4
简介
API 接入点:https://analysis.ipe.wjghj.cn/api
V4 是首个使用 serverless 技术的版本,API 结构有破坏性变更,数据结构无变化。
入口文件
GET /api
获取数据
GET /api/auery/:type
type=wiki
获取 wiki 站点数据
Send
GET /api/query/wiki?sitename=[sitename]&siteurl=[siteurl]&prop=[prop]&sortby=[sortby]&sortorder=[sortorder]
Params
以下两个为 wiki 筛选,仅生效一条,优先级从高到低排序。可选,若未指定则搜索全部 wiki。
- siteurl
{String<URL>}
- 若指定,以 url 为键搜索数据,确切匹配
- sitename
{String}
- 若指定,以 sitename 为键搜索数据,模糊匹配,接受正则表达式,若有重名 wiki 将返回多个数据
以下为项目筛选,可选。
- prop
{String}
- @default
"url|sitename|_total"
- 若指定,仅显示指定数据,多个以
|
隔开 - url, sitename, _total, date, functions, users
- @default
- sortby
{String}
- 若指定,按键排序 wiki array
- sortorder
{Number}
- 排序规则,预设顺序
- >= 0 顺序
- < 0 倒序
Response
application/json
{
"status": true, // false
"query": [
// wikis...
],
errors: [
// if error
],
// Server informations...
}
type=date
暂未实装。
提交数据
Send
POST /api/submit
application/json
{
"url": "<wgServerName><wgArticlePath>",
"sitename": "<wgSiteName>",
"username": "<wgUserName>",
"functionID": "<inpageedit_function_name>"
}
所有数据将会被验证:
- url 必须为合法的 URL
- sitename, username
- 将处理潜在的 xss 风险,
<(.+?)>
→<$1>
- dev 关键词屏蔽,防止冒犯性词汇
- 将处理潜在的 xss 风险,
- username 不允许不合法的用户名,不可出现以下符号:
#&?=[]{}
- functionID 有白名单机制
Response
application/json
{
"status": true, // false
"submit": {
// submitted data..
},
errors: [
// if error
],
// Server informations...
}
数据结构
⚠️注意:由于技术原因,sitename
与username
中的英文句号.
将被转义为{dot}
储存
application/BSON
{
"_id": ObjectId("<ID>"),
"url": "<wgServer><wgArticlePath>",
"sitename": "<wgSiteName>",
"_total": 0,
"date": {
"<Y-m-d>": {
"_total": 0,
"<inpageedit_function_name>": 0
}
},
"functions": {
"<inpageedit_function_name>": 0
},
"users": {
"<wgUserName>": {
"_total": 0,
"date": {
"<Y-m-d>": {
"_total": 0,
"<inpageedit_function_name>": 0
}
},
"functions": {
"<inpageedit_function_name>": 0
}
}
}
}