WechatMenu.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. namespace app\controller\admin\wechat;
  3. use ln\basic\BaseController;
  4. use app\common\repositories\system\CacheRepository;
  5. use ln\services\WechatService;
  6. use Exception;
  7. use think\db\exception\DbException;
  8. /**
  9. * Class WechatMenu
  10. * @package app\controller\admin\wechat
  11. * @author zfy
  12. * @day 2020-04-24
  13. */
  14. class WechatMenu extends BaseController
  15. {
  16. /**
  17. * @param CacheRepository $repository
  18. * @return mixed
  19. * @author zfy
  20. * @day 2020-04-24
  21. */
  22. public function info(CacheRepository $repository)
  23. {
  24. return app('json')->success($repository->getResult('wechat_menus') ?? []);
  25. }
  26. /**
  27. * @param CacheRepository $repository
  28. * @return mixed
  29. * @throws DbException
  30. * @author zfy
  31. * @day 2020-04-24
  32. */
  33. public function save(CacheRepository $repository)
  34. {
  35. $buttons = (array)$this->request->param('button', []);
  36. if (!count($buttons)) return app('json')->fail('请添加至少一个按钮');
  37. try {
  38. WechatService::create()->getApplication()->menu->add($buttons);
  39. } catch (Exception $e) {
  40. return app('json')->fail('设置失败:' . $e->getMessage());
  41. }
  42. $repository->save('wechat_menus', $buttons);
  43. return app('json')->success('设置成功');
  44. }
  45. }