跳到主要内容

OpenAPI

本部分向你介绍项目应用程序开放接口。官网主文档注重维护接口数据的准确性,如果你需要在线调试,可以前往查看基于 OpenAPI Specification (OAS) 技术规范的现代化专业 API 文档,目前提供如下两种类型。

接口基准地址

  • http://localhost:5678/api/open

服务端已开启 CORS 跨域支持

需要授权

需要在 请求头(Header)请求地址参数(URL) 中使用 api-token 字段并提供 openApiToken(令牌) 的值

获取令牌的方法
arcadia service info

每次修改管理面板登录认证信息后都会修改成一个新的 32 位字符串
如果你只是想重置此令牌那么可以在修改管理面板登录认证信息时使用原先的用户名和密码

安全的操作

接口封装方法都经过了严格的设计以确保操作的安全性
接口会对请求传参进行严格的格式校验,一般不会响应原生错误信息

返回内容格式

数据返回格式统一使用 JSON

名称类型描述
codenumber<0 | 1 | 4400 | 4401 | 4403>业务代码,详见下方
messagestring消息
typestring类型
resultboolean | object | string结果

业务代码说明

状态码含义说明
0OK请求成功
1FAIL请求失败
4400BAD REQUEST请求的地址不存在或者包含不支持的参数
4401UNAUTHORIZED未提供授权信息
4403FORBIDDEN认证失败

编程接口

  • 基准地址 http://localhost:5678/api/open/extra

目前后端使用 Node.js® 构建,所以如果你想使用这个功能则需要会写一些 JavaScript 代码

编写规范

将代码存放在 config 目录下的 extra_server.js 脚本中(自行创建),重启服务后生效,注意届时检查日志进行确认
脚本需要导出唯一函数名,已固定函数传参详见下方示例,接口服务框架采用 Express v4,更多编写方法请查阅其文档

请参考下方的简单示例

点此展开查看代码示例
extra_server.js
async function Main(api, resTemplate, logger) {
// api express框架实例
// resTemplate 接口响应内置模板(具体详见 src/core/http/index.js,也可以自定义)
// logger 日志组件,支持分级(info、warn、debug、error、fatal),之后你可以在 server.log 中查看

api.get('/test1', function (request, response) {
// queryParams = request.query
try {
const msg = '/api/open/extra/test1 GET 接口请求成功'
response.send(resTemplate.okData(msg)) // 请求成功
logger.info(msg)
} catch (e) {
response.send(resTemplate.fail(e.message)) // 请求失败
}
})
api.post('/test2', function (request, response) {
// bodyParams = request.body
try {
const msg = '/api/open/extra/test2 POST 接口请求成功'
response.send(resTemplate.okData(msg)) // 请求成功
logger.info(msg)
} catch (e) {
response.send(resTemplate.fail(e.message)) // 请求失败
}
})
}

module.exports = Main

接口类别