admin/plugins/micro-communities/src/PluginApplication.php

329 lines
14 KiB
PHP

<?php
namespace Yunshop\MicroCommunities;
use Config;
use Yunshop\Integral\Common\CommonService;
use Yunshop\Integral\Common\Config\MenuHook;
use Yunshop\InterestsDividend\listeners\OrderPaidListener;
use Yunshop\MicroCommunities\Listener\RewardComplatedListener;
use Yunshop\MicroCommunities\services\GoodsDetailService;
use Yunshop\MicroCommunities\services\MemberCenterService;
class PluginApplication extends \app\common\services\PluginApplication
{
public function getMemberCenterConfig()
{
\app\common\modules\shop\MemberCenterConfig::current()->push('plugin_data',[
'code' => 'micro-communities',
'name' => '微社区',
'sort' => 6,
'class' => '\Yunshop\MicroCommunities\common\member\MemberCenterMicroCommunities'
]);
}
public function storeAloneTempConfig()
{
\Yunshop\StoreAloneTemp\common\StoreAloneTempConfig::current()->push('navs',[
'sort' => 4,
'code' => 'micro-communities',
'name' => '微社区',
'class' => '\Yunshop\MicroCommunities\common\member\StoreMemberCenterMicroCommunities',
]);
$set = \Setting::get('plugin.micro-communities');
if ($set && $set['is_open_micro'] == 1) {
\Yunshop\StoreAloneTemp\common\StoreAloneTempConfig::current()->push('plugins',[
'name' => 'micro-communities',
'title' => '微社区',
'class' => 'icon-member_community',
'url' => 'MicroHome',
'image' => 'member_a(74).png',
'mini_url' => '/packageC/micro_communities/microIndex/microIndex',
]);
}
}
public function getIncomeItems()
{
return ['microCommunities'=>[
'title' => '微社区打赏',
'type' => 'microCommunities',
'type_name' => '微社区打赏',
'class' => 'Yunshop\MicroCommunities\models\MicroCommunitiesStickReward',
]];
}
protected function setConfig()
{
}
public function getWidgetItems()
{
return ['withdraw.tab_micro_communities' => [
'title' => '微社区提现',
'class' => 'Yunshop\MicroCommunities\widgets\WithdrawWidget'
]];
}
protected function setMenuConfig()
{
/**
* 菜单、权限、路由
*/
\app\backend\modules\menu\Menu::current()->setPluginMenu('micro_communities', [
'name' => '微社区',
'type' => 'industry',
'url' => 'plugin.micro-communities.admin.setting.index', //url 可以填写http 也可以直接写路由
'url_params' => '',//如果是url填写的是路由则启用参数否则不启用
'permit' => 1,//如果不设置则不会做权限检测
'menu' => 1,//如果不设置则不显示菜单,子菜单也将不显示
'top_show' => 0,
'left_first_show' => 0,
'left_second_show' => 1,
'icon' => 'fa-hourglass-2',//菜单图标
'list_icon' => 'micro_communities',
'parents' => [],
'child' => [
'micro_communities_trick' => [
'name' => '帖子管理',
'permit' => 1,
'menu' => 1,
'icon' => '',
'url' => 'plugin.micro-communities.admin.trick.index',
'url_params' => '',
'parents' => ['micro_communities'],
'child' => [
'micro_communities_trick_detail' => [
'name' => '帖子详情',
'permit' => 1,
'menu' => 0,
'icon' => '',
'url' => 'plugin.micro-communities.admin.trick.trickDetail',
'url_params' => '',
'parents' => ['micro_communities','micro_communities_trick'],
'child' => []
],
'micro_communities_get_store' => [
'name' => '搜索门店',
'permit' => 1,
'menu' => 0,
'icon' => '',
'url' => 'plugin.micro-communities.admin.trick.getStore',
'url_params' => '',
'parents' => ['micro_communities','micro_communities_trick'],
'child' => []
],
'micro_communities_up_trick_state' => [
'name' => '修改状态',
'permit' => 1,
'menu' => 0,
'icon' => '',
'url' => 'plugin.micro-communities.admin.trick.upTrickState',
'url_params' => '',
'parents' => ['micro_communities','micro_communities_trick'],
'child' => []
],
'micro_communities_change_show' => [
'name' => '上下架',
'permit' => 1,
'menu' => 0,
'icon' => '',
'url' => 'plugin.micro-communities.admin.trick.changeShow',
'url_params' => '',
'parents' => ['micro_communities','micro_communities_trick'],
'child' => []
],
'micro_communities_delTrick' => [
'name' => '删除帖子',
'permit' => 1,
'menu' => 0,
'icon' => '',
'url' => 'plugin.micro-communities.admin.trick.delTrick',
'url_params' => '',
'parents' => ['micro_communities','micro_communities_trick'],
'child' => []
],
'micro_communities_batchReview' => [
'name' => '批量审核',
'permit' => 1,
'menu' => 0,
'icon' => '',
'url' => 'plugin.micro-communities.admin.trick.batchReview',
'url_params' => '',
'parents' => ['micro_communities','micro_communities_trick'],
'child' => []
],
'micro_communities_batchRecommend' => [
'name' => '批量推荐',
'permit' => 1,
'menu' => 0,
'icon' => '',
'url' => 'plugin.micro-communities.admin.trick.batchRecommend',
'url_params' => '',
'parents' => ['micro_communities','micro_communities_trick'],
'child' => []
],
'micro_communities_batchTop' => [
'name' => '批量置顶',
'permit' => 1,
'menu' => 0,
'icon' => '',
'url' => 'plugin.micro-communities.admin.trick.batchTop',
'url_params' => '',
'parents' => ['micro_communities','micro_communities_trick'],
'child' => []
],
'micro_communities_batchDel' => [
'name' => '批量删除',
'permit' => 1,
'menu' => 0,
'icon' => '',
'url' => 'plugin.micro-communities.admin.trick.batchDel',
'url_params' => '',
'parents' => ['micro_communities','micro_communities_trick'],
'child' => []
],
]
],
'micro_communities_category' => [
'name' => '分类管理',
'permit' => 1,
'menu' => 1,
'icon' => '',
'url' => 'plugin.micro-communities.admin.category.index',
'url_params' => '',
'parents' => ['micro_communities'],
'child' => [
'micro_communities_up_cate' => [
'name' => '编辑一级分类',
'permit' => 1,
'menu' => 0,
'icon' => '',
'url' => 'plugin.micro-communities.admin.category.upCate',
'url_params' => '',
'parents' => ['micro_communities','micro_communities_category'],
'child' => []
],
'micro_communities_up_cate_second' => [
'name' => '编辑二级分类',
'permit' => 1,
'menu' => 0,
'icon' => '',
'url' => 'plugin.micro-communities.admin.category.upCateSecond',
'url_params' => '',
'parents' => ['micro_communities','micro_communities_category'],
'child' => []
],
'micro_communities_category_delete' => [
'name' => '删除分类',
'permit' => 1,
'menu' => 0,
'icon' => '',
'url' => 'plugin.micro-communities.admin.category.delete',
'url_params' => '',
'parents' => ['micro_communities','micro_communities_category'],
'child' => []
],
'micro_communities_category_changeShow' => [
'name' => '编辑分类状态',
'permit' => 1,
'menu' => 0,
'icon' => '',
'url' => 'plugin.micro-communities.admin.category.changeShow',
'url_params' => '',
'parents' => ['micro_communities','micro_communities_category'],
'child' => []
],
'micro_communities_cate_getSerializeData' => [
'name' => '序列化',
'permit' => 1,
'menu' => 0,
'icon' => '',
'url' => 'plugin.micro-communities.admin.category.getSerializeData',
'url_params' => '',
'parents' => ['micro_communities','micro_communities_category'],
'child' => []
],
]
],
'micro_communities_reward' => [
'name' => '打赏记录',
'permit' => 1,
'menu' => 1,
'icon' => '',
'url' => 'plugin.micro-communities.admin.reward.index',
'url_params' => '',
'parents' => ['micro_communities'],
'child' => []
],
'micro_communities_sensitive' => [
'name' => '敏感词管理',
'permit' => 1,
'menu' => 1,
'icon' => '',
'url' => 'plugin.micro-communities.admin.sensitive.index',
'url_params' => '',
'parents' => ['micro_communities'],
'child' => []
],
'micro_communities_set' => [
'name' => '基础设置',
'permit' => 1,
'menu' => 1,
'icon' => '',
'url' => 'plugin.micro-communities.admin.setting.index',
'url_params' => '',
'parents' => ['micro_communities'],
'child' => []
],
]
]);
}
public function getFrontendWidgetConfig(): array
{
return [
'goods_detail.micro-communities' => GoodsDetailService::class,
'member_center.micro-communities' => MemberCenterService::class,
];
}
public function boot()
{
$events = app('events');
/**
* 支付回调
*
*/
$events->subscribe(\Yunshop\MicroCommunities\Listener\RewardComplatedListener::class);
$events->subscribe(\Yunshop\MicroCommunities\Listener\TrickPublishSuccessListener::class);
/*
* 定时任务处理
*
*/
}
public function register()
{
}
public function cronConfig()
{
\Event::listen('cron.collectJobs', function () {
\Cron::add('micro-communities', '*/10 * * * *', function () {
(new \Yunshop\MicroCommunities\services\TimedTaskService)->handle();
return;
});
});
}
}