Samien 1 жил өмнө
parent
commit
402d2af406
58 өөрчлөгдсөн 1767 нэмэгдсэн , 0 устгасан
  1. 118 0
      addons/LsActivity/AddonConfig.php
  2. 30 0
      addons/LsActivity/Install.php
  3. 30 0
      addons/LsActivity/UnInstall.php
  4. 43 0
      addons/LsActivity/Upgrade.php
  5. 37 0
      addons/LsActivity/api/controllers/DefaultController.php
  6. 20 0
      addons/LsActivity/api/modules/v1/Module.php
  7. 119 0
      addons/LsActivity/api/modules/v1/controllers/ActivityController.php
  8. 37 0
      addons/LsActivity/api/modules/v1/controllers/DefaultController.php
  9. 20 0
      addons/LsActivity/api/modules/v2/Module.php
  10. 37 0
      addons/LsActivity/api/modules/v2/controllers/DefaultController.php
  11. 28 0
      addons/LsActivity/backend/assets/AppAsset.php
  12. 78 0
      addons/LsActivity/backend/controllers/ActivityController.php
  13. 20 0
      addons/LsActivity/backend/controllers/BaseController.php
  14. 27 0
      addons/LsActivity/backend/controllers/DefaultController.php
  15. 1 0
      addons/LsActivity/backend/resources/.gitkeep
  16. 56 0
      addons/LsActivity/backend/views/Activity/edit.php
  17. 69 0
      addons/LsActivity/backend/views/Activity/index.php
  18. 3 0
      addons/LsActivity/backend/views/default/index.php
  19. 30 0
      addons/LsActivity/backend/views/layouts/main.php
  20. 23 0
      addons/LsActivity/common/components/Bootstrap.php
  21. 34 0
      addons/LsActivity/common/config/api.php
  22. 44 0
      addons/LsActivity/common/config/backend.php
  23. 28 0
      addons/LsActivity/common/config/frontend.php
  24. 28 0
      addons/LsActivity/common/config/html5.php
  25. 32 0
      addons/LsActivity/common/config/merchant.php
  26. 34 0
      addons/LsActivity/common/config/oauth2.php
  27. 42 0
      addons/LsActivity/common/forms/SettingForm.php
  28. 75 0
      addons/LsActivity/common/models/Activity.php
  29. 21 0
      addons/LsActivity/common/models/DefaultModel.php
  30. 1 0
      addons/LsActivity/console/controllers/.gitkeep
  31. 1 0
      addons/LsActivity/console/migrations/.gitkeep
  32. 28 0
      addons/LsActivity/frontend/assets/AppAsset.php
  33. 20 0
      addons/LsActivity/frontend/controllers/BaseController.php
  34. 27 0
      addons/LsActivity/frontend/controllers/DefaultController.php
  35. 1 0
      addons/LsActivity/frontend/resources/.gitkeep
  36. 3 0
      addons/LsActivity/frontend/views/default/index.php
  37. 30 0
      addons/LsActivity/frontend/views/layouts/main.php
  38. 28 0
      addons/LsActivity/html5/assets/AppAsset.php
  39. 20 0
      addons/LsActivity/html5/controllers/BaseController.php
  40. 27 0
      addons/LsActivity/html5/controllers/DefaultController.php
  41. 1 0
      addons/LsActivity/html5/resources/.gitkeep
  42. 3 0
      addons/LsActivity/html5/views/default/index.php
  43. 30 0
      addons/LsActivity/html5/views/layouts/main.php
  44. 28 0
      addons/LsActivity/merchant/assets/AppAsset.php
  45. 20 0
      addons/LsActivity/merchant/controllers/BaseController.php
  46. 27 0
      addons/LsActivity/merchant/controllers/DefaultController.php
  47. 34 0
      addons/LsActivity/merchant/controllers/SettingController.php
  48. 1 0
      addons/LsActivity/merchant/resources/.gitkeep
  49. 3 0
      addons/LsActivity/merchant/views/default/index.php
  50. 30 0
      addons/LsActivity/merchant/views/layouts/main.php
  51. 44 0
      addons/LsActivity/merchant/views/setting/display.php
  52. 37 0
      addons/LsActivity/oauth2/controllers/DefaultController.php
  53. 20 0
      addons/LsActivity/oauth2/modules/v1/Module.php
  54. 37 0
      addons/LsActivity/oauth2/modules/v1/controllers/DefaultController.php
  55. 20 0
      addons/LsActivity/oauth2/modules/v2/Module.php
  56. 37 0
      addons/LsActivity/oauth2/modules/v2/controllers/DefaultController.php
  57. 21 0
      addons/LsActivity/services/Application.php
  58. 24 0
      addons/LsActivity/services/ConfigService.php

+ 118 - 0
addons/LsActivity/AddonConfig.php

@@ -0,0 +1,118 @@
+<?php
+
+namespace addons\LsActivity;
+
+use common\components\BaseAddonConfig;
+use addons\LsActivity\services\Application;
+use addons\LsActivity\common\components\Bootstrap;
+
+/**
+ * Class Addon
+ * @package addons\LsActivity
 */
+class AddonConfig extends BaseAddonConfig
+{
+    /**
+     * 基础信息
+     *
+     * @var array
+     */
+    public $info = [
+        'name' => 'LsActivity',
+        'title' => '赛事系统',
+        'brief_introduction' => '赛事活动公布和报名',
+        'description' => '',
+        'author' => 'Samien',
+        'version' => '1.0',
+    ];
+
+    /**
+     * 应用配置
+     *
+     * 例如:菜单设置/权限设置/快捷入口
+     *
+     * @var array
+     */
+    public $appsConfig = [
+        'backend' => 'common/config/backend.php',
+        'frontend' => 'common/config/frontend.php',
+        'merchant' => 'common/config/merchant.php',
+        'html5' => 'common/config/html5.php',
+        'api' => 'common/config/api.php',
+        'oauth2' => 'common/config/oauth2.php',
+    ];
+
+    /**
+     * 引导文件
+     *
+     * 设置后系统会在执行插件控制器前执行
+     *
+     * @var Bootstrap
+     */
+    // public $bootstrap = Bootstrap::class;
+
+    /**
+     * 服务层
+     *
+     * 设置后系统会自动注册
+     *
+     * 调用方式
+     *
+     * Yii::$app->插件名称 + Services
+     *
+     * 例如
+     *
+     * Yii::$app->tinyShopServices;
+     *
+     * @var Application
+     */
+    // public $service = Application::class;
+
+    /**
+     * 商户路由映射
+     *
+     * 开启后无需再去后台应用端去开发程序,直接映射商家应用的控制器方法过去,菜单权限还需要单独配置
+     *
+     * @var bool
+     */
+    public $isMerchantRouteMap = false;
+
+    /**
+     * 类别
+     *
+     * @var string
+     * [
+     *      'plug'      => "功能插件",
+     *      'business'  => "主要业务",
+     *      'customer'  => "客户关系",
+     *      'activity'  => "营销及活动",
+     *      'services'  => "常用服务及工具",
+     *      'biz'       => "行业解决方案",
+     *      'h5game'    => "小游戏",
+     *      'other'     => "其他",
+     * ]
+     */
+    public $group = 'plug';
+
+    /**
+     * 保存在当前模块的根目录下面
+     *
+     * 例如 $install = 'Install';
+     * 安装类
+     * @var string
+     */
+    public $install = 'Install';
+
+    /**
+     * 卸载SQL类
+     *
+     * @var string
+     */
+    public $uninstall = 'UnInstall';
+
+    /**
+     * 更新SQL类
+     *
+     * @var string
+     */
+    public $upgrade = 'Upgrade';
+}

+ 30 - 0
addons/LsActivity/Install.php

@@ -0,0 +1,30 @@
+<?php
+
+namespace addons\LsActivity;
+
+use Yii;
+use yii\db\Migration;
+use common\helpers\MigrateHelper;
+use common\interfaces\AddonWidget;
+
+/**
+ * 安装
+ *
+ * Class Install
+ * @package addons\LsActivity
 */
+class Install extends Migration implements AddonWidget
+{
+    /**
+     * @param $addon
+     * @return mixed|void
+     * @throws \yii\base\InvalidConfigException
+     * @throws \yii\web\NotFoundHttpException
+     * @throws \yii\web\UnprocessableEntityHttpException
+     */
+    public function run($addon)
+    {
+        // MigrateHelper::upByPath([
+        //     '@addons/LsActivity/console/migrations/'
+        // ]);
+    }
+}

+ 30 - 0
addons/LsActivity/UnInstall.php

@@ -0,0 +1,30 @@
+<?php
+
+namespace addons\LsActivity;
+
+use Yii;
+use yii\db\Migration;
+use common\helpers\MigrateHelper;
+use common\interfaces\AddonWidget;
+
+/**
+ * 卸载
+ *
+ * Class UnInstall
+ * @package addons\LsActivity
 */
+class UnInstall extends Migration implements AddonWidget
+{
+    /**
+     * @param $addon
+     * @return mixed|void
+     * @throws \yii\base\InvalidConfigException
+     * @throws \yii\web\NotFoundHttpException
+     * @throws \yii\web\UnprocessableEntityHttpException
+     */
+    public function run($addon)
+    {
+        // MigrateHelper::downByPath([
+        //     '@addons/LsActivity/console/migrations/'
+        // ]);
+    }
+}

+ 43 - 0
addons/LsActivity/Upgrade.php

@@ -0,0 +1,43 @@
+<?php
+
+namespace addons\LsActivity;
+
+use Yii;
+use common\components\Migration;
+use common\interfaces\AddonWidget;
+
+/**
+ * 升级数据库
+ *
+ * Class Upgrade
+ * @package addons\LsActivity
 */
+class Upgrade extends Migration implements AddonWidget
+{
+    /**
+     * @var array
+     */
+    public $versions = [
+        '1.0.0', // 默认版本
+        '1.0.1',
+        '1.0.2',
+    ];
+
+    /**
+     * @param $addon
+     * @return mixed|void
+     * @throws \yii\db\Exception
+     */
+    public function run($addon)
+    {
+        switch ($addon->version) {
+            case '1.0.2' :
+                // 删除测试 - 冗余的字段
+                // $this->dropColumn('{{%addon_example_curd}}', 'redundancy_field');
+                break;
+            case '1.0.1' :
+                // 增加测试 - 冗余的字段
+                // $this->addColumn('{{%addon_example_curd}}', 'redundancy_field', 'varchar(48)');
+                break;
+        }
+    }
+}

+ 37 - 0
addons/LsActivity/api/controllers/DefaultController.php

@@ -0,0 +1,37 @@
+<?php
+
+namespace addons\LsActivity\api\controllers;
+
+use Yii;
+use api\controllers\OnAuthController;
+
+/**
+ * 默认控制器
+ *
+ * Class DefaultController
+ * @package addons\LsActivity\api\controllers
+ */
+class DefaultController extends OnAuthController
+{
+    public $modelClass = '';
+
+    /**
+     * 不用进行登录验证的方法
+     *
+     * 例如: ['index', 'update', 'create', 'view', 'delete']
+     * 默认全部需要验证
+     *
+     * @var array
+     */
+    protected $authOptional = ['index'];
+
+    /**
+     * 首页
+     *
+     * @return string
+     */
+    public function actionIndex()
+    {
+        return 'Hello world';
+    }
+}

+ 20 - 0
addons/LsActivity/api/modules/v1/Module.php

@@ -0,0 +1,20 @@
+<?php
+
+namespace addons\LsActivity\api\modules\v1;
+
+/**
+ * Class Module
+ * @package addons\LsActivity\api\modules\v1 * @author jianyan74 <751393839@qq.com>
+ */
+class Module extends \yii\base\Module
+{
+    /**
+     * {@inheritdoc}
+     */
+    public $controllerNamespace = 'addons\LsActivity\api\modules\v1\controllers';
+
+    public function init()
+    {
+        parent::init();
+    }
+}

+ 119 - 0
addons/LsActivity/api/modules/v1/controllers/ActivityController.php

@@ -0,0 +1,119 @@
+<?php
+
+namespace addons\LsActivity\api\modules\v1\controllers;
+
+use Yii;
+use yii\data\ActiveDataProvider;
+use yii\data\Pagination;
+use yii\web\NotFoundHttpException;
+use common\enums\StatusEnum;
+use addons\LsActivity\common\models\Activity;
+use api\controllers\OnAuthController;
+
+/**
+ * 文章接口
+ *
+ * Class ArticleController
+ * @package addons\TinyBlog\api\modules\v1\controllers
+ * @author jianyan74 <751393839@qq.com>
+ */
+class ActivityController extends OnAuthController
+{
+    /**
+     * @var Activity
+     */
+    public $modelClass = Activity::class;
+
+    /**
+     * 不用进行登录验证的方法
+     * 例如: ['index', 'update', 'create', 'view', 'delete']
+     * 默认全部需要验证
+     *
+     * @var array
+     */
+    protected $authOptional = ['index', 'view', 'list'];
+
+    /**
+     * 首页
+     *
+     * @return ActiveDataProvider
+     */
+    public function actionIndex()
+    {
+        return new ActiveDataProvider([
+            'query' => $this->modelClass::find()
+                ->where(['status' => StatusEnum::ENABLED])
+                ->select(['id', 'title', 'cover', 'author', 'content', 'description', 'view'])
+                ->orderBy('sort asc, id desc')
+                ->asArray(),
+            'pagination' => [
+                'pageSize' => $this->pageSize,
+                'validatePage' => false,// 超出分页不返回data
+            ],
+        ]);
+    }
+
+    /**
+     * 自定义装修可用
+     *
+     * 修改数据格式返回
+     *
+     * @return array|mixed
+     */
+    public function actionList()
+    {
+        $keyword = Yii::$app->request->get('keyword');
+
+        $data = $this->modelClass::find()
+            ->select(['id', 'title', 'description', 'cover', 'author','created_at', 'view'])
+            // ->where(['status' => StatusEnum::ENABLED])
+            ->andFilterWhere(['like', 'title', $keyword]);
+        $pages = new Pagination(['totalCount' => $data->count(), 'pageSize' => $this->pageSize]);
+        $models = $data->offset($pages->offset)
+            ->orderBy('id desc')
+            ->limit($pages->limit)
+            ->asArray()
+            ->all();
+
+        return [
+            'list' => $models,
+            'pages' => [
+                'totalCount' => $pages->totalCount,
+                'pageSize' => $pages->pageSize,
+            ]
+        ];
+    }
+
+    /**
+     * 查看
+     *
+     * @return ActiveDataProvider
+     */
+    // public function actionView($id)
+    // {
+    //     return new ActiveDataProvider([
+    //         'query' => $this->modelClass::find()
+    //             ->where(['id' => $id])
+    //             ->select(['id', 'title', 'cover', 'author', 'content', 'description', 'created_at','view'])
+    //             ->asArray(),
+    //     ]);
+    // }
+
+    /**
+     * @param $id
+     * @return \yii\db\ActiveRecord
+     * @throws NotFoundHttpException
+     */
+    protected function findModel($id)
+    {
+        /* @var $model \yii\db\ActiveRecord */
+        if (empty($id) || !($model = $this->modelClass::find()->where([
+                'id' => $id,
+                'status' => StatusEnum::ENABLED,
+            ])->one())) {
+            throw new NotFoundHttpException('请求的数据不存在');
+        }
+
+        return $model;
+    }
+}

+ 37 - 0
addons/LsActivity/api/modules/v1/controllers/DefaultController.php

@@ -0,0 +1,37 @@
+<?php
+
+namespace addons\LsActivity\api\modules\v1\controllers;
+
+use Yii;
+use api\controllers\OnAuthController;
+
+/**
+ * 默认控制器
+ *
+ * Class DefaultController
+ * @package addons\LsActivity\api\modules\v1\controllers
+ */
+class DefaultController extends OnAuthController
+{
+    public $modelClass = '';
+
+    /**
+     * 不用进行登录验证的方法
+     *
+     * 例如: ['index', 'update', 'create', 'view', 'delete']
+     * 默认全部需要验证
+     *
+     * @var array
+     */
+    protected $authOptional = ['index'];
+
+    /**
+     * 首页
+     *
+     * @return string
+     */
+    public function actionIndex()
+    {
+        return 'Hello world';
+    }
+}

+ 20 - 0
addons/LsActivity/api/modules/v2/Module.php

@@ -0,0 +1,20 @@
+<?php
+
+namespace addons\LsActivity\api\modules\v2;
+
+/**
+ * Class Module
+ * @package addons\LsActivity\api\modules\v2 * @author jianyan74 <751393839@qq.com>
+ */
+class Module extends \yii\base\Module
+{
+    /**
+     * {@inheritdoc}
+     */
+    public $controllerNamespace = 'addons\LsActivity\api\modules\v2\controllers';
+
+    public function init()
+    {
+        parent::init();
+    }
+}

+ 37 - 0
addons/LsActivity/api/modules/v2/controllers/DefaultController.php

@@ -0,0 +1,37 @@
+<?php
+
+namespace addons\LsActivity\api\modules\v2\controllers;
+
+use Yii;
+use api\controllers\OnAuthController;
+
+/**
+ * 默认控制器
+ *
+ * Class DefaultController
+ * @package addons\LsActivity\api\modules\v2\controllers
+ */
+class DefaultController extends OnAuthController
+{
+    public $modelClass = '';
+
+    /**
+     * 不用进行登录验证的方法
+     *
+     * 例如: ['index', 'update', 'create', 'view', 'delete']
+     * 默认全部需要验证
+     *
+     * @var array
+     */
+    protected $authOptional = ['index'];
+
+    /**
+     * 首页
+     *
+     * @return string
+     */
+    public function actionIndex()
+    {
+        return 'Hello world';
+    }
+}

+ 28 - 0
addons/LsActivity/backend/assets/AppAsset.php

@@ -0,0 +1,28 @@
+<?php
+
+namespace addons\LsActivity\backend\assets;
+
+use yii\web\AssetBundle;
+
+/**
+ * 静态资源管理
+ *
+ * Class AppAsset
+ * @package addons\LsActivity\backend\assets
+ */
+class AppAsset extends AssetBundle
+{
+    /**
+     * @var string
+     */
+    public $sourcePath = '@addons/LsActivity/backend/resources/';
+
+    public $css = [
+    ];
+
+    public $js = [
+    ];
+
+    public $depends = [
+    ];
+}

+ 78 - 0
addons/LsActivity/backend/controllers/ActivityController.php

@@ -0,0 +1,78 @@
+<?php
+
+namespace addons\LsActivity\backend\controllers;
+
+use Yii;
+use addons\LsActivity\common\models\Activity;
+use common\traits\Curd;
+use common\models\base\SearchModel;
+use common\controllers\AddonsController;
+
+/**
+* Activity
+*
+* Class ActivityController
+* @package addons\LsActivity\backend\controllers
+*/
+class ActivityController extends BaseController
+{
+    use Curd;
+
+    /**
+    * @var Activity
+    */
+    public $modelClass = Activity::class;
+
+
+    /**
+    * 首页
+    *
+    * @return string
+    * @throws \yii\web\NotFoundHttpException
+    */
+    public function actionIndex()
+    {
+        $searchModel = new SearchModel([
+            'model' => $this->modelClass,
+            'scenario' => 'default',
+            'partialMatchAttributes' => [], // 模糊查询
+            'defaultOrder' => [
+                'sort' => SORT_ASC,
+                'id' => SORT_DESC
+            ],
+            'pageSize' => $this->pageSize
+        ]);
+
+        $dataProvider = $searchModel
+            ->search(Yii::$app->request->queryParams);
+
+        return $this->render('index', [
+            'dataProvider' => $dataProvider,
+            'searchModel' => $searchModel,
+        ]);
+    }
+
+    /**
+     * 编辑/创建
+     *
+     * @return mixed
+     */
+    public function actionEdit()
+    {
+        $id = Yii::$app->request->get('id', null);
+        $model = $this->findModel($id);
+        if ($model->load(Yii::$app->request->post()))
+        {
+            return $model->save()
+                ? $this->message('保存成功', $this->redirect(['index']))
+                    : $this->message('保存失败', $this->redirect(['index']), 'error');
+        }
+
+        return $this->render($this->action->id, [
+           'model' => $model,
+        ]);
+    }
+
+
+
+}

+ 20 - 0
addons/LsActivity/backend/controllers/BaseController.php

@@ -0,0 +1,20 @@
+<?php
+
+namespace addons\LsActivity\backend\controllers;
+
+use Yii;
+use common\controllers\AddonsController;
+
+/**
+ * 默认控制器
+ *
+ * Class DefaultController
+ * @package addons\LsActivity\backend\controllers
+ */
+class BaseController extends AddonsController
+{
+    /**
+     * @var string
+     */
+    // public $layout = "@addons/LsActivity/backend/views/layouts/main";
+}

+ 27 - 0
addons/LsActivity/backend/controllers/DefaultController.php

@@ -0,0 +1,27 @@
+<?php
+
+namespace addons\LsActivity\backend\controllers;
+
+use Yii;
+use common\controllers\AddonsController;
+
+/**
+ * 默认控制器
+ *
+ * Class DefaultController
+ * @package addons\LsActivity\backend\controllers
+ */
+class DefaultController extends BaseController
+{
+    /**
+     * 首页
+     *
+     * @return string
+     */
+    public function actionIndex()
+    {
+        return $this->render('index',[
+
+        ]);
+    }
+}

+ 1 - 0
addons/LsActivity/backend/resources/.gitkeep

@@ -0,0 +1 @@
+*

+ 56 - 0
addons/LsActivity/backend/views/Activity/edit.php

@@ -0,0 +1,56 @@
+<?php
+
+use common\helpers\Html;
+use yii\widgets\ActiveForm;
+
+/* @var $this yii\web\View */
+/* @var $model addons\LsActivity\common\models\Activity */
+/* @var $form yii\widgets\ActiveForm */
+
+$this->title = 'Activity';
+$this->params['breadcrumbs'][] = ['label' => 'Activities', 'url' => ['index']];
+$this->params['breadcrumbs'][] = $this->title;
+?>
+
+<div class="row">
+    <div class="col-12">
+        <div class="box">
+            <div class="box-header with-border">
+                <h3 class="box-title">基本信息</h3>
+            </div>
+            <div class="box-body">
+                <?php $form = ActiveForm::begin([
+                    'fieldConfig' => [
+                        'template' => "<div class=‘row’><div class='col-2 text-right'>{label}</div><div class='col-10'>{input}\n{hint}\n{error}</div></div>",
+                    ],
+                ]); ?>
+                <div class="col-sm-12">
+                    <?= $form->field($model, 'title')->textInput(['maxlength' => true]) ?>
+                    <?= $form->field($model, 'cover')->widget(\common\widgets\webuploader\Files::class, [
+                            'type' => 'images',
+                            'theme' => 'default',
+                            'themeConfig' => [],
+                            'config' => [
+                                // 可设置自己的上传地址, 不设置则默认地址
+                                // 'server' => '',
+                                'pick' => [
+                                    'multiple' => false,
+                                ],
+                            ]
+                    ]); ?>
+                    <?= $form->field($model, 'seo_content')->textInput(['maxlength' => true]) ?>
+                    <?= $form->field($model, 'description')->textInput(['maxlength' => true]) ?>
+                    <?= $form->field($model, 'seo_key')->textInput(['maxlength' => true]) ?>
+                    <?= $form->field($model, 'content')->widget(\common\widgets\ueditor\UEditor::class, []) ?>
+                </div>
+                <div class="form-group">
+                    <div class="col-sm-12 text-center">
+                        <button class="btn btn-primary" type="submit">保存</button>
+                        <span class="btn btn-white" onclick="history.go(-1)">返回</span>
+                    </div>
+                </div>
+                <?php ActiveForm::end(); ?>
+            </div>
+        </div>
+    </div>
+</div>

+ 69 - 0
addons/LsActivity/backend/views/Activity/index.php

@@ -0,0 +1,69 @@
+<?php
+
+use common\helpers\Html;
+use common\helpers\Url;
+use yii\grid\GridView;
+
+/* @var $this yii\web\View */
+/* @var $dataProvider yii\data\ActiveDataProvider */
+
+$this->title = 'Activities';
+$this->params['breadcrumbs'][] = $this->title;
+?>
+
+<div class="row">
+    <div class="col-12">
+        <div class="box">
+            <div class="box-header">
+                <h3 class="box-title"><?= Html::encode($this->title) ?></h3>
+                <div class="box-tools">
+                    <?= Html::create(['edit']) ?>
+                </div>
+            </div>
+            <div class="box-body table-responsive">
+    <?= GridView::widget([
+        'dataProvider' => $dataProvider,
+        'tableOptions' => ['class' => 'table table-hover'],
+        'columns' => [
+            [
+                'class' => 'yii\grid\SerialColumn',
+                'visible' => false,
+            ],
+
+            'id',
+            'title',
+            //'cover',
+            //'seo_content',
+            'description',
+            //'seo_key',
+            //'content',
+            'view',
+            //'sort',
+            'check_max',
+            'check',
+            'author',
+            //'status',
+            //'created_at',
+            //'updated_at',
+            [
+                'class' => 'yii\grid\ActionColumn',
+                'header' => '操作',
+                'template' => '{edit} {status} {delete}',
+                'buttons' => [
+                'edit' => function($url, $model, $key){
+                        return Html::edit(['edit', 'id' => $model->id]);
+                },
+               'status' => function($url, $model, $key){
+                        return Html::status($model['status']);
+                  },
+                'delete' => function($url, $model, $key){
+                        return Html::delete(['delete', 'id' => $model->id]);
+                },
+                ]
+            ]
+    ]
+    ]); ?>
+            </div>
+        </div>
+    </div>
+</div>

+ 3 - 0
addons/LsActivity/backend/views/default/index.php

@@ -0,0 +1,3 @@
+<?php
+
+echo '这是' . Yii::$app->params['addon']['name'] . ' backend 页面';

+ 30 - 0
addons/LsActivity/backend/views/layouts/main.php

@@ -0,0 +1,30 @@
+<?php
+
+use common\helpers\Html;
+use addons\LsActivity\backend\assets\AppAsset;
+
+AppAsset::register($this);
+
+?>
+<?php $this->beginPage() ?>
+<!DOCTYPE html>
+<html lang="<?= Yii::$app->language ?>">
+<head>
+    <meta charset="<?= Yii::$app->charset ?>">
+    <meta name="keywords" content="">
+    <meta name="description" content="">
+    <meta name="format-detection" content="telephone=no" />
+    <meta name="format-detection" content="address=no" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <?php $this->registerCsrfMetaTags() ?>
+    <title><?= Html::encode($this->title) ?></title>
+    <?php $this->head() ?>
+</head>
+<body>
+<?php $this->beginBody() ?>
+<?= $content ?>
+<?php $this->endBody() ?>
+</body>
+</html>
+<?php $this->endPage() ?>

+ 23 - 0
addons/LsActivity/common/components/Bootstrap.php

@@ -0,0 +1,23 @@
+<?php
+
+namespace addons\LsActivity\common\components;
+
+use Yii;
+use common\interfaces\AddonWidget;
+
+/**
+ * Bootstrap
+ *
+ * Class Bootstrap
+ * @package addons\LsActivity\common\config
 */
+class Bootstrap implements AddonWidget
+{
+    /**
+     * @param $addon
+     * @return mixed|void
+     */
+    public function run($addon)
+    {
+
+    }
+}

+ 34 - 0
addons/LsActivity/common/config/api.php

@@ -0,0 +1,34 @@
+<?php
+
+return [
+
+    // ----------------------- 参数配置 ----------------------- //
+    'config' => [
+        // 菜单配置
+        'menu' => [
+            'location' => 'addons', // default:系统顶部菜单;addons:应用中心菜单
+            'icon' => 'fa fa-puzzle-piece',
+            'pattern' => [], // 可见开发模式 b2c、b2b2c、saas 不填默认全部可见, 可设置为 blank 为全部不可见
+        ],
+        // 子模块配置
+        'modules' => [
+            'v1' => [
+                'class' => 'addons\LsActivity\api\modules\v1\Module',
+            ],
+            'v2' => [
+                'class' => 'addons\LsActivity\api\modules\v2\Module',
+            ],
+        ],
+    ],
+
+    // ----------------------- 菜单配置 ----------------------- //
+
+    'menu' => [
+
+    ],
+
+    // ----------------------- 权限配置 ----------------------- //
+
+    'authItem' => [
+    ],
+];

+ 44 - 0
addons/LsActivity/common/config/backend.php

@@ -0,0 +1,44 @@
+<?php
+
+return [
+
+    // ----------------------- 参数配置 ----------------------- //
+    'config' => [
+        // 菜单配置
+        'menu' => [
+            'location' => 'addons', // default:系统顶部菜单;addons:应用中心菜单
+            'icon' => 'fa fa-puzzle-piece',
+            'pattern' => [], // 可见开发模式 b2c、b2b2c、saas 不填默认全部可见, 可设置为 blank 为全部不可见
+        ],
+        // 子模块配置
+        'modules' => [
+        ],
+    ],
+
+    // ----------------------- 菜单配置 ----------------------- //
+
+    'menu' => [
+        [
+            'title' => '活动管理',
+            'name' => 'activity/index',
+            'icon' => '',
+            'pattern' => [], // 可见开发模式 b2c、b2b2c、saas 不填默认全部可见, 可设置为 blank 为全部不可见
+            'params' => [
+            
+            ],
+            'child' => [
+
+            ],
+        ],
+    
+    ],
+
+    // ----------------------- 权限配置 ----------------------- //
+
+    'authItem' => [
+        [
+            'title' => '所有权限',
+            'name' => '*',
+        ],
+    ],
+];

+ 28 - 0
addons/LsActivity/common/config/frontend.php

@@ -0,0 +1,28 @@
+<?php
+
+return [
+
+    // ----------------------- 参数配置 ----------------------- //
+    'config' => [
+        // 菜单配置
+        'menu' => [
+            'location' => 'addons', // default:系统顶部菜单;addons:应用中心菜单
+            'icon' => 'fa fa-puzzle-piece',
+            'pattern' => [], // 可见开发模式 b2c、b2b2c、saas 不填默认全部可见, 可设置为 blank 为全部不可见
+        ],
+        // 子模块配置
+        'modules' => [
+        ],
+    ],
+
+    // ----------------------- 菜单配置 ----------------------- //
+
+    'menu' => [
+
+    ],
+
+    // ----------------------- 权限配置 ----------------------- //
+
+    'authItem' => [
+    ],
+];

+ 28 - 0
addons/LsActivity/common/config/html5.php

@@ -0,0 +1,28 @@
+<?php
+
+return [
+
+    // ----------------------- 参数配置 ----------------------- //
+    'config' => [
+        // 菜单配置
+        'menu' => [
+            'location' => 'addons', // default:系统顶部菜单;addons:应用中心菜单
+            'icon' => 'fa fa-puzzle-piece',
+            'pattern' => [], // 可见开发模式 b2c、b2b2c、saas 不填默认全部可见, 可设置为 blank 为全部不可见
+        ],
+        // 子模块配置
+        'modules' => [
+        ],
+    ],
+
+    // ----------------------- 菜单配置 ----------------------- //
+
+    'menu' => [
+
+    ],
+
+    // ----------------------- 权限配置 ----------------------- //
+
+    'authItem' => [
+    ],
+];

+ 32 - 0
addons/LsActivity/common/config/merchant.php

@@ -0,0 +1,32 @@
+<?php
+
+return [
+
+    // ----------------------- 参数配置 ----------------------- //
+    'config' => [
+        // 菜单配置
+        'menu' => [
+            'location' => 'addons', // default:系统顶部菜单;addons:应用中心菜单
+            'icon' => 'fa fa-puzzle-piece',
+            'pattern' => [], // 可见开发模式 b2c、b2b2c、saas 不填默认全部可见, 可设置为 blank 为全部不可见
+        ],
+        // 子模块配置
+        'modules' => [
+        ],
+    ],
+
+    // ----------------------- 菜单配置 ----------------------- //
+
+    'menu' => [
+
+    ],
+
+    // ----------------------- 权限配置 ----------------------- //
+
+    'authItem' => [
+        [
+            'title' => '所有权限',
+            'name' => '*',
+        ],
+    ],
+];

+ 34 - 0
addons/LsActivity/common/config/oauth2.php

@@ -0,0 +1,34 @@
+<?php
+
+return [
+
+    // ----------------------- 参数配置 ----------------------- //
+    'config' => [
+        // 菜单配置
+        'menu' => [
+            'location' => 'addons', // default:系统顶部菜单;addons:应用中心菜单
+            'icon' => 'fa fa-puzzle-piece',
+            'pattern' => [], // 可见开发模式 b2c、b2b2c、saas 不填默认全部可见, 可设置为 blank 为全部不可见
+        ],
+        // 子模块配置
+        'modules' => [
+            'v1' => [
+                'class' => 'addons\LsActivity\oauth2\modules\v1\Module',
+            ],
+            'v2' => [
+                'class' => 'addons\LsActivity\oauth2\modules\v2\Module',
+            ],
+        ],
+    ],
+
+    // ----------------------- 菜单配置 ----------------------- //
+
+    'menu' => [
+
+    ],
+
+    // ----------------------- 权限配置 ----------------------- //
+
+    'authItem' => [
+    ],
+];

+ 42 - 0
addons/LsActivity/common/forms/SettingForm.php

@@ -0,0 +1,42 @@
+<?php
+
+namespace addons\LsActivity\common\forms;
+
+use yii\base\Model;
+
+/**
+ * Class SettingForm
+ * @package addons\LsActivity\common\forms
+ */
+class SettingForm extends Model
+{
+    public $share_title;
+    public $share_cover;
+    public $share_desc;
+    public $share_link;
+
+    /**
+     * {@inheritdoc}
+     */
+    public function rules()
+    {
+        return [
+            [['share_title', 'share_cover'], 'string', 'max' => 100],
+            [['share_link', 'share_desc'], 'string', 'max' => 255],
+            [['share_link'], 'url'],
+        ];
+    }
+
+    /**
+     * @return array
+     */
+    public function attributeLabels()
+    {
+        return [
+            'share_title' => '分享标题',
+            'share_cover' => '分享封面',
+            'share_desc' => '分享描述',
+            'share_link' => '分享链接',
+        ];
+    }
+}

+ 75 - 0
addons/LsActivity/common/models/Activity.php

@@ -0,0 +1,75 @@
+<?php
+
+namespace addons\LsActivity\common\models;
+
+use Yii;
+
+/**
+ * This is the model class for table "rf_addon_activity_notice".
+ *
+ * @property int $id 序号
+ * @property string|null $title 标题
+ * @property string|null $cover 封面 
+ * @property string|null $seo_content seo内容 
+ * @property string|null $description 描述 
+ * @property string|null $seo_key seo关键字 
+ * @property string|null $content 文章内容 
+ * @property int|null $view 浏览量 
+ * @property int|null $sort 优先级
+ * @property int|null $check_max 报名人数限制
+ * @property int|null $check 已报名人数
+ * @property string|null $author 作者
+ * @property int|null $status 状态
+ * @property string|null $created_at 创建时间
+ * @property string|null $updated_at 更新时间
+ */
+class Activity extends \yii\db\ActiveRecord
+{
+    /**
+     * {@inheritdoc}
+     */
+    public static function tableName()
+    {
+        return 'rf_addon_activity_notice';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function rules()
+    {
+        return [
+            [['view', 'sort', 'check_max', 'check', 'status'], 'integer'],
+            [['created_at', 'updated_at'], 'safe'],
+            [['title'], 'string', 'max' => 30],
+            [['cover'], 'string', 'max' => 100],
+            [['seo_content'], 'string', 'max' => 1000],
+            [['description', 'content', 'author'], 'string', 'max' => 255],
+            [['seo_key'], 'string', 'max' => 50],
+        ];
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function attributeLabels()
+    {
+        return [
+            'id' => '序号',
+            'title' => '标题',
+            'cover' => '封面',
+            'seo_content' => 'seo内容',
+            'description' => '描述',
+            'seo_key' => 'seo关键字',
+            'content' => '文章内容',
+            'view' => '浏览量',
+            'sort' => '优先级',
+            'check_max' => '报名人数限制',
+            'check' => '已报名人数',
+            'author' => '作者',
+            'status' => '状态',
+            'created_at' => '创建时间',
+            'updated_at' => '更新时间',
+        ];
+    }
+}

+ 21 - 0
addons/LsActivity/common/models/DefaultModel.php

@@ -0,0 +1,21 @@
+<?php
+
+namespace addons\LsActivity\common\models;
+
+use Yii;
+use yii\db\ActiveRecord;
+use yii\behaviors\TimestampBehavior;
+
+/**
+ * This is the model class for table "{{%addon_default}}".
+ */
+class DefaultModel extends ActiveRecord
+{
+    /**
+     * {@inheritdoc}
+     */
+    public static function tableName()
+    {
+        return '{{%addon_default}}';
+    }
+}

+ 1 - 0
addons/LsActivity/console/controllers/.gitkeep

@@ -0,0 +1 @@
+*

+ 1 - 0
addons/LsActivity/console/migrations/.gitkeep

@@ -0,0 +1 @@
+*

+ 28 - 0
addons/LsActivity/frontend/assets/AppAsset.php

@@ -0,0 +1,28 @@
+<?php
+
+namespace addons\LsActivity\frontend\assets;
+
+use yii\web\AssetBundle;
+
+/**
+ * 静态资源管理
+ *
+ * Class AppAsset
+ * @package addons\LsActivity\frontend\assets
+ */
+class AppAsset extends AssetBundle
+{
+    /**
+     * @var string
+     */
+    public $sourcePath = '@addons/LsActivity/frontend/resources/';
+
+    public $css = [
+    ];
+
+    public $js = [
+    ];
+
+    public $depends = [
+    ];
+}

+ 20 - 0
addons/LsActivity/frontend/controllers/BaseController.php

@@ -0,0 +1,20 @@
+<?php
+
+namespace addons\LsActivity\frontend\controllers;
+
+use Yii;
+use common\controllers\AddonsController;
+
+/**
+ * 默认控制器
+ *
+ * Class DefaultController
+ * @package addons\LsActivity\frontend\controllers
+ */
+class BaseController extends AddonsController
+{
+    /**
+     * @var string
+     */
+    public $layout = "@addons/LsActivity/frontend/views/layouts/main";
+}

+ 27 - 0
addons/LsActivity/frontend/controllers/DefaultController.php

@@ -0,0 +1,27 @@
+<?php
+
+namespace addons\LsActivity\frontend\controllers;
+
+use Yii;
+use common\controllers\AddonsController;
+
+/**
+ * 默认控制器
+ *
+ * Class DefaultController
+ * @package addons\LsActivity\frontend\controllers
+ */
+class DefaultController extends BaseController
+{
+    /**
+     * 首页
+     *
+     * @return string
+     */
+    public function actionIndex()
+    {
+        return $this->render('index',[
+
+        ]);
+    }
+}

+ 1 - 0
addons/LsActivity/frontend/resources/.gitkeep

@@ -0,0 +1 @@
+*

+ 3 - 0
addons/LsActivity/frontend/views/default/index.php

@@ -0,0 +1,3 @@
+<?php
+
+echo '这是' . Yii::$app->params['addon']['name'] . ' frontend 页面';

+ 30 - 0
addons/LsActivity/frontend/views/layouts/main.php

@@ -0,0 +1,30 @@
+<?php
+
+use common\helpers\Html;
+use addons\LsActivity\frontend\assets\AppAsset;
+
+AppAsset::register($this);
+
+?>
+<?php $this->beginPage() ?>
+<!DOCTYPE html>
+<html lang="<?= Yii::$app->language ?>">
+<head>
+    <meta charset="<?= Yii::$app->charset ?>">
+    <meta name="keywords" content="">
+    <meta name="description" content="">
+    <meta name="format-detection" content="telephone=no" />
+    <meta name="format-detection" content="address=no" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <?php $this->registerCsrfMetaTags() ?>
+    <title><?= Html::encode($this->title) ?></title>
+    <?php $this->head() ?>
+</head>
+<body>
+<?php $this->beginBody() ?>
+<?= $content ?>
+<?php $this->endBody() ?>
+</body>
+</html>
+<?php $this->endPage() ?>

+ 28 - 0
addons/LsActivity/html5/assets/AppAsset.php

@@ -0,0 +1,28 @@
+<?php
+
+namespace addons\LsActivity\html5\assets;
+
+use yii\web\AssetBundle;
+
+/**
+ * 静态资源管理
+ *
+ * Class AppAsset
+ * @package addons\LsActivity\html5\assets
+ */
+class AppAsset extends AssetBundle
+{
+    /**
+     * @var string
+     */
+    public $sourcePath = '@addons/LsActivity/html5/resources/';
+
+    public $css = [
+    ];
+
+    public $js = [
+    ];
+
+    public $depends = [
+    ];
+}

+ 20 - 0
addons/LsActivity/html5/controllers/BaseController.php

@@ -0,0 +1,20 @@
+<?php
+
+namespace addons\LsActivity\html5\controllers;
+
+use Yii;
+use common\controllers\AddonsController;
+
+/**
+ * 默认控制器
+ *
+ * Class DefaultController
+ * @package addons\LsActivity\html5\controllers
+ */
+class BaseController extends AddonsController
+{
+    /**
+     * @var string
+     */
+    public $layout = "@addons/LsActivity/html5/views/layouts/main";
+}

+ 27 - 0
addons/LsActivity/html5/controllers/DefaultController.php

@@ -0,0 +1,27 @@
+<?php
+
+namespace addons\LsActivity\html5\controllers;
+
+use Yii;
+use common\controllers\AddonsController;
+
+/**
+ * 默认控制器
+ *
+ * Class DefaultController
+ * @package addons\LsActivity\html5\controllers
+ */
+class DefaultController extends BaseController
+{
+    /**
+     * 首页
+     *
+     * @return string
+     */
+    public function actionIndex()
+    {
+        return $this->render('index',[
+
+        ]);
+    }
+}

+ 1 - 0
addons/LsActivity/html5/resources/.gitkeep

@@ -0,0 +1 @@
+*

+ 3 - 0
addons/LsActivity/html5/views/default/index.php

@@ -0,0 +1,3 @@
+<?php
+
+echo '这是' . Yii::$app->params['addon']['name'] . ' html5 页面';

+ 30 - 0
addons/LsActivity/html5/views/layouts/main.php

@@ -0,0 +1,30 @@
+<?php
+
+use common\helpers\Html;
+use addons\LsActivity\html5\assets\AppAsset;
+
+AppAsset::register($this);
+
+?>
+<?php $this->beginPage() ?>
+<!DOCTYPE html>
+<html lang="<?= Yii::$app->language ?>">
+<head>
+    <meta charset="<?= Yii::$app->charset ?>">
+    <meta name="keywords" content="">
+    <meta name="description" content="">
+    <meta name="format-detection" content="telephone=no" />
+    <meta name="format-detection" content="address=no" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <?php $this->registerCsrfMetaTags() ?>
+    <title><?= Html::encode($this->title) ?></title>
+    <?php $this->head() ?>
+</head>
+<body>
+<?php $this->beginBody() ?>
+<?= $content ?>
+<?php $this->endBody() ?>
+</body>
+</html>
+<?php $this->endPage() ?>

+ 28 - 0
addons/LsActivity/merchant/assets/AppAsset.php

@@ -0,0 +1,28 @@
+<?php
+
+namespace addons\LsActivity\merchant\assets;
+
+use yii\web\AssetBundle;
+
+/**
+ * 静态资源管理
+ *
+ * Class AppAsset
+ * @package addons\LsActivity\merchant\assets
+ */
+class AppAsset extends AssetBundle
+{
+    /**
+     * @var string
+     */
+    public $sourcePath = '@addons/LsActivity/merchant/resources/';
+
+    public $css = [
+    ];
+
+    public $js = [
+    ];
+
+    public $depends = [
+    ];
+}

+ 20 - 0
addons/LsActivity/merchant/controllers/BaseController.php

@@ -0,0 +1,20 @@
+<?php
+
+namespace addons\LsActivity\merchant\controllers;
+
+use Yii;
+use common\controllers\AddonsController;
+
+/**
+ * 默认控制器
+ *
+ * Class DefaultController
+ * @package addons\LsActivity\merchant\controllers
+ */
+class BaseController extends AddonsController
+{
+    /**
+     * @var string
+     */
+    // public $layout = "@addons/LsActivity/merchant/views/layouts/main";
+}

+ 27 - 0
addons/LsActivity/merchant/controllers/DefaultController.php

@@ -0,0 +1,27 @@
+<?php
+
+namespace addons\LsActivity\merchant\controllers;
+
+use Yii;
+use common\controllers\AddonsController;
+
+/**
+ * 默认控制器
+ *
+ * Class DefaultController
+ * @package addons\LsActivity\merchant\controllers
+ */
+class DefaultController extends BaseController
+{
+    /**
+     * 首页
+     *
+     * @return string
+     */
+    public function actionIndex()
+    {
+        return $this->render('index',[
+
+        ]);
+    }
+}

+ 34 - 0
addons/LsActivity/merchant/controllers/SettingController.php

@@ -0,0 +1,34 @@
+<?php
+
+namespace addons\LsActivity\merchant\controllers;
+
+use Yii;
+use common\helpers\ArrayHelper;
+use addons\LsActivity\common\forms\SettingForm;
+
+/**
+ * 参数设置
+ *
+ * Class SettingController
+ * @package addons\LsActivity\merchant\controllers
+ */
+class SettingController extends BaseController
+{
+    /**
+     * @return mixed|string
+     */
+    public function actionDisplay()
+    {
+        $request = Yii::$app->request;
+        $model = new SettingForm();
+        $model->attributes = Yii::$app->services->addonsConfig->getConfig();
+        if ($model->load($request->post()) && $model->validate()) {
+            Yii::$app->services->addonsConfig->setConfig(ArrayHelper::toArray($model));
+            return $this->message('修改成功', $this->redirect(['display']));
+        }
+
+        return $this->render('display',[
+            'model' => $model,
+        ]);
+    }
+}

+ 1 - 0
addons/LsActivity/merchant/resources/.gitkeep

@@ -0,0 +1 @@
+*

+ 3 - 0
addons/LsActivity/merchant/views/default/index.php

@@ -0,0 +1,3 @@
+<?php
+
+echo '这是' . Yii::$app->params['addon']['name'] . ' merchant 页面';

+ 30 - 0
addons/LsActivity/merchant/views/layouts/main.php

@@ -0,0 +1,30 @@
+<?php
+
+use common\helpers\Html;
+use addons\LsActivity\merchant\assets\AppAsset;
+
+AppAsset::register($this);
+
+?>
+<?php $this->beginPage() ?>
+<!DOCTYPE html>
+<html lang="<?= Yii::$app->language ?>">
+<head>
+    <meta charset="<?= Yii::$app->charset ?>">
+    <meta name="keywords" content="">
+    <meta name="description" content="">
+    <meta name="format-detection" content="telephone=no" />
+    <meta name="format-detection" content="address=no" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <?php $this->registerCsrfMetaTags() ?>
+    <title><?= Html::encode($this->title) ?></title>
+    <?php $this->head() ?>
+</head>
+<body>
+<?php $this->beginBody() ?>
+<?= $content ?>
+<?php $this->endBody() ?>
+</body>
+</html>
+<?php $this->endPage() ?>

+ 44 - 0
addons/LsActivity/merchant/views/setting/display.php

@@ -0,0 +1,44 @@
+<?php
+
+use yii\widgets\ActiveForm;
+use common\widgets\webuploader\Files;
+use common\helpers\Url;
+
+$this->title = '参数设置';
+$this->params['breadcrumbs'][] = ['label' => $this->title];
+
+?>
+
+
+<div class="row">
+    <div class="col-lg-12">
+        <div class="box">
+            <div class="box-header with-border">
+                <h3 class="box-title">微信分享设置</h3>
+            </div>
+            <?php $form = ActiveForm::begin([]); ?>
+            <div class="box-body">
+                 <div class="col-sm-12">
+                    <?= $form->field($model, 'share_title')->textInput(); ?>
+                    <?= $form->field($model, 'share_cover')->widget(Files::class, [
+                        'type' => 'images',
+                        'theme' => 'default',
+                        'themeConfig' => [],
+                        'config' => [
+                            'pick' => [
+                                'multiple' => false,
+                            ],
+                        ]
+                    ]); ?>
+                    <?= $form->field($model, 'share_desc')->textarea(); ?>
+                    <?= $form->field($model, 'share_link')->textInput(); ?>
+                </div>
+            </div>
+            <div class="box-footer text-center">
+                <button class="btn btn-primary" type="submit">保存</button>
+                <span class="btn btn-white" onclick="history.go(-1)">返回</span>
+            </div>
+            <?php ActiveForm::end(); ?>
+        </div>
+    </div>
+</div>

+ 37 - 0
addons/LsActivity/oauth2/controllers/DefaultController.php

@@ -0,0 +1,37 @@
+<?php
+
+namespace addons\LsActivity\oauth2\controllers;
+
+use Yii;
+use oauth2\controllers\OnAuthController;
+
+/**
+ * 默认控制器
+ *
+ * Class DefaultController
+ * @package addons\LsActivity\oauth2\controllers
+ */
+class DefaultController extends OnAuthController
+{
+    public $modelClass = '';
+
+    /**
+     * 不用进行登录验证的方法
+     *
+     * 例如: ['index', 'update', 'create', 'view', 'delete']
+     * 默认全部需要验证
+     *
+     * @var array
+     */
+    protected $authOptional = ['index'];
+
+    /**
+     * 首页
+     *
+     * @return string
+     */
+    public function actionIndex()
+    {
+        return 'Hello world';
+    }
+}

+ 20 - 0
addons/LsActivity/oauth2/modules/v1/Module.php

@@ -0,0 +1,20 @@
+<?php
+
+namespace addons\LsActivity\oauth2\modules\v1;
+
+/**
+ * Class Module
+ * @package addons\LsActivity\oauth2\modules\v1 * @author jianyan74 <751393839@qq.com>
+ */
+class Module extends \yii\base\Module
+{
+    /**
+     * {@inheritdoc}
+     */
+    public $controllerNamespace = 'addons\LsActivity\oauth2\modules\v1\controllers';
+
+    public function init()
+    {
+        parent::init();
+    }
+}

+ 37 - 0
addons/LsActivity/oauth2/modules/v1/controllers/DefaultController.php

@@ -0,0 +1,37 @@
+<?php
+
+namespace addons\LsActivity\oauth2\modules\v1\controllers;
+
+use Yii;
+use oauth2\controllers\OnAuthController;
+
+/**
+ * 默认控制器
+ *
+ * Class DefaultController
+ * @package addons\LsActivity\oauth2\modules\v1\controllers
+ */
+class DefaultController extends OnAuthController
+{
+    public $modelClass = '';
+
+    /**
+     * 不用进行登录验证的方法
+     *
+     * 例如: ['index', 'update', 'create', 'view', 'delete']
+     * 默认全部需要验证
+     *
+     * @var array
+     */
+    protected $authOptional = ['index'];
+
+    /**
+     * 首页
+     *
+     * @return string
+     */
+    public function actionIndex()
+    {
+        return 'Hello world';
+    }
+}

+ 20 - 0
addons/LsActivity/oauth2/modules/v2/Module.php

@@ -0,0 +1,20 @@
+<?php
+
+namespace addons\LsActivity\oauth2\modules\v2;
+
+/**
+ * Class Module
+ * @package addons\LsActivity\oauth2\modules\v2 * @author jianyan74 <751393839@qq.com>
+ */
+class Module extends \yii\base\Module
+{
+    /**
+     * {@inheritdoc}
+     */
+    public $controllerNamespace = 'addons\LsActivity\oauth2\modules\v2\controllers';
+
+    public function init()
+    {
+        parent::init();
+    }
+}

+ 37 - 0
addons/LsActivity/oauth2/modules/v2/controllers/DefaultController.php

@@ -0,0 +1,37 @@
+<?php
+
+namespace addons\LsActivity\oauth2\modules\v2\controllers;
+
+use Yii;
+use oauth2\controllers\OnAuthController;
+
+/**
+ * 默认控制器
+ *
+ * Class DefaultController
+ * @package addons\LsActivity\oauth2\modules\v2\controllers
+ */
+class DefaultController extends OnAuthController
+{
+    public $modelClass = '';
+
+    /**
+     * 不用进行登录验证的方法
+     *
+     * 例如: ['index', 'update', 'create', 'view', 'delete']
+     * 默认全部需要验证
+     *
+     * @var array
+     */
+    protected $authOptional = ['index'];
+
+    /**
+     * 首页
+     *
+     * @return string
+     */
+    public function actionIndex()
+    {
+        return 'Hello world';
+    }
+}

+ 21 - 0
addons/LsActivity/services/Application.php

@@ -0,0 +1,21 @@
+<?php
+
+namespace addons\LsActivity\services;
+
+use common\components\Service;
+
+/**
+ * Class Application
+ *
+ * @package addons\LsActivity\services
+ * @property ConfigService $config 默认配置
+ */
+class Application extends Service
+{
+    /**
+     * @var array
+     */
+    public $childService = [
+        'config' => ConfigService::class
+    ];
+}

+ 24 - 0
addons/LsActivity/services/ConfigService.php

@@ -0,0 +1,24 @@
+<?php
+
+namespace addons\LsActivity\services;
+
+use common\components\BaseAddonConfigService;
+use addons\LsActivity\common\forms\SettingForm;
+
+/**
+ * Class ConfigService
+ *
+ * @package addons\LsActivity\services
+ */
+class ConfigService extends BaseAddonConfigService
+{
+    /**
+     * @var string
+     */
+    public $addonName = "LsActivity";
+
+    /**
+     * @var SettingForm
+     */
+    public $settingForm = SettingForm::class;
+}

粤ICP备19079148号