## 接口加密
### **流程**
> step1:客户端加密。包括head加密和请求参数加密,其中参数加密会依赖head加密,两者客户端都有封装方法,详情请参考客户端文档。
> step2:服务端验证head加密是否正确。结果正确:放行继续执行,结果错误:返回
~~~
echo json_encode([
'code'=>551,
'data'=>[],
'msg'=>"签名验证失败",
'tmcode'=>1
]);
~~~
> step3:调用服务端解密函数(tmDecrypt($data=""))解密客户端加密的参数。
> step4:业务操作....
> step5:调用服务端加密函数(tmEncrypt($data = ""))加密需要加密的返回参数。
> step6:客户端接收返回参数并调用客户端解密函数(详情方法见客户端文档)解密服务端加密过的返回参数。
### **特别说明**
> 1:具体加密的内容由开发者决定。
> 2:内容的加解密都依赖于head加密,因此需要用到加密解密方法,必须传客户端封装的head内容。
> 3:request和response两者可以同时都加密也可以只加密其中的一个,具体情况有开发者自己决定。
### **解密功能方法**
> 1.直接使用tmDecrypt($data="")函数,该方法已经写在common函数库中
> 2: 入参:待解密字符串
> 出参:解密后的字符串
> 注意:该解密函数只能解密天马客户端或天马web前端提供的加密函数加密的数据,并且客户端发送请求的head中必 须加入客户端封装得head参数
### **加密公共函数**
> 1.直接使用tmEncrypt($data = "")函数,该方法已经写在common函数库中
> 2: 入参:待加密字符串,如果想对数组加密可以先转成json字符串再传进来
> 出参:加密后的字符串
> 注意:加密后的数据可以通过天马客户端或天马web前端提供的解密方法解密,并且客户端发送请求的head中必须加入客户端封装得head参数
### **服务端发送加解密url请求公共类**
> 1.使用:use app\\extend\\server\\Encrypt;
> 2: 该类中包含加解密方法,发送请求方法,需要结合使用。
> 3:调动demo:app\\api\\controller\\Serverencryptdemo
## 接口协议和规则
**1.文档描述**
本文档主要用于在天马项目提供的一些基础服务接口
**2.接口统一约定**
2.1 通信协议
所有接口均采用HTTP协议,并且都采用HTTP POST/GET/PUT/DELETE的方式来调用。详情见下方请求示例。
****
2.2 HTTPHeaders公共参数
| 参数 | 含义 | 类型 |
| --- | --- | --- |
| token | 用户token | string |
| tmencrypt | 是否加密(0:否 1:是) | string |
| tmtimestamp |时间戳(秒) | string |
| tmrandomnum |随机字符串 | string |
****
2.3 数据类型
数据格式采用JSON格式数据包装,并且返回的数据编码均为UTF-8格式。对于不同的接口,所返回的JSON格式的数据会有所不同,在之后的示例中会给出。
****
2.4 编码格式
接受UTF-8编码格式的编码信息。传入的参数和返回的结果都是UTF-8格式的。需要注意的是如果采用HTTP GET 请求传递参数时,请求的参数URL需要进行 URL Encode 之后,再进行传递。否则会造成乱码。
****
2.5 错误码定义
针对于不同的接口,正确的返回结果会在每个接口的返回结果中单独定义,如果在请求和相应的过程中发生错误,那么错误的返回则是统一的格式。
****
| code | msg |
| --- | --- |
| 200 | 成功 |
| 500 | 调用失败原因描述 |
****
>### *其他约定*
>通过HTTP传给接口的参数区分大小写。严禁使用测试接口地址,做线上业务应用。
- 摘要
- 安装
- 目录结构
- 开发规范
- 接口文档
- 会员登录
- 获取会员信息
- 发送短信验证码
- 修改会员信息
- 通过手机号修改密码
- 通过密码修改密码
- 修改手机号码
- 绑定手机号码
- 添加收藏
- 取消收藏
- 查询单个文章收藏
- 批量检查文章收藏
- 清空收藏
- 添加浏览历史记录
- 删除浏览历史记录
- 清空浏览历史记录
- 获取历史记录列表
- 第三方登录
- 修改会员积分
- 获取会员当前积分
- 获取会员积分变动情况列表
- 百度富文本上传接口
- 会员注册
- 获取app为标识
- 单个文件上传
- 发送短信验证码V2
- 生成图形校验码
- 生成文本校验码
- 消息中心
- api请求方式
- 新增消息数据
- 消息数据查询
- 待处理消息数量查询
- 查询最新一条消息
- 消息状态修改/删除
- 未读消息弹框处理
- 方法直接请求
- 新增消息数据
- 消息数据查询
- 待处理消息数量查询
- 查询最新一条消息
- 消息状态修改/删除
- 未读消息弹框处理
- 公共类及方法
- 获取阿里云短信配置
- 极光消息推送的方法
- 获取管理员列表的方法
- 会员相关方法
- app支付宝支付及app微信支付
- 上传资源文件方法及获取链接方法
- 获取app下载地址