/** * 自定义创建菜单栏 * */ public function createMenusOp() { if (request()->isAjax() && request()->isPost()) { $openid = input('post.openid'); if ($openid == '') { return jsons(['status' => '0', 'msg' => '操作异常']); } $custom_menu = model('custom_menu')->where(['open_id' => $openid, 'parent_id' => '0'])->order('id abs')->select()->toArray(); $result = []; $param = model('parameter')->getval(); $this->grant = new grant($param->token, $param->encodingAesKey, $param->appid, $param->appsecret); $getctoken = model('parameter')->getctoken(); if ($getctoken['code'] == '0') { return jsons(['status' => '0', 'msg' => $getctoken['msg']]); } else { $component_access_token = $getctoken['component_access_token']; } $gettoken = $this->grant->gettoken($openid, $component_access_token, $this->userinfo['uid']); if ($gettoken['code'] == '0') { return jsons(['status' => '0', 'msg' => $gettoken['msg']]); } else { $access_token = $gettoken['access_token']; } $del = $this->grant->custommenu($access_token, '', 2); foreach ($custom_menu as $key => $value) { $data = model('custom_menu')->where(['open_id' => $openid, 'parent_id' => $value['id']])->select()->toArray(); if (empty($data)) { $submenu = model('submenu')->where(['open_id' => $openid, 'key' => $value['key']])->field('type,content,media_id')->find(); if ($submenu) { switch ($submenu['type']) { case 'view': $result['button'][$key]['name'] = $value['name']; $result['button'][$key]['type'] = $submenu['type']; $result['button'][$key]['url'] = $submenu['content']; break; case 'text': $result['button'][$key]['name'] = $value['name']; $result['button'][$key]['type'] = 'click'; $result['button'][$key]['key'] = $value['key']; break; case 'image': $result['button'][$key]['name'] = $value['name']; $result['button'][$key]['type'] = 'media_id'; $result['button'][$key]['media_id'] = $submenu['media_id']; break; case 'news': $submenu = model('management')->where(['open_id' => $openid, 'id' => $submenu['content']])->field('content,media_id')->find(); $result['button'][$key]['name'] = $value['name']; $result['button'][$key]['type'] = 'view_limited'; $result['button'][$key]['media_id'] = $submenu['media_id']; break; default: break; } } else { $result['button'][$key]['name'] = $value['name']; $result['button'][$key]['key'] = $value['key']; $result['button'][$key]['type'] = 'click'; } } else { $result['button'][]['name'] = $value['name']; foreach ($data as $k => $v) { $submenu = model('submenu')->where(['open_id' => $openid, 'key' => $v['key']])->field('type,content,media_id')->find(); if ($submenu) { switch ($submenu['type']) { case 'view': $result['button'][$key]['sub_button'][$k]['name'] = $v['name']; $result['button'][$key]['sub_button'][$k]['type'] = $submenu['type']; $result['button'][$key]['sub_button'][$k]['url'] = $submenu['content']; break; case 'text': $result['button'][$key]['sub_button'][$k]['name'] = $v['name']; $result['button'][$key]['sub_button'][$k]['type'] = 'click'; $result['button'][$key]['sub_button'][$k]['key'] = $v['key']; break; case 'image': $result['button'][$key]['sub_button'][$k]['name'] = $v['name']; $result['button'][$key]['sub_button'][$k]['type'] = 'media_id'; $result['button'][$key]['sub_button'][$k]['media_id'] = $submenu['media_id']; break; case 'news': $submenu = model('management')->where(['open_id' => $openid, 'id' => $submenu['content']])->field('content,media_id')->find(); $result['button'][$key]['sub_button'][$k]['name'] = $v['name']; $result['button'][$key]['sub_button'][$k]['type'] = 'view_limited'; $result['button'][$key]['sub_button'][$k]['media_id'] = $submenu['media_id']; break; default: break; } } } } } $dataType = json_decode($this->grant->custommenu($access_token, $result), true); if (!in_array('ok', $dataType)) { return jsons(['status' => '0', 'msg' => '保存失败']); } return jsons(['status' => '1', 'msg' => '保存成功']); } }
/** * 添加顶级菜单 */ public function addmenu_ziOp() { if (request()->isPost() && request()->isAjax()) { $open_id = input('open_id'); $menuName = input('menuName'); //菜单名字 if (strlen($menuName) > 16) { return jsons(['status' => '0', 'msg' => '菜单标题过长']); } $need = input('need'); //是否有子菜单 $parent_id = input('parent_id'); $key = input('name_key'); $order = input('order'); $type = 'click'; $id = model('wx_authorization_information')->where(['uid' => $this->userinfo['uid'], 'user_name' => $open_id])->value('id'); if ($id == '') { return jsons(['status' => '0', 'msg' => '参数异常']); } $customMenuId = model('custom_menu')->where(['uid' => $this->userinfo['uid'], 'open_id' => $open_id, 'key' => $key])->value('id'); if ($customMenuId == '') { $customMenu_array = [ 'uid' => $this->userinfo['uid'], 'name' => $menuName, 'type' => $type, 'open_id' => $open_id, 'parent_id' => '0', 'key' => $key, 'order_type' => $order, 'switch' => 9, ]; $customMenu = model('custom_menu')->allowField(true)->isUpdate(false)->save($customMenu_array); if ($customMenu === false) { return jsons(['status' => '0', 'msg' => '保存失败']); } } else { $customMenu_array = [ 'name' => $menuName, 'type' => $type, 'switch' => 9, ]; $customMenu = model('custom_menu')->allowField(true)->isUpdate(false)->save($customMenu_array, ['key' => $key]); if ($customMenu === false) { return jsons(['status' => '0', 'msg' => '保存失败']); } } $submenu = model('submenu')->where(['key' => $key])->field('id,type,media_id,content')->find(); if (!empty($submenu)) { if ($submenu['type'] == 'image') { $param = model('parameter')->getval(); $this->grant = new grant($param->token, $param->encodingAesKey, $param->appid, $param->appsecret); $getctoken = model('parameter')->getctoken(); if ($getctoken['code'] == '0') { return jsons(['status' => '0', 'msg' => $getctoken['msg']]); } else { $component_access_token = $getctoken['component_access_token']; } $gettoken = $this->grant->gettoken($open_id, $com
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交