# 注意:本文档后期不在跟新,新文档迁移到:[http://www.openkit.cc/docs/kitadmin/#/](http://www.openkit.cc/docs/kitadmin/#/)
#### 首先感谢使用KitAdmin后台开发框架
#### 反馈交流QQ群:696279396
## 请求规范
### 请求方式
- 数据接口通过 HTTP 的方式请求
### 返回方式
- 数据接口返回的数据格式统一使用json格式如:
```json
"header":{
"OpenKit-Appid":"{{you_app_id}}",
"OpenKit-Appkey":"{{加密后的key}}",
"Header-Time":"{{请求的时间}}"
}
```
### 接口编码
- 所有提交及返回参数使用UTF-8编码,服务端做UTF-8的URL解码
## 访问验证
> 通用接口请求头校验规则,服务器需对请求Header进行如下校验(适用于无需校验用户身份的接口)
### Header 验证
|字段名 |数据类型| 字段说明| 备注|
|:--:|:--:|:--:|:--:|
|reqKey(MD5加密:32位大写)| String |访问口令 |加密参数,加密计算方法见备注|
|reqDate| String| 时间戳 |--|
> 备注:reqKey 计算方式
```js
var reqDate = Date.now();
var reqKey = sha1(appId +"openkit"+appkey+"openkit"+ reqDate); // 其中AppID与AppKey可在apicloud控制台获得
```
例子:var reqKey = sha1("A6918262863736"+"openkit"+" CD4C3537-8E7B-4D62-6837-B700CE2C41B5"+" openkit"+now);
### 返回状态
|状态码 |说明|
|:--:|:--:|
|4001 |无访问权限|
---
> 需要校验用户身份的接口校验规则,需要在上面通用校验的基础上,再次对请求Header进行如下校验
### Header 验证
|字段名| 数据类型| 字段说明| 备注|
|:--:|:--:|:--:|:--:|
|reqToken (MD5加密:32位大写)| String| 登录口令| 加密参数,原始值及加密计算方式见备注|
|uid |String |用户编号| 用户在平台中唯一标识|
|reqDate| String| 时间戳 |--|
### 返回状态
|状态码|说明|
|:--:|:--:|
|4001| 用户权限验证失败|
|4002| 用户权限不足|
> 备注:Token 计算方式
```js
var reqDate = Date.now();
var reqToken = sha1(uid +" openkit"+token+"openkit"+ reqDate);
```
> 注:这里传的reqKey为加密后的,当用户第一次登录是,后台返回token,移动端需要加密后再次传送。
### APP测试绕过校验
为了放变测试,如果你在测试的时候想绕过校验,那么你只要在传参数的时候,`reqKey = "openkitadmin"` 或这 `reqToken="openkitadmin"` 即可
那么在项目上线的时候需要删除`AppUtil.java` 文件下的 `isApp` 和 `isAppAndLogin` 方法中的下面的代码
```
// isApp 中上线需要删除的代码
if("openkitadmin".equals(reqKey)){
return true;
}
// isAppAndLogin 中上线需要删除的代码
if("openkitadmin".equals(reqKey)){
return true;
}
```
### 接口里边验证APP
接口连验证APP只要在方法前面添加下面的三行代码即可
```java
// 如果是游客类的需要验证APP
if(!AppUtil.isApp(request)){
return JSONObject.toJSON(KitUtil.returnMap("4001", StaticFinalVar.APP_ERR));
}
// 如果需要登录后的接口验证APP
if(!AppUtil.isAppAndLogin(isAppAndLogin)){
return JSONObject.toJSON(KitUtil.returnMap("4001", StaticFinalVar.APP_ERR));
}
```
#### 反馈交流QQ群:696279396
#### 赞助
![](https://box.kancloud.cn/e49c441e59a5c0981c0de2e9bb0871fd_600x500.png)