SettingController.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace addons\Material\backend\controllers;
  3. use addons\Xhs\common\enums\XhsEnum;
  4. use common\enums\StatusEnum;
  5. use common\models\common\PlatformSetting;
  6. use Yii;
  7. use common\controllers\AddonsController;
  8. use addons\Material\common\enums\MaterialEnum;
  9. use common\models\user\UserLevel;
  10. /**
  11. * 默认控制器
  12. *
  13. * Class DefaultController
  14. * @package addons\Material\backend\controllers
  15. */
  16. class SettingController extends BaseController
  17. {
  18. public $enableCsrfValidation = false;
  19. /**
  20. * 首页
  21. *
  22. * @return string
  23. */
  24. public function actionIndex()
  25. {
  26. $retuest = Yii::$app->request;
  27. if ($retuest->isAjax) {
  28. if ($retuest->isPost) {
  29. $params = Yii::$app->request->post();
  30. $res = Yii::$app->services->validate->validate($params,[
  31. [['material_link','is_audit','is_filter','user_name', 'user_avatar_url'], 'string'],
  32. [['user_level_limit','download_slogans','is_show_download','download_type','share_style', 'is_show_mall_bottom_nav'],'safe']
  33. ]);
  34. if($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
  35. if($params['user_level_limit']) $params['user_level_limit'] = implode(',',$params['user_level_limit']);
  36. // 保存配置
  37. $config = Yii::$app->services->setting->addons->set($this->mall_id, MaterialEnum::ADDONS_NAME, ['basic' => $params]);
  38. $this->success('保存成功', $config);
  39. } else {
  40. // 获取配置
  41. $Platform_config = PlatformSetting::getConfByGroup( 'system', true);
  42. $user_level_list = UserLevel::getUserLevel([['mall_id' => $this->mall_id, 'status' => StatusEnum::ENABLED]], [], 1,'level,name,id');
  43. $default['level'] = 0;
  44. $default['name'] = '系统默认用户权重';
  45. $default['id'] = 0;
  46. array_unshift($user_level_list,$default);
  47. $config = Yii::$app->services->setting->addons->get($this->mall_id, MaterialEnum::ADDONS_NAME, 'basic');
  48. $config['web_url'] = $Platform_config['h5_url']['value'];
  49. $config['mall_sign'] = $this->mall['mall_sign'];
  50. if(!isset($config['download_slogans'])) $config['download_slogans'] = '';
  51. $this->success('获取成功', compact('config', 'user_level_list'));
  52. }
  53. }
  54. return $this->render($this->action->id);
  55. }
  56. }