mirror of
http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore.git
synced 2026-01-15 07:15:06 +08:00
Compare commits
19 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
73401d7cb1 | ||
|
|
d1bae3e623 | ||
|
|
3d092074b3 | ||
|
|
427ba4b322 | ||
|
|
aeddb55988 | ||
|
|
0705d1bef3 | ||
|
|
922c780c49 | ||
|
|
cdb193778f | ||
|
|
9633fa6b8d | ||
|
|
08c1f6609c | ||
|
|
3a1f2695fe | ||
|
|
50885c57e2 | ||
|
|
9f9ff31a83 | ||
|
|
990c247cf6 | ||
|
|
3989f5913e | ||
|
|
ab44630db8 | ||
|
|
3bc4e275a7 | ||
|
|
82e257f7b4 | ||
|
|
4deffe055e |
68
.versionrc
Normal file
68
.versionrc
Normal file
@@ -0,0 +1,68 @@
|
||||
{
|
||||
"header": "# 版本更新日志",
|
||||
"preMajor": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "feat",
|
||||
"section": "✨ Features | 新功能"
|
||||
},
|
||||
{
|
||||
"type": "fix",
|
||||
"section": "🐛 Bug Fixes | Bug 修复"
|
||||
},
|
||||
{
|
||||
"type": "init",
|
||||
"section": "🎉 Init | 初始化"
|
||||
},
|
||||
{
|
||||
"type": "docs",
|
||||
"section": "✏️ Documentation | 文档"
|
||||
},
|
||||
{
|
||||
"type": "style",
|
||||
"section": "💄 Styles | 风格"
|
||||
},
|
||||
{
|
||||
"type": "refactor",
|
||||
"section": "♻️ Code Refactoring | 代码重构"
|
||||
},
|
||||
{
|
||||
"type": "perf",
|
||||
"section": "⚡ Performance Improvements | 性能优化"
|
||||
},
|
||||
{
|
||||
"type": "tests",
|
||||
"section": "✅ Tests | 测试"
|
||||
},
|
||||
{
|
||||
"type": "test",
|
||||
"section": "✅ Tests | 测试"
|
||||
},
|
||||
{
|
||||
"type": "revert",
|
||||
"section": "⏪ Revert | 回退"
|
||||
},
|
||||
{
|
||||
"type": "build",
|
||||
"section": "📦 Build System | 打包构建"
|
||||
},
|
||||
{
|
||||
"type": "chore",
|
||||
"section": "🚀 Chore | 构建/工程依赖/工具"
|
||||
},
|
||||
{
|
||||
"type": "ci",
|
||||
"section": "👷 Continuous Integration | CI 配置"
|
||||
}
|
||||
],
|
||||
"bumpFiles": [
|
||||
{
|
||||
"filename": "VERSION_TRACKER.txt",
|
||||
"type": "plain-text"
|
||||
},
|
||||
{
|
||||
"filename": "composer.json",
|
||||
"type": "json"
|
||||
}
|
||||
]
|
||||
}
|
||||
113
CHANGELOG.md
Normal file
113
CHANGELOG.md
Normal file
@@ -0,0 +1,113 @@
|
||||
# 版本更新日志
|
||||
### [0.2.6](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/compare/v0.2.5...v0.2.6) (2023-01-16)
|
||||
|
||||
|
||||
### 💄 Styles | 风格
|
||||
|
||||
* 移除冗余的注释 ([3d09207](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/3d092074b3784b120cabb1561a9d6b9af5c3c428))
|
||||
|
||||
|
||||
### 🐛 Bug Fixes | Bug 修复
|
||||
|
||||
* **configure:** 修复配置文件和实际应用的字段名不统一 ([d1bae3e](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/d1bae3e623dde3839acb44d4a7905c7dab78e8ce))
|
||||
|
||||
### [0.2.5](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/compare/v0.2.4...v0.2.5) (2023-01-13)
|
||||
|
||||
|
||||
### ✨ Features | 新功能
|
||||
|
||||
* **CoreMiddleware:** 增加restful场景下的分页响应处理 ([aeddb55](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/aeddb55988e714e53b7458ead8668dee6ebec63e))
|
||||
|
||||
### [0.2.4](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/compare/v0.2.3...v0.2.4) (2023-01-13)
|
||||
|
||||
|
||||
### ⏪ Revert | 回退
|
||||
|
||||
* **constant:** 移除冗余的http头authentication的枚举类型 ([cdb1937](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/cdb193778fb888851682bb1671bc55dd8f0e3423))
|
||||
|
||||
|
||||
### 🐛 Bug Fixes | Bug 修复
|
||||
|
||||
* **oss:** 修复了oss的配置缺失和错误 ([922c780](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/922c780c49edc2cddbce3e66e6b9dfde7be364f8))
|
||||
|
||||
### [0.2.3](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/compare/v0.2.2...v0.2.3) (2023-01-13)
|
||||
|
||||
|
||||
### ✏️ Documentation | 文档
|
||||
|
||||
* **link:** 增加错误码对应的语雀文档 ([3a1f269](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/3a1f2695fef03840d9afe3578f3e7ed33da45926))
|
||||
|
||||
|
||||
### ✨ Features | 新功能
|
||||
|
||||
* **constant:** 增加http头authentication的枚举类型 ([08c1f66](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/08c1f6609c3035dd7d7f39e8389b66a8ba2e34a5))
|
||||
|
||||
### [0.2.2](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/compare/v0.2.1...v0.2.2) (2023-01-13)
|
||||
|
||||
|
||||
### ⚡ Performance Improvements | 性能优化
|
||||
|
||||
* **exceptions.handler:** 优化trace显示格式 ([9f9ff31](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/9f9ff31a83ea5662500c688471b78f02ff67eb15))
|
||||
|
||||
### 0.2.1 (2023-01-13)
|
||||
|
||||
|
||||
### 🎉 Init | 初始化
|
||||
|
||||
* **core:** 初始化代码 ([f564d01](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/f564d01766f52fc57f07aa05bd995a5662c2ae45))
|
||||
* 初始化项目 ([a13779a](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/a13779ab3fb617189227b9d2c0462588be8ceee5))
|
||||
|
||||
|
||||
### ✅ Tests | 测试
|
||||
|
||||
* **oss:** 增加 oss 票据生成的测试文件 ([b5970d5](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/b5970d543435495706502c5b67897ff1cfd5fb85))
|
||||
* **service:** 添加了base64Wrapper的测试 ([69ce665](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/69ce66561f19e44d35b134c6d032ff69f48201a3))
|
||||
* **service:** 添加了发送邮件的测试 ([65e3485](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/65e34857e2978a9952ee89df71b1e0c9101ec69c))
|
||||
* **service:** 添加了解析 extends 的测试 ([da1d6c6](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/da1d6c68d21b2739c8bb1701243e6419eae14975))
|
||||
|
||||
|
||||
### ✨ Features | 新功能
|
||||
|
||||
* **utils:** 重写了构造URL的方法,增加对应的单元测试 ([9f79d14](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/9f79d1465ba6ed4b4c0d0c30e23ffa34bbeece65))
|
||||
* 迁移到了 Core 命名空间下 ([a8a582f](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/a8a582f3aa0948c982e31bf8938b6f3331d8dc6d))
|
||||
|
||||
|
||||
### ✏️ Documentation | 文档
|
||||
|
||||
* **core:** 添加作者信息 ([096d4e5](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/096d4e56ed30c23de1338bb6f057a91e629c6ea5))
|
||||
* **README:** 增加说明文件 ([4cf16ae](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/4cf16ae0cdcf6f7a1eb99fde95a6c3ef01bd7b2b))
|
||||
|
||||
|
||||
### ⚡ Performance Improvements | 性能优化
|
||||
|
||||
* **utils:** 获取真实IP方法,增加apache的处理 ([47e522c](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/47e522c67bf595282df7671f1d045e44593022bf))
|
||||
|
||||
|
||||
### ♻️ Code Refactoring | 代码重构
|
||||
|
||||
* **migrate:** 迁移注解以支持hyperf3 ([480f406](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/480f406cccde21f5fb39ba431b6f633c562e5f96))
|
||||
* **migrate:** 迁移注解以支持hyperf3 ([91db3c7](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/91db3c731f651e178f830953bf97958c5ddc973d))
|
||||
|
||||
|
||||
### 📦 Build System | 打包构建
|
||||
|
||||
* **ci:** 完善 style-fix/syntax-check/unit-test ([52ff5cc](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/52ff5ccb048d41d003b7e044c446c2f04a013bdb))
|
||||
* **ci:** 完善 style-fix/syntax-check/unit-test ([4b7f118](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/4b7f1189d33e8871091d05d330ed16fa98048dd9))
|
||||
* **composer:** update dependencies ([e004ab4](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/e004ab402df9185ead225a3398077f3e39dffe92))
|
||||
* **composer:** 更新依赖 ([1e4fbe5](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/1e4fbe59276ed2913aa21973f9502505115d2628))
|
||||
* **composer:** 添加依赖到开发环境 ([9f5699f](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/9f5699f39cd7a89c37e9365322c6082a97a973f4))
|
||||
* **version:** 添加changelog配置 ([4deffe0](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/4deffe055ebe8586a183103d84dcd5b97969ca7d))
|
||||
* **version:** 添加changelog配置及脚本 ([3bc4e27](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/3bc4e275a761bf71bb0ca227770b82c3d5ec76bb))
|
||||
* 迁移到hyperf3 ([9fedbb4](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/9fedbb40f4c9f3221a97986dc7063d049c914728))
|
||||
|
||||
|
||||
### 🚀 Chore | 构建/工程依赖/工具
|
||||
|
||||
* **release:** 0.2.1-0 ([ab44630](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/ab44630db8c2d05c21bccdf0899569f911b01473))
|
||||
* 移除调试用的打印语句 ([37ed1ce](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/37ed1cef77d094f6cd78dd1c97f5d2e3cf6376a3))
|
||||
* **tests:** 移除了示例测试文件 ([e705bed](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/e705bedd5d3e72887e9e5fac35926237db844116))
|
||||
|
||||
|
||||
### 🐛 Bug Fixes | Bug 修复
|
||||
|
||||
* **composer:** 修复ConfigProvider命名空间 ([3989f59](http://124.126.16.154:8888/singularity/HyperfDevelopmentKitCore/commit/3989f5913ea56cba8751afc225c19b8f6730d2c3))
|
||||
1
VERSION_TRACKER.txt
Normal file
1
VERSION_TRACKER.txt
Normal file
@@ -0,0 +1 @@
|
||||
0.2.6
|
||||
@@ -5,7 +5,7 @@
|
||||
"description": "Common Hyperf Development Kit",
|
||||
"extra": {
|
||||
"hyperf": {
|
||||
"config": "Singularity\\HDK\\ConfigProvider"
|
||||
"config": "Singularity\\HDK\\Core\\ConfigProvider"
|
||||
}
|
||||
},
|
||||
"authors": [
|
||||
@@ -106,5 +106,6 @@
|
||||
"type": "composer",
|
||||
"url": "https://repo.huaweicloud.com/repository/php/"
|
||||
}
|
||||
}
|
||||
},
|
||||
"version": "0.2.6"
|
||||
}
|
||||
|
||||
52
composer.lock
generated
52
composer.lock
generated
@@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "74ea907e44355b1390929f5df0e59bad",
|
||||
"content-hash": "b6e95f784b6b427fe9932b65640473b8",
|
||||
"packages": [
|
||||
{
|
||||
"name": "composer/ca-bundle",
|
||||
@@ -244,7 +244,7 @@
|
||||
"version": "3.1.0",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://mirrors.tencent.com/repository/composer/composer/pcre/3.1.0/composer-pcre-3.1.0.zip",
|
||||
"url": "https://mirrors.cloud.tencent.com/repository/composer/composer/pcre/3.1.0/composer-pcre-3.1.0.zip",
|
||||
"reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -402,7 +402,7 @@
|
||||
"version": "3.0.3",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://mirrors.cloud.tencent.com/repository/composer/composer/xdebug-handler/3.0.3/composer-xdebug-handler-3.0.3.zip",
|
||||
"url": "https://mirrors.tencent.com/repository/composer/composer/xdebug-handler/3.0.3/composer-xdebug-handler-3.0.3.zip",
|
||||
"reference": "ced299686f41dce890debac69273b47ffe98a40c",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -510,7 +510,7 @@
|
||||
"version": "1.5.0",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://mirrors.cloud.tencent.com/repository/composer/doctrine/instantiator/1.5.0/doctrine-instantiator-1.5.0.zip",
|
||||
"url": "https://mirrors.tencent.com/repository/composer/doctrine/instantiator/1.5.0/doctrine-instantiator-1.5.0.zip",
|
||||
"reference": "0a0fa9780f5d4e507415a065172d26a98d02047b",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -1270,7 +1270,7 @@
|
||||
"version": "v3.0.1",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://mirrors.tencent.com/repository/composer/hyperf/http-server/v3.0.1/hyperf-http-server-v3.0.1.zip",
|
||||
"url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/http-server/v3.0.1/hyperf-http-server-v3.0.1.zip",
|
||||
"reference": "192bed0596d36cb04c38695067e8c60078006109",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -1672,7 +1672,7 @@
|
||||
"version": "v3.0.1",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://mirrors.tencent.com/repository/composer/hyperf/utils/v3.0.1/hyperf-utils-v3.0.1.zip",
|
||||
"url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/utils/v3.0.1/hyperf-utils-v3.0.1.zip",
|
||||
"reference": "3955bd117bb04579f1fe5644682a4e4c207521d4",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -1820,7 +1820,7 @@
|
||||
"version": "2.11.0",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://mirrors.tencent.com/repository/composer/laminas/laminas-mime/2.11.0/laminas-laminas-mime-2.11.0.zip",
|
||||
"url": "https://mirrors.cloud.tencent.com/repository/composer/laminas/laminas-mime/2.11.0/laminas-laminas-mime-2.11.0.zip",
|
||||
"reference": "60ec04b755821c79c1987ce291b44e69f2c0831f",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -2018,7 +2018,7 @@
|
||||
"version": "1.8.4",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://mirrors.cloud.tencent.com/repository/composer/myclabs/php-enum/1.8.4/myclabs-php-enum-1.8.4.zip",
|
||||
"url": "https://mirrors.tencent.com/repository/composer/myclabs/php-enum/1.8.4/myclabs-php-enum-1.8.4.zip",
|
||||
"reference": "a867478eae49c9f59ece437ae7f9506bfaa27483",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -2256,7 +2256,7 @@
|
||||
"version": "1.9.0",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://mirrors.cloud.tencent.com/repository/composer/phpoption/phpoption/1.9.0/phpoption-phpoption-1.9.0.zip",
|
||||
"url": "https://mirrors.tencent.com/repository/composer/phpoption/phpoption/1.9.0/phpoption-phpoption-1.9.0.zip",
|
||||
"reference": "dc5ff11e274a90cc1c743f66c9ad700ce50db9ab",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -2394,7 +2394,7 @@
|
||||
"version": "1.0.1",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://mirrors.cloud.tencent.com/repository/composer/psr/http-message/1.0.1/psr-http-message-1.0.1.zip",
|
||||
"url": "https://mirrors.tencent.com/repository/composer/psr/http-message/1.0.1/psr-http-message-1.0.1.zip",
|
||||
"reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -3069,7 +3069,7 @@
|
||||
"version": "v1.27.0",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/polyfill-intl-normalizer/v1.27.0/symfony-polyfill-intl-normalizer-v1.27.0.zip",
|
||||
"url": "https://mirrors.tencent.com/repository/composer/symfony/polyfill-intl-normalizer/v1.27.0/symfony-polyfill-intl-normalizer-v1.27.0.zip",
|
||||
"reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -4252,7 +4252,7 @@
|
||||
"version": "2.1.0",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://mirrors.cloud.tencent.com/repository/composer/doctrine/lexer/2.1.0/doctrine-lexer-2.1.0.zip",
|
||||
"url": "https://mirrors.tencent.com/repository/composer/doctrine/lexer/2.1.0/doctrine-lexer-2.1.0.zip",
|
||||
"reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -4641,7 +4641,7 @@
|
||||
"version": "1.5.2",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://mirrors.cloud.tencent.com/repository/composer/guzzlehttp/promises/1.5.2/guzzlehttp-promises-1.5.2.zip",
|
||||
"url": "https://mirrors.tencent.com/repository/composer/guzzlehttp/promises/1.5.2/guzzlehttp-promises-1.5.2.zip",
|
||||
"reference": "b94b2807d85443f9719887892882d0329d1e2598",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -4701,7 +4701,7 @@
|
||||
"version": "2.4.3",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://mirrors.tencent.com/repository/composer/guzzlehttp/psr7/2.4.3/guzzlehttp-psr7-2.4.3.zip",
|
||||
"url": "https://mirrors.cloud.tencent.com/repository/composer/guzzlehttp/psr7/2.4.3/guzzlehttp-psr7-2.4.3.zip",
|
||||
"reference": "67c26b443f348a51926030c83481b85718457d3d",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -5201,7 +5201,7 @@
|
||||
"version": "3.2.1",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://mirrors.tencent.com/repository/composer/phar-io/version/3.2.1/phar-io-version-3.2.1.zip",
|
||||
"url": "https://mirrors.cloud.tencent.com/repository/composer/phar-io/version/3.2.1/phar-io-version-3.2.1.zip",
|
||||
"reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -5242,7 +5242,7 @@
|
||||
"version": "1.9.11",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://mirrors.cloud.tencent.com/repository/composer/phpstan/phpstan/1.9.11/phpstan-phpstan-1.9.11.zip",
|
||||
"url": "https://mirrors.tencent.com/repository/composer/phpstan/phpstan/1.9.11/phpstan-phpstan-1.9.11.zip",
|
||||
"reference": "60f3d68481eef216199eae7a2603cd5fe124d464",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -5429,7 +5429,7 @@
|
||||
"version": "2.0.4",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://mirrors.tencent.com/repository/composer/phpunit/php-text-template/2.0.4/phpunit-php-text-template-2.0.4.zip",
|
||||
"url": "https://mirrors.cloud.tencent.com/repository/composer/phpunit/php-text-template/2.0.4/phpunit-php-text-template-2.0.4.zip",
|
||||
"reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -5472,7 +5472,7 @@
|
||||
"version": "5.0.3",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://mirrors.tencent.com/repository/composer/phpunit/php-timer/5.0.3/phpunit-php-timer-5.0.3.zip",
|
||||
"url": "https://mirrors.cloud.tencent.com/repository/composer/phpunit/php-timer/5.0.3/phpunit-php-timer-5.0.3.zip",
|
||||
"reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -5515,7 +5515,7 @@
|
||||
"version": "9.5.27",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://mirrors.tencent.com/repository/composer/phpunit/phpunit/9.5.27/phpunit-phpunit-9.5.27.zip",
|
||||
"url": "https://mirrors.cloud.tencent.com/repository/composer/phpunit/phpunit/9.5.27/phpunit-phpunit-9.5.27.zip",
|
||||
"reference": "a2bc7ffdca99f92d959b3f2270529334030bba38",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -5593,7 +5593,7 @@
|
||||
"version": "3.0.0",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://mirrors.cloud.tencent.com/repository/composer/psr/cache/3.0.0/psr-cache-3.0.0.zip",
|
||||
"url": "https://mirrors.tencent.com/repository/composer/psr/cache/3.0.0/psr-cache-3.0.0.zip",
|
||||
"reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -6339,7 +6339,7 @@
|
||||
"version": "1.0.8",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://mirrors.tencent.com/repository/composer/sebastian/code-unit/1.0.8/sebastian-code-unit-1.0.8.zip",
|
||||
"url": "https://mirrors.cloud.tencent.com/repository/composer/sebastian/code-unit/1.0.8/sebastian-code-unit-1.0.8.zip",
|
||||
"reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -6675,7 +6675,7 @@
|
||||
"version": "5.0.5",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://mirrors.cloud.tencent.com/repository/composer/sebastian/global-state/5.0.5/sebastian-global-state-5.0.5.zip",
|
||||
"url": "https://mirrors.tencent.com/repository/composer/sebastian/global-state/5.0.5/sebastian-global-state-5.0.5.zip",
|
||||
"reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -7162,7 +7162,7 @@
|
||||
"version": "v6.0.17",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://mirrors.tencent.com/repository/composer/symfony/event-dispatcher/v6.0.17/symfony-event-dispatcher-v6.0.17.zip",
|
||||
"url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/event-dispatcher/v6.0.17/symfony-event-dispatcher-v6.0.17.zip",
|
||||
"reference": "42b3985aa07837c9df36013ec5b965e9f2d480bc",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -7329,7 +7329,7 @@
|
||||
"version": "v6.0.17",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/mime/v6.0.17/symfony-mime-v6.0.17.zip",
|
||||
"url": "https://mirrors.tencent.com/repository/composer/symfony/mime/v6.0.17/symfony-mime-v6.0.17.zip",
|
||||
"reference": "3e6a7ba15997020778312ed576ad01ab60dc2336",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -7432,7 +7432,7 @@
|
||||
"version": "v1.27.0",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/polyfill-intl-idn/v1.27.0/symfony-polyfill-intl-idn-v1.27.0.zip",
|
||||
"url": "https://mirrors.tencent.com/repository/composer/symfony/polyfill-intl-idn/v1.27.0/symfony-polyfill-intl-idn-v1.27.0.zip",
|
||||
"reference": "639084e360537a19f9ee352433b84ce831f3d2da",
|
||||
"shasum": ""
|
||||
},
|
||||
@@ -7588,7 +7588,7 @@
|
||||
"version": "1.2.1",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://mirrors.tencent.com/repository/composer/theseer/tokenizer/1.2.1/theseer-tokenizer-1.2.1.zip",
|
||||
"url": "https://mirrors.cloud.tencent.com/repository/composer/theseer/tokenizer/1.2.1/theseer-tokenizer-1.2.1.zip",
|
||||
"reference": "34a41e998c2183e22995f158c581e7b5e755ab9e",
|
||||
"shasum": ""
|
||||
},
|
||||
|
||||
@@ -68,7 +68,7 @@ return [
|
||||
'aliyun' => [
|
||||
'access_key_id' => env('ACCESS_KEY_ID', ''),
|
||||
'access_key_secret' => env('ACCESS_KEY_SECRET', ''),
|
||||
'sign' => '', // 短信签名名称
|
||||
'sign_name' => '', // 短信签名名称
|
||||
'template_code' => '', // 短信模板CODE
|
||||
],
|
||||
],
|
||||
@@ -76,6 +76,8 @@ return [
|
||||
'oss' => [
|
||||
'access_key_id' => env('ACCESS_KEY_ID', ''),
|
||||
'access_key_secret' => env('ACCESS_KEY_SECRET', ''),
|
||||
'oss_host' => env('OSS_HOST', ''),
|
||||
'oss_callback' => env('OSS_CALLBACK'), // 可选
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
5
scripts/release.sh
Executable file
5
scripts/release.sh
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
docker run --rm -it \
|
||||
-v $(pwd):/app -e "GIT_AUTHOR_NAME=ch4o5" -e "EMAIL=dongyun.li@luxcreo.ai" \
|
||||
detouched/standard-version:latest $1
|
||||
@@ -19,6 +19,8 @@ use Hyperf\Constants\Annotation\Constants;
|
||||
* @author 李东云<dongyun.li@luxcreo.cn>
|
||||
* Powered by PhpStorm
|
||||
* Created on 2022/4/25
|
||||
*
|
||||
* @see https://lux-software.yuque.com/htnx76/vcm2oc/pkzgpv
|
||||
*/
|
||||
#[Constants]
|
||||
class CommonErrorCode extends AbstractConstants
|
||||
|
||||
@@ -42,24 +42,16 @@ abstract class AbstractController
|
||||
use DontSerialise;
|
||||
use DontDeserialise;
|
||||
use DontToString;
|
||||
/**
|
||||
* @var ContainerInterface
|
||||
*/
|
||||
|
||||
#[Inject]
|
||||
protected ContainerInterface $container;
|
||||
/**
|
||||
* @var RequestInterface
|
||||
*/
|
||||
|
||||
#[Inject]
|
||||
protected RequestInterface $request;
|
||||
/**
|
||||
* @var ResponseInterface
|
||||
*/
|
||||
|
||||
#[Inject]
|
||||
protected ResponseInterface $response;
|
||||
/**
|
||||
* @var \Hyperf\Contract\StdoutLoggerInterface
|
||||
*/
|
||||
|
||||
#[Inject]
|
||||
protected StdoutLoggerInterface $stdoutLogger;
|
||||
}
|
||||
|
||||
@@ -153,7 +153,7 @@ class CommonHandler extends ExceptionHandler
|
||||
}
|
||||
$response = $response->withHeader(Header::CONTENT_TYPE, 'application/json; charset=utf-8');
|
||||
if ($is_debug && $is_testing) {
|
||||
$data['trace'] = ['errorType' => $error_type, 'errorTrack' => $throwable->getTrace()];
|
||||
$data += ['errorType' => $error_type, 'errorTrack' => $throwable->getTrace()];
|
||||
}
|
||||
$cookies = json_encode($this->request->getCookieParams(), JSON_UNESCAPED_UNICODE);
|
||||
$this->logger->error(
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
namespace Singularity\HDK\Core\Middleware;
|
||||
|
||||
use Hyperf\Contract\Arrayable;
|
||||
use Hyperf\Contract\Jsonable;
|
||||
use Hyperf\Contract\LengthAwarePaginatorInterface;
|
||||
use Hyperf\Di\Annotation\Inject;
|
||||
use Hyperf\HttpMessage\Stream\SwooleStream;
|
||||
use Hyperf\HttpServer\CoreMiddleware;
|
||||
use Hyperf\Utils\Codec\Json;
|
||||
use Hyperf\Utils\Contracts\Arrayable;
|
||||
use Hyperf\Utils\Contracts\Jsonable;
|
||||
use Lmc\HttpConstants\Header;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
use Psr\Http\Message\ServerRequestInterface;
|
||||
@@ -31,15 +31,14 @@ use Singularity\HDK\Core\Service\UtilsService;
|
||||
*/
|
||||
class ClassicCoreMiddleware extends CoreMiddleware
|
||||
{
|
||||
/**
|
||||
* @var \Singularity\HDK\Core\Service\UtilsService
|
||||
*/
|
||||
#[Inject]
|
||||
private UtilsService $utilsService;
|
||||
|
||||
/**
|
||||
* Transfer the non-standard response content to a standard response object.
|
||||
*
|
||||
* @param null|array<string, mixed>|Arrayable|Jsonable|string $response
|
||||
* @template TKey of array-key
|
||||
* @template TValue
|
||||
* @param null|array<TKey, TValue>|Arrayable<TKey, TValue>|Jsonable|string $response
|
||||
*/
|
||||
protected function transferToResponse($response, ServerRequestInterface $request): ResponseInterface
|
||||
{
|
||||
@@ -49,24 +48,60 @@ class ClassicCoreMiddleware extends CoreMiddleware
|
||||
// 分页数据
|
||||
if ($response instanceof LengthAwarePaginatorInterface) {
|
||||
$paginator = $response;
|
||||
$fact_response = $this->response()->withHeader('Per-Page', (string) $paginator->perPage())->withHeader('Total', (string) $paginator->total())->withHeader('Current-Page', (string) $paginator->currentPage())->withHeader('Total-Pages', (string) $paginator->hasPages());
|
||||
$fact_response = $this->response()->withHeader('Per-Page', (string)$paginator->perPage())->withHeader(
|
||||
'Total',
|
||||
(string)$paginator->total()
|
||||
)->withHeader('Current-Page', (string)$paginator->currentPage())->withHeader(
|
||||
'Total-Pages',
|
||||
(string)$paginator->hasPages()
|
||||
);
|
||||
$fact_response = $this->utilsService->extendLinkToHeader($fact_response, $paginator->nextPageUrl(), 'next');
|
||||
$fact_response = $this->utilsService->extendLinkToHeader($fact_response, $paginator->url($paginator->lastPage()), 'last');
|
||||
$fact_response = $this->utilsService->extendLinkToHeader(
|
||||
$fact_response,
|
||||
$paginator->url($paginator->lastPage()),
|
||||
'last'
|
||||
);
|
||||
$fact_response = $this->utilsService->extendLinkToHeader($fact_response, $paginator->url(1), 'first');
|
||||
$fact_response = $this->utilsService->extendLinkToHeader($fact_response, $paginator->previousPageUrl(), 'prev');
|
||||
return $fact_response->withAddedHeader(Header::CONTENT_TYPE, 'application/json')->withBody(new SwooleStream(Json::encode([$code_name => 200, $message_name => 'ok', $data_name => $response->items(), 'meta' => ['currentPage' => $paginator->currentPage(), 'lastPage' => $paginator->lastPage(), 'perPage' => $paginator->perPage(), 'total' => $paginator->total()]])));
|
||||
}
|
||||
// 可 Json 化的数据结构
|
||||
if ($response instanceof Jsonable && $response instanceof Arrayable) {
|
||||
$response = [$code_name => 200, $message_name => 'ok', $data_name => $response->toArray()];
|
||||
return $this->response()->withAddedHeader(Header::CONTENT_TYPE, 'application/json')->withBody(new SwooleStream(Json::encode($response)));
|
||||
$fact_response = $this->utilsService->extendLinkToHeader(
|
||||
$fact_response,
|
||||
$paginator->previousPageUrl(),
|
||||
'prev'
|
||||
);
|
||||
return $fact_response->withAddedHeader(Header::CONTENT_TYPE, 'application/json')->withBody(
|
||||
new SwooleStream(
|
||||
Json::encode(
|
||||
[
|
||||
$code_name => 200,
|
||||
$message_name => 'ok',
|
||||
$data_name => $response->items(),
|
||||
'meta' => [
|
||||
'currentPage' => $paginator->currentPage(),
|
||||
'lastPage' => $paginator->lastPage(),
|
||||
'perPage' => $paginator->perPage(),
|
||||
'total' => $paginator->total(),
|
||||
],
|
||||
]
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
// 普通数组
|
||||
if (is_array($response) || $response instanceof Arrayable) {
|
||||
$response = [$code_name => 200, $message_name => 'ok', $data_name => $response];
|
||||
return $this->response()->withAddedHeader(Header::CONTENT_TYPE, 'application/json')->withBody(new SwooleStream(Json::encode($response)));
|
||||
return $this->response()->withAddedHeader(Header::CONTENT_TYPE, 'application/json')->withBody(
|
||||
new SwooleStream(Json::encode($response))
|
||||
);
|
||||
}
|
||||
// 可 Json 化的数据结构
|
||||
if ($response instanceof Jsonable) {
|
||||
$response = [$code_name => 200, $message_name => 'ok', $data_name => Json::decode((string)$response)];
|
||||
return $this->response()->withAddedHeader(Header::CONTENT_TYPE, 'application/json')->withBody(
|
||||
new SwooleStream(Json::encode($response))
|
||||
);
|
||||
}
|
||||
// 其他默认按字符串处理
|
||||
return $this->response()->withAddedHeader(Header::CONTENT_TYPE, 'text/plain')->withBody(new SwooleStream((string) $response));
|
||||
return $this->response()->withAddedHeader(Header::CONTENT_TYPE, 'text/plain')->withBody(
|
||||
new SwooleStream((string)$response)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
65
src/Middleware/RestfulCoreMiddleware.php
Normal file
65
src/Middleware/RestfulCoreMiddleware.php
Normal file
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
/**
|
||||
* RestfulCoreMiddleware.php@HDK-Core
|
||||
*
|
||||
* @author 李东云 <Dongyun.Li@LuxCreo.Ai>
|
||||
* Powered by PhpStorm
|
||||
* Created on 2023/1/14
|
||||
*/
|
||||
|
||||
namespace Singularity\HDK\Core\Middleware;
|
||||
|
||||
use Hyperf\Contract\Arrayable;
|
||||
use Hyperf\Contract\Jsonable;
|
||||
use Hyperf\Contract\LengthAwarePaginatorInterface;
|
||||
use Hyperf\Di\Annotation\Inject;
|
||||
use Hyperf\HttpServer\CoreMiddleware;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
use Psr\Http\Message\ServerRequestInterface;
|
||||
use Singularity\HDK\Core\Service\UtilsService;
|
||||
|
||||
/**
|
||||
* Singularity\HDK\Core\Middleware\RestfulCoreMiddleware@HDK-Core
|
||||
*
|
||||
* @author 李东云 <Dongyun.Li@LuxCreo.Ai>
|
||||
* Powered by PhpStorm
|
||||
* Created on 2023/1/14
|
||||
*/
|
||||
class RestfulCoreMiddleware extends CoreMiddleware
|
||||
{
|
||||
#[Inject]
|
||||
private UtilsService $utilsService;
|
||||
|
||||
/**
|
||||
* @template TKey of array-key
|
||||
* @template TValue
|
||||
* @param null|array<TKey, TValue>|Arrayable<TKey, TValue>|Jsonable|string $response
|
||||
* @param ServerRequestInterface $request
|
||||
* @return ResponseInterface
|
||||
*/
|
||||
protected function transferToResponse($response, ServerRequestInterface $request): ResponseInterface
|
||||
{
|
||||
// 分页数据
|
||||
if ($response instanceof LengthAwarePaginatorInterface) {
|
||||
$fact_response = $this->response()
|
||||
->withHeader('Per-Page', (string)$response->perPage())
|
||||
->withHeader('Total', (string)$response->total())
|
||||
->withHeader('Current-Page', (string)$response->currentPage())
|
||||
->withHeader('Total-Pages', (string)$response->hasPages());
|
||||
$fact_response = $this->utilsService->extendLinkToHeader($fact_response, $response->nextPageUrl(), 'next');
|
||||
$fact_response = $this->utilsService->extendLinkToHeader(
|
||||
$fact_response,
|
||||
$response->url($response->lastPage()),
|
||||
'last'
|
||||
);
|
||||
$fact_response = $this->utilsService->extendLinkToHeader($fact_response, $response->url(1), 'first');
|
||||
return $this->utilsService->extendLinkToHeader(
|
||||
$fact_response,
|
||||
$response->previousPageUrl(),
|
||||
'prev'
|
||||
);
|
||||
}
|
||||
|
||||
return parent::transferToResponse($response, $request);
|
||||
}
|
||||
}
|
||||
@@ -29,7 +29,7 @@ class OssService
|
||||
$this->accessKeyId ??= config('common.third_party.storage.oss.access_key_id');
|
||||
$this->accessKeySecret ??= config('common.third_party.storage.oss.access_key_secret');
|
||||
$this->host ??= config('common.third_party.storage.oss.oss_host');
|
||||
$this->callbackUrl ??= config('oss_callback');
|
||||
$this->callbackUrl ??= config('common.third_party.storage.oss.oss_callback') ?? null;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -84,7 +84,7 @@ class OssService
|
||||
$string_to_sign = $base64_policy;
|
||||
$signature = base64_encode(hash_hmac('sha1', $string_to_sign, $this->accessKeySecret, true));
|
||||
|
||||
$callback = Json::encode([
|
||||
$callback = isset($this->callbackUrl) ? Json::encode([
|
||||
'callbackUrl' => $this->callbackUrl,
|
||||
'callbackBody' => $isImage ? <<<'callbackBody'
|
||||
{
|
||||
@@ -115,17 +115,20 @@ callbackBody : <<<'callbackBody'
|
||||
}
|
||||
callbackBody,
|
||||
'callbackBodyType' => 'application/json',
|
||||
]);
|
||||
]) : null;
|
||||
|
||||
return [
|
||||
$result = [
|
||||
'accessid' => $this->accessKeyId,
|
||||
'host' => $this->host,
|
||||
'policy' => $base64_policy,
|
||||
'signature' => $signature,
|
||||
'expire' => $expire_time,
|
||||
'dir' => $dir,
|
||||
'callback' => base64_encode($callback),
|
||||
];
|
||||
if (isset($callback)) {
|
||||
$result += ['callback' => base64_encode($callback),];
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -25,7 +25,6 @@ class UtilsService
|
||||
* @return string
|
||||
* @throws Exception
|
||||
*/
|
||||
#[Pure]
|
||||
public function generateSecureCode(int $length = 4): string
|
||||
{
|
||||
$code = '';
|
||||
|
||||
Reference in New Issue
Block a user