通用 - 标准接口
认证授权机制
= 授权通道 + 授权令牌( api + token )
目前平台支持多种登录方式,包括微信小程序、微信服务号和 WAP 网站等。在登录成功后,系统会返回一个 token 和其有效时间。为了进行身份验证,需要将 token 值传递给需要授权的接口,并使用 API 授权通道。
每个 API 授权通道在同一时间内只能生成一个 token。这意味着,对于一种终端类型,用户只能登录一次。每个 token 都与终端的 user-agent 信息绑定。如果 user-agent 信息发生更改,系统会视为终端已经更换,因此之前生成的 token 将无效。在这种情况下,用户需要使用新终端重新登录。
授权的 name 值可以通过 get、post 或 header 三种方式提交。根据终端类型,具体的提交方式如下:微信小程序使用 wxapp,微信服务号使用 wechat,WAP 网站使用 wap,安卓 App 接口使用 android,苹果 App 接口使用 iosapp。
对于授权的 token 值,同样可以使用 get、post 或 header 三种方式提交。从安全角度考虑,建议使用 header 方式提交 token 值。这种方式可以确保 token 在传输过程中得到更好的保护,降低被截获或篡改的风险。
接口数据提交
目前平台只支持标准 form 表单方式提交数据,数据类型需要设置为:x-www-form-urlencoded。如果需要上传文件,可以使用 base64 方式上传,服务端再转存为文件,上传大文件建议直接对接云存储。
服务端接口响应 json 内容,内容固定三个字段 code、info、data,其中 code 为状态码,info 为消息内容,data 为返回数据内容。
{
"code": 0,
"info": "接口返回提示消息",
"data": {}
}
接口内置的返回状态码:
- 当接口状态码 code 返回 0 时,表示服务端业务执行失败,错误信息见 info 字段,数据见 data 字段。
- 当接口状态码 code 返回 1 时,表示服务端业务执行成功,提示信息见 info 字段,数据见 data 字段。
- 当接口状态码 code 返回 401 时,表示无效授权需要重新登录,错误信息见 info 字段,数据见 data 字段。
- 当接口状态码 code 返回 402 时,表示用户资料不全需要补录,错误信息见 info 字段,数据见 data 字段。
- 当接口状态码 code 返回 403 时,表示登录超时需要重新登录,错误信息见 info 字段,数据见 data 字段。
- 其他接口状态码 code 值可以根据实际情况定义,需要与接口客户端一起协商。
终端 javascript 请求示例
var xhr = new XMLHttpRequest();
xhr.setRequestHeader('Api-Name', 'wxapp');
xhr.setRequestHeader('Api-Token', '授权TOKEN');
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.open('post', 'https://v6.thinkadmin.top/data/api.data/getSlider', true);
xhr.send("username=USER&password=12356");
xhr.onload = function () {
if (xhr.status === 200) {
var text = xhr.responseText;
var response = JSON.parse(text);
console.log(response)
} else {
console.log(xhr)
}
};