## 后端通信
* 详细内容请查看 接口文档 000 前端开发必读
* 后台接口地址 PC [http://dykf.dingyinkj.com/rayds/doc.html#/home]()
* 后台接口地址 APP [http://test.hyzn0755.com/rayds/doc.html#/home]()
* [ ] http状态 返回码
```
* 11 ==> 令牌过期
* 12 ==> 没找到令牌
* 13 ==> 令牌解析错误
* 14 ==> 令牌无效
* 21 ==> 账号已过期
* 22 ==> 账号已禁用
* 23 ==> 账号被踢出
* 24 ==> 账号已删除
* 81 ==> 验证码过期
* 82 ==> 验证码错误
* 99 ==> 服务未就绪
* 100 ==> 当前账号无权限
* 200 ==> 正常(成功)
* 201 ==> 未归类业务异常
* 400 ==> 系统错误
* 901 ==> 非法的访问请求
* 902 ==> 过期的访问请求
* 903 ==> 访问请求被限流
* 904 ==> 访问请求未授权
```
* [ ] 获取数据接口
1. 如果接口中有分页对象,默认是pageobject属性中存放;
2. 如果接口中有普通列表,默认是listobject属性中存放;
3. 默认所有获取数据的接口里面,都包含了当前登陆的属性,存放在curLoginData属性中;
4. 如果接口中,有需要为特定数据结构指定的列表,默认是entityConvertedList属性中;
5. 当前列表中数据,如果其中有需要翻译的数据项,那么,命名统一为原名称+Translated,比如,domainId为原字段,翻译后为domainIdTranslated;
* [ ] 接口安全机制
1. 前端需先从后端获取合法授权的appId(固定12位)和appSecret作为基准参数,这两个参数需要存到前端本地,必须考虑到因为安全因素,修改appSecret;
2. 所有的接口请求,除接口定义的参数外,额外的,必须(无论GET/POST)附加以下两个参数:raySignature和rayTimeStamp,这两个参数取值的算法如下所述;
3. rayTimeStamp取当前请求的时刻,格式为yyyyMMddHHmmss(14位,如20210303125959);
4. raySignature取appId+md5(md5(rayTimeStamp)+appSecret),中间那个"+"仅表示两段字符相连,组合的结果并不包括该符号本身;
5. 需要注意的是,接口请求后,后端既校验合法性,也会校验时效性,前端编程需要注意;
请求接口不论get/post 都要带上
![](https://img.kancloud.cn/cd/b3/cdb3f92d79437b1aba3a8247cb7dee21_596x387.jpg)