修改测试文件
This commit is contained in:
@@ -2,273 +2,13 @@
|
|||||||
|
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use App\Api\Controllers\ApiResponse;
|
|
||||||
use App\Models\User;
|
|
||||||
use GuzzleHttp\Client;
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use XuanChen\Coupon\Coupon;
|
|
||||||
|
|
||||||
class TestController
|
class TestController
|
||||||
{
|
{
|
||||||
|
|
||||||
use ApiResponse;
|
|
||||||
|
|
||||||
public $baseUrl;
|
|
||||||
|
|
||||||
public function __construct()
|
|
||||||
{
|
|
||||||
$this->baseUrl = env('BASE_URL');
|
|
||||||
}
|
|
||||||
|
|
||||||
public function index(Request $request)
|
public function index(Request $request)
|
||||||
{
|
{
|
||||||
$this->user = User::find(6);
|
|
||||||
$ret = [
|
|
||||||
'redemptionCode' => 'YSD201029312435',
|
|
||||||
'outletId' => '2008030929274',
|
|
||||||
];
|
|
||||||
|
|
||||||
$ret = [
|
|
||||||
'mobile' => '15663876870',
|
|
||||||
'orderid' => '202008105236478',
|
|
||||||
'activityId' => 'ysd202010272',
|
|
||||||
'outletId' => '2008241014458',
|
|
||||||
|
|
||||||
];
|
|
||||||
|
|
||||||
return $this->success($ret);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Notes: 发券
|
|
||||||
* @Author: 玄尘
|
|
||||||
* @Date : 2020/6/29 13:57
|
|
||||||
* @param \Illuminate\Http\Request $request
|
|
||||||
* @return mixed
|
|
||||||
*/
|
|
||||||
public function grant(Request $request)
|
|
||||||
{
|
|
||||||
$outletId = $request->outletId;
|
|
||||||
$outlet = User::where('outlet_id', $outletId)->first();
|
|
||||||
$this->user = $outlet->parent;
|
|
||||||
|
|
||||||
$data = $this->jiami($request->all());
|
|
||||||
|
|
||||||
$url = $this->baseUrl . 'user/grant';
|
|
||||||
$res = $this->http($data, $url);
|
|
||||||
|
|
||||||
return $res;
|
|
||||||
|
|
||||||
// dump($this->getElapsedTime());
|
|
||||||
// dump($this->getMemoryUsage());
|
|
||||||
//
|
|
||||||
// dd($res);
|
|
||||||
}
|
|
||||||
|
|
||||||
//查询
|
|
||||||
public function query(Request $request)
|
|
||||||
{
|
|
||||||
$outletId = $request->outletId;
|
|
||||||
$redemptionCode = $request->redemptionCode;
|
|
||||||
|
|
||||||
$outlet = User::where('outlet_id', $outletId)->first();
|
|
||||||
$this->user = $outlet->parent;
|
|
||||||
|
|
||||||
$data = $this->jiami($request->all());
|
|
||||||
|
|
||||||
$url = $this->baseUrl . 'user/query';
|
|
||||||
$res = $this->http($data, $url);
|
|
||||||
|
|
||||||
return $res;
|
|
||||||
if (isset($res['data'])) {
|
|
||||||
$jiemi = $this->jiemi($res['data']);
|
|
||||||
dump($jiemi);
|
|
||||||
}
|
|
||||||
|
|
||||||
dump($this->getElapsedTime());
|
|
||||||
dump($this->getMemoryUsage());
|
|
||||||
|
|
||||||
dump($res);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//卡券作废
|
|
||||||
public function destroy(Request $request)
|
|
||||||
{
|
|
||||||
$outletId = $request->outletId;
|
|
||||||
|
|
||||||
$outlet = User::where('outlet_id', $outletId)->first();
|
|
||||||
$this->user = $outlet->parent;
|
|
||||||
|
|
||||||
$redemptionCode = $request->redemptionCode;
|
|
||||||
$data = $this->jiami($request->all());
|
|
||||||
|
|
||||||
$url = $this->baseUrl . 'user/destroy';
|
|
||||||
$res = $this->http($data, $url);
|
|
||||||
|
|
||||||
dump($this->getElapsedTime());
|
|
||||||
dump($this->getMemoryUsage());
|
|
||||||
if (isset($res['data'])) {
|
|
||||||
$jiemi = $this->jiemi($res['data']);
|
|
||||||
dump($jiemi);
|
|
||||||
}
|
|
||||||
dump($res);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Notes: 核销
|
|
||||||
* @Author: 玄尘
|
|
||||||
* @Date : 2020/6/29 14:01
|
|
||||||
*/
|
|
||||||
public function checkcoupon(Request $request)
|
|
||||||
{
|
|
||||||
$outletId = $request->outletId;
|
|
||||||
|
|
||||||
$outlet = User::where('outlet_id', $outletId)->first();
|
|
||||||
$this->user = $outlet->parent;
|
|
||||||
|
|
||||||
$data = $this->jiami([
|
|
||||||
'redemptionCode' => $request->redemptionCode,
|
|
||||||
'total' => $request->total,
|
|
||||||
'outletId' => $request->outletId,
|
|
||||||
'orderid' => $request->orderid,
|
|
||||||
'from' => $request->from,
|
|
||||||
]);
|
|
||||||
|
|
||||||
$url = $this->baseUrl . 'user/freezecoupon';
|
|
||||||
$res = $this->http($data, $url);
|
|
||||||
|
|
||||||
return $res;
|
|
||||||
|
|
||||||
$redemptionCode = $request->redemptionCode;
|
|
||||||
$total = $request->total;
|
|
||||||
$outletId = $request->outletId;
|
|
||||||
$orderid = $request->orderid ?? '';
|
|
||||||
$from = $request->from ?? '';
|
|
||||||
|
|
||||||
$res = Coupon::Redemption(
|
|
||||||
$this->user,
|
|
||||||
$redemptionCode,
|
|
||||||
$total,
|
|
||||||
$outletId,
|
|
||||||
$orderid,
|
|
||||||
$from
|
|
||||||
);
|
|
||||||
|
|
||||||
if (is_string($res)) {
|
|
||||||
return $this->error($res);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->success('核销成功');
|
|
||||||
}
|
|
||||||
|
|
||||||
public function http($data, $url)
|
|
||||||
{
|
|
||||||
$client = new Client();
|
|
||||||
$response = $client->request('POST', $url,
|
|
||||||
[
|
|
||||||
'form_params' => $data,
|
|
||||||
'http_errors' => false,
|
|
||||||
]);
|
|
||||||
|
|
||||||
$body = $response->getBody();
|
|
||||||
$content = $body->getContents();
|
|
||||||
$result = json_decode($content, true);
|
|
||||||
|
|
||||||
return $result;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function jiami($ret)
|
|
||||||
{
|
|
||||||
$jsonData = json_encode($ret); //数据JSON化
|
|
||||||
$ascdata = $this->keyasc($jsonData); //加密
|
|
||||||
$addcode = sprintf("%08d", mt_rand(0, 99999999)); //随机code 验证签名用
|
|
||||||
$sign = $this->keysign($ascdata, $addcode);
|
|
||||||
|
|
||||||
$data = [
|
|
||||||
'server_id' => $this->user->server_id,
|
|
||||||
'key' => $this->user->server_key,
|
|
||||||
'addcode' => $addcode,
|
|
||||||
'sign' => $sign,
|
|
||||||
'data' => $ascdata,
|
|
||||||
];
|
|
||||||
|
|
||||||
return $data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 解密
|
|
||||||
* @param <type> $value
|
|
||||||
* @return <type>
|
|
||||||
*/
|
|
||||||
public function jiemi($value)
|
|
||||||
{
|
|
||||||
$iv = substr($this->user->des3key, 0, 8);
|
|
||||||
$ret = openssl_decrypt($value, 'DES - EDE3 - CBC', $this->user->des3key, 0, $iv);
|
|
||||||
if (false === $ret) {
|
|
||||||
return openssl_error_string();
|
|
||||||
}
|
|
||||||
|
|
||||||
return $ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getMemoryUsage($precision = 2)
|
|
||||||
{
|
|
||||||
$size = memory_get_usage(true);
|
|
||||||
|
|
||||||
$unit = ['b', 'kb', 'mb', 'gb', 'tb', 'pb'];
|
|
||||||
|
|
||||||
return round($size / pow(1024, ($i = floor(log($size, 1024)))), $precision) . ' ' . $unit[$i];
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getElapsedTime(int $decimals = 2)
|
|
||||||
{
|
|
||||||
return number_format(microtime(true) - request()->server('REQUEST_TIME_FLOAT'), $decimals) . ' s';
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Notes: 测试签名
|
|
||||||
* @Author: 玄尘
|
|
||||||
* @Date : 2020/12/30 11:47
|
|
||||||
* @param \Illuminate\Http\Request $request
|
|
||||||
*/
|
|
||||||
public function getSign(Request $request)
|
|
||||||
{
|
|
||||||
|
|
||||||
// $data = 'SMyBpCxqBnxAGr/Fk9LOB851Glkgc3ruZnu1Y0ft/R+Ng26ooLXok1Oi1SrwhSJaQ9U75zy3tI7fq3YfTLQxITwUmt4jBiShpeK1whMaYrI=';
|
|
||||||
// $addcode = '1234567812345678';
|
|
||||||
//
|
|
||||||
// return [
|
|
||||||
// 'sign' => $this->keysign($data, $addcode),
|
|
||||||
// 'server_id' => $this->user->server_id,
|
|
||||||
// 'server_key' => $this->user->server_key,
|
|
||||||
// 'data' => $data,
|
|
||||||
// 'addcode' => $addcode,
|
|
||||||
// ];
|
|
||||||
|
|
||||||
$server_id = $request->server_id;
|
|
||||||
$redemptionCode = $request->redemptionCode;
|
|
||||||
$total = $request->total;
|
|
||||||
$outletId = $request->outletId;
|
|
||||||
|
|
||||||
$this->user = User::whereNull('parent_id')
|
|
||||||
->where('server_id', $server_id)
|
|
||||||
->first();
|
|
||||||
if (!$this->user) {
|
|
||||||
return $this->error('未查到到渠道');
|
|
||||||
}
|
|
||||||
$ret = [
|
|
||||||
'redemptionCode' => $redemptionCode,
|
|
||||||
'total' => $total,
|
|
||||||
'outletId' => $outletId,
|
|
||||||
];
|
|
||||||
|
|
||||||
return json_encode($ret);
|
|
||||||
info(json_encode($ret));
|
|
||||||
|
|
||||||
return $this->success($ret);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
283
app/Http/Controllers/ToolsController.php
Normal file
283
app/Http/Controllers/ToolsController.php
Normal file
@@ -0,0 +1,283 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use App\Api\Controllers\ApiResponse;
|
||||||
|
use App\Models\User;
|
||||||
|
use GuzzleHttp\Client;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\Validator;
|
||||||
|
use XuanChen\Coupon\Coupon;
|
||||||
|
|
||||||
|
class ToolsController extends Controller
|
||||||
|
{
|
||||||
|
|
||||||
|
use ApiResponse;
|
||||||
|
|
||||||
|
public $baseUrl;
|
||||||
|
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->baseUrl = env('BASE_URL');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notes: 发券
|
||||||
|
* @Author: 玄尘
|
||||||
|
* @Date : 2020/6/29 13:57
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function grant(Request $request)
|
||||||
|
{
|
||||||
|
$validator = Validator::make($request->all(), [
|
||||||
|
'outletId' => 'required',
|
||||||
|
'activityId' => 'required',
|
||||||
|
'mobile' => 'required',
|
||||||
|
], [
|
||||||
|
'outletId.required' => '缺少网点编号',
|
||||||
|
'activityId.required' => '缺少活动编号',
|
||||||
|
'mobile.required' => '缺少手机号',
|
||||||
|
]);
|
||||||
|
|
||||||
|
if ($validator->fails()) {
|
||||||
|
return $this->error($validator->errors()->first());
|
||||||
|
}
|
||||||
|
|
||||||
|
$outlet = User::where('outlet_id', $request->outletId)->first();
|
||||||
|
$this->user = $outlet->parent;
|
||||||
|
|
||||||
|
$input_data = [
|
||||||
|
'outletId' => $request->outletId,
|
||||||
|
'activityId' => $request->activityId,
|
||||||
|
'mobile' => $request->mobile,
|
||||||
|
];
|
||||||
|
$url = $this->baseUrl . 'user/grant';
|
||||||
|
|
||||||
|
return $this->getResult($input_data, $url);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notes: 查询
|
||||||
|
* @Author: 玄尘
|
||||||
|
* @Date : 2021/4/25 9:57
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function query(Request $request)
|
||||||
|
{
|
||||||
|
$validator = Validator::make($request->all(), [
|
||||||
|
'outletId' => 'required',
|
||||||
|
'redemptionCode' => 'required',
|
||||||
|
], [
|
||||||
|
'outletId.required' => '缺少网点编号',
|
||||||
|
'redemptionCode.required' => '缺少券码',
|
||||||
|
]);
|
||||||
|
|
||||||
|
if ($validator->fails()) {
|
||||||
|
return $this->error($validator->errors()->first());
|
||||||
|
}
|
||||||
|
|
||||||
|
$outlet = User::where('outlet_id', $request->outletId)->first();
|
||||||
|
$this->user = $outlet->parent;
|
||||||
|
|
||||||
|
$input_data = [
|
||||||
|
'outletId' => $request->outletId,
|
||||||
|
'redemptionCode' => $request->redemptionCode,
|
||||||
|
];
|
||||||
|
|
||||||
|
$url = $this->baseUrl . 'user/query';
|
||||||
|
|
||||||
|
return $this->getResult($input_data, $url);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notes: 卡券作废
|
||||||
|
* @Author: 玄尘
|
||||||
|
* @Date : 2021/4/25 10:08
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
*/
|
||||||
|
public function destroy(Request $request)
|
||||||
|
{
|
||||||
|
$validator = Validator::make($request->all(), [
|
||||||
|
'outletId' => 'required',
|
||||||
|
'redemptionCode' => 'required',
|
||||||
|
], [
|
||||||
|
'outletId.required' => '缺少网点编号',
|
||||||
|
'redemptionCode.required' => '缺少券码',
|
||||||
|
]);
|
||||||
|
|
||||||
|
if ($validator->fails()) {
|
||||||
|
return $this->error($validator->errors()->first());
|
||||||
|
}
|
||||||
|
|
||||||
|
$outlet = User::where('outlet_id', $request->outletId)->first();
|
||||||
|
$this->user = $outlet->parent;
|
||||||
|
|
||||||
|
$input_data = [
|
||||||
|
'outletId' => $request->outletId,
|
||||||
|
'redemptionCode' => $request->redemptionCode,
|
||||||
|
];
|
||||||
|
|
||||||
|
$url = $this->baseUrl . 'user/destroy';
|
||||||
|
|
||||||
|
return $this->getResult($input_data, $url);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notes: 核销
|
||||||
|
* @Author: 玄尘
|
||||||
|
* @Date : 2020/6/29 14:01
|
||||||
|
*/
|
||||||
|
public function verify(Request $request)
|
||||||
|
{
|
||||||
|
$validator = Validator::make($request->all(), [
|
||||||
|
'redemptionCode' => 'required',
|
||||||
|
'total' => 'required',
|
||||||
|
'outletId' => 'required',
|
||||||
|
// 'orderid' => 'required',
|
||||||
|
// 'from' => 'required',
|
||||||
|
], [
|
||||||
|
'redemptionCode.required' => '缺少券码',
|
||||||
|
'total.required' => '缺少订单金额',
|
||||||
|
'outletId.required' => '缺少网点id',
|
||||||
|
'orderid.required' => '缺少订单id',
|
||||||
|
'from.required' => '缺少来源',
|
||||||
|
]);
|
||||||
|
|
||||||
|
if ($validator->fails()) {
|
||||||
|
return $this->error($validator->errors()->first());
|
||||||
|
}
|
||||||
|
|
||||||
|
$outlet = User::where('outlet_id', $request->outletId)->first();
|
||||||
|
$this->user = $outlet->parent;
|
||||||
|
|
||||||
|
$input_data = [
|
||||||
|
'outletId' => $request->outletId,
|
||||||
|
'redemptionCode' => $request->redemptionCode,
|
||||||
|
'total' => $request->total,
|
||||||
|
'orderid' => $request->orderid ?? '',
|
||||||
|
'from' => $request->from ?? '',
|
||||||
|
];
|
||||||
|
|
||||||
|
$url = $this->baseUrl . 'user/freezecoupon';
|
||||||
|
|
||||||
|
return $this->getResult($input_data, $url);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notes: 总执行
|
||||||
|
* @Author: 玄尘
|
||||||
|
* @Date : 2021/4/25 10:00
|
||||||
|
* @param $data
|
||||||
|
* @param $url
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getResult($data, $url): array
|
||||||
|
{
|
||||||
|
$data = $this->encrypt($data);
|
||||||
|
|
||||||
|
$res = $this->http($data, $url);
|
||||||
|
|
||||||
|
$response = [
|
||||||
|
'getElapsedTime' => $this->getElapsedTime(),
|
||||||
|
'getMemoryUsage' => $this->getMemoryUsage(),
|
||||||
|
'ret' => $res,
|
||||||
|
'raw_data' => $this->decode($res),
|
||||||
|
];
|
||||||
|
|
||||||
|
return $response;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function http($data, $url)
|
||||||
|
{
|
||||||
|
$client = new Client();
|
||||||
|
$response = $client->request('POST', $url,
|
||||||
|
[
|
||||||
|
'form_params' => $data,
|
||||||
|
'http_errors' => false,
|
||||||
|
]);
|
||||||
|
|
||||||
|
$body = $response->getBody();
|
||||||
|
$content = $body->getContents();
|
||||||
|
$result = json_decode($content, true);
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notes: 加密
|
||||||
|
* @Author: 玄尘
|
||||||
|
* @Date : 2021/4/25 9:46
|
||||||
|
* @param $input
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function encrypt($input): array
|
||||||
|
{
|
||||||
|
$jsonData = json_encode($input); //数据JSON化
|
||||||
|
$ascdata = $this->keyasc($jsonData); //加密
|
||||||
|
$addcode = sprintf("%08d", mt_rand(0, 99999999)); //随机code 验证签名用
|
||||||
|
$sign = $this->keysign($ascdata, $addcode);
|
||||||
|
|
||||||
|
$data = [
|
||||||
|
'server_id' => $this->user->server_id,
|
||||||
|
'key' => $this->user->server_key,
|
||||||
|
'addcode' => $addcode,
|
||||||
|
'sign' => $sign,
|
||||||
|
'data' => $ascdata,
|
||||||
|
];
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notes: 解密
|
||||||
|
* @Author: 玄尘
|
||||||
|
* @Date : 2021/4/25 10:07
|
||||||
|
* @param $res
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function decode($res)
|
||||||
|
{
|
||||||
|
if (isset($res['data'])) {
|
||||||
|
$res = $this->keydesc($res['data']);
|
||||||
|
|
||||||
|
return json_decode($res);
|
||||||
|
}
|
||||||
|
|
||||||
|
return '';
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/***
|
||||||
|
* Notes: 使用的内存
|
||||||
|
* @Author: 玄尘
|
||||||
|
* @Date : 2021/4/25 9:45
|
||||||
|
* @param int $precision
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getMemoryUsage($precision = 2): string
|
||||||
|
{
|
||||||
|
$size = memory_get_usage(true);
|
||||||
|
|
||||||
|
$unit = ['b', 'kb', 'mb', 'gb', 'tb', 'pb'];
|
||||||
|
|
||||||
|
return round($size / pow(1024, ($i = floor(log($size, 1024)))), $precision) . ' ' . $unit[$i];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notes: 代码执行时间
|
||||||
|
* @Author: 玄尘
|
||||||
|
* @Date : 2021/4/25 9:45
|
||||||
|
* @param int $decimals
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getElapsedTime(int $decimals = 2): string
|
||||||
|
{
|
||||||
|
return number_format(microtime(true) - request()->server('REQUEST_TIME_FLOAT'), $decimals) . ' s';
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -4,14 +4,26 @@ use App\Http\Controllers\CouponController;
|
|||||||
use App\Http\Controllers\SkyxuController;
|
use App\Http\Controllers\SkyxuController;
|
||||||
use App\Http\Controllers\TestController;
|
use App\Http\Controllers\TestController;
|
||||||
use App\Http\Controllers\IndexController;
|
use App\Http\Controllers\IndexController;
|
||||||
|
use App\Http\Controllers\ToolsController;
|
||||||
|
use Illuminate\Routing\Router;
|
||||||
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
Route::get('/', [IndexController::class, 'index'])->name('index');
|
Route::get('/', [IndexController::class, 'index'])->name('index');
|
||||||
Route::get('/test', [TestController::class, 'index'])->name('test');
|
Route::get('/test', [TestController::class, 'index'])->name('test');
|
||||||
Route::get('/test/grant', [TestController::class, 'grant'])->name('test.grant');
|
|
||||||
Route::get('/test/checkcoupon', [TestController::class, 'checkcoupon'])->name('test.checkcoupon');
|
|
||||||
Route::get('/test/query', [TestController::class, 'query'])->name('test.query');
|
|
||||||
Route::get('/test/destroy', [TestController::class, 'destroy'])->name('test.destroy');
|
|
||||||
Route::get('/test/getsign', [TestController::class, 'getSign'])->name('test.getsign');
|
|
||||||
|
|
||||||
Route::get('/skyxu', [SkyxuController::class, 'index'])->name('skyxu');
|
Route::get('/skyxu', [SkyxuController::class, 'index'])->name('skyxu');
|
||||||
Route::get('/coupon', [CouponController::class, 'index'])->name('coupon');
|
Route::get('/coupon', [CouponController::class, 'index'])->name('coupon');
|
||||||
|
|
||||||
|
Route::group([
|
||||||
|
'prefix' => 'tools',
|
||||||
|
], function (Router $router) {
|
||||||
|
/**
|
||||||
|
* 小工具
|
||||||
|
*/
|
||||||
|
$router->get('grant', [ToolsController::class, 'grant'])->name('tools.grant');
|
||||||
|
$router->get('verify', [ToolsController::class, 'verify'])->name('tools.verify');
|
||||||
|
$router->get('query', [ToolsController::class, 'query'])->name('tools.query');
|
||||||
|
$router->get('destroy', [ToolsController::class, 'destroy'])->name('tools.destroy');
|
||||||
|
$router->get('getsign', [ToolsController::class, 'getSign'])->name('tools.getsign');
|
||||||
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user