mirror of
https://gitee.com/zoujingli/ThinkAdmin.git
synced 2025-04-06 03:58:04 +08:00
修改订单发货管理
This commit is contained in:
parent
ba13afacdb
commit
001e4fb03c
@ -2,7 +2,6 @@
|
||||
|
||||
namespace app\data\controller\shop;
|
||||
|
||||
use app\data\service\ExpressService;
|
||||
use app\data\service\OrderService;
|
||||
use app\data\service\PaymentService;
|
||||
use app\data\service\UserAdminService;
|
||||
@ -90,72 +89,6 @@ class Order extends Controller
|
||||
foreach ($data as &$vo) $vo['payment_name'] = PaymentService::name($vo['payment_type']);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改快递管理
|
||||
* @auth true
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public function truck()
|
||||
{
|
||||
if ($this->request->isGet()) {
|
||||
$map = ['deleted' => 0, 'status' => 1];
|
||||
$query = $this->app->db->name('BasePostageCompany')->where($map);
|
||||
$this->items = $query->order('sort desc,id desc')->select()->toArray();
|
||||
}
|
||||
$this->_form('ShopOrderSend', '', 'order_no');
|
||||
}
|
||||
|
||||
/**
|
||||
* 快递表单处理
|
||||
* @param array $vo
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
protected function _truck_form_filter(array &$vo)
|
||||
{
|
||||
if ($this->request->isPost()) {
|
||||
$map = ['order_no' => $vo['order_no']];
|
||||
$order = $this->app->db->name('ShopOrder')->where($map)->find();
|
||||
if (empty($order)) $this->error('订单查询异常,请稍候再试!');
|
||||
// 配送快递公司填写
|
||||
$map = ['code_1|code_2|code_3' => $vo['company_code']];
|
||||
$company = $this->app->db->name('BasePostageCompany')->where($map)->find();
|
||||
if (empty($company)) $this->error('配送快递公司异常,请重新选择快递公司!');
|
||||
$vo['status'] = 2;
|
||||
$vo['company_name'] = $company['name'];
|
||||
$vo['send_datetime'] = $vo['send_datetime'] ?? date('Y-m-d H:i:s');
|
||||
// 更新订单发货状态
|
||||
if ($order['status'] === 3) {
|
||||
$map = ['order_no' => $vo['order_no']];
|
||||
$this->app->db->name('ShopOrder')->where($map)->update(['status' => 4]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 快递追踪查询
|
||||
* @auth true
|
||||
*/
|
||||
public function truckQuery()
|
||||
{
|
||||
try {
|
||||
$data = $this->_vali([
|
||||
'code.require' => '快递编号不能为空!',
|
||||
'number.require' => '配送单号不能为空!',
|
||||
]);
|
||||
$this->result = ExpressService::instance()->query($data['code'], $data['number']);
|
||||
if (empty($this->result['code'])) $this->error($this->result['info']);
|
||||
$this->fetch('truck_query');
|
||||
} catch (HttpResponseException $exception) {
|
||||
throw $exception;
|
||||
} catch (\Exception $exception) {
|
||||
$this->error($exception->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 单据凭证支付审核
|
||||
* @auth true
|
||||
|
@ -2,8 +2,10 @@
|
||||
|
||||
namespace app\data\controller\shop;
|
||||
|
||||
use app\data\service\ExpressService;
|
||||
use app\data\service\OrderService;
|
||||
use think\admin\Controller;
|
||||
use think\exception\HttpResponseException;
|
||||
|
||||
/**
|
||||
* 订单发货管理
|
||||
@ -73,7 +75,7 @@ class Send extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改发货地址
|
||||
* 快递发货地址
|
||||
* @auth true
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
@ -90,4 +92,71 @@ class Send extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改快递管理
|
||||
* @auth true
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public function truck()
|
||||
{
|
||||
if ($this->request->isGet()) {
|
||||
$map = ['deleted' => 0, 'status' => 1];
|
||||
$query = $this->app->db->name('BasePostageCompany')->where($map);
|
||||
$this->items = $query->order('sort desc,id desc')->select()->toArray();
|
||||
}
|
||||
$this->_form('ShopOrderSend', 'truck_form', 'order_no');
|
||||
}
|
||||
|
||||
/**
|
||||
* 快递表单处理
|
||||
* @param array $vo
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
protected function _truck_form_filter(array &$vo)
|
||||
{
|
||||
if ($this->request->isPost()) {
|
||||
$map = ['order_no' => $vo['order_no']];
|
||||
$order = $this->app->db->name('ShopOrder')->where($map)->find();
|
||||
if (empty($order)) $this->error('订单查询异常,请稍候再试!');
|
||||
// 配送快递公司填写
|
||||
$map = ['code_1|code_2|code_3' => $vo['company_code']];
|
||||
$company = $this->app->db->name('BasePostageCompany')->where($map)->find();
|
||||
if (empty($company)) $this->error('配送快递公司异常,请重新选择快递公司!');
|
||||
$vo['status'] = 2;
|
||||
$vo['company_name'] = $company['name'];
|
||||
$vo['send_datetime'] = $vo['send_datetime'] ?? date('Y-m-d H:i:s');
|
||||
// 更新订单发货状态
|
||||
if ($order['status'] === 3) {
|
||||
$map = ['order_no' => $vo['order_no']];
|
||||
$this->app->db->name('ShopOrder')->where($map)->update(['status' => 4]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 快递追踪查询
|
||||
* @auth true
|
||||
*/
|
||||
public function query()
|
||||
{
|
||||
try {
|
||||
$data = $this->_vali([
|
||||
'code.require' => '快递编号不能为空!',
|
||||
'number.require' => '配送单号不能为空!',
|
||||
]);
|
||||
$this->result = ExpressService::instance()->query($data['code'], $data['number']);
|
||||
if (empty($this->result['code'])) $this->error($this->result['info']);
|
||||
$this->fetch('truck_query');
|
||||
} catch (HttpResponseException $exception) {
|
||||
throw $exception;
|
||||
} catch (\Exception $exception) {
|
||||
$this->error($exception->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -102,13 +102,13 @@
|
||||
<div>收货信息:{$vo.truck.address_name|default='--'}<span class="margin-left-5 color-blue">{$vo.truck.address_phone|default=''}</span></div>
|
||||
<div>收货地址:{$vo.truck.address_province|default='--'}{$vo.truck.address_city|default=''}{$vo.truck.address_area|default=''}{$vo.truck.address_content|default=''}</div>
|
||||
<div>发货状态:<!--{if empty($vo.truck.send_number)}--><span class="layui-badge layui-bg-black">未发货</span><!--{else}--><span class="layui-badge layui-bg-blue">{$vo.truck.company_name|default='--'}</span>
|
||||
<a class="layui-badge layui-bg-orange" data-modal="{:url('truckQuery')}?code={$vo.truck.company_code|default=''}&number={$vo.truck.send_number|default=''}" data-title="快递查询">{$vo.truck.send_number|default='--'}</a>
|
||||
<a class="layui-badge layui-bg-orange" data-modal="{:url('shop.send/query')}?code={$vo.truck.company_code|default=''}&number={$vo.truck.send_number|default=''}" data-title="快递查询">{$vo.truck.send_number|default='--'}</a>
|
||||
<!--{/if}-->
|
||||
|
||||
<!--{if auth('truck') and $vo.status eq 3}-->
|
||||
<a class="margin-left-5" data-modal="{:url('truck')}?order_no={$vo.order_no}" data-title="填写订单信息">填写发货</a>
|
||||
<!--{elseif auth('truck') and $vo.status eq 4}-->
|
||||
<a class="margin-left-5" data-modal="{:url('truck')}?order_no={$vo.order_no}" data-title="修改发货信息">修改发货</a>
|
||||
<!--{if auth('shop.send/truck') and $vo.status eq 3}-->
|
||||
<a class="margin-left-5" data-modal="{:url('shop.send/truck')}?order_no={$vo.order_no}" data-title="填写订单信息">填写发货</a>
|
||||
<!--{elseif auth('shop.send/truck') and $vo.status eq 4}-->
|
||||
<a class="margin-left-5" data-modal="{:url('shop.send/truck')}?order_no={$vo.order_no}" data-title="修改发货信息">修改发货</a>
|
||||
<!--{/if}-->
|
||||
|
||||
<!--{if auth('cancel') and in_array($vo.status, [1,2,3])}-->
|
||||
|
@ -59,17 +59,17 @@
|
||||
<span class="layui-badge layui-bg-black">未发货</span>
|
||||
{else}
|
||||
<span class="layui-badge layui-bg-blue">{$vo.company_name|default='-'}</span>
|
||||
<a class="layui-badge layui-bg-orange margin-left-5" data-modal="{:url('shop.order/truckQuery')}?code={$vo.company_code}&number={$vo.send_number}"
|
||||
<a class="layui-badge layui-bg-orange margin-left-5" data-modal="{:url('shop.send/query')}?code={$vo.company_code}&number={$vo.send_number}"
|
||||
data-tips-text="快递追踪查询"
|
||||
data-title="{$vo.company_name}({$vo.send_number})">{$vo.send_number|default='-'}</a>
|
||||
<div class="margin-top-5">于 <b>{$vo.send_datetime|format_datetime} 发货!</b></div>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="color-desc">
|
||||
<!--{if auth('shop.order/truck') and $vo.status eq 1}-->
|
||||
<a class="layui-btn layui-btn-sm" data-modal="{:url('shop.order/truck')}?order_no={$vo.order_no}" data-title="填写订单信息">填写发货</a>
|
||||
<!--{elseif auth('shop.order/truck') and $vo.status eq 2}-->
|
||||
<a class="layui-btn layui-btn-sm" data-modal="{:url('shop.order/truck')}?order_no={$vo.order_no}" data-title="修改发货信息">修改发货</a>
|
||||
<!--{if auth('shop.send/truck') and $vo.status eq 1}-->
|
||||
<a class="layui-btn layui-btn-sm" data-modal="{:url('shop.send/truck')}?order_no={$vo.order_no}" data-title="填写订单信息">填写发货</a>
|
||||
<!--{elseif auth('shop.send/truck') and $vo.status eq 2}-->
|
||||
<a class="layui-btn layui-btn-sm" data-modal="{:url('shop.send/truck')}?order_no={$vo.order_no}" data-title="修改发货信息">修改发货</a>
|
||||
<!--{/if}-->
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -19,9 +19,9 @@
|
||||
<span class="color-green font-w7 label-required-prev">收货所在区域</span>
|
||||
<span class="color-desc margin-left-5">(原区域:{$vo.address_province|default='--'} - {$vo.address_city|default=''} - {$vo.address_area|default=''} )</span>
|
||||
<div class="layui-row layui-col-space10">
|
||||
<label class="layui-col-xs4"><select class="layui-select block full-width" lay-ignore name="form_province"></select></label>
|
||||
<label class="layui-col-xs4"><select class="layui-select block full-width" lay-ignore name="form_city"></select></label>
|
||||
<label class="layui-col-xs4"><select class="layui-select block full-width" lay-ignore name="form_area"></select></label>
|
||||
<label class="layui-col-xs4"><select class="layui-select" lay-filter="form_province" name="form_province"></select></label>
|
||||
<label class="layui-col-xs4"><select class="layui-select" lay-filter="form_city" name="form_city"></select></label>
|
||||
<label class="layui-col-xs4"><select class="layui-select" lay-filter="form_area" name="form_area"></select></label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -75,14 +75,17 @@
|
||||
|
||||
<script>
|
||||
require(['pcasunzips'], function () {
|
||||
(function (province, city, area) {
|
||||
new PCAS("form_province", "form_city", "form_area", province, city, area);
|
||||
window.form.render();
|
||||
})('{$vo.address_province|default=""}', '{$vo.address_city|default=""}', '{$vo.address_area|default=""}');
|
||||
(function (prov, city, area, refresh) {
|
||||
new PCAS("form_province", "form_city", "form_area", prov, city, area);
|
||||
refresh(), form.on('select(form_province)', refresh), form.on('select(form_city)', refresh), form.on('select(form_area)', refresh);
|
||||
})('{$vo.address_province|default=""}', '{$vo.address_city|default=""}', '{$vo.address_area|default=""}', function (data) {
|
||||
(data && $(data.elem).trigger('change')), setTimeout(layui.form.render, 100);
|
||||
});
|
||||
});
|
||||
|
||||
$('[data-express-query]').on('click', function () {
|
||||
(function (code, number) {
|
||||
$.form.modal('{:url("truckQuery")}', {code: code, number: number}, '快递追踪查询')
|
||||
$.form.modal('{:url("shop.send/query")}', {code: code, number: number}, '快递追踪查询')
|
||||
})($('[data-truck-code]').val(), $('[data-truck-number]').val());
|
||||
});
|
||||
</script>
|
38
vendor/composer/ClassLoader.php
vendored
38
vendor/composer/ClassLoader.php
vendored
@ -37,11 +37,13 @@ namespace Composer\Autoload;
|
||||
*
|
||||
* @author Fabien Potencier <fabien@symfony.com>
|
||||
* @author Jordi Boggiano <j.boggiano@seld.be>
|
||||
* @see http://www.php-fig.org/psr/psr-0/
|
||||
* @see http://www.php-fig.org/psr/psr-4/
|
||||
* @see https://www.php-fig.org/psr/psr-0/
|
||||
* @see https://www.php-fig.org/psr/psr-4/
|
||||
*/
|
||||
class ClassLoader
|
||||
{
|
||||
private $vendorDir;
|
||||
|
||||
// PSR-4
|
||||
private $prefixLengthsPsr4 = array();
|
||||
private $prefixDirsPsr4 = array();
|
||||
@ -57,6 +59,13 @@ class ClassLoader
|
||||
private $missingClasses = array();
|
||||
private $apcuPrefix;
|
||||
|
||||
private static $registeredLoaders = array();
|
||||
|
||||
public function __construct($vendorDir = null)
|
||||
{
|
||||
$this->vendorDir = $vendorDir;
|
||||
}
|
||||
|
||||
public function getPrefixes()
|
||||
{
|
||||
if (!empty($this->prefixesPsr0)) {
|
||||
@ -300,6 +309,17 @@ class ClassLoader
|
||||
public function register($prepend = false)
|
||||
{
|
||||
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
|
||||
|
||||
if (null === $this->vendorDir) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ($prepend) {
|
||||
self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders;
|
||||
} else {
|
||||
unset(self::$registeredLoaders[$this->vendorDir]);
|
||||
self::$registeredLoaders[$this->vendorDir] = $this;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -308,6 +328,10 @@ class ClassLoader
|
||||
public function unregister()
|
||||
{
|
||||
spl_autoload_unregister(array($this, 'loadClass'));
|
||||
|
||||
if (null !== $this->vendorDir) {
|
||||
unset(self::$registeredLoaders[$this->vendorDir]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -367,6 +391,16 @@ class ClassLoader
|
||||
return $file;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the currently registered loaders indexed by their corresponding vendor directories.
|
||||
*
|
||||
* @return self[]
|
||||
*/
|
||||
public static function getRegisteredLoaders()
|
||||
{
|
||||
return self::$registeredLoaders;
|
||||
}
|
||||
|
||||
private function findFileWithExtension($class, $ext)
|
||||
{
|
||||
// PSR-4 lookup
|
||||
|
444
vendor/composer/InstalledVersions.php
vendored
Normal file
444
vendor/composer/InstalledVersions.php
vendored
Normal file
@ -0,0 +1,444 @@
|
||||
<?php
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
namespace Composer;
|
||||
|
||||
use Composer\Autoload\ClassLoader;
|
||||
use Composer\Semver\VersionParser;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class InstalledVersions
|
||||
{
|
||||
private static $installed = array (
|
||||
'root' =>
|
||||
array (
|
||||
'pretty_version' => '6.x-dev',
|
||||
'version' => '6.9999999.9999999.9999999-dev',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => 'ba13afacdba9747fab47a87d5b67ec177dc398fa',
|
||||
'name' => 'zoujingli/thinkadmin',
|
||||
),
|
||||
'versions' =>
|
||||
array (
|
||||
'endroid/qr-code' =>
|
||||
array (
|
||||
'pretty_version' => '1.9.3',
|
||||
'version' => '1.9.3.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => 'c9644bec2a9cc9318e98d1437de3c628dcd1ef93',
|
||||
),
|
||||
'league/flysystem' =>
|
||||
array (
|
||||
'pretty_version' => '1.0.70',
|
||||
'version' => '1.0.70.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => '585824702f534f8d3cf7fab7225e8466cc4b7493',
|
||||
),
|
||||
'league/flysystem-cached-adapter' =>
|
||||
array (
|
||||
'pretty_version' => '1.1.0',
|
||||
'version' => '1.1.0.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => 'd1925efb2207ac4be3ad0c40b8277175f99ffaff',
|
||||
),
|
||||
'psr/cache' =>
|
||||
array (
|
||||
'pretty_version' => '1.0.1',
|
||||
'version' => '1.0.1.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => 'd11b50ad223250cf17b86e38383413f5a6764bf8',
|
||||
),
|
||||
'psr/container' =>
|
||||
array (
|
||||
'pretty_version' => '1.0.0',
|
||||
'version' => '1.0.0.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => 'b7ce3b176482dbbc1245ebf52b181af44c2cf55f',
|
||||
),
|
||||
'psr/log' =>
|
||||
array (
|
||||
'pretty_version' => '1.1.4',
|
||||
'version' => '1.1.4.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => 'd49695b909c3b7628b6289db5479a1c204601f11',
|
||||
),
|
||||
'psr/simple-cache' =>
|
||||
array (
|
||||
'pretty_version' => '1.0.1',
|
||||
'version' => '1.0.1.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => '408d5eafb83c57f6365a3ca330ff23aa4a5fa39b',
|
||||
),
|
||||
'symfony/options-resolver' =>
|
||||
array (
|
||||
'pretty_version' => 'v3.4.47',
|
||||
'version' => '3.4.47.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => 'c7efc97a47b2ebaabc19d5b6c6b50f5c37c92744',
|
||||
),
|
||||
'topthink/framework' =>
|
||||
array (
|
||||
'pretty_version' => 'v6.0.8',
|
||||
'version' => '6.0.8.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => '4789343672aef06d571d556da369c0e156609bce',
|
||||
),
|
||||
'topthink/think-helper' =>
|
||||
array (
|
||||
'pretty_version' => 'v3.1.4',
|
||||
'version' => '3.1.4.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => 'c28d37743bda4a0455286ca85b17b5791d626e10',
|
||||
),
|
||||
'topthink/think-orm' =>
|
||||
array (
|
||||
'pretty_version' => 'v2.0.40',
|
||||
'version' => '2.0.40.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => '1119d979b850849f3725856460cf108eec1c3eb8',
|
||||
),
|
||||
'topthink/think-template' =>
|
||||
array (
|
||||
'pretty_version' => 'v2.0.8',
|
||||
'version' => '2.0.8.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => 'abfc293f74f9ef5127b5c416310a01fe42e59368',
|
||||
),
|
||||
'topthink/think-view' =>
|
||||
array (
|
||||
'pretty_version' => 'v1.0.14',
|
||||
'version' => '1.0.14.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => 'edce0ae2c9551ab65f9e94a222604b0dead3576d',
|
||||
),
|
||||
'zoujingli/ip2region' =>
|
||||
array (
|
||||
'pretty_version' => 'v1.0.10',
|
||||
'version' => '1.0.10.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => '453480d0ab5b6fdbdf4aa400b7598a10ff2dc5c0',
|
||||
),
|
||||
'zoujingli/think-library' =>
|
||||
array (
|
||||
'pretty_version' => 'v6.0.x-dev',
|
||||
'version' => '6.0.9999999.9999999-dev',
|
||||
'aliases' =>
|
||||
array (
|
||||
0 => '9999999-dev',
|
||||
),
|
||||
'reference' => '0c3fd320b8056d6a73d9b0db4ca8e97cf7bbf5e1',
|
||||
),
|
||||
'zoujingli/thinkadmin' =>
|
||||
array (
|
||||
'pretty_version' => '6.x-dev',
|
||||
'version' => '6.9999999.9999999.9999999-dev',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => 'ba13afacdba9747fab47a87d5b67ec177dc398fa',
|
||||
),
|
||||
'zoujingli/wechat-developer' =>
|
||||
array (
|
||||
'pretty_version' => 'v1.2.31',
|
||||
'version' => '1.2.31.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => '0cf699c725f69d66657a50e60d22f71c9e5a5e16',
|
||||
),
|
||||
),
|
||||
);
|
||||
private static $canGetVendors;
|
||||
private static $installedByVendor = array();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static function getInstalledPackages()
|
||||
{
|
||||
$packages = array();
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
$packages[] = array_keys($installed['versions']);
|
||||
}
|
||||
|
||||
if (1 === \count($packages)) {
|
||||
return $packages[0];
|
||||
}
|
||||
|
||||
return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static function isInstalled($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (isset($installed['versions'][$packageName])) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static function satisfies(VersionParser $parser, $packageName, $constraint)
|
||||
{
|
||||
$constraint = $parser->parseConstraints($constraint);
|
||||
$provided = $parser->parseConstraints(self::getVersionRanges($packageName));
|
||||
|
||||
return $provided->matches($constraint);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static function getVersionRanges($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$ranges = array();
|
||||
if (isset($installed['versions'][$packageName]['pretty_version'])) {
|
||||
$ranges[] = $installed['versions'][$packageName]['pretty_version'];
|
||||
}
|
||||
if (array_key_exists('aliases', $installed['versions'][$packageName])) {
|
||||
$ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
|
||||
}
|
||||
if (array_key_exists('replaced', $installed['versions'][$packageName])) {
|
||||
$ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
|
||||
}
|
||||
if (array_key_exists('provided', $installed['versions'][$packageName])) {
|
||||
$ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
|
||||
}
|
||||
|
||||
return implode(' || ', $ranges);
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static function getVersion($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!isset($installed['versions'][$packageName]['version'])) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $installed['versions'][$packageName]['version'];
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static function getPrettyVersion($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!isset($installed['versions'][$packageName]['pretty_version'])) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $installed['versions'][$packageName]['pretty_version'];
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static function getReference($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!isset($installed['versions'][$packageName]['reference'])) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $installed['versions'][$packageName]['reference'];
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static function getRootPackage()
|
||||
{
|
||||
$installed = self::getInstalled();
|
||||
|
||||
return $installed[0]['root'];
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static function getRawData()
|
||||
{
|
||||
@trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED);
|
||||
|
||||
return self::$installed;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static function getAllRawData()
|
||||
{
|
||||
return self::getInstalled();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static function reload($data)
|
||||
{
|
||||
self::$installed = $data;
|
||||
self::$installedByVendor = array();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private static function getInstalled()
|
||||
{
|
||||
if (null === self::$canGetVendors) {
|
||||
self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
|
||||
}
|
||||
|
||||
$installed = array();
|
||||
|
||||
if (self::$canGetVendors) {
|
||||
foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
|
||||
if (isset(self::$installedByVendor[$vendorDir])) {
|
||||
$installed[] = self::$installedByVendor[$vendorDir];
|
||||
} elseif (is_file($vendorDir.'/composer/installed.php')) {
|
||||
$installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$installed[] = self::$installed;
|
||||
|
||||
return $installed;
|
||||
}
|
||||
}
|
2
vendor/composer/autoload_classmap.php
vendored
2
vendor/composer/autoload_classmap.php
vendored
@ -14,6 +14,7 @@ return array(
|
||||
'AliPay\\Transfer' => $vendorDir . '/zoujingli/wechat-developer/AliPay/Transfer.php',
|
||||
'AliPay\\Wap' => $vendorDir . '/zoujingli/wechat-developer/AliPay/Wap.php',
|
||||
'AliPay\\Web' => $vendorDir . '/zoujingli/wechat-developer/AliPay/Web.php',
|
||||
'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
|
||||
'Endroid\\QrCode\\Bundle\\Controller\\QrCodeController' => $vendorDir . '/endroid/qr-code/src/Bundle/Controller/QrCodeController.php',
|
||||
'Endroid\\QrCode\\Bundle\\DependencyInjection\\Configuration' => $vendorDir . '/endroid/qr-code/src/Bundle/DependencyInjection/Configuration.php',
|
||||
'Endroid\\QrCode\\Bundle\\DependencyInjection\\EndroidQrCodeExtension' => $vendorDir . '/endroid/qr-code/src/Bundle/DependencyInjection/EndroidQrCodeExtension.php',
|
||||
@ -471,7 +472,6 @@ return array(
|
||||
'think\\facade\\Db' => $vendorDir . '/topthink/think-orm/src/facade/Db.php',
|
||||
'think\\facade\\Env' => $vendorDir . '/topthink/framework/src/think/facade/Env.php',
|
||||
'think\\facade\\Event' => $vendorDir . '/topthink/framework/src/think/facade/Event.php',
|
||||
'think\\facade\\Facade' => $vendorDir . '/topthink/think-template/src/facade/Template.php',
|
||||
'think\\facade\\Filesystem' => $vendorDir . '/topthink/framework/src/think/facade/Filesystem.php',
|
||||
'think\\facade\\Lang' => $vendorDir . '/topthink/framework/src/think/facade/Lang.php',
|
||||
'think\\facade\\Log' => $vendorDir . '/topthink/framework/src/think/facade/Log.php',
|
||||
|
6
vendor/composer/autoload_real.php
vendored
6
vendor/composer/autoload_real.php
vendored
@ -22,13 +22,15 @@ class ComposerAutoloaderInitb2f66138aea76ab30d756f683b9213f0
|
||||
return self::$loader;
|
||||
}
|
||||
|
||||
require __DIR__ . '/platform_check.php';
|
||||
|
||||
spl_autoload_register(array('ComposerAutoloaderInitb2f66138aea76ab30d756f683b9213f0', 'loadClassLoader'), true, true);
|
||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInitb2f66138aea76ab30d756f683b9213f0', 'loadClassLoader'));
|
||||
|
||||
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
||||
if ($useStaticLoader) {
|
||||
require_once __DIR__ . '/autoload_static.php';
|
||||
require __DIR__ . '/autoload_static.php';
|
||||
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInitb2f66138aea76ab30d756f683b9213f0::getInitializer($loader));
|
||||
} else {
|
||||
|
2
vendor/composer/autoload_static.php
vendored
2
vendor/composer/autoload_static.php
vendored
@ -143,6 +143,7 @@ class ComposerStaticInitb2f66138aea76ab30d756f683b9213f0
|
||||
'AliPay\\Transfer' => __DIR__ . '/..' . '/zoujingli/wechat-developer/AliPay/Transfer.php',
|
||||
'AliPay\\Wap' => __DIR__ . '/..' . '/zoujingli/wechat-developer/AliPay/Wap.php',
|
||||
'AliPay\\Web' => __DIR__ . '/..' . '/zoujingli/wechat-developer/AliPay/Web.php',
|
||||
'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
|
||||
'Endroid\\QrCode\\Bundle\\Controller\\QrCodeController' => __DIR__ . '/..' . '/endroid/qr-code/src/Bundle/Controller/QrCodeController.php',
|
||||
'Endroid\\QrCode\\Bundle\\DependencyInjection\\Configuration' => __DIR__ . '/..' . '/endroid/qr-code/src/Bundle/DependencyInjection/Configuration.php',
|
||||
'Endroid\\QrCode\\Bundle\\DependencyInjection\\EndroidQrCodeExtension' => __DIR__ . '/..' . '/endroid/qr-code/src/Bundle/DependencyInjection/EndroidQrCodeExtension.php',
|
||||
@ -600,7 +601,6 @@ class ComposerStaticInitb2f66138aea76ab30d756f683b9213f0
|
||||
'think\\facade\\Db' => __DIR__ . '/..' . '/topthink/think-orm/src/facade/Db.php',
|
||||
'think\\facade\\Env' => __DIR__ . '/..' . '/topthink/framework/src/think/facade/Env.php',
|
||||
'think\\facade\\Event' => __DIR__ . '/..' . '/topthink/framework/src/think/facade/Event.php',
|
||||
'think\\facade\\Facade' => __DIR__ . '/..' . '/topthink/think-template/src/facade/Template.php',
|
||||
'think\\facade\\Filesystem' => __DIR__ . '/..' . '/topthink/framework/src/think/facade/Filesystem.php',
|
||||
'think\\facade\\Lang' => __DIR__ . '/..' . '/topthink/framework/src/think/facade/Lang.php',
|
||||
'think\\facade\\Log' => __DIR__ . '/..' . '/topthink/framework/src/think/facade/Log.php',
|
||||
|
1928
vendor/composer/installed.json
vendored
1928
vendor/composer/installed.json
vendored
File diff suppressed because it is too large
Load Diff
169
vendor/composer/installed.php
vendored
Normal file
169
vendor/composer/installed.php
vendored
Normal file
@ -0,0 +1,169 @@
|
||||
<?php return array (
|
||||
'root' =>
|
||||
array (
|
||||
'pretty_version' => '6.x-dev',
|
||||
'version' => '6.9999999.9999999.9999999-dev',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => 'ba13afacdba9747fab47a87d5b67ec177dc398fa',
|
||||
'name' => 'zoujingli/thinkadmin',
|
||||
),
|
||||
'versions' =>
|
||||
array (
|
||||
'endroid/qr-code' =>
|
||||
array (
|
||||
'pretty_version' => '1.9.3',
|
||||
'version' => '1.9.3.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => 'c9644bec2a9cc9318e98d1437de3c628dcd1ef93',
|
||||
),
|
||||
'league/flysystem' =>
|
||||
array (
|
||||
'pretty_version' => '1.0.70',
|
||||
'version' => '1.0.70.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => '585824702f534f8d3cf7fab7225e8466cc4b7493',
|
||||
),
|
||||
'league/flysystem-cached-adapter' =>
|
||||
array (
|
||||
'pretty_version' => '1.1.0',
|
||||
'version' => '1.1.0.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => 'd1925efb2207ac4be3ad0c40b8277175f99ffaff',
|
||||
),
|
||||
'psr/cache' =>
|
||||
array (
|
||||
'pretty_version' => '1.0.1',
|
||||
'version' => '1.0.1.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => 'd11b50ad223250cf17b86e38383413f5a6764bf8',
|
||||
),
|
||||
'psr/container' =>
|
||||
array (
|
||||
'pretty_version' => '1.0.0',
|
||||
'version' => '1.0.0.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => 'b7ce3b176482dbbc1245ebf52b181af44c2cf55f',
|
||||
),
|
||||
'psr/log' =>
|
||||
array (
|
||||
'pretty_version' => '1.1.4',
|
||||
'version' => '1.1.4.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => 'd49695b909c3b7628b6289db5479a1c204601f11',
|
||||
),
|
||||
'psr/simple-cache' =>
|
||||
array (
|
||||
'pretty_version' => '1.0.1',
|
||||
'version' => '1.0.1.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => '408d5eafb83c57f6365a3ca330ff23aa4a5fa39b',
|
||||
),
|
||||
'symfony/options-resolver' =>
|
||||
array (
|
||||
'pretty_version' => 'v3.4.47',
|
||||
'version' => '3.4.47.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => 'c7efc97a47b2ebaabc19d5b6c6b50f5c37c92744',
|
||||
),
|
||||
'topthink/framework' =>
|
||||
array (
|
||||
'pretty_version' => 'v6.0.8',
|
||||
'version' => '6.0.8.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => '4789343672aef06d571d556da369c0e156609bce',
|
||||
),
|
||||
'topthink/think-helper' =>
|
||||
array (
|
||||
'pretty_version' => 'v3.1.4',
|
||||
'version' => '3.1.4.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => 'c28d37743bda4a0455286ca85b17b5791d626e10',
|
||||
),
|
||||
'topthink/think-orm' =>
|
||||
array (
|
||||
'pretty_version' => 'v2.0.40',
|
||||
'version' => '2.0.40.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => '1119d979b850849f3725856460cf108eec1c3eb8',
|
||||
),
|
||||
'topthink/think-template' =>
|
||||
array (
|
||||
'pretty_version' => 'v2.0.8',
|
||||
'version' => '2.0.8.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => 'abfc293f74f9ef5127b5c416310a01fe42e59368',
|
||||
),
|
||||
'topthink/think-view' =>
|
||||
array (
|
||||
'pretty_version' => 'v1.0.14',
|
||||
'version' => '1.0.14.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => 'edce0ae2c9551ab65f9e94a222604b0dead3576d',
|
||||
),
|
||||
'zoujingli/ip2region' =>
|
||||
array (
|
||||
'pretty_version' => 'v1.0.10',
|
||||
'version' => '1.0.10.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => '453480d0ab5b6fdbdf4aa400b7598a10ff2dc5c0',
|
||||
),
|
||||
'zoujingli/think-library' =>
|
||||
array (
|
||||
'pretty_version' => 'v6.0.x-dev',
|
||||
'version' => '6.0.9999999.9999999-dev',
|
||||
'aliases' =>
|
||||
array (
|
||||
0 => '9999999-dev',
|
||||
),
|
||||
'reference' => '0c3fd320b8056d6a73d9b0db4ca8e97cf7bbf5e1',
|
||||
),
|
||||
'zoujingli/thinkadmin' =>
|
||||
array (
|
||||
'pretty_version' => '6.x-dev',
|
||||
'version' => '6.9999999.9999999.9999999-dev',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => 'ba13afacdba9747fab47a87d5b67ec177dc398fa',
|
||||
),
|
||||
'zoujingli/wechat-developer' =>
|
||||
array (
|
||||
'pretty_version' => 'v1.2.31',
|
||||
'version' => '1.2.31.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => '0cf699c725f69d66657a50e60d22f71c9e5a5e16',
|
||||
),
|
||||
),
|
||||
);
|
26
vendor/composer/platform_check.php
vendored
Normal file
26
vendor/composer/platform_check.php
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
// platform_check.php @generated by Composer
|
||||
|
||||
$issues = array();
|
||||
|
||||
if (!(PHP_VERSION_ID >= 70100)) {
|
||||
$issues[] = 'Your Composer dependencies require a PHP version ">= 7.1.0". You are running ' . PHP_VERSION . '.';
|
||||
}
|
||||
|
||||
if ($issues) {
|
||||
if (!headers_sent()) {
|
||||
header('HTTP/1.1 500 Internal Server Error');
|
||||
}
|
||||
if (!ini_get('display_errors')) {
|
||||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
|
||||
fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL);
|
||||
} elseif (!headers_sent()) {
|
||||
echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL;
|
||||
}
|
||||
}
|
||||
trigger_error(
|
||||
'Composer detected issues in your platform: ' . implode(' ', $issues),
|
||||
E_USER_ERROR
|
||||
);
|
||||
}
|
2
vendor/services.php
vendored
2
vendor/services.php
vendored
@ -1,5 +1,5 @@
|
||||
<?php
|
||||
// This file is automatically generated at:2021-05-21 13:45:01
|
||||
// This file is automatically generated at:2021-05-25 14:12:37
|
||||
declare (strict_types = 1);
|
||||
return array (
|
||||
0 => 'think\\admin\\Library',
|
||||
|
Loading…
x
Reference in New Issue
Block a user