| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- <?php
- namespace ghs\controllers;
- use bizHd\wx\services\WxMenuService;
- use common\components\dict;
- use common\components\util;
- use common\components\wxUtil;
- use common\services\xhWxMenuService;
- use Yii;
- class WxMenuController extends BaseController
- {
-
- //更新菜单
- public function actionUpdate()
- {
- $menu = Yii::$app->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);
- }
-
- }
|