Переглянути джерело

用户节点订阅地址启用禁用

bingo 8 роки тому
батько
коміт
7ec2501a9d

+ 14 - 0
app/Http/Controllers/AdminController.php

@@ -694,6 +694,20 @@ class AdminController extends BaseController
         return Response::view('admin/subscribeLog', $view);
     }
 
+    public function setSubscribeStatus(Request $request)
+    {
+        $id = $request->get('id');
+        $status = $request->get('status', 0);
+
+        if (empty($id)) {
+            return Response::json(['status' => 'fail', 'data' => '', 'message' => '操作异常']);
+        }
+
+        UserSubscribe::where('id', $id)->update(['status' => $status]);
+
+        return Response::json(['status' => 'success', 'data' => '', 'message' => '操作成功']);
+    }
+
     // 格式转换(SS转SSR)
     public function convert(Request $request)
     {

+ 3 - 3
app/Http/Controllers/SubscribeController.php

@@ -36,14 +36,14 @@ class SubscribeController extends BaseController
         }
 
         // 校验合法性
-        $subscribe = UserSubscribe::where('code', $code)->with('user')->first();
+        $subscribe = UserSubscribe::where('code', $code)->where('status', 1)->with('user')->first();
         if (empty($subscribe)) {
-            exit('非法请求');
+            exit('非法请求或者被禁用,请联系管理员');
         }
 
         $user = User::where('id', $subscribe->user_id)->whereIn('status', [0, 1])->where('enable', 1)->first();
         if (empty($user)) {
-            exit('非法请求');
+            exit('非法请求或者被禁用,请联系管理员');
         }
 
         // 更新访问次数

+ 3 - 3
config/database.php

@@ -43,9 +43,9 @@ return [
             'driver' => 'mysql',
             'host' => '127.0.0.1',
             'port' => '3306',
-            'database' => '2',
-            'username' => 'root',
-            'password' => 'root',
+            'database' => 'ssrpanel',
+            'username' => 'mysql_username',
+            'password' => 'mysql_password',
             'unix_socket' => '',
             'charset' => 'utf8mb4',
             'collation' => 'utf8mb4_unicode_ci',

+ 22 - 2
resources/views/admin/subscribeLog.blade.php

@@ -53,12 +53,13 @@
                                     <th> 请求次数 </th>
                                     <th> 最后请求时间 </th>
                                     <th> 异常 </th>
+                                    <th> 操作 </th>
                                 </tr>
                                 </thead>
                                 <tbody>
                                     @if($subscribeList->isEmpty())
                                         <tr>
-                                            <td colspan="6">暂无数据</td>
+                                            <td colspan="7">暂无数据</td>
                                         </tr>
                                     @else
                                         @foreach($subscribeList as $subscribe)
@@ -70,7 +71,15 @@
                                                 <td> {{$subscribe->updated_at}} </td>
                                                 <td>
                                                     @if($subscribe->isWarning)
-                                                        <div class="label label-danger">异常</div>
+                                                        <div class="label label-danger">可能公开</div>
+                                                    @endif
+                                                </td>
+                                                <td>
+                                                    @if($subscribe->status == 0)
+                                                        <button type="button" class="btn btn-sm green btn-outline" onclick="set_status('{{$subscribe->id}}', 1)">启用</button>
+                                                    @endif
+                                                    @if($subscribe->status == 1)
+                                                        <button type="button" class="btn btn-sm red btn-outline" onclick="set_status('{{$subscribe->id}}', 0)">禁用</button>
                                                     @endif
                                                 </td>
                                             </tr>
@@ -99,6 +108,8 @@
     <!-- END CONTENT BODY -->
 @endsection
 @section('script')
+    <script src="/js/layer/layer.js" type="text/javascript"></script>
+
     <script type="text/javascript">
         // 搜索
         function do_search() {
@@ -112,5 +123,14 @@
         function do_reset() {
             window.location.href = '{{url('admin/subscribeLog')}}';
         }
+
+        // 启用禁用用户的订阅
+        function set_status(id, status) {
+            $.post("{{url('admin/setSubscribeStatus')}}", {_token:'{{csrf_token()}}', id:id, status:status}, function(ret) {
+                layer.msg(ret.message, {time:1000}, function() {
+                    window.location.reload();
+                });
+            });
+        }
     </script>
 @endsection

+ 1 - 0
routes/web.php

@@ -41,6 +41,7 @@ Route::group(['middleware' => ['user', 'admin']], function() {
     Route::post('admin/setDefaultConfig', 'AdminController@setDefaultConfig'); // 设置默认配置
     Route::get('admin/trafficLog', 'AdminController@trafficLog'); // 流量日志
     Route::get('admin/subscribeLog', 'AdminController@subscribeLog'); // 订阅请求日志
+    Route::post('admin/setSubscribeStatus', 'AdminController@setSubscribeStatus'); // 启用禁用用户的订阅
     Route::any('admin/export', 'AdminController@export'); // 导出配置信息
     Route::any('admin/convert', 'AdminController@convert'); // 格式转换
     Route::any('admin/import', 'AdminController@import'); // 数据导入

+ 1 - 0
sql/db.sql

@@ -529,6 +529,7 @@ CREATE TABLE `user_subscribe` (
   `user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户ID',
   `code` varchar(255) DEFAULT '' COMMENT '订阅地址唯一识别码',
   `times` int(11) NOT NULL DEFAULT '0' COMMENT '地址请求次数',
+  `status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态:0-禁用、1-启用',
   `created_at` datetime DEFAULT NULL COMMENT '创建时间',
   `updated_at` datetime DEFAULT NULL COMMENT '最后更新时间',
   PRIMARY KEY (`id`)

+ 0 - 3
sql/update/20171019.sql

@@ -1,5 +1,2 @@
 ALTER TABLE `user_subscribe_log`
 ADD COLUMN `request_header` text COMMENT '请求头部信息' AFTER `request_time`;
-
-ALTER TABLE `user_subscribe`
-ADD COLUMN `updated_at` datetime DEFAULT NULL COMMENT '最后更新时间' AFTER `created_at`;

+ 7 - 0
sql/update/20171020.sql

@@ -0,0 +1,7 @@
+ALTER TABLE `user_subscribe`
+ADD COLUMN `updated_at` datetime DEFAULT NULL COMMENT '最后更新时间' AFTER `created_at`;
+
+ALTER TABLE `user_subscribe`
+ADD COLUMN `status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态:0-禁用、1-启用' AFTER `times`;
+
+INSERT INTO `config` VALUES ('29', 'subscribe_max', 3);