Skip to content

Latest commit

 

History

History
74 lines (53 loc) · 2.75 KB

接口规范.md

File metadata and controls

74 lines (53 loc) · 2.75 KB

通用规则:

  • 客户端定义 server_host 常量,以方便在切换服务器的时候,仅修改此一处。

  • 请求方法: POST

  • 提交及返回的数据格式为: application/json;

  • 编码: utf8

  • 接口的参数,优先从请求的URL中取出,如果找不到再从请求体JSON中取出。 如:需要参数 id,客户端可以传: post url?id=1 , 也可以 post url ,data:{id:1}

  • 返回 msg: 表示服务器出现错误的消息; 如果服务器成功,该字段为空字符串。

列表接口规则:

请求参数:

请求参数 数据类型 例子 含义
skip Int 0 必填,跳过行数
take Int 20 必填,获取行数
name String "" 查询条件中的其它参数,如名称

返回数据格式:

返回字段 数据类型 例子 含义
msg String "" 错误消息,如果服务器正确,返回空字符串。
cause String "" 引起的错误的查询字段。
total Int -1 总行数,预留字段,App请求不返回总条数
data Array [{name:"",value:0}] 行数据集合

非列表接口规则

非列表接口,如:添加信息,获取用户单条信息,修改信息,删除信息,(CRUD)

请求参数 = 查询条件Json

返回数据格式如下:

返回字段 数据类型 例子 含义
msg String "" 错误消息,如果服务器正确,返回空字符串。
cause String "" 引起的错误的字段。
data Any {name:"",value:0} 创建实体,返回实体

Id;查询单条实体,返回Json;其它不返回内容。 |

发送短信签名规则

App 端使用如下函数进行签名:

var appId = "系统分配的固定值";
var mobile = "134xxxxxxxx";  //客户端手机号,长度11位。
var time = Date.now();        // 1970-1-1 到现在的毫秒值 : Long 类型.
var signText = '{"mobile":"${mobile}","appId":"${appId}","time":${time}}' ;  //固定顺序,固定格式.
var signCode = MD5(signText);

var postJson = '{"module": "ForgetPassword","mobile": "13466396863","signCode":"${signCode}","time":${time} }';

客户端对密码的加密

密码使用 AES_PKCS5Padding 加密

var appKey = "系统分配的固定值";   // 16位密钥
var password = "123456";        //  6位以上密码.
var time = Date.now();          // 1970-1-1 到现在的毫秒值 : Long 类型.
var signText = '{"password":"${password}","time":${time}}' ;  //固定顺序,固定格式.
var aes_password = AES_PKCS5Padding(signText , appKey );   // 加密后的密码.

var postJson = '{"module": "ForgetPassword","mobile": "13466396863","signCode":"${signCode}","time":${time} }';