request->post(); util::fail('即将开通'); //删除原有菜单 xhWxMenuService::delMenuList($this->sjId); $date = date("Y-m-d H:i:s"); foreach ($menu as $key => $val) {//一级菜单数据整理 $parentOrder = $val['menuOrder']; $parentWxMenuOption = $val['menuOption']; $parentName = $val['name']; $addData = []; $addData['parentId'] = 0; $addData['sjId'] = $this->sjId; $addData['menuOrder'] = $parentOrder; $addData['menuOption'] = $parentWxMenuOption; $addData['hasSonMenu'] = isset($val['children']) && !empty($val['children']) ? 1 : 0; $addData['name'] = $parentName; $addData['menuKey'] = $this->sjId . '_' . $parentOrder; $addData['createTime'] = $date; $addData['replyType'] = $val['replyType']; $addData['replyUrl'] = $val['replyUrl']; if (!empty($wxMenuContent)) { $formatData = xhWxMenuService::getFormatData($wxMenuContent, $parentWxMenuOption, $this->sj); $addData = array_merge($addData, $formatData); } $return = xhWxMenuService::add($addData); $parentId = $return['id']; if (isset($val['children']) && !empty($val['children'])) { foreach ($val['children'] as $childKey => $childValue) { if (isset($childValue['menuOrder']) == false) { print_r($childValue); print_r($val); die; } $childOrder = $childValue['menuOrder']; $childWxMenuOption = $childValue['menuOption']; $childName = $childValue['name']; $addChildData = []; $addChildData['parentId'] = $parentId; $addChildData['sjId'] = $this->sjId; $addChildData['menuOrder'] = $childOrder; $addChildData['menuOption'] = $childWxMenuOption; $addChildData['name'] = $childName; $addChildData['menuKey'] = $this->sjId . '_' . $parentOrder . '_' . $childOrder; $addChildData['createTime'] = $date; $addChildData['replyType'] = $childValue['replyType']; $addChildData['replyUrl'] = $childValue['replyUrl']; if (!empty($wxMenuContent)) { $formatData = xhWxMenuService::getFormatData($wxMenuContent, $childWxMenuOption, $this->sj); $addChildData = array_merge($addChildData, $formatData); } xhWxMenuService::add($addChildData); } } } $wxMenu = xhWxMenuService::getMenuList($this->sjId); if (empty($wxMenu)) { util::fail('没有找到菜单'); } $replyType = dict::getDict('replyType'); $menuData = []; foreach ($wxMenu as $wxKey => $wxVal) { $child = $wxVal['child']; if (!empty($child)) { $menuData[$wxKey] = ['type' => 'view', 'name' => $wxVal['name']]; foreach ($child as $chKey => $chVal) { if ($chVal['replyType'] == $replyType['redirectUrl']) { $menuData[$wxKey]['sub_button'][$chKey] = ['type' => 'view', 'name' => $chVal['name'], 'url' => $chVal['replyUrl']]; } else { $menuData[$wxKey]['sub_button'][$chKey] = ['type' => 'click', 'name' => $chVal['name'], 'key' => $chVal['menuKey']]; } } } else { if ($wxVal['replyType'] == $replyType['redirectUrl']) { $menuData[$wxKey] = ['type' => 'view', 'name' => $wxVal['name'], 'url' => $wxVal['replyUrl']]; } else { $menuData[$wxKey] = ['type' => 'click', 'name' => $wxVal['name'], 'key' => $wxVal['menuKey']]; } } } $subData['button'] = $menuData; $wxUtil = new wxUtil($this->sj); $jsonData = $wxUtil->userMenuToWeiXin($subData); $respond = json_decode($jsonData, true); if ($respond['errcode'] == 0) { util::complete('提交成功,5分钟后生效'); } util::fail('提交失败'); } //微信菜单 ssh 2019.12.19 public function actionTree() { $list = WxMenuService::getMenuTree($this->sjId); util::success($list); } }