mirror of
https://github.com/kuaifan/dootask.git
synced 2026-08-01 19:05:55 +00:00
59 lines
2.0 KiB
Markdown
59 lines
2.0 KiB
Markdown
---
|
||
id: appstore.uninstall.howto
|
||
title: 卸载一个插件
|
||
type: howto
|
||
feature: appstore
|
||
scope: admin
|
||
locale: zh
|
||
aliases:
|
||
- 卸载插件
|
||
- 删除应用
|
||
- 关闭功能插件
|
||
- 怎么停掉 AI
|
||
- 删掉审批
|
||
- uninstall plugin
|
||
related_tools: []
|
||
related_pages: [application]
|
||
prerequisites:
|
||
- 需要系统管理员权限
|
||
negative:
|
||
- 卸载会停容器并标记 status,但不一定立刻删数据卷
|
||
- 不支持卸载 `appstore` 本身(强制保留)
|
||
- 卸载后用户在「应用」页对应入口立即消失,正在使用的会话可能报错
|
||
last_verified: v1.7.90
|
||
---
|
||
|
||
# 卸载一个插件
|
||
|
||
## 入口
|
||
桌面端:左侧栏「应用」→「应用商店」(仅管理员)→ 找到目标插件 →「卸载」按钮。
|
||
|
||
## 操作步骤
|
||
1. 进入应用商店,定位到已安装的插件
|
||
2. 点击「卸载」按钮
|
||
3. 确认弹窗:通常会提示「卸载后相关数据如何处理」
|
||
4. 等待 AppStore 微服务停容器、改 `config.yml` 状态为非 `installed`
|
||
5. 刷新「应用」页,对应菜单消失
|
||
|
||
## 卸载做了什么
|
||
- 在 `docker/appstore/config/{appId}/config.yml` 更新 `status` 字段(非 `installed`)
|
||
- 调 `docker compose down` 停掉对应容器
|
||
- 触发主程序缓存失效:`RequestContext::save('app_installed_xxx', false)`
|
||
- 之后所有对该插件的后端调用会被 `Apps::isInstalledThrow()` 拦截,抛 ApiException
|
||
|
||
## 卸载会影响的数据
|
||
取决于插件实现:
|
||
- 多数官方插件停容器但保留 `docker/appstore/apps/{appId}/data/` 数据目录
|
||
- 重新安装通常能恢复数据
|
||
- 若要彻底删数据,需要手动到服务器删 `data/` 目录(不可逆,做之前先备份)
|
||
|
||
## 卸载前建议
|
||
1. 先把该插件相关业务数据导出(如审批数据 [[data-export.approve.howto]]、签到 [[data-export.checkin.howto]])
|
||
2. 通知使用该插件的成员
|
||
3. 重要数据先做服务器侧备份
|
||
|
||
## 不支持
|
||
- 不支持仅对部分用户隐藏(卸载即全员失效)
|
||
- 不支持「停用但保留菜单」中间态
|
||
- 不支持卸载 appstore 自身
|