bztang-admin/plugins/article/src/PluginApplication.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>
');
});
}
}