68 lines
1.8 KiB
PHP
68 lines
1.8 KiB
PHP
<?php
|
||
// +----------------------------------------------------------------------
|
||
// | YwxApp [ WE CAN DO IT JUST THINK ]
|
||
// +----------------------------------------------------------------------
|
||
// | Copyright (c) 2026-2036 http://ywxapp.cn All rights reserved.
|
||
// +----------------------------------------------------------------------
|
||
// | Author: ywxapp<admin@ywxapp.cn>
|
||
// +----------------------------------------------------------------------
|
||
declare (strict_types = 1);
|
||
|
||
namespace addon\docs;
|
||
|
||
use think\facade\Db;
|
||
use ywxapp\AddonBase;
|
||
|
||
/**
|
||
* 文档中心插件
|
||
*
|
||
* 菜单与建表/种子数据由框架统一处理:
|
||
* - 菜单:addon/docs/menu.json
|
||
* - 数据:addon/docs/install.sql(框架 importsql 白名单执行 CREATE TABLE / INSERT)
|
||
*
|
||
* @author ywxapp <admin@ywxapp.cn>
|
||
*/
|
||
class Addon extends addon
|
||
{
|
||
/**
|
||
* 安装钩子
|
||
*/
|
||
public function install()
|
||
{
|
||
return true;
|
||
}
|
||
|
||
/**
|
||
* 卸载钩子
|
||
*
|
||
* 框架 AddonService::deleteMenu() 只清理 admin_power,
|
||
* 这里补清 user_rule 中本插件的前端菜单(按 name 前缀),避免残留。
|
||
* 采用物理删除,防止软删除后唯一键 name 冲突导致重装失败。
|
||
*/
|
||
public function uninstall()
|
||
{
|
||
Db::execute("DELETE FROM wxapp_user_rule WHERE name LIKE 'docs:%'");
|
||
Db::execute("DELETE FROM wxapp_user_rule WHERE name LIKE 'docs/%'");
|
||
Db::execute("DELETE FROM wxapp_admin_power WHERE addon='docs'");
|
||
return true;
|
||
}
|
||
|
||
/**
|
||
* 启用钩子:清理目录树缓存
|
||
*/
|
||
public function enabled()
|
||
{
|
||
\think\facade\Cache::tag('docs_tree')->clear();
|
||
return true;
|
||
}
|
||
|
||
/**
|
||
* 禁用钩子:清理目录树缓存
|
||
*/
|
||
public function disabled()
|
||
{
|
||
\think\facade\Cache::tag('docs_tree')->clear();
|
||
return true;
|
||
}
|
||
}
|