From c7ae2d9b260ea4131850ce7a00599d7b51b5572f Mon Sep 17 00:00:00 2001 From: jianyan74 Date: Mon, 11 Mar 2019 09:03:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC=E5=88=B02.?= =?UTF-8?q?2.32=20=E5=85=B7=E4=BD=93=E6=9B=B4=E6=96=B0=E5=86=85=E5=AE=B9?= =?UTF-8?q?=E7=9C=8B=E6=9B=B4=E6=96=B0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/config/params.php | 5 +- api/controllers/ActiveController.php | 5 +- .../v1/controllers/MiniProgramController.php | 2 +- .../v1/controllers/member/InfoController.php | 2 +- backend/assets/AppAsset.php | 2 +- backend/config/main.php | 7 +- backend/config/params.php | 11 +- backend/controllers/AddonsController.php | 40 +- backend/controllers/MController.php | 29 +- backend/modules/member/Module.php | 1 + backend/modules/member/views/auth/edit.php | 15 +- .../modules/member/views/member/ajax-edit.php | 2 +- backend/modules/member/views/member/edit.php | 4 +- .../modules/sys/views/addons-plug/create.php | 24 +- .../sys/views/auth-accredit/ajax-edit.php | 2 +- .../sys/views/manager-notify/announce.php | 10 +- backend/modules/sys/views/manager/_form.php | 2 +- backend/modules/sys/views/system/info.php | 16 +- .../controllers/AttachmentController.php | 19 +- .../wechat/controllers/FansController.php | 12 +- .../wechat/controllers/FansTagsController.php | 4 +- .../wechat/controllers/MenuController.php | 19 +- .../wechat/controllers/QrcodeController.php | 9 +- .../wechat/controllers/RuleController.php | 2 +- .../modules/wechat/views/attachment/image.php | 2 +- .../modules/wechat/views/attachment/news.php | 2 +- .../modules/wechat/views/attachment/video.php | 2 +- .../modules/wechat/views/attachment/voice.php | 2 +- backend/modules/wechat/views/fans/index.php | 2 +- .../wechat/views/fans/send-message.php | 20 +- backend/modules/wechat/views/fans/view.php | 4 +- .../wechat/views/mass-record/image.php | 2 +- .../wechat/views/mass-record/index.php | 2 +- .../modules/wechat/views/mass-record/news.php | 2 +- .../wechat/views/mass-record/video.php | 2 +- .../wechat/views/mass-record/voice.php | 2 +- backend/modules/wechat/views/menu/edit.php | 2 +- backend/modules/wechat/views/rule/edit.php | 13 +- backend/modules/wechat/views/rule/images.php | 2 +- backend/modules/wechat/views/rule/index.php | 28 +- backend/modules/wechat/views/rule/news.php | 2 +- backend/modules/wechat/views/rule/video.php | 2 +- backend/modules/wechat/views/rule/voice.php | 2 +- .../wechat/views/setting/special-message.php | 6 +- backend/views/addons/cover.php | 51 +- backend/views/addons/rule-edit.php | 23 +- backend/views/addons/rule.php | 24 +- backend/views/layouts/addon.php | 4 +- backend/views/main/clear-cache.php | 2 +- backend/views/main/index.php | 30 +- backend/widgets/menu/views/addon-left.php | 2 +- .../Select.php | 6 +- .../SelectorController.php} | 37 +- backend/widgets/selector/views/select.php | 20 + .../views/selector.php} | 16 +- .../assets/AttachmentAsset.php | 24 - .../wechatselectattachment/resources/list.js | 7 - .../wechatselectattachment/views/select.php | 19 - common/components/payment/AliPay.php | 37 +- common/components/payment/UnionPay.php | 4 +- common/components/payment/WechatPay.php | 25 +- common/config/main.php | 2 + common/config/params.php | 2 +- common/controllers/AddonsController.php | 4 +- common/controllers/BaseController.php | 2 - common/controllers/FileBaseController.php | 75 +- common/controllers/WechatApiController.php | 7 +- common/helpers/AddonUrl.php | 7 +- common/helpers/ArrayHelper.php | 4 +- common/helpers/ExcelHelper.php | 10 +- common/helpers/FileHelper.php | 2 +- common/helpers/HashidsHelper.php | 62 + common/helpers/HtmlHelper.php | 4 +- common/helpers/RegularHelper.php | 8 +- common/helpers/StringHelper.php | 83 + common/models/member/Address.php | 2 +- common/models/sys/Addons.php | 15 +- common/services/Application.php | 4 + common/services/common/Provinces.php | 58 + common/widgets/webuploader/views/file.php | 9 +- common/widgets/webuploader/views/image.php | 91 +- .../{ajax-list/list.php => selector.php} | 16 +- composer.json | 13 +- composer.lock | 1394 +++++++++++------ composer.phar | Bin 1908120 -> 1909682 bytes docs/guide-zh-CN/README.md | 2 +- docs/guide-zh-CN/addon-helper.md | 20 - docs/guide-zh-CN/helper-addon-auth.md | 2 +- docs/guide-zh-CN/helper-auth.md | 2 +- docs/guide-zh-CN/helper-html.md | 2 +- docs/guide-zh-CN/start-installation.md | 6 +- docs/guide-zh-CN/start-update-log.md | 15 + docs/guide-zh-CN/sys-global-description.md | 325 +++- docs/guide-zh-CN/sys-js-method.md | 2 +- docs/guide-zh-CN/sys-method.md | 92 -- docs/guide-zh-CN/sys-restful-api.md | 18 +- docs/guide-zh-CN/sys-subassembly.md | 66 + docs/guide-zh-CN/sys-widget.md | 4 +- environments/dev/storage/web/index.php | 25 + environments/dev/storage/web/robots.txt | 2 + environments/prod/storage/web/index.php | 15 + environments/prod/storage/web/robots.txt | 2 + web/backend/resources/dist/css/rageframe.css | 422 ++++- web/backend/resources/dist/css/wechat.css | 363 ----- web/backend/resources/dist/js/rageframe.js | 9 + .../plugins/fancybox/jquery.fancybox.min.css | 2 +- .../plugins/fancybox/jquery.fancybox.min.js | 9 +- .../plugins/jsBarcode/JsBarcode.all.min.js | 2 + 108 files changed, 2479 insertions(+), 1478 deletions(-) rename backend/widgets/{wechatselectattachment => selector}/Select.php (95%) rename backend/widgets/{wechatselectattachment/WechatSelectAttachment.php => selector/SelectorController.php} (79%) create mode 100644 backend/widgets/selector/views/select.php rename backend/widgets/{wechatselectattachment/views/list-model.php => selector/views/selector.php} (90%) delete mode 100644 backend/widgets/wechatselectattachment/assets/AttachmentAsset.php delete mode 100644 backend/widgets/wechatselectattachment/resources/list.js delete mode 100644 backend/widgets/wechatselectattachment/views/select.php create mode 100644 common/helpers/HashidsHelper.php create mode 100644 common/services/common/Provinces.php rename common/widgets/webuploader/views/{ajax-list/list.php => selector.php} (94%) delete mode 100644 docs/guide-zh-CN/sys-method.md create mode 100644 environments/dev/storage/web/index.php create mode 100644 environments/dev/storage/web/robots.txt create mode 100644 environments/prod/storage/web/index.php create mode 100644 environments/prod/storage/web/robots.txt delete mode 100644 web/backend/resources/dist/css/wechat.css create mode 100644 web/backend/resources/plugins/jsBarcode/JsBarcode.all.min.js diff --git a/api/config/params.php b/api/config/params.php index d1d3b77a7..90b9bea1d 100644 --- a/api/config/params.php +++ b/api/config/params.php @@ -8,8 +8,9 @@ ], 'user.log.except.code' => [], // 不记录的code - // token有效期是否验证 默认不关闭验证 - 'user.accessTokenValidity' => false, + /** ------ token相关 ------ **/ + // token有效期是否验证 默认开启验证 + 'user.accessTokenValidity' => true, // token有效期 默认 2 小时 'user.accessTokenExpire' => 2 * 60 * 60, // refresh token有效期是否验证 默认开启验证 diff --git a/api/controllers/ActiveController.php b/api/controllers/ActiveController.php index 12eef6c07..816133690 100644 --- a/api/controllers/ActiveController.php +++ b/api/controllers/ActiveController.php @@ -82,7 +82,10 @@ public function behaviors() HttpBasicAuth::class, HttpBearerAuth::class, HttpHeaderAuth::class, - QueryParamAuth::class, + [ + 'class' => QueryParamAuth::class, + 'tokenParam' => 'access-token' + ], ], // 不进行认证判断方法 'optional' => $this->optional, diff --git a/api/modules/v1/controllers/MiniProgramController.php b/api/modules/v1/controllers/MiniProgramController.php index 519bdfec3..62207f993 100644 --- a/api/modules/v1/controllers/MiniProgramController.php +++ b/api/modules/v1/controllers/MiniProgramController.php @@ -121,7 +121,7 @@ public function actionDecode() { $member = new MemberInfo(); $member->attributes = [ - 'sex' => $userinfo['gender'], + 'gender' => $userinfo['gender'], 'nickname' => $userinfo['nickName'], 'head_portrait' => $userinfo['avatarUrl'], ]; diff --git a/api/modules/v1/controllers/member/InfoController.php b/api/modules/v1/controllers/member/InfoController.php index 16d085ef8..f0c28546f 100644 --- a/api/modules/v1/controllers/member/InfoController.php +++ b/api/modules/v1/controllers/member/InfoController.php @@ -28,7 +28,7 @@ public function actionView($id) { $model = $this->modelClass::find() ->where(['id' => $id, 'status' => StatusEnum::ENABLED]) - ->select(['id', 'username', 'nickname', 'realname', 'head_portrait', 'sex', 'qq', 'email', 'birthday', 'user_money', 'user_integral', 'status', 'created_at']) + ->select(['id', 'username', 'nickname', 'realname', 'head_portrait', 'gender', 'qq', 'email', 'birthday', 'user_money', 'user_integral', 'status', 'created_at']) ->asArray() ->one(); diff --git a/backend/assets/AppAsset.php b/backend/assets/AppAsset.php index d6a7d173d..d91199663 100644 --- a/backend/assets/AppAsset.php +++ b/backend/assets/AppAsset.php @@ -23,7 +23,6 @@ class AppAsset extends AssetBundle 'plugins/toastr/toastr.min.css', // 状态通知 'dist/css/AdminLTE.min.css', 'dist/css/rageframe.css', - 'dist/css/wechat.css', ]; public $js = [ @@ -33,6 +32,7 @@ class AppAsset extends AssetBundle 'plugins/sweetalert/sweetalert.min.js', 'plugins/fancybox/jquery.fancybox.min.js', 'dist/js/adminlte.js', + 'dist/js/demo.js', 'dist/js/template.js', 'dist/js/rageframe.js', 'dist/js/ueditor.all.min.js', diff --git a/backend/config/main.php b/backend/config/main.php index a1a927a1e..b13297cd4 100644 --- a/backend/config/main.php +++ b/backend/config/main.php @@ -82,7 +82,7 @@ 'assetManager' => [ // 线上建议将forceCopy设置成false,如果访问量不大无所谓 'forceCopy' => true, - 'appendTimestamp' => true, + // 'appendTimestamp' => true, 'bundles' => [ 'yii\web\JqueryAsset' => [ 'sourcePath' => null, @@ -108,8 +108,9 @@ 'provinces' => [ 'class' => 'backend\widgets\provinces\ProvincesController', ], - 'wechat-select-attachment' => [ - 'class' => 'backend\widgets\wechatselectattachment\WechatSelectAttachment', + // 微信资源选择 + 'selector' => [ + 'class' => 'backend\widgets\selector\SelectorController', ], ], 'params' => $params, diff --git a/backend/config/params.php b/backend/config/params.php index 99b28e18e..82ebf4308 100644 --- a/backend/config/params.php +++ b/backend/config/params.php @@ -4,6 +4,9 @@ 'adminAcronym' => 'RF', 'adminTitle' => 'RageFrame', + /** ------ 总管理员配置 ------ **/ + 'adminAccount' => 1,// 系统管理员账号id + /** ------ 日志记录 ------ **/ 'user.log' => true, 'user.log.level' => ['error'], // 级别 ['info', 'warning', 'error'] @@ -15,13 +18,9 @@ ], 'user.log.except.code' => [], // 不记录的code - /** ------ 总管理员配置 ------ **/ - 'adminAccount' => 1,// 系统管理员账号id - /** ------ 开发者信息 ------ **/ - 'exploitName' => '简言', - 'exploitVersions' => '2.2.21', - 'exploitSysName' => 'RageFrame应用开发引擎', + 'exploitDeveloper' => '简言', + 'exploitFullName' => 'RageFrame应用开发引擎', 'exploitOfficialWebsite' => 'www.rageframe.com', 'exploitGitHub' => 'https://github.com/jianyan74/rageframe2', diff --git a/backend/controllers/AddonsController.php b/backend/controllers/AddonsController.php index 956aa5238..dfef9582f 100644 --- a/backend/controllers/AddonsController.php +++ b/backend/controllers/AddonsController.php @@ -13,6 +13,7 @@ use common\helpers\AddonHelper; use common\models\sys\AddonsAuthItemChild; use common\helpers\AddonAuthHelper; +use common\helpers\DebrisHelper; use backend\modules\wechat\models\RuleForm; /** @@ -33,7 +34,7 @@ public function behaviors() 'rules' => [ [ 'allow' => true, - 'roles' => ['@'],// 登录 + 'roles' => ['@'], // 登录 ], ], ], @@ -48,6 +49,14 @@ public function behaviors() */ public function beforeAction($action) { + if (Yii::$app->user->isGuest) + { + throw new UnauthorizedHttpException('对不起,请先登录'); + } + + // 判断是否手机 + Yii::$app->params['isMobile'] = DebrisHelper::isMobile(); + // 验证是否登录且验证是否超级管理员 if (!Yii::$app->user->isGuest && Yii::$app->services->sys->isAuperAdmin()) { @@ -61,9 +70,9 @@ public function beforeAction($action) // 当前菜单路由 $route = $this->route; - in_array($action->id, ['cover', 'qr-code']) && $route = AddonsAuthItemChild::AUTH_COVER; + in_array($action->id, ['cover']) && $route = AddonsAuthItemChild::AUTH_COVER; in_array($action->id, ['rule', 'rule-edit', 'rule-delete', 'ajax-update']) && $route = AddonsAuthItemChild::AUTH_RULE; - if (AddonAuthHelper::verify($route) == false) + if (AddonAuthHelper::verify($route) === false) { throw new UnauthorizedHttpException('对不起,您现在还没获此操作的权限'); } @@ -113,8 +122,9 @@ public function actionRule() $request = Yii::$app->request; $keyword = $request->get('keyword', null); - $data = Rule::find()->with('ruleKeyword') + $data = Rule::find() ->where(['module' => Rule::RULE_MODULE_ADDON]) + ->with('ruleKeyword') ->joinWith('addon as b') ->andWhere(['b.addon' => Yii::$app->params['addon']['name']]) ->andFilterWhere(['like', 'name', $keyword]); @@ -248,26 +258,4 @@ public function actionAjaxUpdate($id) return ResultDataHelper::json(200, '修改成功'); } - - /** - * 二维码渲染 - * - * @return mixed - * @throws \yii\base\InvalidConfigException - * @throws \yii\web\NotFoundHttpException - */ - public function actionQrCode() - { - // 初始化模块 - AddonHelper::initAddon($this->addonName, $this->route); - - $qr = Yii::$app->get('qr'); - Yii::$app->response->format = Response::FORMAT_RAW; - Yii::$app->response->headers->add('Content-Type', $qr->getContentType()); - - return $qr->setText(Yii::$app->request->get('url', null)) - ->setSize(150) - ->setMargin(7) - ->writeString(); - } } \ No newline at end of file diff --git a/backend/controllers/MController.php b/backend/controllers/MController.php index bd333a090..be4618482 100644 --- a/backend/controllers/MController.php +++ b/backend/controllers/MController.php @@ -1,10 +1,10 @@ */ class MController extends \common\controllers\BaseController { - /** - * 微信实例化SDK - * - * @var - */ - protected $app; - - /** - * 服务 - * - * @var - */ - protected $services; - - /** - * @throws \yii\base\InvalidConfigException - */ - public function init() - { - parent::init(); - - empty($this->app) && $this->app = Yii::$app->wechat->app; - empty($this->services) && $this->services = Yii::$app->services; - } - /** * @return array */ diff --git a/backend/modules/member/Module.php b/backend/modules/member/Module.php index 3f5261134..75a087894 100644 --- a/backend/modules/member/Module.php +++ b/backend/modules/member/Module.php @@ -4,6 +4,7 @@ /** * Class Module * @package backend\modules\member + * @author jianyan74 <751393839@qq.com> */ class Module extends \yii\base\Module { diff --git a/backend/modules/member/views/auth/edit.php b/backend/modules/member/views/auth/edit.php index 39af4a239..8a1eba9bf 100644 --- a/backend/modules/member/views/auth/edit.php +++ b/backend/modules/member/views/auth/edit.php @@ -1,5 +1,4 @@ field($model, 'head_portrait')->widget('common\widgets\webuploader\Images', [ 'config' => [ // 可设置自己的上传地址, 不设置则默认地址 - // 'server' => '', 'pick' => [ 'multiple' => false, ], - 'formData' => [ - // 不配置则不生成缩略图 - // 'thumb' => [ - // [ - // 'widget' => 100, - // 'height' => 100, - // ], - // ] - ], - 'chunked' => false,// 开启分片上传 - 'chunkSize' => 512 * 1024,// 分片大小 ] ]);?> field($model, 'country')->textInput() ?> @@ -68,7 +55,7 @@ diff --git a/backend/modules/member/views/member/ajax-edit.php b/backend/modules/member/views/member/ajax-edit.php index 3d8b721bb..4ff52a240 100644 --- a/backend/modules/member/views/member/ajax-edit.php +++ b/backend/modules/member/views/member/ajax-edit.php @@ -29,4 +29,4 @@ - + \ No newline at end of file diff --git a/backend/modules/member/views/member/edit.php b/backend/modules/member/views/member/edit.php index 239ace026..e8808bdf7 100644 --- a/backend/modules/member/views/member/edit.php +++ b/backend/modules/member/views/member/edit.php @@ -9,7 +9,6 @@ $this->params['breadcrumbs'][] = ['label' => $this->title]; ?> -
@@ -19,7 +18,7 @@ [ 'template' => "
{label}
{input}{hint}{error}
", - ] + ], ]); ?>
field($model, 'realname')->textInput() ?> @@ -46,7 +45,6 @@ ], 'options'=>[ 'class' => 'form-control no_bor', - 'readonly' => 'readonly',// 禁止输入 ] ]); ?> field($model, 'status')->radioList(StatusEnum::$listExplain) ?> diff --git a/backend/modules/sys/views/addons-plug/create.php b/backend/modules/sys/views/addons-plug/create.php index ad6d7668b..2422de8db 100644 --- a/backend/modules/sys/views/addons-plug/create.php +++ b/backend/modules/sys/views/addons-plug/create.php @@ -27,7 +27,7 @@
field($model, 'title')->textInput()->hint('模块的名称, 显示在用户的模块列表中. 不要超过20个字符') ?> field($model, 'name')->textInput()->hint('模块标识符, 应对应模块文件夹的名称, 系统按照此标识符查找模块定义, 只能英文和下划线组成,建议大写驼峰,例如:RfArticle') ?> - field($model, 'group')->dropDownList(ArrayHelper::map($addonsGroup,'name','title')) ?> + field($model, 'group')->dropDownList(ArrayHelper::map($addonsGroup, 'name', 'title')) ?> field($model, 'version')->textInput()->hint('模块当前版本, 此版本号用于模块的版本更新')?> field($model, 'brief_introduction')->textInput() ?> field($model, 'description')->textarea()->hint('模块详细描述, 详细介绍模块的功能和使用方法 ')?> @@ -52,19 +52,19 @@
-
+
菜单名称
-
+
菜单路由
-
+
菜单图标
@@ -76,7 +76,7 @@
- 添加菜单
+ 添加菜单
前台(含api/微信)导航入口菜单,点击后进入系统中对应的功能..
@@ -86,19 +86,19 @@
-
+
菜单名称
-
+
菜单路由
-
+
菜单图标
@@ -110,7 +110,7 @@
- 添加菜单
+ 添加菜单
后台管理中心导航菜单将会在管理中心生成一个导航入口(管理后台操作), 用于对模块定义的内容进行管理.
@@ -137,19 +137,19 @@ \ No newline at end of file diff --git a/backend/views/addons/rule-edit.php b/backend/views/addons/rule-edit.php index 284827aeb..7fe93bfa6 100644 --- a/backend/views/addons/rule-edit.php +++ b/backend/views/addons/rule-edit.php @@ -25,7 +25,7 @@
-
+
@@ -144,7 +144,7 @@
-
+
@@ -154,19 +154,19 @@ field($model, 'status')->radioList(['1' => '启用','0' => '禁用'])->hint('您可以临时禁用这条回复') ?>
+
  +
+ + 返回 +
+
-
  -
- - 返回 -
-
- + endBody() ?> diff --git a/backend/widgets/menu/views/addon-left.php b/backend/widgets/menu/views/addon-left.php index d375b7988..a25175e99 100644 --- a/backend/widgets/menu/views/addon-left.php +++ b/backend/widgets/menu/views/addon-left.php @@ -8,7 +8,7 @@ $addonName = StringHelper::toUnderScore($addonName); ?> -
+

核心设置

diff --git a/backend/widgets/wechatselectattachment/Select.php b/backend/widgets/selector/Select.php similarity index 95% rename from backend/widgets/wechatselectattachment/Select.php rename to backend/widgets/selector/Select.php index ab849b4c1..7cb32eb7a 100644 --- a/backend/widgets/wechatselectattachment/Select.php +++ b/backend/widgets/selector/Select.php @@ -1,14 +1,14 @@ */ class Select extends InputWidget diff --git a/backend/widgets/wechatselectattachment/WechatSelectAttachment.php b/backend/widgets/selector/SelectorController.php similarity index 79% rename from backend/widgets/wechatselectattachment/WechatSelectAttachment.php rename to backend/widgets/selector/SelectorController.php index 0c64f4bf9..58b8a1ced 100644 --- a/backend/widgets/wechatselectattachment/WechatSelectAttachment.php +++ b/backend/widgets/selector/SelectorController.php @@ -1,7 +1,6 @@ */ -class WechatSelectAttachment extends Controller +class SelectorController extends Controller { /** * 行为控制 @@ -42,37 +43,27 @@ public function behaviors() /** * 获取图片/视频/音频/图文 * - * @param $media_type - * @return string + * @param bool $json 返回json格式 + * @return array|string */ - public function actionList() + public function actionList($json = false) { $keyword = Yii::$app->request->get('keyword'); $media_type = Yii::$app->request->get('media_type'); $models = $media_type == Attachment::TYPE_NEWS ? $this->news($keyword) : $this->attachment($media_type, $keyword); - // 资源注册 - AttachmentAsset::register($this->view); + if ($json == true) + { + return ResultDataHelper::json(200, '获取成功', $models); + } - return $this->renderAjax('@backend/widgets/wechatselectattachment/views/list-model', [ + return $this->renderAjax('@backend/widgets/selector/views/selector', [ 'models' => $models, 'media_type' => $media_type, 'boxId' => Yii::$app->request->get('boxId'), ]); } - /** - * @return array - */ - public function actionAjaxList() - { - $keyword = Yii::$app->request->get('keyword'); - $media_type = Yii::$app->request->get('media_type'); - $models = $media_type == Attachment::TYPE_NEWS ? $this->news($keyword) : $this->attachment($media_type, $keyword); - - return ResultDataHelper::json(200, '获取成功', $models); - } - /** * 获取图片/视频/音频 * diff --git a/backend/widgets/selector/views/select.php b/backend/widgets/selector/views/select.php new file mode 100644 index 000000000..6d23da634 --- /dev/null +++ b/backend/widgets/selector/views/select.php @@ -0,0 +1,20 @@ + + +
+ +
+
+ + media_url) ? Url::to(['analysis/image','attach' => $model->media_url]) : '@web/resources/dist/img/add-img.png')?> + + + +
file_name) ? $model->file_name : '点击选择'?>
+
+
+ +
+
\ No newline at end of file diff --git a/backend/widgets/wechatselectattachment/views/list-model.php b/backend/widgets/selector/views/selector.php similarity index 90% rename from backend/widgets/wechatselectattachment/views/list-model.php rename to backend/widgets/selector/views/selector.php index a1f628f9d..0d8ed778b 100644 --- a/backend/widgets/wechatselectattachment/views/list-model.php +++ b/backend/widgets/selector/views/selector.php @@ -3,12 +3,6 @@ use yii\helpers\Url; ?> - -