更新代码
This commit is contained in:
120
app/Admin/Controllers/WechatController.php
Normal file
120
app/Admin/Controllers/WechatController.php
Normal file
@@ -0,0 +1,120 @@
|
||||
<?php
|
||||
|
||||
namespace App\Admin\Controllers;
|
||||
|
||||
use App\Models\WechatMenu;
|
||||
use Illuminate\Http\Request;
|
||||
use Validator;
|
||||
|
||||
class WechatController extends Controller
|
||||
{
|
||||
|
||||
public function menus(Request $request)
|
||||
{
|
||||
|
||||
$name = $request->name;
|
||||
|
||||
$menus = WechatMenu::when($name, function ($query) use ($name) {
|
||||
$query->where('name', 'like', "%{$name}%");
|
||||
})->orderBy('sort', 'asc')->get();
|
||||
$genMenus = WechatMenu::where('parent_id', 0)->orderBy('sort', 'asc')->get();
|
||||
return view('Admin::wechat.menus', compact('menus', 'genMenus'));
|
||||
}
|
||||
|
||||
/**
|
||||
* 发布菜单到微信
|
||||
* @Author:<C.Jason>
|
||||
* @Date:2018-11-15T16:05:55+0800
|
||||
* @return [type] [description]
|
||||
*/
|
||||
public function publish()
|
||||
{
|
||||
$buttons = WechatMenu::getPublishArray();
|
||||
|
||||
$app = app('wechat.official_account');
|
||||
$result = $app->menu->create($buttons);
|
||||
|
||||
if ($result->errcode == 0) {
|
||||
return $this->success();
|
||||
} else {
|
||||
return $this->error($result->errmsg);
|
||||
}
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
$topMenus = WechatMenu::where('parent_id', 0)->get();
|
||||
return view('Admin::wechat.create', compact('topMenus'));
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
$validator = Validator::make($request->all(), [
|
||||
'name' => 'required|min:2|max:5',
|
||||
'parent_id' => 'required',
|
||||
'type' => 'required|in:view,click,miniprogram',
|
||||
'value' => 'required',
|
||||
], [
|
||||
'name.required' => '菜单名称必须填写',
|
||||
'name.min' => '菜单名称最小:min位',
|
||||
'name.max' => '菜单名称最大:max位',
|
||||
'parent_id.required' => '上级菜单必须选择',
|
||||
'type.required' => '菜单类型必须选择',
|
||||
'type.in' => '菜单类型选择有误',
|
||||
'value.required' => '菜单键值必须填写',
|
||||
]);
|
||||
|
||||
if ($validator->fails()) {
|
||||
return $this->error($validator->errors()->first());
|
||||
}
|
||||
|
||||
if (WechatMenu::create($request->all())) {
|
||||
return $this->success('', 'close');
|
||||
} else {
|
||||
return $this->error();
|
||||
}
|
||||
}
|
||||
|
||||
public function edit(WechatMenu $menu)
|
||||
{
|
||||
$topMenus = WechatMenu::where('parent_id', 0)->where('id', '<>', $menu->id)->get();
|
||||
return view('Admin::wechat.edit', compact('topMenus', 'menu'));
|
||||
}
|
||||
|
||||
public function update(Request $request, WechatMenu $menu)
|
||||
{
|
||||
$validator = Validator::make($request->all(), [
|
||||
'name' => 'required|min:2|max:5',
|
||||
'parent_id' => 'required',
|
||||
'type' => 'required|in:view,click,miniprogram',
|
||||
'value' => 'required',
|
||||
], [
|
||||
'name.required' => '菜单名称必须填写',
|
||||
'name.min' => '菜单名称最小:min位',
|
||||
'name.max' => '菜单名称最大:max位',
|
||||
'parent_id.required' => '上级菜单必须选择',
|
||||
'type.required' => '菜单类型必须选择',
|
||||
'type.in' => '菜单类型选择有误',
|
||||
'value.required' => '菜单键值必须填写',
|
||||
]);
|
||||
|
||||
if ($validator->fails()) {
|
||||
return $this->error($validator->errors()->first());
|
||||
}
|
||||
|
||||
if ($menu->update($request->all())) {
|
||||
return $this->success('编辑成功', 'close');
|
||||
} else {
|
||||
return $this->error();
|
||||
}
|
||||
}
|
||||
|
||||
public function destroy(WechatMenu $menu)
|
||||
{
|
||||
if ($menu->delete()) {
|
||||
return $this->success();
|
||||
} else {
|
||||
return $this->error();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user