ChannelController.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. /**
  3. * @link:http://www.gdqijianshi.com/
  4. * @copyright: Copyright (c) 2020 广东七件事集团
  5. * 后台菜单-渠道管理
  6. * Author: lun
  7. * Date: 2021-09-17
  8. * Time: 16:12
  9. */
  10. namespace backend\modules\mall\controllers;
  11. use backend\controllers\MallController;
  12. use common\helpers\StringHelper;
  13. use common\models\mall\MallHost;
  14. use Yii;
  15. use yii\helpers\Json;
  16. class ChannelController extends MallController
  17. {
  18. public function actionIndex()
  19. {
  20. $request = Yii::$app->request;
  21. if ($request->isAjax) {
  22. if ($request->isGet) {
  23. // 获取配置信息
  24. $channel = Yii::$app->services->setting->mall->get($this->mall_id, 'channel');
  25. // 将json字符串转为数组
  26. if ($channel && StringHelper::isJson($channel['app'])) $channel['app'] = Json::decode($channel['app'], true);
  27. $web_url = MallHost::getHost($this->mall_id,'h5_url');
  28. $wx_url = Yii::$app->services->setting->platform->get('system.wx_url');
  29. $app_url = Yii::$app->services->setting->platform->get('system.app_url');
  30. $mini_app = Yii::$app->services->setting->platform->get('system.mini_app');
  31. $sign = $this->mall['mall_sign'];
  32. $data = [
  33. 'wechat' => ['backend_url' => 'mall/wechat/edit'],
  34. 'mini' => ['backend_url' => 'mall/mini-program/edit'],
  35. 'h5' => ['url' => $web_url .'/#/?sign=' . $sign],
  36. 'app' => $channel['app'] ?? [],
  37. 'wx_url' => $wx_url,
  38. 'app_url' => ['backend_url' => 'mall/app/version-list'],
  39. 'mini_app' => $mini_app,
  40. 'alipay_mini' => ['backend_url' => 'mall/alipay-mini/edit'],
  41. ];
  42. $data['app'] = $data['app'] ?: [];
  43. $this->success('获取成功', $data);
  44. } else {
  45. $params = Yii::$app->request->post();
  46. $res = Yii::$app->services->validate->validate($params, [[['app'], 'safe']]);
  47. if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
  48. Yii::$app->services->setting->mall->set($this->mall_id, ['channel' => $params]);
  49. $this->success('保存成功');
  50. }
  51. }
  52. return $this->render('index');
  53. }
  54. }