26 Commits

Author SHA1 Message Date
李东云
44105f8e47 chore(release): 0.5.1 2025-09-26 17:03:31 +08:00
李东云
db34c59acc chore(workflow): 更新发布工作流配置
- 替换 Debian 镜像源为阿里云镜像
- 优化 apt-get 更新和安装命令
- 修正工作流步骤名称大小写
- 保持工作流状态输出格式一致
2025-09-26 17:03:22 +08:00
李东云
43275f365c chore(release): 0.5.0 2025-09-26 17:01:00 +08:00
李东云
ff7e959daa chore(workflow): 修改发布任务名称
- 将发布任务名称从 "Publish to registry" 改为 "publish to registry"
- 保持其他工作流配置不变
2025-09-26 17:00:46 +08:00
李东云
55e2b0477a chore(release): 0.4.3 2025-09-26 16:52:03 +08:00
李东云
21ddc159aa chore(release): 0.4.2 2025-09-26 16:48:36 +08:00
李东云
98ba4a13dc feat(ci): 添加基于标签的自动发布工作流
- 创建了在打标签时触发的 Gitea 工作流
- 实现了代码检出和文件列表步骤
- 添加了将项目文件打包为 ZIP 的功能
- 配置了向私有注册表发布包的步骤
- 使用环境变量传递版本号和认证信息
- 添加了工作流状态输出便于调试追踪
2025-09-26 16:48:00 +08:00
李东云
bb438b5996 chore: 更新文件权限并添加发布脚本和CI配置
将多个文件的权限从644更改为755以允许执行
添加release.sh和docker-env.sh脚本以支持发布流程
添加Gitea工作流配置文件以实现自动化发布
添加.versionrc文件以规范版本更新日志格式
2025-04-19 09:23:26 +08:00
李东云
5f75dc1afb chore(release): 0.3.4 2023-04-19 03:13:06 +00:00
李东云
0d4e80fe15 docs(admin): 修改了登录的验证文案 2023-04-19 11:11:02 +08:00
李东云
5e327fbbc5 chore(release): 0.3.3 2023-04-18 03:04:22 +00:00
李东云
e60d9174e5 chore(release): 0.4.1 2023-04-18 02:11:07 +00:00
李东云
6330f5e390 fix(scaffold): 修复级联时菜单显示有误的问题 2023-04-18 10:10:16 +08:00
李东云
dfd814c817 chore(release): 0.4.0 2023-04-07 08:36:52 +00:00
李东云
27b5f54d57 build(semver): 初始化版本记录文件 2023-04-07 16:36:48 +08:00
李东云
dabfbdf861 build(hdk): 引入 hdk-core 2023-04-07 16:35:34 +08:00
李东云
e9e6084e97 build(composer): 限制 flysystem-oss 的版本 2023-04-07 16:23:23 +08:00
李东云
3c5b77dda6 build(composer): 限制 flysystem-oss 的版本 2023-04-07 16:15:33 +08:00
李东云
c2b56cf978 build: 工程化项目 2023-04-07 16:14:58 +08:00
李东云
254989e992 build(composer): 最低依赖版本改为 php7.4 2022-08-26 11:02:01 +08:00
李东云
8f5592ecc8 fix(menu): 修复添加菜单不选择权限时候的报错 2022-08-25 14:30:00 +08:00
李东云
710eefc4c6 build(composer): 更新包名 2022-08-25 14:23:00 +08:00
刀刀
c6ab3dbad4 Update README.md 2022-02-17 11:09:12 +08:00
刀刀
a780c3b3b8 Update README.md 2021-12-02 19:31:10 +08:00
刀刀
2b579e8c5f Merge pull request #57 from laoguoyandong/upd_admin_install_install_sql
修改install.sql文件
2021-11-18 17:24:41 +08:00
guoyandong
5084d4596d 修改install.sql文件 2021-11-18 17:09:23 +08:00
62 changed files with 6663 additions and 99 deletions

View File

@@ -0,0 +1,30 @@
name: Release development version to registry
on:
push:
tags:
- '**.**'
jobs:
Publish on Tagged:
runs-on: ubuntu-latest
steps:
- run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}."
- name: Check out repository code
uses: actions/checkout@v4
- run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner."
- name: List files in the repository
run: |
ls ${{ gitea.workspace }}
- name: Zip files in the repository
run: |
sed -i 's|deb.debian.org|mirrors.aliyun.com|g' /etc/apt/sources.list
sed -i 's|security.debian.org|mirrors.aliyun.com|g' /etc/apt/sources.list
apt-get update
apt-get install zip
zip -r dist.zip *
- name: Publish to registry
run: |
curl --user ch4o5:4fd300672472e666014314c1c94c604c634165a9 \
--upload-file ./dist.zip \
https://nest.doylee.cn/api/packages/HDK/composer?version=${{ gitea.ref_name }}
- run: echo "🍏 This job's status is ${{ job.status }}."

7
.gitignore vendored
View File

@@ -1,3 +1,4 @@
.idea
composer.lock
vendor
.idea/
vendor/
.phpunit.result.cache
.php-cs-fixer.cache

23
.php-cs-fixer.dist.php Normal file
View File

@@ -0,0 +1,23 @@
<?php
/**
* .php-cs-fixer.dist.php@HDK-Core
*
* @author 李东云 <Dongyun.Li@LuxCreo.Ai>
* Powered by PhpStorm
* Created on 2023/1/9
*/
$finder = PhpCsFixer\Finder::create()->in([
__DIR__ . '/publish',
__DIR__ . '/src',
__DIR__ . '/tests',
]);
$config = new PhpCsFixer\Config();
return $config->setRules([
'@PSR12' => true,
'strict_param' => true,
'array_syntax' => ['syntax' => 'short'],
])
->setUsingCache(false)
->setFinder($finder);

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"
}
]
}

85
CHANGELOG.md Normal file
View File

@@ -0,0 +1,85 @@
# 版本更新日志
### [0.5.1](http://124.126.16.154:8888/singularity/hyperf-admin/compare/v0.5.0...v0.5.1) (2025-09-26)
### 🚀 Chore | 构建/工程依赖/工具
* **workflow:** 更新发布工作流配置 ([db34c59](http://124.126.16.154:8888/singularity/hyperf-admin/commit/db34c59acc7825f6f10298b4a3ce34500639fe24))
## [0.5.0](http://124.126.16.154:8888/singularity/hyperf-admin/compare/v0.4.3...v0.5.0) (2025-09-26)
### 🚀 Chore | 构建/工程依赖/工具
* **workflow:** 修改发布任务名称 ([ff7e959](http://124.126.16.154:8888/singularity/hyperf-admin/commit/ff7e959daaec12a3f8fa5b52054f3ab2b5d13612))
### [0.4.3](http://124.126.16.154:8888/singularity/hyperf-admin/compare/v0.4.2...v0.4.3) (2025-09-26)
### [0.4.2](http://124.126.16.154:8888/singularity/hyperf-admin/compare/v0.3.4...v0.4.2) (2025-09-26)
### 🚀 Chore | 构建/工程依赖/工具
* 更新文件权限并添加发布脚本和CI配置 ([bb438b5](http://124.126.16.154:8888/singularity/hyperf-admin/commit/bb438b59963bb2a1906fc33311bbce85c60db5ce))
### ✨ Features | 新功能
* **ci:** 添加基于标签的自动发布工作流 ([98ba4a1](http://124.126.16.154:8888/singularity/hyperf-admin/commit/98ba4a13dc9d3317351c0c549a94d017ee48d6e0))
### [0.3.4](http://124.126.16.154:8888/singularity/hyperf-admin/compare/v0.3.3...v0.3.4) (2023-04-19)
### ✏️ Documentation | 文档
* **admin:** 修改了登录的验证文案 ([0d4e80f](http://124.126.16.154:8888/singularity/hyperf-admin/commit/0d4e80fe15e0e9a3de447012669ec2045323f1a5))
### [0.3.3](http://124.126.16.154:8888/singularity/hyperf-admin/compare/v0.3.2...v0.3.3) (2023-04-18)
### 📦‍ Build System | 打包构建
* **composer:** 最低依赖版本改为 php7.4 ([254989e](http://124.126.16.154:8888/singularity/hyperf-admin/commit/254989e9922bdb333e57e2cbd69e31464d4de1bf))
* **composer:** 更新包名 ([710eefc](http://124.126.16.154:8888/singularity/hyperf-admin/commit/710eefc4c6a3305c5653841c8f851e0b613f54e2))
* **composer:** 限制 flysystem-oss 的版本 ([e9e6084](http://124.126.16.154:8888/singularity/hyperf-admin/commit/e9e6084e97620dda06cc9bde7fbe5e5162bbf894))
* **composer:** 限制 flysystem-oss 的版本 ([3c5b77d](http://124.126.16.154:8888/singularity/hyperf-admin/commit/3c5b77dda68973e2fac9ce4c32a8cf8803129d33))
* **hdk:** 引入 hdk-core ([dabfbdf](http://124.126.16.154:8888/singularity/hyperf-admin/commit/dabfbdf8612188043b7a4354bbe5c6e518422af9))
* **semver:** 初始化版本记录文件 ([27b5f54](http://124.126.16.154:8888/singularity/hyperf-admin/commit/27b5f54d575ccc26747b00bf8c549c0935fb41d3))
* 工程化项目 ([c2b56cf](http://124.126.16.154:8888/singularity/hyperf-admin/commit/c2b56cf9783cca6f69067a5434d2a0fd19ec89d6))
### 🐛 Bug Fixes | Bug 修复
* **menu:** 修复添加菜单不选择权限时候的报错 ([8f5592e](http://124.126.16.154:8888/singularity/hyperf-admin/commit/8f5592ecc8a93e4749558ba2362ca357151bcf1c))
* **scaffold:** 修复级联时菜单显示有误的问题 ([6330f5e](http://124.126.16.154:8888/singularity/hyperf-admin/commit/6330f5e390f432e2541724219a3297cdcea6fb5a))
### 🚀 Chore | 构建/工程依赖/工具
* **release:** 0.4.0 ([dfd814c](http://124.126.16.154:8888/singularity/hyperf-admin/commit/dfd814c817d38521c764d83cec765ca0886e0467))
* **release:** 0.4.1 ([e60d917](http://124.126.16.154:8888/singularity/hyperf-admin/commit/e60d9174e571a5d71f5a1b5280b336f0b6d05abb))
### [0.4.1](http://124.126.16.154:8888/singularity/hyperf-admin/compare/v0.4.0...v0.4.1) (2023-04-18)
### 🐛 Bug Fixes | Bug 修复
* **scaffold:** 修复级联时菜单显示有误的问题 ([6330f5e](http://124.126.16.154:8888/singularity/hyperf-admin/commit/6330f5e390f432e2541724219a3297cdcea6fb5a))
## [0.4.0](http://124.126.16.154:8888/singularity/hyperf-admin/compare/v0.3.2...v0.4.0) (2023-04-07)
### 🐛 Bug Fixes | Bug 修复
* **menu:** 修复添加菜单不选择权限时候的报错 ([8f5592e](http://124.126.16.154:8888/singularity/hyperf-admin/commit/8f5592ecc8a93e4749558ba2362ca357151bcf1c))
### 📦‍ Build System | 打包构建
* **composer:** 最低依赖版本改为 php7.4 ([254989e](http://124.126.16.154:8888/singularity/hyperf-admin/commit/254989e9922bdb333e57e2cbd69e31464d4de1bf))
* **composer:** 更新包名 ([710eefc](http://124.126.16.154:8888/singularity/hyperf-admin/commit/710eefc4c6a3305c5653841c8f851e0b613f54e2))
* **composer:** 限制 flysystem-oss 的版本 ([e9e6084](http://124.126.16.154:8888/singularity/hyperf-admin/commit/e9e6084e97620dda06cc9bde7fbe5e5162bbf894))
* **composer:** 限制 flysystem-oss 的版本 ([3c5b77d](http://124.126.16.154:8888/singularity/hyperf-admin/commit/3c5b77dda68973e2fac9ce4c32a8cf8803129d33))
* **hdk:** 引入 hdk-core ([dabfbdf](http://124.126.16.154:8888/singularity/hyperf-admin/commit/dabfbdf8612188043b7a4354bbe5c6e518422af9))
* **semver:** 初始化版本记录文件 ([27b5f54](http://124.126.16.154:8888/singularity/hyperf-admin/commit/27b5f54d575ccc26747b00bf8c549c0935fb41d3))
* 工程化项目 ([c2b56cf](http://124.126.16.154:8888/singularity/hyperf-admin/commit/c2b56cf9783cca6f69067a5434d2a0fd19ec89d6))

1
VERSION_TRACKER.txt Normal file
View File

@@ -0,0 +1 @@
0.5.1

View File

@@ -1,54 +0,0 @@
#!/usr/bin/env bash
set -e
if (( "$#" != 1 ))
then
echo "Tag has to be provided"
exit 1
fi
NOW=$(date +%s)
CURRENT_BRANCH="master"
VERSION=$1
BASEPATH=$(cd `dirname $0`; cd ../src/; pwd)
# Always prepend with "v"
if [[ $VERSION != v* ]]
then
VERSION="v$VERSION"
fi
git tag $VERSION
git push origin --tags
repos=$(ls $BASEPATH)
for REMOTE in $repos
do
echo ""
echo ""
echo "Cloning $REMOTE";
TMP_DIR="/tmp/hyperf-split"
REMOTE_URL="git@github.com:hyperf-admin/$REMOTE.git"
rm -rf $TMP_DIR;
mkdir $TMP_DIR;
(
cd $TMP_DIR;
git clone $REMOTE_URL .
git checkout "$CURRENT_BRANCH";
if [[ $(git log --pretty="%d" -n 1 | grep tag --count) -eq 0 ]]; then
echo "Releasing $REMOTE"
git tag $VERSION
git push origin --tags
fi
)
done
TIME=$(echo "$(date +%s) - $NOW" | bc)
printf "Execution time: %f seconds" $TIME

View File

@@ -1,30 +0,0 @@
#!/usr/bin/env bash
set -e
set -x
CURRENT_BRANCH="master"
BASEPATH=$(cd `dirname $0`; cd ../src/; pwd)
REPOS=$@
function split()
{
SHA1=`./bin/splitsh-lite --prefix=$1`
git push $2 "$SHA1:refs/heads/$CURRENT_BRANCH" -f
}
function remote()
{
git remote add $1 $2 || true
}
if [[ $# -eq 0 ]]; then
REPOS=$(ls $BASEPATH)
fi
for REPO in $REPOS ; do
remote $REPO git@github.com:hyperf-admin/$REPO.git
split "src/$REPO" $REPO
done
git pull origin $CURRENT_BRANCH

Binary file not shown.

View File

@@ -1,14 +1,18 @@
{
"name": "hyperf-admin/hyperf-admin",
"name": "singularity/hyperf-admin",
"description": "hyperf-admin",
"authors": [
{
"name": "ch4o5",
"email": "dongyun.li@luxcreo.ai"
},
{
"name": "daodao97",
"email": "daodao97@foxmail.com"
}
],
"require": {
"php": ">=7.3",
"php": ">=7.4",
"ext-json": "*",
"ext-pdo": "*",
"ext-swoole": ">=4.4",
@@ -36,7 +40,8 @@
"hyperf/snowflake": "~2.2.0",
"hyperf/validation": "~2.2.0",
"nette/php-generator": "^3.4",
"xxtime/flysystem-aliyun-oss": "^1.5",
"singularity/hdk-core": "^0.1.6",
"xxtime/flysystem-aliyun-oss": "~1.5.0",
"yadakhov/insert-on-duplicate-key": "^1.2",
"zoujingli/ip2region": "^1.0"
},
@@ -99,6 +104,30 @@
"minimum-stability": "dev",
"prefer-stable": true,
"config": {
"sort-packages": true
}
"sort-packages": true,
"secure-http": false
},
"scripts": {
"post-root-package-install": [],
"test": "vendor/bin/pest $1",
"cs-fix": "vendor/bin/php-cs-fixer fix $1 --rules=@PSR12 --allow-risky=yes",
"analyse": "vendor/bin/phpstan analyse $1",
"ci": [
"@analyse publish/ src/ tests/",
"@cs-fix",
"@test --ci",
"echo CI Success"
]
},
"repositories": {
"lux-map": {
"type": "composer",
"url": "https://satis.luxcreo.cn/"
},
"packagist": {
"type": "composer",
"url": "https://mirrors.cloud.tencent.com/composer/"
}
},
"version": "0.5.1"
}

6134
composer.lock generated Normal file

File diff suppressed because it is too large Load Diff

128
guide.md Normal file
View File

@@ -0,0 +1,128 @@
# PHP Package boilerplate project explanation
PHP is a general-purpose server-side scripting language primarily used in web development. Originally created by Rasmus Lerdorf in 1994, it is now by The PHP Development Team.
PHP originally stood for "Personal Home Page", but now stands for "PHP: Hypertext Preprocessor".
## Further Material
- Homepage: [php.net](https://secure.php.net/)
- Documentation: [php.net/docs.php](https://secure.php.net/docs.php)
- PHP: The Right Way: [phptherightway.com](http://www.phptherightway.com/)
- Interactive PHP Tutorial: [learn-php.org](http://www.learn-php.org/)
## Topics, Tools and Terms
PHP packages were traditionally installed via PEAR (PHP Extension and Application Repository), but more recently the standard package and dependency management tool is Composer.
Composer lets us run install commands to add packages to our system, for example `composer require phpunit` would add the unit testing framework PHPUnit to our system.
For instructions on how to install Composer visit [getcomposer.org](https://getcomposer.org/download/).
### Dependency Management
Managing dependencies manually is time-consuming, fortunately Composer can automate this.
We can list our dependencies in a `composer.json` file and run `composer install` to bring these into our project.
An example `composer.json` file looks like this:
```json
{
"name": "example-project",
"require": {
"twig/twig": "^3.0"
},
"require-dev": {
"phpunit/phpunit": "^8.4"
}
}
```
The "require" block tells Composer that the Twig templating package is required for production use and can install Twig with a version of 3.x.x (ie. up to, but not including, version 4).
The "require-dev" block tells Composer that PHPUnit is required in development, but not in production.
Dependencies can be added to `composer.json` by
```bash
composer require author/package-name
```
Development dependencies can be added by
```bash
composer require author/package-name --dev
```
Dependencies can be updated to their latest maximum version by running
```bash
composer update
```
Composer will also generate a `composer.lock` file on each `composer update` and the initial `composer install`. This is not meant to be edited directly, it tells Composer to use specific versions of packages - particularly useful when hyhou want your development dependencies to match what you will push to production.
### Testing Tools
There are a number of testing tools available for PHP. The most popular one is [PHPUnit](https://phpunit.de/). PHPUnit follows the classic xUnit approach.
[Behat](http://behat.org/en/latest/) is the most popular behaviour-driven development (BDD) testing framework.
[Codeception](http://codeception.com/) is a framework combining BDD, unit testing, and integration testing, and is cross-compatible with PHPUnit.
In this guide we will be using PHPUnit as the testing framework.
## Directory Structure
A typical directory structure for a PHP project consists of a `src` directory that contains all source files and a `tests` directory that includes all tests. For web applications the publicly accessible files (eg. `index.php`) would reside in a `public` directory which would then be your webservers document root.
Another common convention is having a `bin` directory that may contain executable files to start your application.
- src/
- test/
- public/
- composer.json
- composer.lock
### Naming Conventions
Directory names are in lower case. Class and interface files should be in upper case and match the class or interface names.
Configuration, routes, and publicly accessible files should be in lower case.
For example the class `Example` should be contained in file `Example.php`, the publicly accessible route to the application should be `index.php`.
Tests match their production code file names with a `Test` suffix, e.g. tests for code in `src/Example.php` should be written in `test/ExampleTest.php`.
## Example Project
The main application consists of basically two files:
- `public/example.php` is the main executable that instantiates and runs:
- `src/Example/Greeting.php` contains the main application.
### Running the Tests
All tests can be run by executing
```bash
vendor/phpunit/phpunit/phpunit
```
`phpunit` will automatically find all tests inside the `test` directory and run them based on the configuration in the `phpunit.xml` file.
#### Testing Approach
The test for the class `Greeting` verifies that the return value of the `sayHello` method returns the string "Hello {name}", where {name} is the value passed through to the constructor.
### Running the Application
PHP has an in-built server for local development. To run this change into the directory `public` and run
```bash
php -S localhost:8000
```
Then open your browser at `http://localhost:8000/example.php`
You should see the text "Hello Ada Lovelace" being printed.

13
phpstan.dist.neon Normal file
View File

@@ -0,0 +1,13 @@
parameters:
level: 6
reportUnmatchedIgnoredErrors: false
checkGenericClassInNonGenericObjectType: false
paths:
- publish
- src
- tests
ignoreErrors:
- '#Constant BASE_PATH not found#'
- '#Property [a-zA-Z0-9\\_]+::\$[a-zA-Z0-9]+ is never written, only read\.#'
- '#Method [a-zA-Z0-9\\_]+::[a-zA-Z0-9]+\(\) is unused\.#'
- '#Method [a-zA-Z0-9\\_]+::[a-zA-Z0-9]+\(\) has parameter \$response with no value type specified in iterable type array\.#'

10
phpunit.xml Normal file
View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" bootstrap="vendor/autoload.php"
colors="true" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.5/phpunit.xsd">
<coverage/>
<testsuites>
<testsuite name="Unit">
<directory>./tests/Unit/</directory>
</testsuite>
</testsuites>
</phpunit>

10
scripts/docker-env.sh Executable file
View File

@@ -0,0 +1,10 @@
#!/usr/bin/env sh
docker run \
--pull always \
-ti --rm --name "hdk-admin" \
-w "/srv/www" \
-v "$(pwd)":/srv/www \
-v ~/.ssh:/root/.ssh \
-v ~/.gitconfig:/root/.gitconfig \
harbor.luxcreo.cn/library/hyperf:7.4-swoole /bin/ash

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=$(git config user.name)" -e "EMAIL=$(git config user.email)" \
detouched/standard-version:latest $1

View File

@@ -0,0 +1,28 @@
name: Release development version to registry
on:
push:
tags:
- '**.**'
jobs:
Publish on Tagged:
runs-on: ubuntu-latest
steps:
- run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}."
- name: Check out repository code
uses: actions/checkout@v4
- run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner."
- name: List files in the repository
run: |
ls ${{ gitea.workspace }}
- name: Zip files in the repository
run: |
apt-get update
apt-get install zip
zip -r dist.zip *
- name: Publish to registry
run: |
curl --user ch4o5:4fd300672472e666014314c1c94c604c634165a9 \
--upload-file ./dist.zip \
https://nest.doylee.cn/api/packages/HDK/composer?version=${{ gitea.ref_name }}
- run: echo "🍏 This job's status is ${{ job.status }}."

68
src/admin/.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"
}
]
}

0
src/admin/README.md Normal file → Executable file
View File

4
src/admin/composer.json Normal file → Executable file
View File

@@ -1,5 +1,5 @@
{
"name": "hyperf-admin/admin",
"name": "hdk/hdk-admin",
"type": "project",
"license": "MIT",
"authors": [
@@ -28,4 +28,4 @@
"config": "HyperfAdmin\\Admin\\ConfigProvider"
}
}
}
}

View File

@@ -0,0 +1,9 @@
#!/usr/bin/env sh
docker run \
--pull always \
-ti --rm --name "hdk-admin" \
-w "/srv/www" \
-v "$(pwd)":/srv/www \
-v ~/.ssh:/root/.ssh \
harbor.luxcreo.cn/library/hyperf:7.4-swoole /bin/ash

5
src/admin/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=li_dongyun@outlook.com" \
detouched/standard-version:latest $1

0
src/admin/src/ConfigProvider.php Normal file → Executable file
View File

0
src/admin/src/Controller/AdminAbstractController.php Normal file → Executable file
View File

0
src/admin/src/Controller/CommonConfigController.php Normal file → Executable file
View File

0
src/admin/src/Controller/LogController.php Normal file → Executable file
View File

2
src/admin/src/Controller/MenuController.php Normal file → Executable file
View File

@@ -201,7 +201,7 @@ class MenuController extends AdminAbstractController
],
'permission|权限标识' => [
'type' => 'select',
'default' => [],
'default' => '',
'props' => [
'multiple' => true,
'selectApi' => '/system/routes?module={module}'

0
src/admin/src/Controller/RoleController.php Normal file → Executable file
View File

0
src/admin/src/Controller/SystemController.php Normal file → Executable file
View File

0
src/admin/src/Controller/UploadController.php Normal file → Executable file
View File

4
src/admin/src/Controller/UserController.php Normal file → Executable file
View File

@@ -205,10 +205,10 @@ class UserController extends AdminAbstractController
}
$user = $this->getModel()->where('username', $username)->first();
if (!$user || $user['status'] !== YES) {
return $this->fail(ErrorCode::CODE_ERR_PARAM, '该用户不存在或已被禁用');
return $this->fail(ErrorCode::CODE_ERR_PARAM, 'Incorrect or invalid username');
}
if ($user->password !== $this->passwordHash($password)) {
return $this->fail(ErrorCode::CODE_ERR_PARAM);
return $this->fail(ErrorCode::CODE_ERR_PARAM, 'Incorrect password');
}
$data = [
'iat' => Carbon::now()->timestamp,

0
src/admin/src/Crontab/ExportTask.php Normal file → Executable file
View File

0
src/admin/src/Install/InstallCommand.php Normal file → Executable file
View File

0
src/admin/src/Install/UpdateCommand.php Normal file → Executable file
View File

2
src/admin/src/Install/install.sql Normal file → Executable file
View File

@@ -56,7 +56,7 @@ CREATE TABLE `front_routes` (
`scaffold_action` varchar(255) NOT NULL DEFAULT '' COMMENT '脚手架预置权限',
`config` text COMMENT '配置化脚手架',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=90 DEFAULT CHARSET=utf8mb4 COMMENT='前端路由(菜单)';;
) ENGINE=InnoDB AUTO_INCREMENT=90 DEFAULT CHARSET=utf8mb4 COMMENT='前端路由(菜单)';
CREATE TABLE `global_config` (
`id` int(11) NOT NULL AUTO_INCREMENT,

0
src/admin/src/Middleware/AuthMiddleware.php Normal file → Executable file
View File

0
src/admin/src/Middleware/PermissionMiddleware.php Normal file → Executable file
View File

0
src/admin/src/Model/CommonConfig.php Normal file → Executable file
View File

0
src/admin/src/Model/ExportTasks.php Normal file → Executable file
View File

0
src/admin/src/Model/FrontRoutes.php Normal file → Executable file
View File

0
src/admin/src/Model/GlobalConfig.php Normal file → Executable file
View File

0
src/admin/src/Model/OperatorLog.php Normal file → Executable file
View File

0
src/admin/src/Model/RequestLog.php Normal file → Executable file
View File

0
src/admin/src/Model/Role.php Normal file → Executable file
View File

0
src/admin/src/Model/RoleMenu.php Normal file → Executable file
View File

0
src/admin/src/Model/User.php Normal file → Executable file
View File

0
src/admin/src/Model/UserRole.php Normal file → Executable file
View File

0
src/admin/src/Model/Version.php Normal file → Executable file
View File

0
src/admin/src/Model/Versionable.php Normal file → Executable file
View File

0
src/admin/src/Service/AuthService.php Normal file → Executable file
View File

0
src/admin/src/Service/CommonConfig.php Normal file → Executable file
View File

0
src/admin/src/Service/ExportService.php Normal file → Executable file
View File

0
src/admin/src/Service/GlobalConfig.php Normal file → Executable file
View File

0
src/admin/src/Service/Menu.php Normal file → Executable file
View File

0
src/admin/src/Service/ModuleProxy.php Normal file → Executable file
View File

0
src/admin/src/Service/OperatorLogService.php Normal file → Executable file
View File

0
src/admin/src/Service/PermissionService.php Normal file → Executable file
View File

0
src/admin/src/Service/UserService.php Normal file → Executable file
View File

0
src/admin/src/config/config.php Normal file → Executable file
View File

0
src/admin/src/config/routes.php Normal file → Executable file
View File

0
src/admin/src/funcs/common.php Normal file → Executable file
View File

View File

@@ -827,7 +827,8 @@ abstract class AbstractController extends Controller
switch ($_form['type']) {
case 'checkbox':
case 'cascader':
$_form['value'] = array_map('intval', is_array($_form['value']) ? $_form['value'] : (array)$_form['value']);
// $_form['value'] = array_map('intval', is_array($_form['value']) ? $_form['value'] : (array)$_form['value']);
$_form['value'] = (array)$_form['value'];
break;
case 'image':
$biz['props']['limit'] = $biz['props']['limit'] ?? 1;