Browse Source

'代理接入接口管理'

Ethan 6 years ago
parent
commit
ba2e761226

+ 142 - 0
app/Http/Controllers/Admin/GameUrlController.php

@@ -0,0 +1,142 @@
+<?php
+
+namespace App\Http\Controllers\Admin;
+
+use App\Http\Models\GameUrlData;
+use App\Models\GameUrl;
+use Illuminate\Http\Request;
+use App\Http\Controllers\PublicController;
+
+/**
+ * 游戏url及参数类
+ */
+class GameUrlController extends PublicController
+{
+
+
+    /**
+     * 视图加载
+     *
+     * @access public
+     * @return array
+     */
+    public function index()
+    {
+        return view('admin.gameUrl.index');
+
+    }//end index()
+
+
+    /**
+     * 数据获取
+     *
+     * @access public
+     * @param  mixed $request 参数.
+     * @return array
+     */
+    public function data(Request $request)
+    {
+        $gameUrlDataModel = new GameUrlData;
+        $getGameUrlWhere = [];
+        // 查询参数.
+        if (empty($request->get('gameUrl_name')) !== true) {
+            $getGameUrlWhere['gameUrl_name'] = $request->get('gameUrl_name');
+        }
+
+        // 查询数据.
+        $res = $gameUrlDataModel->getGameUrl($getGameUrlWhere, $request->get('limit', 30));
+        // 返回参数.
+        $data = [
+            'code'  => 0,
+            'msg'   => '正在请求中...',
+            'count' => $res['total'],
+            'data'  => $res['data'],
+        ];
+        return response()->json($data);
+
+    }//end data()
+
+
+    /**
+     * 视图加载
+     *
+     * @access public
+     * @return array
+     */
+    public function create()
+    {
+        return view('admin.gameUrl.create');
+
+    }//end create()
+
+
+    /**
+     * 添加数据
+     *
+     * @access public
+     * @param  mixed $request 参数.
+     * @return array
+     */
+    public function store(Request $request)
+    {
+        $data = $request->only(['gameUrl_name', 'gameUrl_type', 'gameUrl_url', 'gameUrl_data']);
+
+        if ( GameUrl::insert($data)) {
+            return redirect()->to(route('admin.gameUrl'))->with(['status'=>'添加成功']);
+        }
+        return redirect()->to(route('admin.gameUrl'))->withErrors('系统错误');
+
+    }//end store()
+
+
+    /**
+     * Show the form for editing the specified resource.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function edit($id)
+    {
+        $gameUrlModel = new GameUrl;
+        $gameUrl = $gameUrlModel->where(['gameUrl_id' => $id])->first();
+        return view('admin.gameUrl.edit',compact('gameUrl'));
+    }
+    /**
+     * Update the specified resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function update(Request $request)
+    {
+        $gameUrlModel = new GameUrl;
+        $gameUrl = $gameUrlModel->where(['gameUrl_id' => $request->get('gameUrl_id')]);
+        $data = $request->only(['gameUrl_name', 'gameUrl_type', 'gameUrl_url', 'gameUrl_data']);
+
+        if ($gameUrl->update($data)){
+            return redirect()->to(route('admin.gameUrl'))->with(['status'=>'更新成功']);
+        }
+        return redirect()->to(route('admin.gameUrl'))->withErrors('系统错误');
+    }
+
+
+    /**
+     * 删除
+     *
+     * @access public
+     * @param  mixed $request 参数.
+     * @return array
+     */
+    public function destroy(Request $request)
+    {
+        $ids = $request->get('ids');
+        if (empty($ids)){
+            return response()->json(['code'=>1,'msg'=>'请选择删除项']);
+        }
+        if (GameUrl::whereIn('id',$ids)->update(['status'=>0])){
+            return response()->json(['code'=>0,'msg'=>'删除成功']);
+        }
+        return response()->json(['code'=>1,'msg'=>'删除失败']);
+    }
+}

+ 42 - 0
app/Http/Models/GameUrlData.php

@@ -0,0 +1,42 @@
+<?php
+
+namespace App\Http\Models;
+
+use Illuminate\Database\Eloquent\Model;
+use \App\Models;
+
+/**
+ * 游戏url及参数模型类
+ */
+class GameUrlData extends Model
+{
+
+
+    /**
+     * 查询游戏url及参数
+     *
+     * @access public
+     * @param mixed $getGameUrlWhere 查询条件
+     * @param mixed $paginate 分页
+     * @return array
+     */
+    public function getGameUrl($getGameUrlWhere='', $paginate)
+    {
+        // 获取游戏地址数据.
+        $gameUrlModel = new Models\GameUrl;
+        $getGameUrl = $gameUrlModel;
+        if (empty($getGameUrlWhere) === false) {
+            $getGameUrl = $getGameUrl->where($getGameUrlWhere);
+        }
+
+        $getGameUrl = $getGameUrl
+            ->orderBy('gameUrl_id','desc')
+            ->paginate($paginate)
+            ->toArray();
+
+        return $getGameUrl;
+
+    }//end getGameUrl()
+
+
+}

+ 40 - 0
resources/views/admin/gameUrl/_form.blade.php

@@ -0,0 +1,40 @@
+{{csrf_field()}}
+<div class="layui-form-item">
+    <label for="" class="layui-form-label">游戏地址指向名</label>
+    <div class="layui-input-inline">
+        <input type="text" name="gameUrl_name" value="{{ $gameUrl->gameUrl_name ?? old('gameUrl_name') }}" lay-verify="required" placeholder="请输入游戏地址指向名" class="layui-input" >
+    </div>
+</div>
+
+<div class="layui-form-item">
+    <label for="" class="layui-form-label">游戏地址指向类型</label>
+    <div class="layui-input-inline">
+        <input type="text" name="gameUrl_type" value="{{$gameUrl->gameUrl_type??old('gameUrl_type')}}" required="required" placeholder="请输入游戏地址指向类型" class="layui-input">
+    </div>
+</div>
+
+<div class="layui-form-item">
+    <label for="" class="layui-form-label">游戏地址</label>
+    <div class="layui-input-inline">
+        <input type="text" name="gameUrl_url" value="{{ $gameUrl->gameUrl_url ?? old('gameUrl_url') }}" lay-verify="required"  placeholder="请输入游戏地址" class="layui-input" style="width: 600px">
+    </div>
+    <br/>
+    <div class="layui-form-mid layui-word-aux" style="padding: 20px 0 !important; margin-left: -200px;">实例:http://www.kaiyou.com/InApi-index/dobusiness</div>
+</div>
+
+<div class="layui-form-item">
+    <label for="" class="layui-form-label">所需参数</label>
+    <div class="layui-input-inline">
+        <input type="text" name="gameUrl_data" value="{{ $gameUrl->gameUrl_data ?? old('gameUrl_data') }}" lay-verify="required"  placeholder="请输入所需参数" class="layui-input" style="width: 750px">
+    </div>
+    <br/>
+    <div class="layui-form-mid layui-word-aux" style="padding: 20px 0 !important; margin-left: -200px;">实例:{"agent":"test1agent","method":"gb"}</div>
+</div>
+
+
+<div class="layui-form-item">
+    <div class="layui-input-block">
+        <button type="submit" class="layui-btn" lay-submit="" lay-filter="formDemo">确 认</button>
+        <a  class="layui-btn" href="{{route('admin.gameUrl')}}" >返 回</a>
+    </div>
+</div>

+ 69 - 0
resources/views/admin/gameUrl/_js.blade.php

@@ -0,0 +1,69 @@
+<style>
+    #layui-upload-box li{
+        width: 120px;
+        height: 100px;
+        float: left;
+        position: relative;
+        overflow: hidden;
+        margin-right: 10px;
+        border:1px solid #ddd;
+    }
+    #layui-upload-box li img{
+        width: 100%;
+    }
+    #layui-upload-box li p{
+        width: 100%;
+        height: 22px;
+        font-size: 12px;
+        position: absolute;
+        left: 0;
+        bottom: 0;
+        line-height: 22px;
+        text-align: center;
+        color: #fff;
+        background-color: #333;
+        opacity: 0.6;
+    }
+    #layui-upload-box li i{
+        display: block;
+        width: 20px;
+        height:20px;
+        position: absolute;
+        text-align: center;
+        top: 2px;
+        right:2px;
+        z-index:999;
+        cursor: pointer;
+    }
+</style>
+<script>
+    layui.use(['upload'],function () {
+        var upload = layui.upload
+        //普通图片上传
+        var uploadInst = upload.render({
+            elem: '#uploadPic'
+            ,url: '{{ route("admin.uploadImg") }}'
+            ,multiple: false
+            ,data:{"_token":"{{ csrf_token() }}"}
+            ,before: function(obj){
+                //预读本地文件示例,不支持ie8
+                /*obj.preview(function(index, file, result){
+                 $('#layui-upload-box').append('<li><img src="'+result+'" /><p>待上传</p></li>')
+                 });*/
+                obj.preview(function(index, file, result){
+                    $('#layui-upload-box').html('<li><img src="'+result+'" /><p>上传中</p></li>')
+                });
+
+            }
+            ,done: function(res){
+                //如果上传失败
+                if(res.code == 0){
+                    $("#iconUrl").val(res.url);
+                    $('#layui-upload-box li p').text('上传成功');
+                    return layer.msg(res.msg,{icon:6});
+                }
+                return layer.msg(res.msg,{icon:5});
+            }
+        });
+    });
+</script>

+ 18 - 0
resources/views/admin/gameUrl/create.blade.php

@@ -0,0 +1,18 @@
+@extends('admin.base')
+
+@section('content')
+    <div class="layui-card">
+        <div class="layui-card-header layuiadmin-card-header-auto">
+            <h2>添加数据</h2>
+        </div>
+        <div class="layui-card-body">
+            <form class="layui-form" action="{{route('admin.gameUrl.store')}}" method="post">
+                @include('admin.gameUrl._form')
+            </form>
+        </div>
+    </div>
+@endsection
+
+@section('script')
+    @include('admin.gameUrl._js')
+@endsection

+ 20 - 0
resources/views/admin/gameUrl/edit.blade.php

@@ -0,0 +1,20 @@
+@extends('admin.base')
+
+@section('content')
+    <div class="layui-card">
+        <div class="layui-card-header layuiadmin-card-header-auto">
+            <h2>更新</h2>
+        </div>
+        <div class="layui-card-body">
+            <form class="layui-form" action="{{route('admin.gameUrl.update',['gameUrl'=>$gameUrl])}}" method="post">
+                <input type="hidden" name="gameUrl_id" value="{{$gameUrl->gameUrl_id}}">
+                {{method_field('put')}}
+                @include('admin.gameUrl._form')
+            </form>
+        </div>
+    </div>
+@endsection
+
+@section('script')
+    @include('admin.gameUrl._js')
+@endsection

+ 128 - 0
resources/views/admin/gameUrl/index.blade.php

@@ -0,0 +1,128 @@
+@extends('admin.base')
+
+@section('content')
+    <div class="layui-card">
+        <div class="layui-card-header layuiadmin-card-header-auto">
+            <div class="layui-btn-group ">
+                {{--@can('config.gameUrl.destroy')
+                    <button class="layui-btn layui-btn-sm layui-btn-danger" id="listDelete">删除</button>
+                @endcan--}}
+                @can('config.gameUrl.create')
+                    <a class="layui-btn layui-btn-sm" href="{{ route('admin.gameUrl.create') }}">添加</a>
+                @endcan
+                <button class="layui-btn layui-btn-sm" id="memberSearch">搜索</button>
+            </div>
+            <div class="layui-form">
+
+                <div class="layui-input-inline">
+                    <input type="text" name="gameUrl_name" id="gameUrl_name" placeholder="名称" class="layui-input">
+                </div>
+
+            </div>
+        </div>
+
+        <div class="layui-card-body">
+            <table id="dataTable" lay-filter="dataTable"></table>
+            <script type="text/html" id="options">
+                <div class="layui-btn-group">
+                    @can('config.gameUrl.edit')
+                        <a class="layui-btn layui-btn-sm" lay-event="edit">编辑</a>
+                    @endcan
+                    {{--@can('config.gameUrl.destroy')
+                        <a class="layui-btn layui-btn-danger layui-btn-sm" lay-event="del">删除</a>
+                    @endcan--}}
+                </div>
+            </script>
+            {{--<script type="text/html" id="avatar">
+                <a href="@{{d.avatar}}" target="_blank" title="点击查看"><img src="@{{d.avatar}}" alt="" width="28" height="28"></a>
+            </script>--}}
+        </div>
+    </div>
+@endsection
+
+@section('script')
+    @can('config.gameUrl')
+        <script>
+            layui.use(['layer','table','form'],function () {
+                var layer = layui.layer;
+                var form = layui.form;
+                var table = layui.table;
+                //用户表格初始化
+                var dataTable = table.render({
+                    elem: '#dataTable'
+                    ,height: 500
+                    ,url: "{{ route('admin.gameUrl.data') }}" //数据接口
+                    ,where:{model:"gameUrl"}
+                    ,page: true //开启分页
+                    ,cols: [[ //表头
+                        {checkbox: true,fixed: true}
+                        ,{field: 'gameUrl_id', title: 'ID', sort: true,width:80}
+                        ,{field: 'gameUrl_name', title: '游戏地址指向名'}
+                        ,{field: 'gameUrl_type', title: '游戏地址指向类型'}
+                        ,{field: 'gameUrl_url', title: '游戏地址'}
+                        ,{field: 'gameUrl_data', title: '所需参数'}
+                        ,{field: 'created_at', title: '创建时间'}
+                        ,{field: 'updated_at', title: '更新时间'}
+
+                        ,{fixed: 'right', width: 120, align:'center', toolbar: '#options'}
+                    ]]
+                });
+
+                //监听工具条
+                table.on('tool(dataTable)', function(obj){ //注:tool是工具条事件名,dataTable是table原始容器的属性 lay-filter="对应的值"
+                    var data = obj.data //获得当前行数据
+                        ,layEvent = obj.event; //获得 lay-event 对应的值
+                    if(layEvent === 'del'){
+                        layer.confirm('确认删除吗?', function(index){
+                            $.post("{{ route('admin.gameUrl.destroy') }}",{_method:'delete',ids:[data.gameUrl_id]},function (result) {
+                                if (result.code==0){
+                                    obj.del(); //删除对应行(tr)的DOM结构
+                                }
+                                layer.close(index);
+                                layer.msg(result.msg)
+                            });
+                        });
+                    } else if(layEvent === 'edit'){
+                        location.href = '/admin/gameUrl/'+data.gameUrl_id+'/edit';
+                    }
+                });
+
+                //按钮批量删除
+                $("#listDelete").click(function () {
+                    var ids = []
+                    var hasCheck = table.checkStatus('dataTable')
+                    var hasCheckData = hasCheck.data
+                    if (hasCheckData.length>0){
+                        $.each(hasCheckData,function (index,element) {
+                            ids.push(element.gameUrl_id)
+                        })
+                    }
+                    if (ids.length>0){
+                        layer.confirm('确认删除吗?', function(index){
+                            $.post("{{ route('admin.gameUrl.destroy') }}",{_method:'delete',ids:ids},function (result) {
+                                if (result.code==0){
+                                    dataTable.reload()
+                                }
+                                layer.close(index);
+                                layer.msg(result.msg)
+                            });
+                        })
+                    }else {
+                        layer.msg('请选择删除项')
+                    }
+                })
+                //搜索
+                $("#memberSearch").click(function () {
+                    var gameUrl_name = $("#gameUrl_name").val();
+                    dataTable.reload({
+                        where:{gameUrl_name:gameUrl_name},
+                        page:{curr:1}
+                    })
+                })
+            })
+        </script>
+    @endcan
+@endsection
+
+
+

+ 17 - 0
routes/admin.php

@@ -170,6 +170,23 @@ Route::group(['namespace' => 'Admin', 'prefix' => 'admin', 'middleware' => ['aut
         Route::delete('gmenu/destroy', 'GmenuController@destroy')->name('admin.gmenu.destroy')->middleware('permission:config.gmenu.destroy');
 
 
+    });
+
+    //游戏导航菜单
+    Route::group(['middleware' => 'permission:config.gameUrl'], function () {
+
+        Route::get('gameUrl/data', 'GameUrlController@data')->name('admin.gameUrl.data');
+        Route::get('gameUrl', 'GameUrlController@index')->name('admin.gameUrl');
+        //添加
+        Route::get('gameUrl/create', 'GameUrlController@create')->name('admin.gameUrl.create')->middleware('permission:config.gameUrl.create');
+        Route::post('gameUrl/store', 'GameUrlController@store')->name('admin.gameUrl.store')->middleware('permission:config.gameUrl.create');
+        //编辑
+        Route::get('gameUrl/{id}/edit', 'GameUrlController@edit')->name('admin.gameUrl.edit')->middleware('permission:config.gameUrl.edit');
+        Route::put('gameUrl/update', 'GameUrlController@update')->name('admin.gameUrl.update')->middleware('permission:config.gameUrl.edit');
+        //删除
+        Route::delete('gameUrl/destroy', 'GameUrlController@destroy')->name('admin.gameUrl.destroy')->middleware('permission:config.gameUrl.destroy');
+
+
     });
 
     //广告位