Compare commits

...

19 Commits

Author SHA1 Message Date
ch4o5
73401d7cb1 chore(release): 0.2.6 2023-01-16 07:15:52 +00:00
李东云
d1bae3e623 fix(configure): 修复配置文件和实际应用的字段名不统一 2023-01-16 10:52:00 +08:00
李东云
3d092074b3 style: 移除冗余的注释 2023-01-14 05:24:10 +08:00
ch4o5
427ba4b322 chore(release): 0.2.5 2023-01-13 20:56:46 +00:00
李东云
aeddb55988 feat(CoreMiddleware): 增加restful场景下的分页响应处理
优化弃用代码
2023-01-14 04:56:34 +08:00
ch4o5
0705d1bef3 chore(release): 0.2.4 2023-01-13 20:20:00 +00:00
李东云
922c780c49 fix(oss): 修复了oss的配置缺失和错误 2023-01-14 04:19:46 +08:00
李东云
cdb193778f revert(constant): 移除冗余的http头authentication的枚举类型 2023-01-14 04:18:48 +08:00
ch4o5
9633fa6b8d chore(release): 0.2.3 2023-01-13 18:54:16 +00:00
李东云
08c1f6609c feat(constant): 增加http头authentication的枚举类型 2023-01-14 02:52:52 +08:00
李东云
3a1f2695fe docs(link): 增加错误码对应的语雀文档 2023-01-14 02:52:10 +08:00
ch4o5
50885c57e2 chore(release): 0.2.2 2023-01-13 18:17:21 +00:00
李东云
9f9ff31a83 perf(exceptions.handler): 优化trace显示格式 2023-01-14 02:16:37 +08:00
ch4o5
990c247cf6 chore(release): 0.2.1 2023-01-13 17:32:24 +00:00
李东云
3989f5913e fix(composer): 修复ConfigProvider命名空间 2023-01-14 01:30:23 +08:00
ch4o5
ab44630db8 chore(release): 0.2.1-0 2023-01-13 17:15:17 +00:00
李东云
3bc4e275a7 build(version): 添加changelog配置及脚本 2023-01-14 01:14:53 +08:00
李东云
82e257f7b4 Merge branch 'develop' into 0.2.x 2023-01-14 00:47:41 +08:00
李东云
4deffe055e build(version): 添加changelog配置 2023-01-14 00:46:54 +08:00
14 changed files with 352 additions and 66 deletions

68
.versionrc Normal file
View 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
View 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
View File

@@ -0,0 +1 @@
0.2.6

View File

@@ -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
View File

@@ -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": ""
},

View File

@@ -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
View 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

View File

@@ -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

View File

@@ -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;
}

View File

@@ -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(

View File

@@ -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)
);
}
}

View 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);
}
}

View File

@@ -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;
}
/**

View File

@@ -25,7 +25,6 @@ class UtilsService
* @return string
* @throws Exception
*/
#[Pure]
public function generateSecureCode(int $length = 4): string
{
$code = '';