Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/deatil/lake-admin-addon-lapi
强大的API接口管理系统,支持多种签名算法验证,支持签名字段多个位置存放
https://github.com/deatil/lake-admin-addon-lapi
api api-client lake lake-admin lapi phpapi thinkphp thinkphp6
Last synced: about 2 months ago
JSON representation
强大的API接口管理系统,支持多种签名算法验证,支持签名字段多个位置存放
- Host: GitHub
- URL: https://github.com/deatil/lake-admin-addon-lapi
- Owner: deatil
- License: apache-2.0
- Created: 2020-08-14T16:49:22.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-02-04T16:11:23.000Z (almost 4 years ago)
- Last Synced: 2024-10-12T11:28:20.268Z (3 months ago)
- Topics: api, api-client, lake, lake-admin, lapi, phpapi, thinkphp, thinkphp6
- Language: HTML
- Homepage:
- Size: 146 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## api管理系统
### 项目介绍
* 基于 `lake-admin` 后台管理框架的api管理系统模块插件
### 签名算法
* 第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。
* 第二步,在stringA最后拼接上key(即key=keyValue)得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign值signValue。
* 特别注意以下重要规则:
~~~
◆ 参数名ASCII码从小到大排序(字典序);
◆ 如果参数的值为空不参与签名;
◆ 参数名区分大小写;
◆ 验证调用返回或服务器主动通知签名时,传送的sign参数不参与签名,将生成的签名与该sign值作校验;
◆ 接口可能增加字段,验证签名时必须支持增加的扩展字段
~~~### 使用方法
* composer安装
* `composer require lake/lake-admin-addon-lapi`
* 本地安装
* 后台 `本地模块->模块管理->本地安装` 上传模块或者手动将模块上传到 `/addon` 目录
* 手动放置模块或者上传模块请确保目录为 `lapi/Service.php`
* 最后在 `本地模块->模块管理->全部` 安装添加的模块
* 请求示例:/api/Index/index?name=name2&app_id=API2020090322513090789&nonce_str=6V0RVgWV9uCJXncv×tamp=1599145016&sign=E3728BEEE2A5753CAD2556EA00C92A86### 模块内 `api` 文件方法设置
* 方法设置
~~~
0,
'msg' => 'hello world!',
'data' => 'api data',
]);
}
}~~~
### 模块内使用
* `trait` 引用
~~~
use app\BaseController;
use app\lapi\traits\Lapi as LapiTrait;class Index extends BaseController
{
use LapiTrait;// 初始化
protected function initialize()
{
parent::initialize();
$this->checkApi();
}
}
~~~* `继承` 使用
~~~
use app\lapi\boot\Lapi as LapiBase;class Index extends LapiBase
{
// 初始化
protected function initialize()
{
parent::initialize();
$this->checkApi();
}
}
~~~* `控制器中间件` 使用
~~~
use app\BaseController;
use app\lapi\middleware\Lapi as LapiMiddleware;class Index extends BaseController
{
/**
* 控制器中间件
* @var array
*/
protected $middleware = [
LapiMiddleware::class,
];
// 初始化
protected function initialize()
{
parent::initialize();
}
}
~~~### 模块推荐
| 名称 | 描述 |
| --- | --- |
| [cms系统](https://github.com/deatil/lake-admin-cms) | 简单高效实用的内容管理系统 |
| [用户管理](https://github.com/deatil/lake-admin-addon-luser) | 通用的用户管理模块,实现了用户登陆api的token及jwt双认证 |
| [API接口](https://github.com/deatil/lake-admin-addon-lapi) | 强大的API接口管理系统,支持多种签名算法验证,支持签名字段多个位置存放 |
| [路由美化](https://github.com/deatil/lake-admin-addon-lroute) | 支持thinkphp自带的多种路由美化设置,自定义你的系统url |
| [菜单结构](https://github.com/deatil/lake-admin-addon-lmenu) | 提取后台菜单分级结构格式,为你的模块开发保驾护航 |
| [数据库管理](https://github.com/deatil/lake-admin-addon-database) | 数据库备份、优化、修复及还原,你的系统维护帮手 |
| [广告模块](https://github.com/deatil/lake-admin-ad) | cms模块必备 |
| [自定义表单](https://github.com/deatil/lake-admin-form) | cms模块必备模块 |
| [友情链接](https://github.com/deatil/lake-admin-friendlink) | cms模块必备模块 |## 版权信息
本模块遵循Apache2开源协议发布,并提供免费使用。
本项目包含的第三方源码和二进制文件之版权信息另行标注。
版权所有 Copyright © deatil(https://github.com/deatil)
All rights reserved。