Selaa lähdekoodia

ctrl+shift+I 格式化代码, 添加一些注释等,本次提交主要为了配合小程序审核,freeze 一个版本出来

joe 4 vuotta sitten
vanhempi
commit
981f8afc86

+ 63 - 33
app/api/controller/PublicController.php

@@ -11,7 +11,6 @@ use app\models\store\StoreProduct;
 use app\models\store\StoreService;
 use app\models\system\Express;
 use app\models\system\SystemCity;
-use app\models\system\SystemStore;
 use app\models\system\SystemStoreStaff;
 use app\models\user\User;
 use app\models\user\UserBill;
@@ -42,31 +41,31 @@ class PublicController
     public function index(Request $request)
     {
         $filing_info = sys_config('filing_info') ?? '';
-        $banner = sys_data('routine_home_banner') ?: [];//TODO 首页banner图
-        $menus = sys_data('routine_home_menus') ?: [];//TODO 首页按钮
+        $banner = sys_data('routine_home_banner') ?: []; //TODO 首页banner图
+        $menus = sys_data('routine_home_menus') ?: []; //TODO 首页按钮
         $roll = SystemCarousel::getFirst(20); // sys_data('routine_home_roll_news') ?: [];//TODO 首页滚动新闻 update to carousel
-        $activity = sys_data('routine_home_activity', 3) ?: [];//TODO 首页活动区域图片
-        $explosive_money = sys_data('index_categy_images') ?: [];//TODO 首页超值爆款
+        $activity = sys_data('routine_home_activity', 3) ?: []; //TODO 首页活动区域图片
+        $explosive_money = sys_data('index_categy_images') ?: []; //TODO 首页超值爆款
         $site_name = sys_config('site_name');
         $routine_index_page = sys_data('routine_index_page');
-        $info['fastInfo'] = $routine_index_page[0]['fast_info'] ?? '';//sys_config('fast_info');//TODO 快速选择简介
-        $info['bastInfo'] = $routine_index_page[0]['bast_info'] ?? '';//sys_config('bast_info');//TODO 精品推荐简介
-        $info['firstInfo'] = $routine_index_page[0]['first_info'] ?? '';//sys_config('first_info');//TODO 首发新品简介
-        $info['salesInfo'] = $routine_index_page[0]['sales_info'] ?? '';//sys_config('sales_info');//TODO 促销单品简介
-        $logoUrl = sys_config('routine_index_logo');//TODO 促销单品简介
+        $info['fastInfo'] = $routine_index_page[0]['fast_info'] ?? ''; //sys_config('fast_info');//TODO 快速选择简介
+        $info['bastInfo'] = $routine_index_page[0]['bast_info'] ?? ''; //sys_config('bast_info');//TODO 精品推荐简介
+        $info['firstInfo'] = $routine_index_page[0]['first_info'] ?? ''; //sys_config('first_info');//TODO 首发新品简介
+        $info['salesInfo'] = $routine_index_page[0]['sales_info'] ?? ''; //sys_config('sales_info');//TODO 促销单品简介
+        $logoUrl = sys_config('routine_index_logo'); //TODO 促销单品简介
         if (strstr($logoUrl, 'http') === false && $logoUrl) $logoUrl = sys_config('site_url') . $logoUrl;
         $logoUrl = str_replace('\\', '/', $logoUrl);
-        $fastNumber = sys_config('fast_number', 0);//TODO 快速选择分类个数
-        $bastNumber = sys_config('bast_number', 0);//TODO 精品推荐个数
-        $firstNumber = sys_config('first_number', 0);//TODO 首发新品个数
-        $promotionNumber = sys_config('promotion_number', 0);//TODO 首发新品个数
-        $info['fastList'] = StoreCategory::byIndexList((int)$fastNumber, false);//TODO 快速选择分类个数
-        $info['bastList'] = StoreProduct::getBestProduct('id,image,store_name,cate_id,price,ot_price,IFNULL(sales,0) + IFNULL(ficti,0) as sales,unit_name', (int)$bastNumber, $request->uid(), false);//TODO 精品推荐个数
-        $info['firstList'] = StoreProduct::getNewProduct('id,image,store_name,cate_id,price,unit_name,IFNULL(sales,0) + IFNULL(ficti,0) as sales', (int)$firstNumber, $request->uid(), false);//TODO 首发新品个数
-        $info['bastBanner'] = sys_data('routine_home_bast_banner') ?? [];//TODO 首页精品推荐图片
-        $benefit = StoreProduct::getBenefitProduct('id,image,store_name,cate_id,price,ot_price,stock,unit_name', $promotionNumber);//TODO 首页促销单品
-        $lovely = sys_data('routine_home_new_banner') ?: [];//TODO 首发新品顶部图
-        $likeInfo = StoreProduct::getHotProduct('id,image,store_name,cate_id,price,ot_price,unit_name', 3);//TODO 热门榜单 猜你喜欢
+        $fastNumber = sys_config('fast_number', 0); //TODO 快速选择分类个数
+        $bastNumber = sys_config('bast_number', 0); //TODO 精品推荐个数
+        $firstNumber = sys_config('first_number', 0); //TODO 首发新品个数
+        $promotionNumber = sys_config('promotion_number', 0); //TODO 首发新品个数
+        $info['fastList'] = StoreCategory::byIndexList((int)$fastNumber, false); //TODO 快速选择分类个数
+        $info['bastList'] = StoreProduct::getBestProduct('id,image,store_name,cate_id,price,ot_price,IFNULL(sales,0) + IFNULL(ficti,0) as sales,unit_name', (int)$bastNumber, $request->uid(), false); //TODO 精品推荐个数
+        $info['firstList'] = StoreProduct::getNewProduct('id,image,store_name,cate_id,price,unit_name,IFNULL(sales,0) + IFNULL(ficti,0) as sales', (int)$firstNumber, $request->uid(), false); //TODO 首发新品个数
+        $info['bastBanner'] = sys_data('routine_home_bast_banner') ?? []; //TODO 首页精品推荐图片
+        $benefit = StoreProduct::getBenefitProduct('id,image,store_name,cate_id,price,ot_price,stock,unit_name', $promotionNumber); //TODO 首页促销单品
+        $lovely = sys_data('routine_home_new_banner') ?: []; //TODO 首发新品顶部图
+        $likeInfo = StoreProduct::getHotProduct('id,image,store_name,cate_id,price,ot_price,unit_name', 3); //TODO 热门榜单 猜你喜欢
         $couponList = StoreCouponIssue::getIssueCouponList($request->uid(), 3);
         if ($request->uid()) {
             $notice = UserNotice::getNotice($request->uid());
@@ -77,10 +76,25 @@ class PublicController
         }
         $newGoodsBananr = sys_config('new_goods_bananr');
         $tengxun_map_key = sys_config('tengxun_map_key');
-        return app('json')->successful(compact('filing_info','banner', 'menus', 
-            'roll', 'info', 'activity', 'lovely', 'benefit', 'likeInfo', 'logoUrl', 
-            'couponList', 'site_name', 'subscribe', 'newGoodsBananr', 'tengxun_map_key', 
-            'explosive_money', 'notice'));
+        return app('json')->successful(compact(
+            'filing_info',
+            'banner',
+            'menus',
+            'roll',
+            'info',
+            'activity',
+            'lovely',
+            'benefit',
+            'likeInfo',
+            'logoUrl',
+            'couponList',
+            'site_name',
+            'subscribe',
+            'newGoodsBananr',
+            'tengxun_map_key',
+            'explosive_money',
+            'notice'
+        ));
     }
 
     /**
@@ -225,9 +239,13 @@ class PublicController
     }
 
     /**
-     * 记录用户分享
-     * @param Request $request
-     * @return mixed
+     * @api {post} user/share 记录用户分享
+     * @apiName PostUserShare
+     * @apiGroup User
+     * 
+     * @apiParam {none} none None
+     * 
+     * @apiSuccess
      */
     public function user_share(Request $request)
     {
@@ -329,9 +347,16 @@ class PublicController
     }
 
     /**
-     * 返回给官网或第三方应用
+     * @api {get} /activities 开奖结果 JsonP 接口,供第三方使用,透明化开奖结果
+     * @apiName Activities
+     * @apiGroup Activity
      * 
-     * 支持 jsonp
+     * @apiQuery {string} callback 回调函数名称
+     * @apiQuery {string} begin 起始时间
+     * @apiQuery {string} end 截至时间
+     * @apiQuery {array} activity 
+     * @apiQuery {int} page
+     * @apiQuery {int} limit
      * 
      */
     public function get_activities_result()
@@ -349,9 +374,14 @@ class PublicController
         //     'b' => 4,
         // ]);
         $callback = $data['callback'];
-        $res = SystemAwardHistory::getList($data['activity'], 
-            $data['begin'], $data['end'], $data['page'], $data['limit']);
+        $res = SystemAwardHistory::getList(
+            $data['activity'],
+            $data['begin'],
+            $data['end'],
+            $data['page'],
+            $data['limit']
+        );
         $res = json_encode($res);
         echo "$callback($res)";
     }
-}
+}

+ 23 - 12
app/api/controller/board/UserBoardController.php

@@ -1,11 +1,17 @@
 <?php
+
 namespace app\api\controller\board;
 
 use crmeb\services\UtilService;
 use app\models\board\UserBoard;
 use \think\facade\Config;
 use crmeb\utils\Redis;
+
 /**
+ * @api {get} /boards 获取排行榜
+ * @apiName GetBoards
+ * @apiGroup Activity
+ * 
  * 协议见文档 docs/board.md, 协议可能变更
  *
  * 使用 UserBoard Model, 数据表为 store_order_cart_info
@@ -14,20 +20,23 @@ use crmeb\utils\Redis;
  * Class UserBoardController
  * @package app\api\controller\board
  */
-class UserBoardController {
+class UserBoardController
+{
     protected static $DAILY_WIN_MONEY = 1;
     public static $RDS_BOARD_KEY = 'tmp:board';
 
-    public function boards() {
-       [$type,] = UtilService::getMore([
-           ['type', 1],
-       ], null, true);
-       $s = $this->get_cached_board();
-       $board = json_decode($s, true);
-       return app('json')->successful('ok', $board);
+    public function boards()
+    {
+        [$type,] = UtilService::getMore([
+            ['type', 1],
+        ], null, true);
+        $s = $this->get_cached_board();
+        $board = json_decode($s, true);
+        return app('json')->successful('ok', $board);
     }
 
-    protected function daily_win_money() {
+    protected function daily_win_money()
+    {
         $board = new UserBoard();
         $res = $board->getDailyWinMoney();
         foreach ($res as &$row) {
@@ -42,13 +51,15 @@ class UserBoardController {
         );
     }
 
-    public function cache_board() {
+    public function cache_board()
+    {
         $redis = Redis::instance();
         $redis->set(self::$RDS_BOARD_KEY, json_encode($this->daily_win_money()));
     }
 
-    protected function get_cached_board() {
+    protected function get_cached_board()
+    {
         $redis = Redis::instance();
         return $redis->get(self::$RDS_BOARD_KEY);
     }
-}
+}

+ 13 - 14
app/api/controller/user/UserExtractController.php

@@ -52,16 +52,16 @@ class UserExtractController
         //可提现佣金
         $data['commissionCount'] = floatval(bcsub($data['brokerage_price'], $data['broken_commission'], 2));
         $extractBank = sys_config('user_extract_bank') ?? []; //提现银行
-        $extractBank = str_replace("\r\n", "\n", $extractBank);//防止不兼容
+        $extractBank = str_replace("\r\n", "\n", $extractBank); //防止不兼容
         $data['extractBank'] = explode("\n", is_array($extractBank) ? (isset($extractBank[0]) ? $extractBank[0] : $extractBank) : $extractBank);
-        $data['minPrice'] = sys_config('user_extract_min_price');//提现最低金额
+        $data['minPrice'] = sys_config('user_extract_min_price'); //提现最低金额
         // 输入记忆
         $ur = new UserRds();
         $cach = $ur->gets($user['uid'], ['wxpayName', 'bankCardNo', 'bankUser', 'bankName']);
-        $data['wxpayName']  = $cach['wxpayName'];
-        $data['bankCardNo'] = $cach['bankCardNo'];
-        $data['bankUser']   = $cach['bankUser'];
-        $data['bankName']   = $cach['bankName'];
+        $data['wxpayName']  = $cach['wxpayName'] ? $cach['wxpayName'] : '';
+        $data['bankCardNo'] = $cach['bankCardNo'] ? $cach['bankCardNo'] : '';
+        $data['bankUser']   = $cach['bankUser'] ? $cach['bankUser'] : '';
+        $data['bankName']   = $cach['bankName'] ? $cach['bankName'] : '';
 
         return app('json')->successful($data);
     }
@@ -115,13 +115,13 @@ class UserExtractController
         }
         // 实际到帐金额
         $valid = floatval(bcsub($extractInfo['money'], $fee, 2));
-        
+
         return app('json')->successful([
             'rate' => $rate,       // 费率
             'min' => $min,         // 最少收费
             'max' => $max,         // 最大收费
             'fee' => $fee,         // 当前收费
-            'valid'=> $valid,      // 实际到帐
+            'valid' => $valid,      // 实际到帐
         ]);
     }
 
@@ -160,7 +160,7 @@ class UserExtractController
             ['weixin', ''],
         ], $request);
         $user = $request->user();
-        
+
         list($suc, $msg) = PaymentService::user_request_extract($user, $extractInfo);
         if ($suc) {
             return app('json')->successful('申请提现成功!');
@@ -182,7 +182,7 @@ class UserExtractController
      * API 执行失败,则必须重新提交提现请求,因为人工操作也是失败。
      * 如果API 返回 SYSTEMERROR, 则按照原订单参数重新提交。
      */
-    public function flash_cash(Request $request) 
+    public function flash_cash(Request $request)
     {
         // 提交申请
         $extractInfo = UtilService::postMore([
@@ -195,7 +195,7 @@ class UserExtractController
             ['weixin', ''],
         ], $request);
         $user = $request->user();
-        
+
         list($suc, $msg) = PaymentService::user_request_extract($user, $extractInfo);
         if (!$suc) {
             return app('json')->fail($msg);
@@ -203,7 +203,7 @@ class UserExtractController
         $row = $msg;
         $extractRow = UserExtract::getUserExtractInfo($user['uid'], $row['extract_type'], $row['add_time']);
         if (!$extractRow) {
-            Log::error('Unbelievable error getUserExtractInfo(' . $user['uid'] . ' ' . $row['add_time']. ')');
+            Log::error('Unbelievable error getUserExtractInfo(' . $user['uid'] . ' ' . $row['add_time'] . ')');
             return app('json')->fail('提交申请失败');
         }
         // 检查条件
@@ -231,5 +231,4 @@ class UserExtractController
             return app('json')->successful('提现成功');
         }
     }
-
-}
+}

+ 8 - 7
app/api/controller/wechat/AuthController.php

@@ -13,8 +13,6 @@ use app\models\user\UserToken;
 use app\models\user\User;
 use think\facade\Cache;
 use crmeb\services\SubscribeTemplateService;
-use crmeb\services\template\storage\Wechat;
-use EasyWeChat\MiniProgram\MiniProgram;
 use think\facade\Log;
 use tw\redis\UserRds;
 
@@ -61,10 +59,10 @@ class AuthController
             $unionid = $json2sess['unionid'] ?? '';
             // Log::debug("openid=$openId, unionid=$unionid");
             // find by unionid
-            if ($unionid != '' ) {
+            if ($unionid != '') {
                 $uid = WechatUser::where(['unionid' => $unionid])
                     ->where('user_type', 'routine')->value('uid');
-            } 
+            }
             if (!$uid && $openId != '') {
                 $uid = WechatUser::where(['routine_openid' => $openId])->where('user_type', 'routine')->value('uid');
             }
@@ -226,7 +224,7 @@ class AuthController
             ['spread_code', ''],
             ['iv', ''],
             ['encryptedData', ''],
-        ]);//获取前台传的code
+        ]); //获取前台传的code
         try {
             //解密获取用户信息
             $userInfo = MiniProgramService::encryptor($session_key, $data['iv'], $data['encryptedData']);
@@ -300,7 +298,10 @@ class AuthController
     }
 
     /**
-     * 小程序支付回调
+     * @api {get|post} /routine/notify 小程序支付回调
+     * @apiName RoutineNotify
+     * @apiGroup Wechat
+     * 
      */
     public function notify()
     {
@@ -344,4 +345,4 @@ class AuthController
         }, 600);
         return app('json')->success($list);
     }
-}
+}

+ 12 - 8
app/api/controller/wechat/WechatController.php

@@ -10,7 +10,6 @@ use app\models\user\WechatUser;
 use app\Request;
 use crmeb\services\WechatService;
 use crmeb\utils\Canvas;
-use think\facade\Cookie;
 
 /**
  * 微信公众号
@@ -20,8 +19,10 @@ use think\facade\Cookie;
 class WechatController
 {
     /**
-     * 微信公众号服务
-     * @return \think\Response
+     * @api {get|post} /wechat/serve 微信公众号服务接口
+     * @apiName WechatServe
+     * @apiGroup Wechat
+     * 
      */
     public function serve()
     {
@@ -30,7 +31,10 @@ class WechatController
     }
 
     /**
-     * 支付异步回调
+     * @api {get|post} /wechat/notify 公众号支付异步回调
+     * @apiName WechatNotify
+     * @apiGroup Wechat
+     * 
      */
     public function notify()
     {
@@ -121,9 +125,9 @@ class WechatController
         $name = 'follow';
         $siteUrl = sys_config('site_url');
         $imageUrl = $path . $name . '.' . $imageType;
-//        if (file_exists($imageUrl)) {
-//            return app('json')->success('ok', ['path' => $siteUrl . '/' . $imageUrl]);
-//        }
+        //        if (file_exists($imageUrl)) {
+        //            return app('json')->success('ok', ['path' => $siteUrl . '/' . $imageUrl]);
+        //        }
         $canvas->setImageUrl('static/qrcode/follow.png')->setImageHeight(720)->setImageWidth(500)->pushImageValue();
         $wechatQrcode = sys_config('wechat_qrcode');
         if (($strlen = stripos($wechatQrcode, 'uploads')) !== false) {
@@ -135,4 +139,4 @@ class WechatController
         $image = $canvas->setFileName($name)->setImageType($imageType)->setPath($path)->setBackgroundWidth(500)->setBackgroundHeight(720)->starDrawChart();
         return app('json')->success('ok', ['path' => $image ? $siteUrl . '/' . $image : '']);
     }
-}
+}

+ 2 - 2
config/activity.php

@@ -9,7 +9,7 @@ return [
     'mining_display_pic' => 'http://x.png',
     // 挖矿活动ID
     'mining_cate_id' => 199,
-    
+
     // 免单活动ID
     'free_cate_id' => 3,
     // 清仓活动ID
@@ -29,4 +29,4 @@ return [
     'lucky_daily_opens' => [],
     // 注册送钱
     'register_money' => 5.0,
-];
+];

+ 5 - 5
config/app.php

@@ -27,7 +27,7 @@ return [
     // 自动多应用模式
     'auto_multi_app'   => true,
     // 应用映射(自动多应用模式有效)
-    'app_map'          => ['*'=>'', 'api'=>'api', 'admin'=>'admin','wap'=>'wap'],
+    'app_map'          => ['*' => '', 'api' => 'api', 'admin' => 'admin', 'wap' => 'wap'],
     // 域名绑定(自动多应用模式有效)
     'domain_bind'      => [],
     // 禁止URL访问的应用列表(自动多应用模式有效)
@@ -46,10 +46,10 @@ return [
     // 部署的云服务器或 VPS IP 地址
     'server_ip'        => '81.70.81.74',
     // 微信提现开关
-    'extract_weixin_enabled'  => true,     
-    'extract_bank_enabled'    => false,
+    'extract_weixin_enabled'  => true,
+    'extract_bank_enabled'    => true,
     'extract_alipay_enabled'  => false,
-    
+
     /// 企业微信机器人
     // redis key @deprecated.
     'redis_robot_msg_key'   => 'qywechatpush',
@@ -71,7 +71,7 @@ return [
 
     // 排行榜 banner 750 x 142 首页 banner 750x375 精品推荐滚动图 750x282
     'leader_board_banner' => 'http://twongstatic.shotshock.shop/banner_rank_750x142.jpg',
-    
+
     'header_cs_1' => 'http://twongstatic.shotshock.shop/headers/customer_service_1.jpg',
     'header_cs_2' => 'http://twongstatic.shotshock.shop/headers/customer_service_2.jpg',
 ];

+ 1 - 1
config/redis.php

@@ -8,4 +8,4 @@ return [
     'select'     => 2,
     'timeout'    => 0,
     'persistent' => false,
-];
+];

+ 1 - 1
config/sms.php

@@ -96,4 +96,4 @@ return [
             ]
         ]
     ]
-];
+];

+ 1 - 1
config/upload.php

@@ -23,4 +23,4 @@ return [
         //cos上传配置
         'cos' => [],
     ]
-];
+];

+ 0 - 1
crmeb/payment/MachantPay.php

@@ -65,7 +65,6 @@ class MachantPay {
         $params->key = $payment['pay_routine_key'] ?? '';
         $params->keyPath = realpath('.' . $payment['pay_routine_client_key']);
         $params->certPath = realpath('.' . $payment['pay_routine_client_cert']);
-        var_dump($payment['pay_routine_client_key']);
         return $params;
     }
 

+ 182 - 186
route/api/route.php

@@ -1,7 +1,8 @@
 <?php
 
 use think\facade\Route;
-//账号密码登录
+
+// 账号密码登录
 Route::post('login', 'AuthController/login')->name('login')
     ->middleware(\app\http\middleware\AllowOriginMiddleware::class);
 
@@ -9,116 +10,116 @@ Route::post('login', 'AuthController/login')->name('login')
 Route::get('verify_code', 'AuthController/verifyCode')->name('verifyCode')
     ->middleware(\app\http\middleware\AllowOriginMiddleware::class);
 
-//手机号登录
+// 手机号登录
 Route::post('login/mobile', 'AuthController/mobile')->name('loginMobile')
     ->middleware(\app\http\middleware\AllowOriginMiddleware::class);
 
-//图片验证码
+// 图片验证码
 Route::get('sms_captcha', 'AuthController/captcha')->name('captcha')
     ->middleware(\app\http\middleware\AllowOriginMiddleware::class);
-//验证码发送
+
+// 验证码发送
 Route::post('register/verify', 'AuthController/verify')->name('registerVerify')
     ->middleware(\app\http\middleware\AllowOriginMiddleware::class);
-//手机号注册
+
+// 手机号注册
 Route::post('register', 'AuthController/register')->name('register')
     ->middleware(\app\http\middleware\AllowOriginMiddleware::class);
 
-//手机号修改密码
+// 手机号修改密码
 Route::post('register/reset', 'AuthController/reset')->name('registerReset')
     ->middleware(\app\http\middleware\AllowOriginMiddleware::class);
 
-/**
- * 排行榜 api
- */
-Route::get('boards', 'board.UserBoardController/boards')->name('board'); // 排行榜榜单
 
-/**
- * 开奖结果 api,支持 jsonp
- */
+// 排行榜 api
+Route::get('boards', 'board.UserBoardController/boards')->name('board') // 排行榜榜单
+    ->middleware(\app\http\middleware\AllowOriginMiddleware::class);
+
+// 开奖结果 api,支持 jsonp
 Route::get('activities', 'PublicController/get_activities_result')->name('activities'); // 排行榜榜单
 
 // 模拟推送 (不需要登录)
 Route::get('notifications', 'AuthController/notifications')->name('notifications'); // 获取通知
 
-Route::any('wechat/serve', 'wechat.WechatController/serve');//公众号服务
-Route::any('wechat/notify', 'wechat.WechatController/notify');//公众号支付回调
-Route::any('routine/notify', 'wechat.AuthController/notify');//小程序支付回调
+Route::any('wechat/serve', 'wechat.WechatController/serve'); //公众号服务
+Route::any('wechat/notify', 'wechat.WechatController/notify'); //公众号支付回调
+Route::any('routine/notify', 'wechat.AuthController/notify'); //小程序支付回调
 
-//管理员订单操作类
+// 管理员订单操作类
 Route::group(function () {
-    Route::get('admin/order/statistics', 'admin.StoreOrderController/statistics')->name('adminOrderStatistics');//订单数据统计
-    Route::get('admin/order/data', 'admin.StoreOrderController/data')->name('adminOrderData');//订单每月统计数据
-    Route::get('admin/order/list', 'admin.StoreOrderController/lst')->name('adminOrderList');//订单列表
-    Route::get('admin/order/detail/:orderId', 'admin.StoreOrderController/detail')->name('adminOrderDetail');//订单详情
-    Route::get('admin/order/delivery/gain/:orderId', 'admin.StoreOrderController/delivery_gain')->name('adminOrderDeliveryGain');//订单发货获取订单信息
-    Route::post('admin/order/delivery/keep', 'admin.StoreOrderController/delivery_keep')->name('adminOrderDeliveryKeep');//订单发货
-    Route::post('admin/order/price', 'admin.StoreOrderController/price')->name('adminOrderPrice');//订单改价
-    Route::post('admin/order/remark', 'admin.StoreOrderController/remark')->name('adminOrderRemark');//订单备注
-    Route::get('admin/order/time', 'admin.StoreOrderController/time')->name('adminOrderTime');//订单交易额时间统计
-    Route::post('admin/order/offline', 'admin.StoreOrderController/offline')->name('adminOrderOffline');//订单支付
-    Route::post('admin/order/refund', 'admin.StoreOrderController/refund')->name('adminOrderRefund');//订单退款
-    Route::post('order/order_verific','admin.StoreOrderController/order_verific')->name('order');//订单核销
+    Route::get('admin/order/statistics', 'admin.StoreOrderController/statistics')->name('adminOrderStatistics'); //订单数据统计
+    Route::get('admin/order/data', 'admin.StoreOrderController/data')->name('adminOrderData'); //订单每月统计数据
+    Route::get('admin/order/list', 'admin.StoreOrderController/lst')->name('adminOrderList'); //订单列表
+    Route::get('admin/order/detail/:orderId', 'admin.StoreOrderController/detail')->name('adminOrderDetail'); //订单详情
+    Route::get('admin/order/delivery/gain/:orderId', 'admin.StoreOrderController/delivery_gain')->name('adminOrderDeliveryGain'); //订单发货获取订单信息
+    Route::post('admin/order/delivery/keep', 'admin.StoreOrderController/delivery_keep')->name('adminOrderDeliveryKeep'); //订单发货
+    Route::post('admin/order/price', 'admin.StoreOrderController/price')->name('adminOrderPrice'); //订单改价
+    Route::post('admin/order/remark', 'admin.StoreOrderController/remark')->name('adminOrderRemark'); //订单备注
+    Route::get('admin/order/time', 'admin.StoreOrderController/time')->name('adminOrderTime'); //订单交易额时间统计
+    Route::post('admin/order/offline', 'admin.StoreOrderController/offline')->name('adminOrderOffline'); //订单支付
+    Route::post('admin/order/refund', 'admin.StoreOrderController/refund')->name('adminOrderRefund'); //订单退款
+    Route::post('order/order_verific', 'admin.StoreOrderController/order_verific')->name('order'); //订单核销
 })->middleware(\app\http\middleware\AllowOriginMiddleware::class)->middleware(\app\http\middleware\AuthTokenMiddleware::class, true)->middleware(\app\http\middleware\CustomerMiddleware::class);
 
-//会员授权接口
+// 会员授权接口
 Route::group(function () {
 
-    Route::get('logout', 'AuthController/logout')->name('logout');// 退出登录
-    Route::post('switch_h5', 'AuthController/switch_h5')->name('switch_h5');// 切换账号
-    Route::post('binding', 'AuthController/binding_phone')->name('bindingPhone');// 绑定手机号
-    //产品类
-    Route::get('product/code/:id', 'store.StoreProductController/code')->name('productCode');//产品分享二维码 推广员
-
-     //公共类
-    Route::post('upload/image', 'PublicController/upload_image')->name('uploadImage');//图片上传
-    //用户类 客服聊天记录
-    Route::get('user/service/list', 'user.StoreService/lst')->name('userServiceList');//客服列表
-    Route::get('user/service/record/:toUid', 'user.StoreService/record')->name('userServiceRecord');//客服聊天记录
-
-    //用户类  用户coupons/order
-    Route::get('user', 'user.UserController/user')->name('user');//个人中心
-    Route::post('user/edit', 'user.UserController/edit')->name('userEdit');//用户修改信息
-    Route::get('user/balance', 'user.UserController/balance')->name('userBalance');//用户资金统计
-    Route::get('userinfo', 'user.UserController/userinfo')->name('userinfo');// 用户信息
-    //用户类  地址
-    Route::get('address/detail/:id', 'user.UserController/address')->name('address');//获取单个地址
-    Route::get('address/list', 'user.UserController/address_list')->name('addressList');//地址列表
-    Route::post('address/default/set', 'user.UserController/address_default_set')->name('addressDefaultSet');//设置默认地址
-    Route::get('address/default', 'user.UserController/address_default')->name('addressDefault');//获取默认地址
-    Route::post('address/edit', 'user.UserController/address_edit')->name('addressEdit');//修改 添加 地址
-    Route::post('address/del', 'user.UserController/address_del')->name('addressDel');//删除地址
-    //用户类 收藏
-    Route::get('collect/user', 'user.UserController/collect_user')->name('collectUser');//收藏产品列表
-    Route::post('collect/add', 'user.UserController/collect_add')->name('collectAdd');//添加收藏
-    Route::post('collect/del', 'user.UserController/collect_del')->name('collectDel');//取消收藏
-    Route::post('collect/all', 'user.UserController/collect_all')->name('collectAll');//批量添加收藏
-
-    Route::get('brokerage_rank','user.UserController/brokerage_rank')->name('brokerageRank');//佣金排行
-    Route::get('rank','user.UserController/rank')->name('rank');//推广人排行
-    //用戶类 分享
-    Route::post('user/share', 'PublicController/user_share')->name('user_share');//记录用户分享
-    //用户类 点赞
-//    Route::post('like/add', 'user.UserController/like_add')->name('likeAdd');//添加点赞
-//    Route::post('like/del', 'user.UserController/like_del')->name('likeDel');//取消点赞
-    //用户类 签到
-    Route::get('sign/config', 'user.UserController/sign_config')->name('signConfig');//签到配置
-    Route::get('sign/list', 'user.UserController/sign_list')->name('signList');//签到列表
-    Route::get('sign/month', 'user.UserController/sign_month')->name('signIntegral');//签到列表(年月)
-    Route::post('sign/user', 'user.UserController/sign_user')->name('signUser');//签到用户信息
-    Route::post('sign/integral', 'user.UserController/sign_integral')->name('signIntegral');//签到
-    //优惠券类
+    Route::get('logout', 'AuthController/logout')->name('logout'); // 退出登录
+    Route::post('switch_h5', 'AuthController/switch_h5')->name('switch_h5'); // 切换账号
+    Route::post('binding', 'AuthController/binding_phone')->name('bindingPhone'); // 绑定手机号
+    // 产品类
+    Route::get('product/code/:id', 'store.StoreProductController/code')->name('productCode'); //产品分享二维码 推广员
+
+    // 公共类
+    Route::post('upload/image', 'PublicController/upload_image')->name('uploadImage'); //图片上传
+    // 用户类 客服聊天记录
+    Route::get('user/service/list', 'user.StoreService/lst')->name('userServiceList'); //客服列表
+    Route::get('user/service/record/:toUid', 'user.StoreService/record')->name('userServiceRecord'); //客服聊天记录
+
+    // 用户类  用户coupons/order
+    Route::get('user', 'user.UserController/user')->name('user'); //个人中心
+    Route::post('user/edit', 'user.UserController/edit')->name('userEdit'); //用户修改信息
+    Route::get('user/balance', 'user.UserController/balance')->name('userBalance'); //用户资金统计
+    Route::get('userinfo', 'user.UserController/userinfo')->name('userinfo'); // 用户信息
+    // 用户类  地址
+    Route::get('address/detail/:id', 'user.UserController/address')->name('address'); //获取单个地址
+    Route::get('address/list', 'user.UserController/address_list')->name('addressList'); //地址列表
+    Route::post('address/default/set', 'user.UserController/address_default_set')->name('addressDefaultSet'); //设置默认地址
+    Route::get('address/default', 'user.UserController/address_default')->name('addressDefault'); //获取默认地址
+    Route::post('address/edit', 'user.UserController/address_edit')->name('addressEdit'); //修改 添加 地址
+    Route::post('address/del', 'user.UserController/address_del')->name('addressDel'); //删除地址
+    // 用户类 收藏
+    Route::get('collect/user', 'user.UserController/collect_user')->name('collectUser'); //收藏产品列表
+    Route::post('collect/add', 'user.UserController/collect_add')->name('collectAdd'); //添加收藏
+    Route::post('collect/del', 'user.UserController/collect_del')->name('collectDel'); //取消收藏
+    Route::post('collect/all', 'user.UserController/collect_all')->name('collectAll'); //批量添加收藏
+
+    Route::get('brokerage_rank', 'user.UserController/brokerage_rank')->name('brokerageRank'); //佣金排行
+    Route::get('rank', 'user.UserController/rank')->name('rank'); //推广人排行
+    // 用戶类 分享
+    Route::post('user/share', 'PublicController/user_share')->name('user_share'); //记录用户分享
+    // 用户类 点赞
+    //    Route::post('like/add', 'user.UserController/like_add')->name('likeAdd');//添加点赞
+    //    Route::post('like/del', 'user.UserController/like_del')->name('likeDel');//取消点赞
+    // 用户类 签到
+    Route::get('sign/config', 'user.UserController/sign_config')->name('signConfig'); //签到配置
+    Route::get('sign/list', 'user.UserController/sign_list')->name('signList'); //签到列表
+    Route::get('sign/month', 'user.UserController/sign_month')->name('signIntegral'); //签到列表(年月)
+    Route::post('sign/user', 'user.UserController/sign_user')->name('signUser'); //签到用户信息
+    Route::post('sign/integral', 'user.UserController/sign_integral')->name('signIntegral'); //签到
+    // 优惠券类
     Route::post('coupon/receive', 'store.StoreCouponsController/receive')->name('couponReceive'); //领取优惠券
     Route::post('coupon/receive/batch', 'store.StoreCouponsController/receive_batch')->name('couponReceiveBatch'); //批量领取优惠券
-    Route::get('coupons/user/:types', 'store.StoreCouponsController/user')->name('couponsUser');//用户已领取优惠券
-    Route::get('coupons/order/:price', 'store.StoreCouponsController/order')->name('couponsOrder');//优惠券 订单列表
-    //购物车类
+    Route::get('coupons/user/:types', 'store.StoreCouponsController/user')->name('couponsUser'); //用户已领取优惠券
+    Route::get('coupons/order/:price', 'store.StoreCouponsController/order')->name('couponsOrder'); //优惠券 订单列表
+    // 购物车类
     Route::get('cart/list', 'store.StoreCartController/lst')->name('cartList'); //购物车列表
     Route::post('cart/add', 'store.StoreCartController/add')->name('cartAdd'); //购物车添加
     Route::post('cart/del', 'store.StoreCartController/del')->name('cartDel'); //购物车删除
     Route::post('order/cancel', 'order.StoreOrderController/cancel')->name('orderCancel'); //订单取消
     Route::post('cart/num', 'store.StoreCartController/num')->name('cartNum'); //购物车 修改产品数量
     Route::get('cart/count', 'store.StoreCartController/count')->name('cartCount'); //购物车 获取数量
-    //订单类
+    // 订单类
     Route::post('order/confirm', 'order.StoreOrderController/confirm')->name('orderConfirm'); //订单确认
     Route::post('order/computed/:key', 'order.StoreOrderController/computedOrder')->name('computedOrder'); //计算订单金额
     Route::post('order/v2/computed/:key', 'order.StoreOrderController/computedOrder_v2')->name('computedOrder'); //计算订单金额
@@ -137,143 +138,138 @@ Route::group(function () {
     Route::post('order/pay', 'order.StoreOrderController/pay')->name('orderPay'); //订单支付
     Route::post('order/product', 'order.StoreOrderController/product')->name('orderProduct'); //订单产品信息
     Route::post('order/comment', 'order.StoreOrderController/comment')->name('orderComment'); //订单评价
-    //活动---砍价
-    Route::get('bargain/detail/:id', 'activity.StoreBargainController/detail')->name('bargainDetail');//砍价产品详情
-    Route::post('bargain/start', 'activity.StoreBargainController/start')->name('bargainStart');//砍价开启
-    Route::post('bargain/start/user', 'activity.StoreBargainController/start_user')->name('bargainStartUser');//砍价 开启砍价用户信息
-    Route::post('bargain/share', 'activity.StoreBargainController/share')->name('bargainShare');//砍价 观看/分享/参与次数
-    Route::post('bargain/help', 'activity.StoreBargainController/help')->name('bargainHelp');//砍价 帮助好友砍价
-    Route::post('bargain/help/price', 'activity.StoreBargainController/help_price')->name('bargainHelpPrice');//砍价 砍掉金额
-    Route::post('bargain/help/count', 'activity.StoreBargainController/help_count')->name('bargainHelpCount');//砍价 砍价帮总人数、剩余金额、进度条、已经砍掉的价格
-    Route::post('bargain/help/list', 'activity.StoreBargainController/help_list')->name('bargainHelpList');//砍价 砍价帮
-    Route::post('bargain/poster', 'activity.StoreBargainController/poster')->name('bargainPoster');//砍价海报
-    Route::get('bargain/user/list', 'activity.StoreBargainController/user_list')->name('bargainUserList');//砍价列表(已参与)
-    Route::post('bargain/user/cancel', 'activity.StoreBargainController/user_cancel')->name('bargainUserCancel');//砍价取消
-    //活动---拼团
-    Route::get('combination/pink/:id', 'activity.StoreCombinationController/pink')->name('combinationPink');//拼团开团
-    Route::post('combination/remove', 'activity.StoreCombinationController/remove')->name('combinationRemove');//拼团 取消开团
-    Route::post('combination/poster', 'activity.StoreCombinationController/poster')->name('combinationPoster');//拼团海报
-    //账单类
-    Route::get('commission', 'user.UserBillController/commission')->name('commission');//推广数据 昨天的佣金 累计提现金额 当前佣金
-    Route::post('spread/people', 'user.UserBillController/spread_people')->name('spreadPeople');//推荐用户
-    Route::post('spread/order', 'user.UserBillController/spread_order')->name('spreadOrder');//推广订单
-    Route::get('spread/commission/:type', 'user.UserBillController/spread_commission')->name('spreadCommission');//推广佣金明细
-    Route::get('spread/count/:type', 'user.UserBillController/spread_count')->name('spreadCount');//推广 佣金 3/提现 4 总和
-    Route::get('spread/banner', 'user.UserBillController/spread_banner')->name('spreadBanner');//推广分销二维码海报生成
-    Route::get('integral/list', 'user.UserBillController/integral_list')->name('integralList');//积分记录
-    //提现类
-    Route::get('extract/bank', 'user.UserExtractController/bank')->name('extractBank');//提现银行/提现最低金额
-    Route::post('extract/bank_fee', 'user.UserExtractController/bank_fee')->name('extractBankFee');//提现银行手续费查询
-    Route::post('extract/cash', 'user.UserExtractController/flash_cash')->name('extractCash');//提现申请
-    
-    //充值类
-    Route::post('recharge/routine', 'user.UserRechargeController/routine')->name('rechargeRoutine');//小程序充值
-    Route::post('recharge/wechat', 'user.UserRechargeController/wechat')->name('rechargeWechat');//公众号充值
-    Route::post('recharge/app', 'user.UserRechargeController/app')->name('rechargeApp');//app充值
-    Route::get('recharge/index','user.UserRechargeController/index')->name('rechargeQuota');//充值余额选择
-    //会员等级类
-    Route::get('menu/user', 'PublicController/menu_user')->name('menuUser');//个人中心菜单
-    Route::get('user/level/detection', 'user.UserLevelController/detection')->name('userLevelDetection');//检测用户是否可以成为会员
-    Route::get('user/level/grade', 'user.UserLevelController/grade')->name('userLevelGrade');//会员等级列表
-    Route::get('user/level/task/:id', 'user.UserLevelController/task')->name('userLevelTask');//获取等级任务
-    //首页获取未支付订单
-    Route::get('order/nopay', 'order.StoreOrderController/get_noPay')->name('getNoPay');//获取未支付订单
+    // 活动---砍价
+    Route::get('bargain/detail/:id', 'activity.StoreBargainController/detail')->name('bargainDetail'); //砍价产品详情
+    Route::post('bargain/start', 'activity.StoreBargainController/start')->name('bargainStart'); //砍价开启
+    Route::post('bargain/start/user', 'activity.StoreBargainController/start_user')->name('bargainStartUser'); //砍价 开启砍价用户信息
+    Route::post('bargain/share', 'activity.StoreBargainController/share')->name('bargainShare'); //砍价 观看/分享/参与次数
+    Route::post('bargain/help', 'activity.StoreBargainController/help')->name('bargainHelp'); //砍价 帮助好友砍价
+    Route::post('bargain/help/price', 'activity.StoreBargainController/help_price')->name('bargainHelpPrice'); //砍价 砍掉金额
+    Route::post('bargain/help/count', 'activity.StoreBargainController/help_count')->name('bargainHelpCount'); //砍价 砍价帮总人数、剩余金额、进度条、已经砍掉的价格
+    Route::post('bargain/help/list', 'activity.StoreBargainController/help_list')->name('bargainHelpList'); //砍价 砍价帮
+    Route::post('bargain/poster', 'activity.StoreBargainController/poster')->name('bargainPoster'); //砍价海报
+    Route::get('bargain/user/list', 'activity.StoreBargainController/user_list')->name('bargainUserList'); //砍价列表(已参与)
+    Route::post('bargain/user/cancel', 'activity.StoreBargainController/user_cancel')->name('bargainUserCancel'); //砍价取消
+    // 活动---拼团
+    Route::get('combination/pink/:id', 'activity.StoreCombinationController/pink')->name('combinationPink'); //拼团开团
+    Route::post('combination/remove', 'activity.StoreCombinationController/remove')->name('combinationRemove'); //拼团 取消开团
+    Route::post('combination/poster', 'activity.StoreCombinationController/poster')->name('combinationPoster'); //拼团海报
+    // 账单类
+    Route::get('commission', 'user.UserBillController/commission')->name('commission'); //推广数据 昨天的佣金 累计提现金额 当前佣金
+    Route::post('spread/people', 'user.UserBillController/spread_people')->name('spreadPeople'); //推荐用户
+    Route::post('spread/order', 'user.UserBillController/spread_order')->name('spreadOrder'); //推广订单
+    Route::get('spread/commission/:type', 'user.UserBillController/spread_commission')->name('spreadCommission'); //推广佣金明细
+    Route::get('spread/count/:type', 'user.UserBillController/spread_count')->name('spreadCount'); //推广 佣金 3/提现 4 总和
+    Route::get('spread/banner', 'user.UserBillController/spread_banner')->name('spreadBanner'); //推广分销二维码海报生成
+    Route::get('integral/list', 'user.UserBillController/integral_list')->name('integralList'); //积分记录
+    // 提现类
+    Route::get('extract/bank', 'user.UserExtractController/bank')->name('extractBank'); //提现银行/提现最低金额
+    Route::post('extract/bank_fee', 'user.UserExtractController/bank_fee')->name('extractBankFee'); //提现银行手续费查询
+    Route::post('extract/cash', 'user.UserExtractController/flash_cash')->name('extractCash'); //提现申请
+
+    // 充值类
+    Route::post('recharge/routine', 'user.UserRechargeController/routine')->name('rechargeRoutine'); //小程序充值
+    Route::post('recharge/wechat', 'user.UserRechargeController/wechat')->name('rechargeWechat'); //公众号充值
+    Route::post('recharge/app', 'user.UserRechargeController/app')->name('rechargeApp'); //app充值
+    Route::get('recharge/index', 'user.UserRechargeController/index')->name('rechargeQuota'); //充值余额选择
+    // 会员等级类
+    Route::get('menu/user', 'PublicController/menu_user')->name('menuUser'); //个人中心菜单
+    Route::get('user/level/detection', 'user.UserLevelController/detection')->name('userLevelDetection'); //检测用户是否可以成为会员
+    Route::get('user/level/grade', 'user.UserLevelController/grade')->name('userLevelGrade'); //会员等级列表
+    Route::get('user/level/task/:id', 'user.UserLevelController/task')->name('userLevelTask'); //获取等级任务
+    // 首页获取未支付订单
+    Route::get('order/nopay', 'order.StoreOrderController/get_noPay')->name('getNoPay'); //获取未支付订单
     // 模拟推送 (需要登录)
     //Route::get('user/notifications', 'user.UserNotificationController/snapshot')->name('userNotifications');
 
-    /**
-     * 消息类 api, 需要权限, 暂时为测试
-     */
+    // 消息类 api, 需要权限, 暂时为测试
     Route::get('user/messages', 'user.UserNoticeController/messages')->name('userMessages'); // 消息列表
     Route::post('user/messages', 'user.UserNoticeController/read')->name('userRead'); // 标记已读
-    Route::post('user/messages/del', 'user.UserNoticeController/del')->name('userDel');//删除消息
-    
-    /**
-     * 挖矿类 api
-     */
+    Route::post('user/messages/del', 'user.UserNoticeController/del')->name('userDel'); //删除消息
+
+    // 挖矿类 api
     Route::get('coin/status', 'coin.UserCoinController/status')->name('coinStatus'); //同步进度
     Route::post('coin/boot', 'coin.UserCoinController/boot')->name('coinBoot'); //启动挖矿
     Route::get('coin/history', 'coin.UserCoinController/history')->name('coinHistory'); //挖矿记录
     Route::post('coin/addr', 'coin.UserCoinController/updateAddr')->name('coinUpdateAddr'); //更新提币地址
     Route::post('coin/transfer', 'coin.UserCoinController/transfer')->name('coinTransfer'); //申请提币
 })->middleware(\app\http\middleware\AllowOriginMiddleware::class)->middleware(\app\http\middleware\AuthTokenMiddleware::class, true);
-//未授权接口
+
+// 未授权接口
 Route::group(function () {
-    //公共类
-    Route::get('index', 'PublicController/index')->name('index');//首页
-    Route::get('search/keyword', 'PublicController/search')->name('searchKeyword');//热门搜索关键字获取
-    //产品分类类
+    // 公共类
+    Route::get('index', 'PublicController/index')->name('index'); //首页
+    Route::get('search/keyword', 'PublicController/search')->name('searchKeyword'); //热门搜索关键字获取
+    // 产品分类类
     Route::get('category', 'store.CategoryController/category')->name('category');
-    //产品类
-    Route::post('image_base64', 'PublicController/get_image_base64')->name('getImageBase64');// 获取图片base64
-    Route::get('product/detail/:id/[:type]', 'store.StoreProductController/detail')->name('detail');//产品详情
-    Route::get('groom/list/:type', 'store.StoreProductController/groom_list')->name('groomList');//获取首页推荐不同类型产品的轮播图和产品
-    Route::get('products', 'store.StoreProductController/lst')->name('products');//产品列表
-    Route::get('product/hot', 'store.StoreProductController/product_hot')->name('productHot');//为你推荐
-    Route::get('reply/list/:id', 'store.StoreProductController/reply_list')->name('replyList');//产品评价列表
-    Route::get('reply/config/:id', 'store.StoreProductController/reply_config')->name('replyConfig');//产品评价数量和好评度
-    //文章分类类
-    Route::get('article/category/list', 'publics.ArticleCategoryController/lst')->name('articleCategoryList');//文章分类列表
-    //文章类
-    Route::get('article/list/:cid', 'publics.ArticleController/lst')->name('articleList');//文章列表
-    Route::get('article/details/:id', 'publics.ArticleController/details')->name('articleDetails');//文章详情
-    Route::get('article/hot/list', 'publics.ArticleController/hot')->name('articleHotList');//文章 热门
-    Route::get('article/banner/list', 'publics.ArticleController/banner')->name('articleBannerList');//文章 banner
-    //活动---秒杀
-    Route::get('seckill/index', 'activity.StoreSeckillController/index')->name('seckillIndex');//秒杀产品时间区间
-    Route::get('seckill/list/:time', 'activity.StoreSeckillController/lst')->name('seckillList');//秒杀产品列表
-    Route::get('seckill/detail/:id/[:time]/[:status]', 'activity.StoreSeckillController/detail')->name('seckillDetail');//秒杀产品详情
-    //活动---砍价
-    Route::get('bargain/config', 'activity.StoreBargainController/config')->name('bargainConfig');//砍价产品列表配置
-    Route::get('bargain/list', 'activity.StoreBargainController/lst')->name('bargainList');//砍价产品列表
-    //活动---拼团
-    Route::get('combination/list', 'activity.StoreCombinationController/lst')->name('combinationList');//拼团产品列表
-    Route::get('combination/detail/:id', 'activity.StoreCombinationController/detail')->name('combinationDetail');//拼团产品详情
-    //用户类
-    Route::get('user/activity', 'user.UserController/activity')->name('userActivity');//活动状态
-
-    //微信
-    Route::get('wechat/config', 'wechat.WechatController/config')->name('wechatConfig');//微信 sdk 配置
-    Route::get('wechat/auth', 'wechat.WechatController/auth')->name('wechatAuth');//微信授权
+    // 产品类
+    Route::post('image_base64', 'PublicController/get_image_base64')->name('getImageBase64'); // 获取图片base64
+    Route::get('product/detail/:id/[:type]', 'store.StoreProductController/detail')->name('detail'); //产品详情
+    Route::get('groom/list/:type', 'store.StoreProductController/groom_list')->name('groomList'); //获取首页推荐不同类型产品的轮播图和产品
+    Route::get('products', 'store.StoreProductController/lst')->name('products'); //产品列表
+    Route::get('product/hot', 'store.StoreProductController/product_hot')->name('productHot'); //为你推荐
+    Route::get('reply/list/:id', 'store.StoreProductController/reply_list')->name('replyList'); //产品评价列表
+    Route::get('reply/config/:id', 'store.StoreProductController/reply_config')->name('replyConfig'); //产品评价数量和好评度
+    // 文章分类类
+    Route::get('article/category/list', 'publics.ArticleCategoryController/lst')->name('articleCategoryList'); //文章分类列表
+    // 文章类
+    Route::get('article/list/:cid', 'publics.ArticleController/lst')->name('articleList'); //文章列表
+    Route::get('article/details/:id', 'publics.ArticleController/details')->name('articleDetails'); //文章详情
+    Route::get('article/hot/list', 'publics.ArticleController/hot')->name('articleHotList'); //文章 热门
+    Route::get('article/banner/list', 'publics.ArticleController/banner')->name('articleBannerList'); //文章 banner
+    // 活动---秒杀
+    Route::get('seckill/index', 'activity.StoreSeckillController/index')->name('seckillIndex'); //秒杀产品时间区间
+    Route::get('seckill/list/:time', 'activity.StoreSeckillController/lst')->name('seckillList'); //秒杀产品列表
+    Route::get('seckill/detail/:id/[:time]/[:status]', 'activity.StoreSeckillController/detail')->name('seckillDetail'); //秒杀产品详情
+    // 活动---砍价
+    Route::get('bargain/config', 'activity.StoreBargainController/config')->name('bargainConfig'); //砍价产品列表配置
+    Route::get('bargain/list', 'activity.StoreBargainController/lst')->name('bargainList'); //砍价产品列表
+    // 活动---拼团
+    Route::get('combination/list', 'activity.StoreCombinationController/lst')->name('combinationList'); //拼团产品列表
+    Route::get('combination/detail/:id', 'activity.StoreCombinationController/detail')->name('combinationDetail'); //拼团产品详情
+    // 用户类
+    Route::get('user/activity', 'user.UserController/activity')->name('userActivity'); //活动状态
+
+    // 微信
+    Route::get('wechat/config', 'wechat.WechatController/config')->name('wechatConfig'); //微信 sdk 配置
+    Route::get('wechat/auth', 'wechat.WechatController/auth')->name('wechatAuth'); //微信授权
     Route::get('wechat/auth_app', 'wechat.WechatController/auth_app')->name('wechatAuthApp'); // 微信APP授权
 
-    //小程序登陆
+    // 小程序登陆
     Route::post('wechat/mp_auth_simple', 'wechat.AuthController/mp_auth_simple')->name('wechatAuthLogin'); // 只利用 code 登录
-    Route::post('wechat/mp_auth_with_userinfo', 'wechat.AuthController/mp_auth_with_userinfo')->name('wechatAuthWithUserinfo');// 提交用户资料注册或刷新
-    Route::post('wechat/mp_auth', 'wechat.AuthController/mp_auth')->name('mpAuth');//小程序登陆
-    Route::get('wechat/get_logo', 'wechat.AuthController/get_logo')->name('getLogo');//小程序登陆授权展示logo
-    Route::post('wechat/set_form_id', 'wechat.AuthController/set_form_id')->name('setFormId');//小程序登陆收集form id
-    Route::get('wechat/teml_ids', 'wechat.AuthController/teml_ids')->name('wechatTemlIds');//小程序订阅消息
-    Route::get('wechat/live', 'wechat.AuthController/live')->name('wechatLive');//小程序直播列表
+    Route::post('wechat/mp_auth_with_userinfo', 'wechat.AuthController/mp_auth_with_userinfo')->name('wechatAuthWithUserinfo'); // 提交用户资料注册或刷新
+    Route::post('wechat/mp_auth', 'wechat.AuthController/mp_auth')->name('mpAuth'); //小程序登陆
+    Route::get('wechat/get_logo', 'wechat.AuthController/get_logo')->name('getLogo'); //小程序登陆授权展示logo
+    Route::post('wechat/set_form_id', 'wechat.AuthController/set_form_id')->name('setFormId'); //小程序登陆收集form id
+    Route::get('wechat/teml_ids', 'wechat.AuthController/teml_ids')->name('wechatTemlIds'); //小程序订阅消息
+    Route::get('wechat/live', 'wechat.AuthController/live')->name('wechatLive'); //小程序直播列表
 
-    //物流公司
-    Route::get('logistics', 'PublicController/logistics')->name('logistics');//物流公司列表
+    // 物流公司
+    Route::get('logistics', 'PublicController/logistics')->name('logistics'); //物流公司列表
 
-    //分享配置
-    Route::get('share', 'PublicController/share')->name('share');//分享配置
+    // 分享配置
+    Route::get('share', 'PublicController/share')->name('share'); //分享配置
 
-    //优惠券
+    // 优惠券
     Route::get('coupons', 'store.StoreCouponsController/lst')->name('couponsList'); //可领取优惠券列表
 
-    //短信购买异步通知
+    // 短信购买异步通知
     Route::post('sms/pay/notify', 'PublicController/sms_pay_notify')->name('smsPayNotify'); //短信购买异步通知
 
-    //获取关注微信公众号海报
-    Route::get('wechat/follow','wechat.WechatController/follow')->name('Follow');
+    // 获取关注微信公众号海报
+    Route::get('wechat/follow', 'wechat.WechatController/follow')->name('Follow');
 
-    //门店列表
+    // 门店列表
     Route::get('store_list', 'PublicController/store_list')->name('storeList');
-    //获取城市列表
+    // 获取城市列表
     Route::get('city_list', 'PublicController/city_list')->name('cityList');
-    //拼团数据
+    // 拼团数据
     Route::get('pink', 'PublicController/pink')->name('pinkData');
-
-
 })->middleware(\app\http\middleware\AllowOriginMiddleware::class)->middleware(\app\http\middleware\AuthTokenMiddleware::class, false);
 
 
-Route::miss(function() {
-    if(app()->request->isOptions())
+Route::miss(function () {
+    if (app()->request->isOptions())
         return \think\Response::create('ok')->code(200)->header([
             'Access-Control-Allow-Origin'   => '*',
             'Access-Control-Allow-Headers'  => 'Authori-zation,Authorization, Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since, X-Requested-With',
@@ -281,4 +277,4 @@ Route::miss(function() {
         ]);
     else
         return \think\Response::create()->code(404);
-});
+});

+ 0 - 1
route/app.php

@@ -15,4 +15,3 @@ Route::get('think', function () {
 });
 
 Route::get('hello/:name', 'index/hello');
-

+ 0 - 1
tw/redis/TwRedis.php

@@ -38,7 +38,6 @@ class TwRedis {
     {
         if ( is_null(self::$inst) ) {
             $options = Config::get('redis', []);
-            print_r($options);
             self::$inst = new static($options);
         }
         return self::$inst;