| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360 |
- <?php
- namespace backend\modules\mall\controllers;
- use backend\controllers\MallController;
- use common\enums\DiyEnum;
- use common\helpers\StringHelper;
- use common\models\diy\DiyPage;
- use common\models\mall\Poster;
- use Yii;
- use yii\helpers\Json;
- /**
- * 装修
- *
- * Class DecorateController
- * @package backend\modules\mall\DecorateController
- */
- class DecorateController extends MallController
- {
- /**
- * 底部导航
- * @return mixed|string|void
- */
- public function actionBottomNav()
- {
- if (Yii::$app->request->isAjax) {
- if (Yii::$app->request->isGet) {
- $detail = Yii::$app->services->setting->mall->get($this->mall_id, 'bottom_nav');
- $detail['navs'] = is_array($detail['navs']) ? $detail['navs'] : Json::decode($detail['navs']);
- // 获取装修首页内容,并强制初始化首页装修地址
- DiyPage::getHomePage($this->mall_id, $detail['navs'][0]);
- foreach ($detail['navs'] as $key => &$item) {
- if(!isset($item['is_show'])){
- $item['is_show'] = 1;
- }
- }
- $this->success('获取成功', compact('detail'));
- } else {
- $params = Yii::$app->request->post('form');
- $res = Yii::$app->services->validate->validate($params, [
- [['bottom_background_color', 'inactive_color', 'active_color'], 'required'],
- [['bottom_background_color'], 'string'],
- [['navs','recover_default'], 'safe']
- ]);
- if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
- if (empty($params['navs'])) $params['navs'] = [];
- if (!empty($params['recover_default'])) {// 恢复默认
- $params['navs'] = DiyEnum::DEFULT_BUTTOM_NAV;
- }
- unset($params['recover_default']);
- Yii::$app->services->setting->mall->set($this->mall_id, ['bottom_nav' => $params]);
- $this->success('保存成功');
- }
- }
- return $this->render($this->action->id);
- }
- /**
- * 悬浮按钮
- * @return string
- */
- public function actionFloatButton()
- {
- if (Yii::$app->request->isAjax) {
- if (Yii::$app->request->isGet) {
- $detail = Yii::$app->services->setting->mall->get($this->mall_id, 'float_button');
- if (empty($detail)) $this->success('暂未配置', []);
- $this->success('获取成功', $detail);
- } else {
- $params = Yii::$app->request->post('ruleForm');
- $res = Yii::$app->services->validate->validate($params, [
- [['is_quick_navigation', 'quick_navigation_style', 'is_customer_services', 'is_show_scroll_top',
- 'quick_navigation_opened_pic', 'quick_navigation_closed_pic', 'customer_services_pic'], 'required'],
- [['is_quick_navigation', 'quick_navigation_style', 'is_customer_services', 'is_show_scroll_top'], 'integer'],
- [['quick_navigation_opened_pic', 'quick_navigation_closed_pic', 'customer_services_pic'], 'string'],
- ]);
- if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
- Yii::$app->services->setting->mall->set($this->mall_id, ['float_button' => $params]);
- $this->success('保存成功');
- }
- }
- return $this->render($this->action->id);
- }
- /**
- * 商品海报
- * @return string
- */
- public function actionPoster()
- {
- if (Yii::$app->request->isAjax) {
- if (Yii::$app->request->isGet) {
- $poster = Yii::$app->services->setting->mall->get($this->mall_id, 'poster');
- // 无海报数据则获取默认参数
- if (empty($poster)) {
- $poster = Poster::getDefaultPoster();
- } else {
- foreach ($poster as &$item) {
- if (!is_array($item)) $item = Json::decode($item, true);
- }
- }
- $this->success('获取成功', $poster);
- } else {
- $params = Yii::$app->request->post('form');
- $res = Yii::$app->services->validate->validate($params, [
- [['share', 'goods', 'topic', 'footprint'], 'required'],
- ]);
- if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
- Yii::$app->services->setting->mall->set($this->mall_id, ['poster' => $params]);
- $this->success('保存成功');
- }
- }
- return $this->render($this->action->id);
- }
- /**
- * 全局设置
- * @return mixed|string|void
- */
- public function actionSetting()
- {
- $request = Yii::$app->request;
- if ($request->isAjax) {
- if ($request->isGet) {
- $detail = Yii::$app->services->setting->mall->get($this->mall_id, 'decorate_setting');
- if (empty($detail)) $this->success('暂未配置', []);
- $this->success('获取成功', $detail);
- } else {
- $params = Yii::$app->request->post('form');
- $res = Yii::$app->services->validate->validate($params, [
- [['global_text_color'], 'required'],
- [['global_text_color'], 'string'],
- [['global_goods_need'], 'required'],
- [['global_goods_need'], 'number'],
- ]);
- if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
- Yii::$app->services->setting->mall->set($this->mall_id, ['decorate_setting' => $params]);
- $this->success('保存成功');
- }
- }
- return $this->render($this->action->id);
- }
- /**
- * 全局设置
- * @return mixed|string|void
- */
- public function actionUserCenter()
- {
- $request = Yii::$app->request;
- if ($request->isAjax) {
- if ($request->isGet) {
- $detail = Yii::$app->services->setting->mall->get($this->mall_id, 'decorate_user_center', true);
- if (empty($detail)) {
- $detail = self::getUserCenterDefault();
- } else {
- foreach ($detail as &$item) {
- if (StringHelper::isJson($item)) $item = Json::decode($item);
- }
- }
- // 我的资产-自定义货币获取(货币模块功能需要优化所以此代码暂时未写)
- $this->success('获取成功', $detail);
- } else {
- $params = Yii::$app->request->post('form');
- $res = Yii::$app->services->validate->validate($params, [
- [['is_account_status', 'is_show_user_tool', 'user_tool_menu_title', 'user_tool_menu_style', 'is_menu_status',
- 'menu_title', 'is_order_bar_status', 'is_foot_bar_status', 'menu_style', 'top_style', 'account_show_type',
- 'top_pic_url', 'member_pic_url', 'member_bg_pic_url', 'style_bg_pic_url', 'is_assets_bar_status', 'account',
- 'order_bar', 'foot_bar', 'account_bar', 'assets_bar'], 'required'],
- [['is_account_status', 'is_show_user_tool', 'user_tool_menu_style', 'is_menu_status', 'is_order_bar_status',
- 'is_foot_bar_status', 'menu_style', 'top_style', 'account_show_type', 'is_assets_bar_status'], 'integer'],
- [['user_tool_menu_title', 'menu_title', 'top_pic_url', 'member_pic_url', 'member_bg_pic_url', 'style_bg_pic_url',
- 'account', 'order_bar', 'foot_bar', 'account_bar', 'assets_bar'], 'string'],
- [['menus','user_tool_menus'], 'safe'],
- ]);
- if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
- Yii::$app->services->setting->mall->set($this->mall_id, ['decorate_user_center' => $params]);
- $this->success('保存成功');
- }
- }
- return $this->render($this->action->id);
- }
- /**
- * 用户中心恢复默认
- */
- public function actionUserCenterRestore()
- {
- $request = Yii::$app->request;
- if ($request->isAjax) {
- if ($request->isPost) {
- Yii::$app->services->setting->mall->set($this->mall_id, ['decorate_user_center' => self::getUserCenterDefault()]);
- $this->success('保存成功');
- }
- }
- }
- /**
- * 用户中心默认值
- * @return array
- */
- public static function getUserCenterDefault()
- {
- $base_url = \Yii::$app->request->hostInfo . \Yii::$app->request->baseUrl;
- $iconUrlPrefix = $base_url . '/resources/img/mall/user-center/';
- return [
- 'is_account_status' => '1',
- 'is_show_user_tool' => '1',
- 'user_tool_menu_title' => '我的功能',
- 'user_tool_menu_style' => '1',
- 'is_menu_status' => '1',
- 'menu_title' => '营销功能',
- 'is_order_bar_status' => '1',
- 'is_foot_bar_status' => '1',
- 'menu_style' => '1',
- 'top_style' => '1',
- 'account_show_type' => '1',
- 'top_pic_url' => $iconUrlPrefix . 'img-user-bg.png',
- 'member_pic_url' => $base_url . '/resources/img/common/default_avatar_url.png',
- 'member_bg_pic_url' => $iconUrlPrefix . 'card-member-0.png',
- 'style_bg_pic_url' => $iconUrlPrefix . 'img-user-bg.png',
- 'is_assets_bar_status' => '1',
- 'account' => [ // TODO 好像是废弃不用了
- [
- 'icon_url' => $iconUrlPrefix . 'icon-wallet.png',
- 'name' => '我的钱包',
- ],
- [
- 'icon_url' => $iconUrlPrefix . 'icon-integral.png',
- 'name' => '积分',
- ],
- [
- 'icon_url' => $iconUrlPrefix . 'icon-balance.png',
- 'name' => '余额',
- ],
- ],
- 'menus' => [],
- 'user_tool_menus' => [],
- 'order_bar' => [
- [
- 'icon_url' => $iconUrlPrefix . 'icon-order-0.png',
- 'name' => '待付款',
- ],
- [
- 'icon_url' => $iconUrlPrefix . 'icon-order-1.png',
- 'name' => '待发货',
- ],
- [
- 'icon_url' => $iconUrlPrefix . 'icon-order-2.png',
- 'name' => '待收货',
- ],
- [
- 'icon_url' => $iconUrlPrefix . 'icon-order-3.png',
- 'name' => '待评价',
- ],
- [
- 'icon_url' => $iconUrlPrefix . 'icon-order-4.png',
- 'name' => '售后',
- ],
- ],
- 'foot_bar' => [
- [
- 'icon_url' => $iconUrlPrefix . 'favorite.png',
- 'name' => '我的收藏',
- ],
- [
- 'icon_url' => $iconUrlPrefix . 'foot.png',
- 'name' => '我的足迹',
- ],
- ],
- 'account_bar' => [
- 'status' => '1',
- 'integral' => [
- 'status' => '1',
- 'text' => '积分',
- 'icon' => $iconUrlPrefix . 'icon-integral.png',
- ],
- 'balance' => [
- 'status' => '1',
- 'text' => '余额',
- 'icon' => $iconUrlPrefix . 'icon-balance.png',
- ],
- 'coupon' => [
- 'status' => '1',
- 'text' => '优惠券',
- 'icon' => $iconUrlPrefix . 'icon-coupon.png',
- ],
- 'card' => [
- 'status' => '1',
- 'text' => '卡券',
- 'icon' => $iconUrlPrefix . 'icon-card.png',
- ],
- ],
- 'assets_bar' => [
- [
- 'icon_url' => $iconUrlPrefix . 'icon-balance.png',
- 'link_url' => '/pages/user/balance/details',
- 'name' => '余额',
- 'open_type' => 'navigate',
- 'status' => '1',
- 'sort' => '1',
- 'code' => 'balance'
- ],
- [
- 'icon_url' => $iconUrlPrefix . 'icon-integral.png',
- 'link_url' => '/pages/user/score/details',
- 'name' => '积分',
- 'open_type' => 'navigate',
- 'status' => '1',
- 'sort' => '2',
- 'code' => 'score'
- ],
- [
- 'icon_url' => $iconUrlPrefix . 'icon-card.png',
- 'link_url' => '/mch/e_coupon/list',
- 'name' => '电子券',
- 'open_type' => 'navigate',
- 'status' => '1',
- 'sort' => '3',
- 'code' => 'e_coupon'
- ],
- [
- 'icon_url' => $iconUrlPrefix . 'icon-coupon.png',
- 'link_url' => '/pages/user/coupon/coupon',
- 'name' => '优惠券',
- 'open_type' => 'navigate',
- 'status' => '1',
- 'sort' => '4',
- 'code' => 'coupon'
- ],
- ],
- ];
- }
- }
|