This commit is contained in:
tt 2024-10-21 19:21:46 +08:00
commit 4930717e25
16 changed files with 677 additions and 175 deletions

View File

@ -119,6 +119,8 @@ class AdminController extends base
$item->product_ids = $product_ids;
$item->route_type = $routeType;
$item->type = $type;
$item->wechat = $request->post('wechat','');
$item->wechat_pic = $request->post('wechat_pic','');
Log::info('logs:' . json_encode($item));
$back = $item->save();
if($back)

View File

@ -0,0 +1,52 @@
<?php
namespace app\admin\controller;
require_once(__DIR__.'/xlsxwriter.class.php');
use app\model\OrderBooks;
use app\model\Orders;
use app\model\Products;
use support\Request;
class OrderBooksController extends base {
/**
* @param Request $request
* @return \support\Response
* @throws \think\db\exception\DbException
*/
public function list(Request $request) {
$query = OrderBooks::where([])->order('id', 'desc');
if($username = $request->get('username')) {
$query->where('username', $username);
}
if($status = $request->get('status')) {
$query->where('status', $status);
}
if($is_order = $request->get('is_order')) {
$query->where('is_order', $is_order);
}
$list = $query->with(['orderInfo'])->paginate($request->get('limit',10));
foreach ($list as &$val) {
if ($val['code_pic']) {
$val['code_pic'] = json_decode($val['code_pic'], true);
$val['code_pic_show'] = $val['code_pic'][0];
}
}
return $this->success($list,null,['oss' => array_values(array_map(function ($os, $k) {
return ['id' => $k, 'os' => $os];
}, Orders::OSS, array_keys(Orders::OSS)))]);
}
/**
* @param Request $request
* @return \support\Response
* @throws \think\db\exception\DbException
*/
public function updateStatus(Request $request) {
if (!$request->post('id')) {
return $this->error('请选择预约记录');
}
OrderBooks::where('id', $request->post('id'))->update(['status' => 1]);
return $this->success([]);
}
}

View File

@ -3,8 +3,11 @@ namespace app\admin\controller;
use app\model\Admins;
use app\model\Onlines;
use app\model\OrderBooks;
use app\model\Orders;
use app\model\Products;
use app\model\ProductSchedules;
use Illuminate\Support\Facades\DB;
use support\Log;
use support\Request;
use support\Redis;
@ -44,20 +47,118 @@ class ProductsController extends base {
if (!$request->post('third_product_id')) {
return $this->error(2001, '线路id必填');
}
if (!$request->post('type') || !in_array($request->post('type'), [1, 2])) {
return $this->error(2001, '请选择区域');
}
if (!$request->post('day') || !is_numeric($request->post('day'))) {
return $this->error(2001, '请输入天数');
}
$where = ['os' => $request->post('os'), 'third_product_id' => $request->post('third_product_id')];
$product = (new Products())->where($where)->find();
if (!empty($product)) {
return $this->error(2002, '线路已存在');
if (empty($product)) {
$product = new Products();
}
$product = new Products();
$product->os = $request->post('os');
$product->third_product_id = $request->post('third_product_id');
$product->product_name = $request->post('product_name');
$product->status = 1;
$product->type = $request->post('type');
$product->day = $request->post('day');
$product->night = $request->post('night');
$product->trip_info = $request->post('trip_info');
$product->save();
Log::info('product:' . json_encode($product));
return $this->success([]);
}
/**
* 商品排期列表
* @param Request $request
* @return \support\Response
*/
public function productSchedules(Request $request) {
if (!$request->get('id')) {
return $this->error(2001, '请选择商品');
}
$date = $request->get('date', date('Y-m'));
$firstDay = strtotime(date('Y-m-01'), strtotime($date));
$lastDay = strtotime(date('Y-m-t'), strtotime($date));
// 用来存储日期的数组
$dates = [];
// 排期列表
$productSchedules = ProductSchedules::where('product_id', $request->get('id'))
->whereBetweenTime('date', $firstDay, $lastDay)
->select()
->toArray();
$productSchedules = array_column($productSchedules, null, 'date');
// 预约列表
$books = OrderBooks::join('orders', 'orders.id=order_books.order_id')
->whereBetween('order_books.travel_date', [$firstDay, $lastDay])
->group(['order_books.travel_date', 'orders.product_id'])
->fieldRaw('order_books.travel_date, orders.product_id, count(1) as num')
->select()
->toArray();
$books = array_column($books, null, 'travel_date');
// 遍历日期范围
$dates = [];
for ($currentDay = $firstDay; $currentDay <= $lastDay; $currentDay = strtotime('+1 day', $currentDay)) {
$date = date('Y-m-d', $currentDay);
$current = [
'date' => $date,
'books_num' => 0,
'left_num' => 0
];
// 预约数量
if (isset($books[$date])) {
$current['books_num'] = $books[$date]['num'];
}
// 剩余数量
if (isset($productSchedules[$date]) && $productSchedules[$date]['num'] > 0) {
$leftNum = $productSchedules[$date]['num'] - $current['books_num'];
$current['left_num'] = $leftNum ?: 0;
}
array_push($dates, $current);
}
return $this->success($dates);
}
/**
* 商品排期
* @param Request $request
* @return \support\Response
*/
public function addProductSchedules(Request $request) {
if (!$request->post('id')) {
return $this->error(2001, '请选择商品');
}
if (!$request->post('date')) {
return $this->error(2001, '选择设置日期');
}
if (!$request->post('num') || !is_numeric($request->post('num'))) {
return $this->error(2001, '数量格式异常');
}
$thirdProductId = Products::where('id', $request->post('id'))->value('third_product_id');
if (!$thirdProductId) {
return $this->error('商品信息未找到');
}
$where = ['product_id' => $request->post('id'), 'date' => $request->post('date')];
$productSchedules = (new ProductSchedules())->where($where)->find();
if (empty($productSchedules)) {
$productSchedules = new ProductSchedules();
}
$productSchedules->product_id = $request->post('id');
$productSchedules->date = $request->post('date');
$productSchedules->num = $request->post('num');
$productSchedules->third_product_id = $thirdProductId;
$productSchedules->save();
return $this->success([]);
}
}

View File

@ -0,0 +1,40 @@
<?php
namespace app\admin\controller;
use app\model\Settings;
use support\Redis;
use support\Request;
class SettingController extends base {
const SETTING_DOMESTIC = 'setting:domestic';
const SETTING_ABROAD = 'setting:abroad';
/**
* 配置合同获取
* @param Request $request
* @return \support\Response
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public function getContractSetting(Request $request) {
$domestic = Redis::get(self::SETTING_DOMESTIC) ?? '';
$abroad = Redis::get(self::SETTING_ABROAD) ?? '';
return $this->success(compact('domestic', 'abroad'));
}
/**
* 合同配置保存
*/
public function saveContractSetting(Request $request) {
if (empty($request->get('domestic'))) {
return $this->error('请上传境内合同');
}
if (empty($request->get('abroad'))) {
return $this->error('请上传境外合同');
}
Redis::set(self::SETTING_DOMESTIC, $request->get('domestic'));
Redis::set(self::SETTING_ABROAD, $request->get('abroad'));
return $this->success([]);
}
}

View File

@ -18,6 +18,7 @@ class UploadController extends base
{
public function index(Request $request)
{
return $this->success('/uploads/1/20241019175205021482/7418af88ebc0333ef4bee0a0a2cc7de0.jpg');
$file = $request->file("file");
if (!$file->isValid()) {

View File

@ -0,0 +1,104 @@
<?php
namespace app\api\controller;
use app\model\OrderBooks;
use app\model\Orders;
use Respect\Validation\Validator;
use support\Request;
/**
*
*/
class OrderController extends base
{
/**
* 订单查询
* @param Request $request
* @return \support\Response
* @throws \think\db\exception\DbException
*/
public function index(Request $request) {
$mobile = $request->get('mobile');
if (empty($mobile) || !Validator::mobile()->validate($mobile)) {
return $this->error('手机号格式错误');
}
$where = [];
$os = [1, 7];
$query = Orders::where($where)
->whereLike('mobile', $mobile)
->whereIn('os', $os)
->order('create_at','desc')
->order('id','desc');
$orders = $query->paginate($request->get('limit',10));
$list = $orders->hidden(['check_sn'])->append(['h5_os_status_name', 'h5_os_name' , 'can_book']);
return $this->success($list);
}
/**
* 订单详情
* @param Request $request
* @return \support\Response
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public function detail(Request $request) {
$id = $request->get('order_id');
if (empty($id)) {
return $this->error('请选择订单');
}
$orderDetail = Orders::where('id', $id)->with(['admin', 'product'])->find();
if (empty($orderDetail)) {
return $this->error('订单未找到');
}
$orderDetail->admin->job = '金牌旅行管家';
$orderDetail->admin->service_promise = '我以真诚、热情、专业的态度服务好每一位顾客,全力确保您的旅行体验美好、愉快、安全。';
// 旅游合同
$orderDetail->travel_contract = 'http://192.168.0.100:8787/%E6%8A%96%E9%9F%B3%E6%96%B0%E5%9B%BD%E6%97%85%E6%B7%BB%E5%8A%A0%E5%88%86%E5%8D%95%E7%B3%BB%E7%BB%9F%E7%9A%84%E5%95%86%E5%93%81.xlsx';
return $this->success($orderDetail);
}
/**
* 订单预约
* @param Request $request
* @return \support\Response
*/
public function book(Request $request) {
try {
$data = $request->post();
Validator::input($data, [
'order_id' => Validator::number()->length(1, 10)->setName('订单号'),
'travel_date' => Validator::date()->setName('出游日期'),
'num' => Validator::number()->length(1, 3)->setName('出游人数'),
'name' => Validator::length(1, 10)->setName('出行人名称'),
'mobile' => Validator::mobile()->setName('联系电话'),
]);
if (!$order = Orders::where('id', $data['order_id'])->find()) {
return $this->error('订单未找到');
}
if ($order->is_apply_appointment == 1) {
return $this->error('已申请预约');
}
if ($data['code_pic'] && is_array($data['code_pic'])) {
$data['code_pic'] = json_encode($data['code_pic']);
}
// 检查排期
// $res = DB::transaction(function ($data) {
$res = OrderBooks::create($data);
if (!empty($res)) {
$order->is_apply_appointment = 1;
$order->save();
}
// return $res;
// });
return $this->success($res);
} catch (\Exception $exception) {
return $this->error($exception->getMessage());
}
}
}

View File

@ -0,0 +1,34 @@
<?php
namespace app\api\controller;
use app\model\Uploads;
use support\Request;
class UploadController extends base
{
public function index(Request $request)
{
$file = $request->file("file");
if (!$file->isValid()) {
return $this->error(400, 'upload fail, code=' . $file->getUploadErrorCode());
}
// if (!in_array($file->getExtension(), ['jpg', 'png', 'jpeg']) ){
// return $this->error(400, '请选择图片,文件后缀:'.$file->getFilename());
// }
$now = date_create();
$savepath = sprintf("/uploads/%d/%s/%s", 1, $now->format("YmdHisu"), $file->getUploadName());
$item = new Uploads();
$item->admin_id = 0;
$item->filesize = 0;
$item->filepath = $savepath;
$item->mime = $file->getUploadMimeType();
$item->create_at = $now->getTimestamp();
$file->move(public_path(). $savepath);
$item->save();
return $this->success(env('APP_URL') . $savepath);
}
}

View File

@ -0,0 +1,13 @@
<?php
namespace app\api\controller;
class base
{
public function success($data,$mess = null, $ext = null) {
return json(['error' => 0, 'msg' => $mess ?? 'ok','data' => $data, 'ext' => $ext]);
}
public function error($code, $mess = null) {
return json(['error' => $code, 'msg' => $mess ?? 'error'], JSON_NUMERIC_CHECK );
}
}

View File

@ -0,0 +1,21 @@
<?php
namespace app\middleware;
use Firebase\JWT\JWT;
use Firebase\JWT\ExpiredException;
use Firebase\JWT\Key;
use Webman\MiddlewareInterface;
use Webman\Http\Response;
use Webman\Http\Request;
class wechatAuth implements MiddlewareInterface
{
public function process(Request $request, callable $next): Response {
// 设置允许跨域的来源
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS");
header("Access-Control-Allow-Headers: Content-Type,Referer, Authorization, X-Requested-With,User-Agent,Token,Accept-Language");
return $next($request);
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace app\model;
class OrderBooks extends base
{
// protected $json = ['code_pic'];
public function orderInfo() {
return self::belongsTo(Orders::class, 'order_id');
}
}

View File

@ -34,6 +34,18 @@ class Orders extends base
const timeType = ['create_time' => '添加记录时间', 'update_time' => '修改记录时间', 'last_follow' => '最后跟进时间', 'next_follow' => '下次跟进时间', 'travel_date' => '出行时间', 'create_at' => '下单时间'];
// 客户端常量
const H5_OSS = [1 => '美团官方视频号直播', '7' => '美团官方视频号直播', 2 => '快手', 3 => '抖音', '5' => '抖音', '6' => '同程'];
const H5_STATUS_DESC = [
// 美团
1 => [1 => '未付款', 2 => '已取消', 3 => '未预约', 4 => '已预约', 5 => '已退款'],
7 => [1 => '未付款', 2 => '已取消', 3 => '未预约', 4 => '已预约', 5 => '已退款'],
// 抖音
3 => [1 => '未核销', 2 => '已核销', 3 => '申请退款中', 4 => '已退款', 5 => '部分核销'],
5 => [1 => '未核销', 2 => '已核销', 3 => '申请退款中', 4 => '已退款', 5 => '部分核销'],
];
protected $json = ['personnel'];
public function getOrderStatusNameAttr($val)
@ -60,6 +72,24 @@ class Orders extends base
return self::OSS[$this->os] ?? '未知';
}
public function getH5OsNameAttr($val)
{
return self::H5_OSS[$this->os] ?? '未知';
}
public function getH5OsStatusNameAttr($val)
{
return self::H5_STATUS_DESC[$this->os][$this->order_status] ?? '未知';
}
public function getCanBookAttr($val)
{
$canBook = false;
if (in_array($this->os, [1, 7]) && $this->order_status == 3) {
$canBook = true;
}
return $canBook;
}
public function getAdminNameAttr()
{
if ($this->admin_id > 0) {
@ -119,9 +149,9 @@ class Orders extends base
return $query;
}
public function admin()
{
return $this->belongsTo(Admins::class, 'admin_id')->visible(['name', 'username', 'avatar']);
public function admin() {
$data = $this->belongsTo(Admins::class, 'admin_id')->visible(['name', 'username', 'avatar', 'wechat', 'wechat_pic', 'job', 'service_promise']);
return $data;
}
public function anchor()
@ -144,6 +174,11 @@ class Orders extends base
return $this->hasMany(Finances::class, 'order_id')->order('id', 'desc');
}
public function product()
{
return $this->belongsTo(Products::class, 'product_id', 'third_product_id');
}
public static function fish($id, $admin_id)
{
return Db::transaction(function () use ($id, $admin_id) {

View File

@ -0,0 +1,7 @@
<?php
namespace app\model;
class ProductSchedules extends base
{
}

View File

@ -0,0 +1,7 @@
<?php
namespace app\model;
class Settings extends base
{
}

View File

@ -35,7 +35,8 @@
"qiniu/php-sdk": "^7.12",
"webman/console": "^1.3",
"mk-j/php_xlsxwriter": "^0.39.0",
"workerman/crontab": "^1.0"
"workerman/crontab": "^1.0",
"workerman/validation": "^1.0"
},
"suggest": {
"ext-event": "For better performance. "

406
service/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": "c5d73376efb82db5d880157187b7a430",
"content-hash": "d502c4724d6450e8d1ac746174c20661",
"packages": [
{
"name": "carbonphp/carbon-doctrine-types",
@ -231,24 +231,24 @@
},
{
"name": "graham-campbell/result-type",
"version": "v1.1.2",
"version": "v1.1.3",
"source": {
"type": "git",
"url": "https://github.com/GrahamCampbell/Result-Type.git",
"reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862"
"reference": "3ba905c11371512af9d9bdd27d99b782216b6945"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/fbd48bce38f73f8a4ec8583362e732e4095e5862",
"reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862",
"url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/3ba905c11371512af9d9bdd27d99b782216b6945",
"reference": "3ba905c11371512af9d9bdd27d99b782216b6945",
"shasum": ""
},
"require": {
"php": "^7.2.5 || ^8.0",
"phpoption/phpoption": "^1.9.2"
"phpoption/phpoption": "^1.9.3"
},
"require-dev": {
"phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2"
"phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28"
},
"type": "library",
"autoload": {
@ -277,7 +277,7 @@
],
"support": {
"issues": "https://github.com/GrahamCampbell/Result-Type/issues",
"source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.2"
"source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.3"
},
"funding": [
{
@ -289,11 +289,11 @@
"type": "tidelift"
}
],
"time": "2023-11-12T22:16:48+00:00"
"time": "2024-07-20T21:45:45+00:00"
},
{
"name": "illuminate/bus",
"version": "v10.48.12",
"version": "v10.48.22",
"source": {
"type": "git",
"url": "https://github.com/illuminate/bus.git",
@ -346,16 +346,16 @@
},
{
"name": "illuminate/collections",
"version": "v10.48.12",
"version": "v10.48.22",
"source": {
"type": "git",
"url": "https://github.com/illuminate/collections.git",
"reference": "f9589f1063a449111dcaa1d68285b507d9483a95"
"reference": "37c863cffb345869dd134eff8e646bc82a19cc96"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/illuminate/collections/zipball/f9589f1063a449111dcaa1d68285b507d9483a95",
"reference": "f9589f1063a449111dcaa1d68285b507d9483a95",
"url": "https://api.github.com/repos/illuminate/collections/zipball/37c863cffb345869dd134eff8e646bc82a19cc96",
"reference": "37c863cffb345869dd134eff8e646bc82a19cc96",
"shasum": ""
},
"require": {
@ -397,11 +397,11 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
"time": "2024-03-20T20:09:13+00:00"
"time": "2024-06-19T14:25:05+00:00"
},
{
"name": "illuminate/conditionable",
"version": "v10.48.12",
"version": "v10.48.22",
"source": {
"type": "git",
"url": "https://github.com/illuminate/conditionable.git",
@ -447,7 +447,7 @@
},
{
"name": "illuminate/container",
"version": "v10.48.12",
"version": "v10.48.22",
"source": {
"type": "git",
"url": "https://github.com/illuminate/container.git",
@ -498,7 +498,7 @@
},
{
"name": "illuminate/contracts",
"version": "v10.48.12",
"version": "v10.48.22",
"source": {
"type": "git",
"url": "https://github.com/illuminate/contracts.git",
@ -546,7 +546,7 @@
},
{
"name": "illuminate/events",
"version": "v10.48.12",
"version": "v10.48.22",
"source": {
"type": "git",
"url": "https://github.com/illuminate/events.git",
@ -601,7 +601,7 @@
},
{
"name": "illuminate/macroable",
"version": "v10.48.12",
"version": "v10.48.22",
"source": {
"type": "git",
"url": "https://github.com/illuminate/macroable.git",
@ -647,7 +647,7 @@
},
{
"name": "illuminate/pipeline",
"version": "v10.48.12",
"version": "v10.48.22",
"source": {
"type": "git",
"url": "https://github.com/illuminate/pipeline.git",
@ -695,7 +695,7 @@
},
{
"name": "illuminate/redis",
"version": "v10.48.12",
"version": "v10.48.22",
"source": {
"type": "git",
"url": "https://github.com/illuminate/redis.git",
@ -749,16 +749,16 @@
},
{
"name": "illuminate/support",
"version": "v10.48.12",
"version": "v10.48.22",
"source": {
"type": "git",
"url": "https://github.com/illuminate/support.git",
"reference": "263f389d81488c237846b69469f91387ca2729f3"
"reference": "56c6d9895605b019e3debb9440454596ef99312a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/illuminate/support/zipball/263f389d81488c237846b69469f91387ca2729f3",
"reference": "263f389d81488c237846b69469f91387ca2729f3",
"url": "https://api.github.com/repos/illuminate/support/zipball/56c6d9895605b019e3debb9440454596ef99312a",
"reference": "56c6d9895605b019e3debb9440454596ef99312a",
"shasum": ""
},
"require": {
@ -816,7 +816,7 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
"time": "2024-05-16T21:33:51+00:00"
"time": "2024-05-20T13:31:33+00:00"
},
{
"name": "mk-j/php_xlsxwriter",
@ -1188,16 +1188,16 @@
},
{
"name": "phpoption/phpoption",
"version": "1.9.2",
"version": "1.9.3",
"source": {
"type": "git",
"url": "https://github.com/schmittjoh/php-option.git",
"reference": "80735db690fe4fc5c76dfa7f9b770634285fa820"
"reference": "e3fac8b24f56113f7cb96af14958c0dd16330f54"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/schmittjoh/php-option/zipball/80735db690fe4fc5c76dfa7f9b770634285fa820",
"reference": "80735db690fe4fc5c76dfa7f9b770634285fa820",
"url": "https://api.github.com/repos/schmittjoh/php-option/zipball/e3fac8b24f56113f7cb96af14958c0dd16330f54",
"reference": "e3fac8b24f56113f7cb96af14958c0dd16330f54",
"shasum": ""
},
"require": {
@ -1205,13 +1205,13 @@
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
"phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2"
"phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28"
},
"type": "library",
"extra": {
"bamarni-bin": {
"bin-links": true,
"forward-command": true
"forward-command": false
},
"branch-alias": {
"dev-master": "1.9-dev"
@ -1247,7 +1247,7 @@
],
"support": {
"issues": "https://github.com/schmittjoh/php-option/issues",
"source": "https://github.com/schmittjoh/php-option/tree/1.9.2"
"source": "https://github.com/schmittjoh/php-option/tree/1.9.3"
},
"funding": [
{
@ -1259,7 +1259,7 @@
"type": "tidelift"
}
],
"time": "2023-11-12T21:59:55+00:00"
"time": "2024-07-20T21:41:07+00:00"
},
{
"name": "psr/clock",
@ -1364,16 +1364,16 @@
},
{
"name": "psr/log",
"version": "3.0.0",
"version": "3.0.2",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
"reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001"
"reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001",
"reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001",
"url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3",
"reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3",
"shasum": ""
},
"require": {
@ -1408,9 +1408,9 @@
"psr-3"
],
"support": {
"source": "https://github.com/php-fig/log/tree/3.0.0"
"source": "https://github.com/php-fig/log/tree/3.0.2"
},
"time": "2021-07-14T16:46:02+00:00"
"time": "2024-09-11T13:17:53+00:00"
},
{
"name": "psr/simple-cache",
@ -1465,19 +1465,21 @@
},
{
"name": "qiniu/php-sdk",
"version": "v7.12.1",
"version": "v7.13.0",
"source": {
"type": "git",
"url": "https://github.com/qiniu/php-sdk.git",
"reference": "88952a65e97b4c2fae3f954bc4419ba14e42f154"
"reference": "a9b6716ca6f31c9ac9d2c732a38a638caa2828d9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/qiniu/php-sdk/zipball/88952a65e97b4c2fae3f954bc4419ba14e42f154",
"reference": "88952a65e97b4c2fae3f954bc4419ba14e42f154",
"url": "https://api.github.com/repos/qiniu/php-sdk/zipball/a9b6716ca6f31c9ac9d2c732a38a638caa2828d9",
"reference": "a9b6716ca6f31c9ac9d2c732a38a638caa2828d9",
"shasum": ""
},
"require": {
"ext-curl": "*",
"ext-xml": "*",
"myclabs/php-enum": "~1.5.2 || ~1.6.6 || ~1.7.7 || ~1.8.4",
"php": ">=5.3.3"
},
@ -1517,52 +1519,53 @@
],
"support": {
"issues": "https://github.com/qiniu/php-sdk/issues",
"source": "https://github.com/qiniu/php-sdk/tree/v7.12.1"
"source": "https://github.com/qiniu/php-sdk/tree/v7.13.0"
},
"time": "2024-03-12T07:03:12+00:00"
"time": "2024-09-20T14:00:46+00:00"
},
{
"name": "symfony/console",
"version": "v7.1.1",
"version": "v6.4.12",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "9b008f2d7b21c74ef4d0c3de6077a642bc55ece3"
"reference": "72d080eb9edf80e36c19be61f72c98ed8273b765"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/9b008f2d7b21c74ef4d0c3de6077a642bc55ece3",
"reference": "9b008f2d7b21c74ef4d0c3de6077a642bc55ece3",
"url": "https://api.github.com/repos/symfony/console/zipball/72d080eb9edf80e36c19be61f72c98ed8273b765",
"reference": "72d080eb9edf80e36c19be61f72c98ed8273b765",
"shasum": ""
},
"require": {
"php": ">=8.2",
"php": ">=8.1",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-mbstring": "~1.0",
"symfony/service-contracts": "^2.5|^3",
"symfony/string": "^6.4|^7.0"
"symfony/string": "^5.4|^6.0|^7.0"
},
"conflict": {
"symfony/dependency-injection": "<6.4",
"symfony/dotenv": "<6.4",
"symfony/event-dispatcher": "<6.4",
"symfony/lock": "<6.4",
"symfony/process": "<6.4"
"symfony/dependency-injection": "<5.4",
"symfony/dotenv": "<5.4",
"symfony/event-dispatcher": "<5.4",
"symfony/lock": "<5.4",
"symfony/process": "<5.4"
},
"provide": {
"psr/log-implementation": "1.0|2.0|3.0"
},
"require-dev": {
"psr/log": "^1|^2|^3",
"symfony/config": "^6.4|^7.0",
"symfony/dependency-injection": "^6.4|^7.0",
"symfony/event-dispatcher": "^6.4|^7.0",
"symfony/config": "^5.4|^6.0|^7.0",
"symfony/dependency-injection": "^5.4|^6.0|^7.0",
"symfony/event-dispatcher": "^5.4|^6.0|^7.0",
"symfony/http-foundation": "^6.4|^7.0",
"symfony/http-kernel": "^6.4|^7.0",
"symfony/lock": "^6.4|^7.0",
"symfony/messenger": "^6.4|^7.0",
"symfony/process": "^6.4|^7.0",
"symfony/stopwatch": "^6.4|^7.0",
"symfony/var-dumper": "^6.4|^7.0"
"symfony/lock": "^5.4|^6.0|^7.0",
"symfony/messenger": "^5.4|^6.0|^7.0",
"symfony/process": "^5.4|^6.0|^7.0",
"symfony/stopwatch": "^5.4|^6.0|^7.0",
"symfony/var-dumper": "^5.4|^6.0|^7.0"
},
"type": "library",
"autoload": {
@ -1596,7 +1599,7 @@
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v7.1.1"
"source": "https://github.com/symfony/console/tree/v6.4.12"
},
"funding": [
{
@ -1612,7 +1615,7 @@
"type": "tidelift"
}
],
"time": "2024-05-31T14:57:53+00:00"
"time": "2024-09-20T08:15:52+00:00"
},
{
"name": "symfony/deprecation-contracts",
@ -1683,20 +1686,20 @@
},
{
"name": "symfony/polyfill-ctype",
"version": "v1.29.0",
"version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
"reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4"
"reference": "a3cc8b044a6ea513310cbd48ef7333b384945638"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4",
"reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638",
"reference": "a3cc8b044a6ea513310cbd48ef7333b384945638",
"shasum": ""
},
"require": {
"php": ">=7.1"
"php": ">=7.2"
},
"provide": {
"ext-ctype": "*"
@ -1742,7 +1745,7 @@
"portable"
],
"support": {
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0"
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0"
},
"funding": [
{
@ -1758,24 +1761,24 @@
"type": "tidelift"
}
],
"time": "2024-01-29T20:11:03+00:00"
"time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
"version": "v1.29.0",
"version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
"reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f"
"reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f",
"reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f",
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe",
"reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe",
"shasum": ""
},
"require": {
"php": ">=7.1"
"php": ">=7.2"
},
"suggest": {
"ext-intl": "For best performance"
@ -1820,7 +1823,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0"
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0"
},
"funding": [
{
@ -1836,24 +1839,24 @@
"type": "tidelift"
}
],
"time": "2024-01-29T20:11:03+00:00"
"time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
"version": "v1.29.0",
"version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
"reference": "bc45c394692b948b4d383a08d7753968bed9a83d"
"reference": "3833d7255cc303546435cb650316bff708a1c75c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d",
"reference": "bc45c394692b948b4d383a08d7753968bed9a83d",
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c",
"reference": "3833d7255cc303546435cb650316bff708a1c75c",
"shasum": ""
},
"require": {
"php": ">=7.1"
"php": ">=7.2"
},
"suggest": {
"ext-intl": "For best performance"
@ -1901,7 +1904,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0"
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0"
},
"funding": [
{
@ -1917,24 +1920,24 @@
"type": "tidelift"
}
],
"time": "2024-01-29T20:11:03+00:00"
"time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.29.0",
"version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec"
"reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
"reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341",
"reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341",
"shasum": ""
},
"require": {
"php": ">=7.1"
"php": ">=7.2"
},
"provide": {
"ext-mbstring": "*"
@ -1981,7 +1984,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0"
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0"
},
"funding": [
{
@ -1997,24 +2000,24 @@
"type": "tidelift"
}
],
"time": "2024-01-29T20:11:03+00:00"
"time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-php80",
"version": "v1.29.0",
"version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
"reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b"
"reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b",
"reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
"reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
"shasum": ""
},
"require": {
"php": ">=7.1"
"php": ">=7.2"
},
"type": "library",
"extra": {
@ -2061,7 +2064,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0"
"source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0"
},
"funding": [
{
@ -2077,7 +2080,7 @@
"type": "tidelift"
}
],
"time": "2024-01-29T20:11:03+00:00"
"time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/service-contracts",
@ -2164,20 +2167,20 @@
},
{
"name": "symfony/string",
"version": "v7.1.1",
"version": "v6.4.12",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
"reference": "60bc311c74e0af215101235aa6f471bcbc032df2"
"reference": "f8a1ccebd0997e16112dfecfd74220b78e5b284b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/60bc311c74e0af215101235aa6f471bcbc032df2",
"reference": "60bc311c74e0af215101235aa6f471bcbc032df2",
"url": "https://api.github.com/repos/symfony/string/zipball/f8a1ccebd0997e16112dfecfd74220b78e5b284b",
"reference": "f8a1ccebd0997e16112dfecfd74220b78e5b284b",
"shasum": ""
},
"require": {
"php": ">=8.2",
"php": ">=8.1",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-intl-grapheme": "~1.0",
"symfony/polyfill-intl-normalizer": "~1.0",
@ -2187,12 +2190,11 @@
"symfony/translation-contracts": "<2.5"
},
"require-dev": {
"symfony/emoji": "^7.1",
"symfony/error-handler": "^6.4|^7.0",
"symfony/http-client": "^6.4|^7.0",
"symfony/intl": "^6.4|^7.0",
"symfony/error-handler": "^5.4|^6.0|^7.0",
"symfony/http-client": "^5.4|^6.0|^7.0",
"symfony/intl": "^6.2|^7.0",
"symfony/translation-contracts": "^2.5|^3.0",
"symfony/var-exporter": "^6.4|^7.0"
"symfony/var-exporter": "^5.4|^6.0|^7.0"
},
"type": "library",
"autoload": {
@ -2231,7 +2233,7 @@
"utf8"
],
"support": {
"source": "https://github.com/symfony/string/tree/v7.1.1"
"source": "https://github.com/symfony/string/tree/v6.4.12"
},
"funding": [
{
@ -2247,20 +2249,20 @@
"type": "tidelift"
}
],
"time": "2024-06-04T06:40:14+00:00"
"time": "2024-09-20T08:15:52+00:00"
},
{
"name": "symfony/translation",
"version": "v6.4.8",
"version": "v6.4.12",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
"reference": "a002933b13989fc4bd0b58e04bf7eec5210e438a"
"reference": "cf8360b8352b086be620fae8342c4d96e391a489"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/translation/zipball/a002933b13989fc4bd0b58e04bf7eec5210e438a",
"reference": "a002933b13989fc4bd0b58e04bf7eec5210e438a",
"url": "https://api.github.com/repos/symfony/translation/zipball/cf8360b8352b086be620fae8342c4d96e391a489",
"reference": "cf8360b8352b086be620fae8342c4d96e391a489",
"shasum": ""
},
"require": {
@ -2326,7 +2328,7 @@
"description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/translation/tree/v6.4.8"
"source": "https://github.com/symfony/translation/tree/v6.4.12"
},
"funding": [
{
@ -2342,7 +2344,7 @@
"type": "tidelift"
}
],
"time": "2024-05-31T14:49:08+00:00"
"time": "2024-09-16T06:02:54+00:00"
},
{
"name": "symfony/translation-contracts",
@ -2424,16 +2426,16 @@
},
{
"name": "topthink/think-helper",
"version": "v3.1.6",
"version": "v3.1.9",
"source": {
"type": "git",
"url": "https://github.com/top-think/think-helper.git",
"reference": "769acbe50a4274327162f9c68ec2e89a38eb2aff"
"reference": "d554a0a62e4c7034abc7343ee866005c3f399ae2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/top-think/think-helper/zipball/769acbe50a4274327162f9c68ec2e89a38eb2aff",
"reference": "769acbe50a4274327162f9c68ec2e89a38eb2aff",
"url": "https://api.github.com/repos/top-think/think-helper/zipball/d554a0a62e4c7034abc7343ee866005c3f399ae2",
"reference": "d554a0a62e4c7034abc7343ee866005c3f399ae2",
"shasum": ""
},
"require": {
@ -2464,22 +2466,22 @@
"description": "The ThinkPHP6 Helper Package",
"support": {
"issues": "https://github.com/top-think/think-helper/issues",
"source": "https://github.com/top-think/think-helper/tree/v3.1.6"
"source": "https://github.com/top-think/think-helper/tree/v3.1.9"
},
"time": "2021-12-15T04:27:55+00:00"
"time": "2024-10-15T02:24:05+00:00"
},
{
"name": "topthink/think-orm",
"version": "v3.0.14",
"version": "v3.0.28",
"source": {
"type": "git",
"url": "https://github.com/top-think/think-orm.git",
"reference": "7b0b8ea6ca5e020217f6ba7ae34d547e148a675b"
"reference": "407dfd782b6124b2a33c9867e9c09041f36fb4ba"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/top-think/think-orm/zipball/7b0b8ea6ca5e020217f6ba7ae34d547e148a675b",
"reference": "7b0b8ea6ca5e020217f6ba7ae34d547e148a675b",
"url": "https://api.github.com/repos/top-think/think-orm/zipball/407dfd782b6124b2a33c9867e9c09041f36fb4ba",
"reference": "407dfd782b6124b2a33c9867e9c09041f36fb4ba",
"shasum": ""
},
"require": {
@ -2491,7 +2493,10 @@
"topthink/think-helper": "^3.1"
},
"require-dev": {
"phpunit/phpunit": "^8|^9.5|^10"
"phpunit/phpunit": "^9.6|^10"
},
"suggest": {
"ext-mongodb": "provide mongodb support"
},
"type": "library",
"autoload": {
@ -2519,29 +2524,29 @@
],
"support": {
"issues": "https://github.com/top-think/think-orm/issues",
"source": "https://github.com/top-think/think-orm/tree/v3.0.14"
"source": "https://github.com/top-think/think-orm/tree/v3.0.28"
},
"time": "2023-09-24T13:15:07+00:00"
"time": "2024-10-10T02:14:17+00:00"
},
{
"name": "vlucas/phpdotenv",
"version": "v5.6.0",
"version": "v5.6.1",
"source": {
"type": "git",
"url": "https://github.com/vlucas/phpdotenv.git",
"reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4"
"reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4",
"reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4",
"url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/a59a13791077fe3d44f90e7133eb68e7d22eaff2",
"reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2",
"shasum": ""
},
"require": {
"ext-pcre": "*",
"graham-campbell/result-type": "^1.1.2",
"graham-campbell/result-type": "^1.1.3",
"php": "^7.2.5 || ^8.0",
"phpoption/phpoption": "^1.9.2",
"phpoption/phpoption": "^1.9.3",
"symfony/polyfill-ctype": "^1.24",
"symfony/polyfill-mbstring": "^1.24",
"symfony/polyfill-php80": "^1.24"
@ -2558,7 +2563,7 @@
"extra": {
"bamarni-bin": {
"bin-links": true,
"forward-command": true
"forward-command": false
},
"branch-alias": {
"dev-master": "5.6-dev"
@ -2593,7 +2598,7 @@
],
"support": {
"issues": "https://github.com/vlucas/phpdotenv/issues",
"source": "https://github.com/vlucas/phpdotenv/tree/v5.6.0"
"source": "https://github.com/vlucas/phpdotenv/tree/v5.6.1"
},
"funding": [
{
@ -2605,7 +2610,7 @@
"type": "tidelift"
}
],
"time": "2023-11-12T22:43:29+00:00"
"time": "2024-07-20T21:52:34+00:00"
},
{
"name": "voku/portable-ascii",
@ -2683,16 +2688,16 @@
},
{
"name": "webman/console",
"version": "v1.3.8",
"version": "v1.3.11",
"source": {
"type": "git",
"url": "https://github.com/webman-php/console.git",
"reference": "9e866344882601cbdefe76b44e6b61532c7fb98e"
"reference": "cf7812603114c97bfdeb7d8e3e6eabe567357d77"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/webman-php/console/zipball/9e866344882601cbdefe76b44e6b61532c7fb98e",
"reference": "9e866344882601cbdefe76b44e6b61532c7fb98e",
"url": "https://api.github.com/repos/webman-php/console/zipball/cf7812603114c97bfdeb7d8e3e6eabe567357d77",
"reference": "cf7812603114c97bfdeb7d8e3e6eabe567357d77",
"shasum": ""
},
"require": {
@ -2732,25 +2737,24 @@
"source": "https://github.com/webman-php/console",
"wiki": "http://www.workerman.net/doc/webman"
},
"time": "2024-05-08T03:31:43+00:00"
"time": "2024-09-24T06:37:05+00:00"
},
{
"name": "webman/think-orm",
"version": "v1.1.1",
"version": "v1.1.5",
"source": {
"type": "git",
"url": "https://github.com/webman-php/think-orm.git",
"reference": "9f1e525c5c4b5a2e1eee6a4f82ef5d23c69139a2"
"reference": "dcea332f96ccf419ffd117cc33515602ada9893d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/webman-php/think-orm/zipball/9f1e525c5c4b5a2e1eee6a4f82ef5d23c69139a2",
"reference": "9f1e525c5c4b5a2e1eee6a4f82ef5d23c69139a2",
"url": "https://api.github.com/repos/webman-php/think-orm/zipball/dcea332f96ccf419ffd117cc33515602ada9893d",
"reference": "dcea332f96ccf419ffd117cc33515602ada9893d",
"shasum": ""
},
"require": {
"topthink/think-orm": "^2.0.53 || ^3.0.0",
"workerman/webman-framework": "^1.2.1"
"topthink/think-orm": "^2.0.53 || ^3.0.0"
},
"type": "library",
"autoload": {
@ -2764,9 +2768,9 @@
],
"support": {
"issues": "https://github.com/webman-php/think-orm/issues",
"source": "https://github.com/webman-php/think-orm/tree/v1.1.1"
"source": "https://github.com/webman-php/think-orm/tree/v1.1.5"
},
"time": "2023-04-23T14:40:18+00:00"
"time": "2024-10-09T14:06:58+00:00"
},
{
"name": "workerman/crontab",
@ -2819,17 +2823,83 @@
"time": "2022-10-17T01:59:19+00:00"
},
{
"name": "workerman/webman-framework",
"version": "v1.5.18",
"name": "workerman/validation",
"version": "1.1.31",
"source": {
"type": "git",
"url": "https://github.com/walkor/webman-framework.git",
"reference": "91e9a51087808897bac6157a50851f12adc94a9c"
"url": "https://github.com/walkor/validation.git",
"reference": "45d109fc830644fecc1145200d6351ce4f2769d0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/walkor/webman-framework/zipball/91e9a51087808897bac6157a50851f12adc94a9c",
"reference": "91e9a51087808897bac6157a50851f12adc94a9c",
"url": "https://api.github.com/repos/walkor/validation/zipball/45d109fc830644fecc1145200d6351ce4f2769d0",
"reference": "45d109fc830644fecc1145200d6351ce4f2769d0",
"shasum": ""
},
"require": {
"php": ">=5.4",
"symfony/polyfill-mbstring": "^1.2"
},
"require-dev": {
"egulias/email-validator": "~1.2 || ~2.1",
"mikey179/vfsstream": "^1.5",
"phpunit/phpunit": "~4.0 || ~5.0",
"symfony/validator": "~2.6.9",
"zendframework/zend-validator": "~2.3"
},
"suggest": {
"egulias/email-validator": "Strict (RFC compliant) email validation",
"ext-bcmath": "Arbitrary Precision Mathematics",
"ext-mbstring": "Multibyte String Functions",
"friendsofphp/php-cs-fixer": "Fix PSR2 and other coding style issues",
"symfony/validator": "Use Symfony validator through Respect\\Validation",
"zendframework/zend-validator": "Use Zend Framework validator through Respect\\Validation"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.1-dev"
}
},
"autoload": {
"psr-4": {
"Respect\\Validation\\": "library/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Respect/Validation Contributors",
"homepage": "https://github.com/Respect/Validation/graphs/contributors"
}
],
"description": "The most awesome validation engine ever created for PHP",
"homepage": "http://respect.github.io/Validation/",
"keywords": [
"respect",
"validation",
"validator"
],
"support": {
"source": "https://github.com/walkor/validation/tree/1.1.31"
},
"time": "2019-05-28T06:10:06+00:00"
},
{
"name": "workerman/webman-framework",
"version": "v1.5.24",
"source": {
"type": "git",
"url": "https://github.com/walkor/webman-framework.git",
"reference": "be1a0425e3fcbd9e8ffaec94e35ed5452480356f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/walkor/webman-framework/zipball/be1a0425e3fcbd9e8ffaec94e35ed5452480356f",
"reference": "be1a0425e3fcbd9e8ffaec94e35ed5452480356f",
"shasum": ""
},
"require": {
@ -2878,20 +2948,20 @@
"source": "https://github.com/walkor/webman-framework",
"wiki": "https://doc.workerman.net/"
},
"time": "2024-05-26T01:53:43+00:00"
"time": "2024-09-15T13:03:20+00:00"
},
{
"name": "workerman/workerman",
"version": "v4.1.15",
"version": "v4.1.16",
"source": {
"type": "git",
"url": "https://github.com/walkor/workerman.git",
"reference": "afc8242fc769ab7cf22eb4ac22b97cb59d465e4e"
"reference": "405d904d33026e19497dffc3d085bbc16e66534e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/walkor/workerman/zipball/afc8242fc769ab7cf22eb4ac22b97cb59d465e4e",
"reference": "afc8242fc769ab7cf22eb4ac22b97cb59d465e4e",
"url": "https://api.github.com/repos/walkor/workerman/zipball/405d904d33026e19497dffc3d085bbc16e66534e",
"reference": "405d904d33026e19497dffc3d085bbc16e66534e",
"shasum": ""
},
"require": {
@ -2941,7 +3011,7 @@
"type": "patreon"
}
],
"time": "2024-02-19T02:10:39+00:00"
"time": "2024-07-04T08:26:39+00:00"
}
],
"packages-dev": [],

View File

@ -16,6 +16,9 @@ return [
'user' => [
app\middleware\auth::class,
],
'api' => [
app\middleware\wechatAuth::class,
],
'admin' => [
app\middleware\adminAuth::class,
]