guan-changhu / library
guan-changhu library package
v1.3.2
2025-12-21 12:36 UTC
Requires
- php: ^8.0
- ext-bcmath: *
- ext-fileinfo: *
- ext-gd: *
- ext-iconv: *
- ext-imap: *
- ext-json: *
- ext-openssl: *
- ext-pcntl: *
- ext-zip: *
- ext-zlib: *
- alibabacloud/sdk: ^1.8
- apache/thrift: ^0.17.0
- astrotomic/laravel-translatable: ^11.10
- dcat/laravel-wherehasin: ^0.8.0
- endroid/qr-code: ^4.4
- google/recaptcha: ^1.2
- gregwar/captcha: ^1.1
- guzzlehttp/guzzle: ^7.0.1
- hhxsv5/laravel-s: ^3.7
- jackiedo/dotenv-editor: ^2.0
- kinghang/translate: dev-master
- krowinski/bcmath-extended: ^6.0
- laravel/framework: ^8.0 || ^9.0 || ^10.0
- laravel/passport: ^11.x-dev
- laravel/socialite: ^5.5
- maatwebsite/excel: 3.1.x-dev
- mews/purifier: dev-master
- overtrue/easy-sms: ^2.1
- overtrue/laravel-passport-cache-token: ^3.2.0
- php-mqtt/client: ^1.4
- seffeng/cryptlib: ^0.1.1
- spatie/laravel-permission: ^5.5
- spomky-labs/otphp: ^10.0
- symfony/http-client: 6.0.x-dev
- symfony/postmark-mailer: 6.0.x-dev
- yansongda/laravel-pay: ~3.1.0
README
php artisan vendor:publish --provider="GuanChanghu\Library\Providers\AppServiceProvider"
修改配置文件
filesystems.php
'disks' => [
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL') . '/storage',
'visibility' => 'public',
],
'root' => [
'driver' => 'local',
'root' => base_path(),
],
'file' => [
'driver' => 'local',
'root' => storage_path('file'),
],
'storage' => [
'driver' => 'local',
'root' => storage_path(),
],
'resource' => [
'driver' => 'local',
'root' => resource_path(),
],
// 如果你的目录和这个不一样也可以改成这样
// 'lang' => [
// 'driver' => 'local',
// 'root' => resource_path('lang'),
// ],
'lang' => [
'driver' => 'local',
'root' => app_path('lang'),
],
]
logging.php(根据客户端自行配置)
'channels' => [
'single' => [
'driver' => 'single',
'path' => storage_path('logs/laravel/laravel.log'),
'level' => env('LOG_LEVEL', 'debug'),
],
'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/laravel/laravel.log'),
'level' => 'debug',
'days' => 720,
'handler' => Monolog\Handler\BrowserConsoleHandler::class,
'formatter' => Monolog\Formatter\LineFormatter::class,
'formatter_with' => [
'format' => "[%datetime%] [" . env('GUAN_CHANGHU_SERVICE_TAG', 'api') . "] %channel%.%level_name%: %message% %context%\n",
'dateFormat' => 'Y-m-d H:i:s.u',
],
],
'client_admin' => [
'driver' => 'daily',
'path' => storage_path('logs/client/admin/laravel.log'),
'level' => 'debug',
'days' => 720,
'handler' => Monolog\Handler\BrowserConsoleHandler::class,
'formatter' => Monolog\Formatter\LineFormatter::class,
'formatter_with' => [
'format' => "[%datetime%] [" . env('GUAN_CHANGHU_SERVICE_TAG', 'api') . "] %channel%.%level_name%: %message% %context%\n",
'dateFormat' => 'Y-m-d H:i:s.u',
],
],
'slow_admin' => [
'driver' => 'daily',
'path' => storage_path('logs/slow/admin/laravel.log'),
'level' => 'debug',
'days' => 720,
'handler' => Monolog\Handler\BrowserConsoleHandler::class,
'formatter' => Monolog\Formatter\LineFormatter::class,
'formatter_with' => [
'format' => "[%datetime%] [" . env('GUAN_CHANGHU_SERVICE_TAG', 'api') . "] %channel%.%level_name%: %message% %context%\n",
'dateFormat' => 'Y-m-d H:i:s.u',
],
],
]
任务调度
登录授权过期
$schedule->command('auth:expire')
->hourly()
->withoutOverlapping()
->runInBackground()
->appendOutputTo(storage_path('logs/schedule/auth/expire.' . TimeUtil::getFormatDateYm() . '.log'));
邮箱发送统计任务
$schedule->command('email:send:statistics')
->daily()
->withoutOverlapping()
->runInBackground()
->appendOutputTo(storage_path('logs/schedule/email/send.statistics.' . TimeUtil::getFormatDateY() . '.log'));
其他命令
// apiDoc生成
php artisan generate:apiDoc {client=web} {version=1}
// 简单数学题生成
php artisan generate:simple:math
// 获得mac地址
php artisan mac:address
// 更新权限
php artisan permission:update
// 项目安装
php artisan project:install
// 行政地域导入
php artisan lead:region
// 导入答题
php artisan lead:question
// 翻译
php artisan translate {form=zh} {to=en} {file?}
// 钱包初始化
php artisan wallet:initialize
env更改
// env
GUAN_CHANGHU_INSTALL_DB_USERNAME=
GUAN_CHANGHU_LIBRARY_ROOT_ACCOUNT="admin"
GUAN_CHANGHU_LIBRARY_UPLOAD_DEFAULT_DRIVER="local" # 文件上传默认驱动
GUAN_CHANGHU_LIBRARY_REGION_DEFAULT_FILE="regions/regions.json" # 地域导入文件
GUAN_CHANGHU_LIBRARY_REGION_DEFAULT_DRIVER="database" # 行政地域默认存储获取方式
GUAN_CHANGHU_LIBRARY_MAC_ADDRESS_INTERFACE=eth0
GUAN_CHANGHU_LIBRARY_EXCHANGE_CURL_IPRESOLVE=1 # 授权交流使用ipv4/ipv6 ipv4是1;ipv6是2
GUAN_CHANGHU_CLIENTS_ADMIN_REQUEST_LIFETIME_RANGE="4,4" # 请求有效期
GUAN_CHANGHU_CLIENTS_ADMIN_INPUT_LOG_TYPE=0 #输入日志类型 0 - 关闭 1 - 同步 2 - swoole异步 3 - 同步队列 4 - 异步队列
GUAN_CHANGHU_CLIENTS_ADMIN_OUTPUT_LOG_TYPE=0 #输出日志类型 0 - 关闭 1 - 同步 2 - swoole异步 3 - 同步队列 4 - 异步队列
GUAN_CHANGHU_CLIENTS_ADMIN_ALONE_OUTPUT_RUN_TIME_LOG_TYPE=0 #是否独自记录运行时间日志 0 - 关闭 1 - 同步 2 - swoole异步 3 - 同步队列 4 - 异步队列
GUAN_CHANGHU_CLIENTS_ADMIN_SLOW_LOG_TIME_TYPE=1 #慢日志类型 0 - 关闭 1 - 同步 2 - swoole异步 3 - 同步队列 4 - 异步队列
GUAN_CHANGHU_CLIENTS_ADMIN_SLOW_LOG_TIME_LIMIT=500 #慢日志的时间界限,单位毫秒,如果是100,说明运行时间超过100毫秒的记录下来
GUAN_CHANGHU_CLIENTS_ADMIN_LISTEN_DB=0 #监听db类型 0 - 关闭 1 - 同步 2 - swoole异步 3 - 同步队列 4 - 异步队列
GUAN_CHANGHU_LIBRARY_MQTT_SERVER=
GUAN_CHANGHU_LIBRARY_MQTT_PORT=1883
GUAN_CHANGHU_LIBRARY_MQTT_CLIENT=web
GUAN_CHANGHU_LIBRARY_MQTT_TOPIC_FILTER=Mqtt
GUAN_CHANGHU_LIBRARY_THRIFT_SERVICE_ENABLE=false
GUAN_CHANGHU_LIBRARY_THRIFT_CODE="977384723478923"
// 翻译
TRANSLATE_DEFAULT_DRIVER=baidu
TRANSLATE_DEFAULT_SPARE_DRIVER=baidu
TRANSLATE_DEFAULT_FROM=en
TRANSLATE_DEFAULT_TO=zh
TRANSLATE_BAIDU_BASE_URL="https://api.fanyi.baidu.com/api/trans/vip/translate"
TRANSLATE_BAIDU_APP_ID=
TRANSLATE_BAIDU_APP_KEY=
TRANSLATE_BAIDU_INTERVAL=0
TRANSLATE_YOU_DAO_BASE_URL="https://openapi.youdao.com/api"
TRANSLATE_YOU_DAO_APP_ID=
TRANSLATE_YOU_DAO_APP_KEY=
TRANSLATE_YOU_DAO_INTERVAL=0
TRANSLATE_GOOGLE_BASE_URL="http://translate.google.cn/translate_a/single"
TRANSLATE_GOOGLE_APP_ID=
TRANSLATE_GOOGLE_APP_KEY=
TRANSLATE_GOOGLE_INTERVAL=0