欢迎使用idns_api接口调用项目

为什么要有idns_api接口项目?

idns2.0项目老化,代码臃肿,升级维护困难,耦合度太高!

idns_api的目的是实现解耦、复用、可扩展!

idns_api使用原则:

针对idns2.0的老项目,必须是可复用,可扩展的接口才采用idns_api

有接口请务必规范化添加接口文档!地址:http://10.10.16.220:3000/ 账号为各位公司企业邮箱 密码统一为idns2.0

idns_api使用需知:

1.控制器层:接参请求 调取service服务层; 服务层:业务逻辑写在这里 调取模型层获取数据; 模型层:数据验证和curd,但不一定非得如此,简单的业务查询在控制器中通过get_search_list()函数即可搞定,视情况而定

2.语言包统一管理 所有提示内容 统一放置在公共语言包zh-cn.php文件当中 通过Lang门面类当中的get方法获取 zh-cn.php在控制器 模型 service 的基类当中都已经加载

3.自定义日志 curl请求的时候会有大作用 Log::mylog('标题','内容','文件名称 比如test 不需要加后缀 默认.log'); (备注:修改了tp源码 未做子类继承 记得去runtime下的创建tlogs目录并授权755)

4.接口安全验证 采用对称加密算法 发送方通过加密算法对秘钥进行加密 接收方通过解密算法对接受的密文解密 比对秘钥是否一致 要求发送发和接收方商议好秘钥并保存好秘钥(后期通过rsa算法改成非对称性加密)(没有去实现token授权机制 以及 时间戳过期机制 只是简单的实现了签名验证机制)

5.发送方一定是传递json数据过来的 直接接参即可!

6.接口安全校验 详见Auth2中间件 涉及到:

可变性:每次的签名必须是不一样的

时效性:每次请求的时效,过期作废等

唯一性:每次的签名是唯一的

完整性:能够对传入数据进行验证,防止篡改

7.common.php当中放置不同项目的公共的函数 里面写好了对orm的封装方法以及加密解密算法等函数

8.项目当中采用php-di依赖注入容器,TP当中的依赖注入要么在构造器要么在控制器的方法中注入,都是不可复用的,在属性当中注入才是我们推荐的方案 php-di就实现了 复用性更好
tp当中如何实现集成php-di依赖注入容器参见我的个人博客地址:
https://blog.csdn.net/weixin_39166924/article/details/95869971

9.您的代码当中请勿出现中文汉字,一律采用语言包的形式读取显示中文提示! Lang::get('request successful')

10.Db::name('sys_user')->getLastSql() 获取最后一条执行的sql语句 可以配合Log::mylog()来使用 将最后执行的sql语句写入到单独的日志里面去 Log::mylog('最后sql语句',Db::name('sys_user')->getLastSql());

11.代码注释一定要写清楚 规范如下:
/**
* @author 胡军
* @effetc 根据部门id获取当前用户所在部门的负责人是谁
* @param int dep_id 当前用户所在部门
* @param int type 类型 8:团长 19:办事处主任 2:高级副总裁
*/
...... 持续更新

时间:2020/03/03 15:13

作者:胡军