624 lines
31 KiB
PHP
624 lines
31 KiB
PHP
<?php
|
|
|
|
|
|
namespace Yunshop\Article;
|
|
|
|
use app\common\events\RenderingMyLink;
|
|
use app\backend\modules\menu\Menu;
|
|
use Yunshop\Article\services\MemberCenterService;
|
|
|
|
class PluginApplication extends \app\common\services\PluginApplication
|
|
{
|
|
public function getMemberCenterConfig()
|
|
{
|
|
\app\common\modules\shop\MemberCenterConfig::current()->push('plugin_data',[
|
|
'code' => 'article',
|
|
'name' => '文章列表',
|
|
'sort' => 4,
|
|
'class' => '\Yunshop\Article\common\member\MemberCenterArticle'
|
|
]);
|
|
}
|
|
|
|
protected function setConfig()
|
|
{
|
|
|
|
}
|
|
protected function setMenuConfig()
|
|
{
|
|
if (\YunShop::isArticle()) {
|
|
$menu = [
|
|
'name' => '文章',
|
|
'url' => 'plugin.article.manager.article.index',// url 可以填写http 也可以直接写路由
|
|
'url_params' => '',//如果是url填写的是路由则启用参数否则不启用
|
|
'permit' => '',//如果不设置则不会做权限检测
|
|
'menu' => 1,//如果不设置则不显示菜单,子菜单也将不显示
|
|
'icon' => 'fa-skype',//菜单图标
|
|
'parents' => [],
|
|
'top_show' => 0,
|
|
'left_first_show' => 1,
|
|
'left_second_show' => 1,
|
|
'child' => [
|
|
'article_manager_article' => [
|
|
'name' => '文章管理',
|
|
'permit' => 0,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'url' => 'plugin.article.manager.article.index',
|
|
'url_params' => [],
|
|
'parents' => ['article_manager_menu'],
|
|
'child' => [
|
|
'article_manager_article_info' => [
|
|
'name' => '文章详情',
|
|
'permit' => 0,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'url' => 'plugin.article.manager.article-vue.info',
|
|
'url_params' => [],
|
|
'parents' => ['article_manager_menu','article_manager_article'],
|
|
'child' => []
|
|
],
|
|
'article_manager_article_add' => [
|
|
'name' => '添加文章',
|
|
'url' => 'plugin.article.manager.article-vue.add',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'item' => '',
|
|
'parents' => ['article_manager_menu','article_manager_article'],
|
|
'child' => []
|
|
],
|
|
'article_manager_article_edit' => [
|
|
'name' => '修改文章',
|
|
'url' => 'plugin.article.manager.article-vue.edit',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'item' => '',
|
|
'parents' => ['article_manager_menu','article_manager_article'],
|
|
'child' => []
|
|
],
|
|
'article_manager_article_add_category' => [
|
|
'name' => '添加分类',
|
|
'url' => 'plugin.article.manager.article-vue.add-category',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'item' => '',
|
|
'parents' => ['article_manager_menu','article_manager_article'],
|
|
'child' => []
|
|
],
|
|
'article_manager_article_delete' => [
|
|
'name' => '文章删除',
|
|
'url' => 'plugin.article.manager.article.deleted',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'item' => '',
|
|
'parents' => ['article_manager_menu','article_manager_article'],
|
|
'child' => []
|
|
],
|
|
'article_manager_article_edit_sort' => [
|
|
'name' => '修改排序',
|
|
'url' => 'plugin.article.admin.article.edit-sort',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'item' => '',
|
|
'parents' => ['article_manager_menu','article_manager_article'],
|
|
'child' => []
|
|
],
|
|
'article_manager_article_log' => [
|
|
'name' => '查看记录',
|
|
'url' => 'plugin.article.manager.article.log',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'item' => '',
|
|
'parents' => ['article_manager_menu','article_manager_article'],
|
|
'child' => []
|
|
],
|
|
'article_manager_article_share' => [
|
|
'name' => '分享记录',
|
|
'url' => 'plugin.article.manager.article.share',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'item' => '',
|
|
'parents' => ['article_manager_menu','article_manager_article'],
|
|
'child' => []
|
|
],
|
|
'article_manager_article_comment' => [
|
|
'name' => '文章评论列表',
|
|
'url' => 'plugin.article.manager.comment.index',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'item' => '',
|
|
'parents' => ['article_manager_menu','article_manager_article'],
|
|
'child' => []
|
|
],
|
|
'article_manager_article_comment_reply' => [
|
|
'name' => '文章评论',
|
|
'url' => 'plugin.article.manager.comment.reply',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'item' => '',
|
|
'parents' => ['article_manager_menu','article_manager_article'],
|
|
'child' => []
|
|
],
|
|
'article_manager_article_comment_get_reply' => [
|
|
'name' => '评论回复',
|
|
'url' => 'plugin.article.manager.comment.get-reply',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'item' => '',
|
|
'parents' => ['article_manager_menu','article_manager_article'],
|
|
'child' => []
|
|
],
|
|
'article_manager_article_comment_del' => [
|
|
'name' => '总评论删除',
|
|
'url' => 'plugin.article.manager.comment.del',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'item' => '',
|
|
'parents' => ['article_manager_menu','article_manager_article'],
|
|
'child' => []
|
|
],
|
|
'article_manager_article_comment_deleted' => [
|
|
'name' => '评论删除',
|
|
'url' => 'plugin.article.manager.comment.deleted',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'item' => '',
|
|
'parents' => ['article_manager_menu','article_manager_article'],
|
|
'child' => []
|
|
],
|
|
'article_manager_article_comment_pass' => [
|
|
'name' => '文章管理员评论审核',
|
|
'url' => 'plugin.article.manager.comment.pass',
|
|
'url_params' => '',
|
|
'permit' => 0,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => '',
|
|
'parents' => ['article_manager_menu','article_manager_article'],
|
|
'child' => []
|
|
],
|
|
]
|
|
]
|
|
]
|
|
];
|
|
Menu::current()->setMainMenu('article_manager_menu', $menu);
|
|
}
|
|
\app\backend\modules\menu\Menu::current()->setPluginMenu('article', [
|
|
'name' => '文章营销',
|
|
'type' => 'marketing',
|
|
'url' => 'plugin.article.admin.article.index',// url 可以填写http 也可以直接写路由
|
|
'url_params' => '',//如果是url填写的是路由则启用参数否则不启用
|
|
'permit' => 1,//如果不设置则不会做权限检测
|
|
'menu' => 1,//如果不设置则不显示菜单,子菜单也将不显示
|
|
'icon' => '',//菜单图标
|
|
'list_icon' => 'article',
|
|
'parents' => [],
|
|
'top_show' => 0,
|
|
'left_first_show' => 0,
|
|
'left_second_show' => 1,
|
|
'child' => [
|
|
'plugin.article.admin.set' => [
|
|
'name' => '基础设置',
|
|
'permit' => 1,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'url' => 'plugin.article.admin.set.index',
|
|
'url_params' => '',
|
|
'parents' => ['article'],
|
|
],
|
|
|
|
'plugin_article_writings_index' => [
|
|
'name' => '文章管理',
|
|
'permit' => 1,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'url' => 'plugin.article.admin.article.index',
|
|
'url_params' => '',
|
|
'item' => 'plugin_article_writings_index',
|
|
'parents' => ['article'],
|
|
'child' => [
|
|
|
|
'plugin_article_writings_see' => [
|
|
'name' => '浏览列表',
|
|
'permit' => 1,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'item' => 'plugin_article_writings_see',
|
|
'url' => 'plugin.article.admin.article.index',
|
|
'url_params' => '',
|
|
'parents' => ['article', 'plugin_article_writings_index'],
|
|
],
|
|
|
|
'plugin_article_writings_add' => [
|
|
'name' => '添加文章',
|
|
'permit' => 1,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'item' => 'plugin_article_writings_add',
|
|
'url' => 'plugin.article.admin.article-vue.add',
|
|
'url_params' => '',
|
|
'parents' => ['article', 'plugin_article_writings_index'],
|
|
],
|
|
|
|
'plugin_article_writings_edit' => [
|
|
'name' => '修改文章',
|
|
'permit' => 1,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'item' => 'plugin_article_writings_edit',
|
|
'url' => 'plugin.article.admin.article-vue.edit',
|
|
'url_params' => '',
|
|
'parents' => ['article', 'plugin_article_writings_index'],
|
|
],
|
|
|
|
'plugin_article_add_category' => [
|
|
'name' => '添加分类',
|
|
'permit' => 0,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => 'plugin_article_add_category',
|
|
'url' => 'plugin.article.admin.article-vue.add-category',
|
|
'url_params' => '',
|
|
'parents' => ['article', 'plugin_article_writings_index'],
|
|
],
|
|
|
|
|
|
'plugin_article_upload' => [
|
|
'name' => '图片上传',
|
|
'permit' => 1,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'item' => 'plugin_article_upload',
|
|
'url' => 'plugin.article.admin.article-vue.upload',
|
|
'url_params' => '',
|
|
'parents' => ['article', 'plugin_article_writings_index'],
|
|
],
|
|
|
|
'plugin_article_writings_destroy' => [
|
|
'name' => '删除文章',
|
|
'permit' => 1,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'item' => 'plugin_article_writings_destroy',
|
|
'url' => 'plugin.article.admin.article.deleted',
|
|
'url_params' => '',
|
|
'parents' => ['article', 'plugin_article_writings_index'],
|
|
],
|
|
|
|
'plugin_article_writings_log' => [
|
|
'name' => '查看记录',
|
|
'permit' => 1,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'item' => 'plugin_article_writings_log',
|
|
'url' => 'plugin.article.admin.article.log',
|
|
'url_params' => '',
|
|
'parents' => ['article', 'plugin_article_writings_index'],
|
|
],
|
|
|
|
'plugin_article_writings_share' => [
|
|
'name' => '分享记录',
|
|
'permit' => 1,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'item' => 'plugin_article_writings_share',
|
|
'url' => 'plugin.article.admin.article.share',
|
|
'url_params' => '',
|
|
'parents' => ['article', 'plugin_article_writings_index'],
|
|
],
|
|
'plugin_article_writings_info' => [
|
|
'name' => '文章详情',
|
|
'permit' => 1,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'item' => 'plugin_article_writings_info',
|
|
'url' => 'plugin.article.admin.article-vue.info',
|
|
'url_params' => '',
|
|
'parents' => ['article', 'plugin_article_writings_index'],
|
|
],
|
|
'plugin_article_comment_list' => [
|
|
'name' => '文章评论列表',
|
|
'url' => 'plugin.article.admin.comment.index',
|
|
'permit' => 1,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => '',
|
|
'url_params' => '',
|
|
'parents' => ['article', 'plugin_article_writings_index'],
|
|
],
|
|
'plugin_article_comment_reply' => [
|
|
'name' => '文章评论',
|
|
'url' => 'plugin.article.admin.comment.reply',
|
|
'permit' => 1,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => '',
|
|
'url_params' => '',
|
|
'parents' => ['article', 'plugin_article_writings_index'],
|
|
],
|
|
'plugin_article_comment_get_reply' => [
|
|
'name' => '评论回复',
|
|
'url' => 'plugin.article.admin.comment.get-reply',
|
|
'permit' => 1,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => '',
|
|
'url_params' => '',
|
|
'parents' => ['article', 'plugin_article_writings_index'],
|
|
],
|
|
'plugin_article_comment_deleted' => [
|
|
'name' => '评论删除',
|
|
'url' => 'plugin.article.admin.comment.deleted',
|
|
'permit' => 1,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => '',
|
|
'url_params' => '',
|
|
'parents' => ['article', 'plugin_article_writings_index'],
|
|
],
|
|
'plugin_article_comment_del' => [
|
|
'name' => '删除总评论',
|
|
'url' => 'plugin.article.admin.comment.del',
|
|
'permit' => 1,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => '',
|
|
'url_params' => '',
|
|
'parents' => ['article', 'plugin_article_writings_index'],
|
|
],
|
|
'plugin_article_comment_pass' => [
|
|
'name' => '评论审核',
|
|
'url' => 'plugin.article.admin.comment.pass',
|
|
'permit' => 0,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => '',
|
|
'url_params' => '',
|
|
'parents' => ['article', 'plugin_article_writings_index'],
|
|
],
|
|
'plugin_article_format_audio_link' => [
|
|
'name' => '评论审核',
|
|
'url' => 'plugin.article.admin.article-vue.format-audio-link',
|
|
'permit' => 0,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => '',
|
|
'url_params' => '',
|
|
'parents' => ['article', 'plugin_article_writings_index'],
|
|
],
|
|
]
|
|
],
|
|
|
|
'plugin_article_category' => [
|
|
'name' => '文章分类',
|
|
'permit' => 1,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'url' => 'plugin.article.admin.category.index',
|
|
'url_params' => '',
|
|
'parents' => ['article'],
|
|
'child' => [
|
|
|
|
'plugin_article_category_see' => [
|
|
'name' => '查看分类',
|
|
'permit' => 1,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'item' => 'plugin_article_category_see',
|
|
'url' => 'plugin.article.admin.category.index',
|
|
'url_params' => '',
|
|
'parents' => ['article', 'plugin_article_category'],
|
|
],
|
|
|
|
'plugin_article_category_add' => [
|
|
'name' => '添加分类',
|
|
'permit' => 1,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'item' => 'plugin_article_category_add',
|
|
'url' => 'plugin.article.admin.category.add',
|
|
'url_params' => '',
|
|
'parents' => ['article', 'plugin_article_category'],
|
|
],
|
|
|
|
'plugin_article_category_edit' => [
|
|
'name' => '修改分类',
|
|
'permit' => 1,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'item' => 'plugin_article_category_edit',
|
|
'url' => 'plugin.article.admin.category.edit',
|
|
'url_params' => '',
|
|
'parents' => ['article', 'plugin_article_category'],
|
|
],
|
|
|
|
'plugin_article_category_destroy' => [
|
|
'name' => '删除分类',
|
|
'permit' => 1,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'item' => 'plugin_article_category_destroy',
|
|
'url' => 'plugin.article.admin.category.deleted',
|
|
'url_params' => '',
|
|
'parents' => ['article', 'plugin_article_category'],
|
|
]
|
|
]
|
|
],
|
|
'plugin_article_manager_index' => [
|
|
'name' => '管理员',
|
|
'permit' => 1,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'url' => 'plugin.article.admin.manager.index',
|
|
'url_params' => '',
|
|
'parents' => ['article'],
|
|
'child' => [
|
|
'plugin_article_manager_change' => [
|
|
'name' => '修改管理员状态',
|
|
'url' => 'plugin.article.admin.manager.change-status',
|
|
'permit' => 1,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => '',
|
|
'url_params' => '',
|
|
'parents' => ['article', 'plugin_article_manager_index'],
|
|
],
|
|
'plugin_article_manager_add' => [
|
|
'name' => '增加管理员',
|
|
'url' => 'plugin.article.admin.manager.add',
|
|
'permit' => 1,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => '',
|
|
'url_params' => '',
|
|
'parents' => ['article', 'plugin_article_manager_index'],
|
|
],
|
|
'plugin_article_manager_edit' => [
|
|
'name' => '账户信息',
|
|
'url' => 'plugin.article.admin.manager.edit',
|
|
'permit' => 1,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => '',
|
|
'url_params' => '',
|
|
'parents' => ['article', 'plugin_article_manager_index'],
|
|
],
|
|
'plugin_article_manager_edit_pwd' => [
|
|
'name' => '修改密码',
|
|
'url' => 'plugin.article.admin.manager.edit-pwd',
|
|
'permit' => 1,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => '',
|
|
'url_params' => '',
|
|
'parents' => ['article', 'plugin_article_manager_index'],
|
|
],
|
|
]
|
|
],
|
|
'plugin_article_manager_articles' => [
|
|
'name' => '管理员文章',
|
|
'permit' => 1,
|
|
'menu' => 1,
|
|
'icon' => '',
|
|
'url' => 'plugin.article.admin.manager-article.index',
|
|
'url_params' => '',
|
|
'parents' => ['article'],
|
|
'child' => [
|
|
'plugin_article_manager_del' => [
|
|
'name' => '文章删除',
|
|
'url' => 'plugin.article.admin.manager-article.del',
|
|
'permit' => 1,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'item' => '',
|
|
'url_params' => '',
|
|
'parents' => ['article', 'plugin_article_manager_articles'],
|
|
],
|
|
]
|
|
],
|
|
//临时取消文章采集功能
|
|
/*'plugin.article.admin.article.collect' => [
|
|
'name' => '文章采集',
|
|
'permit' => 1,
|
|
'menu' => 0,
|
|
'icon' => '',
|
|
'url' => 'plugin.article.admin.article.collect',
|
|
'urlParams' => [],
|
|
'parents'=>['article'],
|
|
],*/
|
|
]
|
|
]);
|
|
|
|
}
|
|
|
|
public function getFrontendWidgetConfig(): array
|
|
{
|
|
return [
|
|
'member_center.article' => MemberCenterService::class,
|
|
];
|
|
}
|
|
|
|
public function boot()
|
|
{
|
|
$events = app('events');
|
|
$events->listen(RenderingMyLink::class, function ($event) {
|
|
|
|
|
|
$event->addContent(' <div role="tabpanel" class="tab-pane link_cate" id="link_article">
|
|
<div class="input-group">
|
|
<span class="input-group-addon" style=\'padding:0px; border: 0px;\'>
|
|
<select class="form-control tpl-category-parent" name="article_category" id="select-article-ca" style=\'width: 150px; border-radius: 4px 0px 0px 4px; border-right: 0px;\'>
|
|
<option value="" selected="selected">全部分类</option>
|
|
@foreach ($mylink_data[\'categorys\'] as $category)
|
|
<option value="{{ $category[\'id\'] }}">{{ $category[\'category_name\'] }}</option>
|
|
@endforeach
|
|
</select>
|
|
</span>
|
|
<input type="text" class="form-control" value="" id="select-article-kw" placeholder="请输入文章标题进行搜索">
|
|
<span class="input-group-btn"><button type="button" class="btn btn-default" id="select-article-btn">搜索</button></span>
|
|
</div>
|
|
<div class="mylink-con" style="height:266px;">
|
|
<div class="mylink-line">
|
|
<label class="label label-primary" style="margin-right:5px;">文章列表</label>
|
|
{{ $mylink_data[\'article_sys\'][\'article_title\'] }}
|
|
<div class="mylink-sub">
|
|
<a href="javascript:;" class="mylink-nav" data-href="{php echo $this->createPluginMobileUrl(\'article\',array(\'method\'=>\'article\'))}">选择</a>
|
|
</div>
|
|
</div>
|
|
<div id="select-articles"></div>
|
|
</div>
|
|
<script>
|
|
// ajax 选择文章
|
|
$("#select-article-btn").click(function(){
|
|
var category = $("#select-article-ca option:selected").val();
|
|
var keyword = $("#select-article-kw").val();
|
|
$.ajax({
|
|
type: \'POST\',
|
|
url: "{php echo $this->createPluginWebUrl(\'article\',array(\'method\'=>\'api\',\'apido\'=>\'selectarticles\'))}",
|
|
data: {category:category,keyword:keyword},
|
|
dataType:\'json\',
|
|
success: function(data){
|
|
//console.log(data);
|
|
$("#select-articles").html("");
|
|
if(data){
|
|
$.each(data,function(n,value){
|
|
var html = \'<div class="mylink-line">[\'+value.category_name+\'] \'+value.article_title;
|
|
html+=\'<div class="mylink-sub">\';
|
|
html+=\'<a href="javascript:;" class="mylink-nav" data-href="\'+"{php echo $this->createPluginMobileUrl(\'article\')}&aid="+value.id+\'">选择</a>\';
|
|
html+=\'</div></div>\';
|
|
$("#select-articles").append(html);
|
|
});
|
|
}
|
|
}
|
|
});
|
|
});
|
|
</script>
|
|
</div>
|
|
');
|
|
});
|
|
}
|
|
|
|
} |