Explorar o código

1.修正创建有赞云支付单失败问题
2.界面优化
3.防跨站

bingo %!s(int64=8) %!d(string=hai) anos
pai
achega
35bd20d234

+ 14 - 4
app/Http/Controllers/PaymentController.php

@@ -29,20 +29,30 @@ class PaymentController extends Controller
     private function getAccessToken()
     {
         if (Cache::has('YZY_TOKEN')) {
-            return Cache::get('YZY_TOKEN')['access_token'];
+            $yzyToken = Cache::get('YZY_TOKEN');
+            if (isset($yzyToken['error'])) { // 错误兼容
+                Cache::forget('YZY_TOKEN');
+            } else {
+                return Cache::get('YZY_TOKEN')['access_token'];
+            }
         }
 
         $clientId = self::$config['youzan_client_id'];
         $clientSecret = self::$config['youzan_client_secret'];
-
         $type = 'self';
         $keys['kdt_id'] = self::$config['kdt_id'];
 
         $token = (new \Youzan\Open\Token($clientId, $clientSecret))->getToken($type, $keys);
 
-        Cache::put('YZY_TOKEN', $token, 10000);
+        if (isset($token['error'])) {
+            Log::info('获取有赞云支付access_token失败:' . $token['error_description']);
 
-        return $token['access_token'];
+            return '';
+        } else {
+            Cache::put('YZY_TOKEN', $token, 10000);
+
+            return $token['access_token'];
+        }
     }
 
     // 创建支付单

+ 11 - 1
app/Http/Controllers/UserController.php

@@ -187,6 +187,12 @@ class UserController extends Controller
 
             // 修改联系方式
             if ($wechat || $qq) {
+                if (empty(clean($wechat)) && empty(clean($qq))) {
+                    $request->session()->flash('errorMsg', '修改失败');
+
+                    return Redirect::to('user/profile#tab_2');
+                }
+
                 $ret = User::query()->where('id', $user['id'])->update(['wechat' => $wechat, 'qq' => $qq]);
                 if (!$ret) {
                     $request->session()->flash('errorMsg', '修改失败');
@@ -323,11 +329,15 @@ class UserController extends Controller
     // 添加工单
     public function addTicket(Request $request)
     {
-        $title = $request->get('title');
+        $title = clean($request->get('title'));
         $content = clean($request->get('content'));
 
         $user = $request->session()->get('user');
 
+        if (empty($title) || empty($content)) {
+            return Response::json(['status' => 'fail', 'data' => '', 'message' => '请输入标题和内容']);
+        }
+
         $obj = new Ticket();
         $obj->user_id = $user['id'];
         $obj->title = $title;

+ 2 - 0
resources/lang/en/home.php

@@ -38,6 +38,7 @@ return [
     'service_title' => 'Services',
     'service_name' => 'Service',
     'service_desc' => 'Description',
+    'service_type' => 'Type',
     'service_price' => 'Sales Price',
     'service_quantity' => 'Quantity',
     'service_subtotal_price' => 'Subtotal Price',
@@ -74,6 +75,7 @@ return [
 
     // 单据
     'invoice_title' => 'My Invoices',
+    'invoice_table_id' => 'No.',
     'invoice_table_name' => 'Service',
     'invoice_table_price' => 'Amount',
     'invoice_table_create_date' => 'Created On',

+ 2 - 0
resources/lang/zh-CN/home.php

@@ -38,6 +38,7 @@ return [
     'service_title' => '购买服务',
     'service_name' => '服务',
     'service_desc' => '描述',
+    'service_type' => '类型',
     'service_price' => '售价',
     'service_quantity' => '数量',
     'service_subtotal_price' => '小计',
@@ -74,6 +75,7 @@ return [
 
     // 单据
     'invoice_title' => '消费记录',
+    'invoice_table_id' => '编号',
     'invoice_table_name' => '服务',
     'invoice_table_price' => '金额',
     'invoice_table_create_date' => '购买日期',

+ 3 - 1
resources/views/payment/detail.blade.php

@@ -31,7 +31,9 @@
                                 </tr>
                                 <tr>
                                     <td colspan="2">
-                                        请于15分钟内支付,到期未支付订单将自动关闭
+                                        长按下图并点击弹出的“识别图中二维码”进行付款
+                                        <br>
+                                        请于10分钟内支付,到期未支付订单将自动关闭
                                     </td>
                                 </tr>
                                 <tr>

+ 2 - 2
resources/views/user/addOrder.blade.php

@@ -58,9 +58,9 @@
             <div class="row">
                 <div class="col-xs-12" style="text-align: right;">
                     @if($is_youzan)
-                        <a class="btn btn red hidden-print" onclick="onlinePay()"> 在线支付 </a>
+                        <a class="btn btn-lg red hidden-print" onclick="onlinePay()"> 在线支付 </a>
                     @endif
-                    <a class="btn btn blue hidden-print uppercase" onclick="pay()"> {{trans('home.service_pay_button')}} </a>
+                    <a class="btn btn-lg blue hidden-print uppercase" onclick="pay()"> {{trans('home.service_pay_button')}} </a>
                 </div>
             </div>
         </div>

+ 5 - 1
resources/views/user/goodsList.blade.php

@@ -24,6 +24,8 @@
                                 <thead>
                                 <tr>
                                     <th style="width:35%;"> {{trans('home.service_name')}} </th>
+                                    <th style="text-align: center;"> {{trans('home.service_desc')}} </th>
+                                    <th style="text-align: center;"> {{trans('home.service_type')}} </th>
                                     <th style="text-align: center;"> {{trans('home.service_price')}} </th>
                                     <th> </th>
                                 </tr>
@@ -44,9 +46,11 @@
                                                 <br>
                                                 {{trans('home.service_days')}}:{{$goods->days}} {{trans('home.day')}}
                                             </td>
+                                            <td style="text-align: center;"> {{$goods->description}} </td>
+                                            <td style="text-align: center;"> {{$goods->type == '1' ? '流量包' : '套餐'}} </td>
                                             <td style="text-align: center;"> ¥{{$goods->price}} </td>
                                             <td style="text-align: center;">
-                                                <a href="javascript:buy('{{$goods->id}}');" class="btn btn-sm blue"> {{trans('home.service_buy_button')}} </a>
+                                                <a href="javascript:buy('{{$goods->id}}');" class="btn blue"> {{trans('home.service_buy_button')}} </a>
                                                 <!--<button type="button" class="btn btn-sm blue btn-outline" onclick="exchange('{{$goods->id}}')">兑换</button>-->
                                             </td>
                                         </tr>

+ 2 - 2
resources/views/user/index.blade.php

@@ -31,9 +31,9 @@
         @endif
         <div class="row">
             <div class="col-md-8">
-                <div class="well">
+                <div class="well" style="background-color: #FFF;">
                     {{trans('home.ratio_tips')}}
-                    <button class="btn btn-sm blue" onclick="subscribe()"> {{trans('home.subscribe_button')}} </button>
+                    <button class="btn btn-sm red" onclick="subscribe()"> {{trans('home.subscribe_button')}} </button>
                 </div>
                 <div class="row widget-row">
                     @if(!$nodeList->isEmpty())

+ 3 - 1
resources/views/user/orderList.blade.php

@@ -23,7 +23,8 @@
                             <table class="table table-hover table-light table-checkable order-column">
                                 <thead>
                                     <tr>
-                                        <th style="width:20%;"> 编号 </th>
+                                        <th> # </th>
+                                        <th> {{trans('home.invoice_table_id')}} </th>
                                         <th> {{trans('home.invoice_table_name')}} </th>
                                         <th> {{trans('home.invoice_table_price')}} </th>
                                         <th> {{trans('home.invoice_table_create_date')}} </th>
@@ -38,6 +39,7 @@
                                 @else
                                     @foreach($orderList as $key => $order)
                                         <tr class="odd gradeX">
+                                            <td>{{$key + 1}}</td>
                                             <td>{{$order->orderId}}</td>
                                             <td>{{empty($order->goods) ? '【商品已删除】' : $order->goods->name}}</td>
                                             <td>¥{{$order->totalPrice}}</td>