diff --git a/README.md b/README.md index 0d782903..f3e4b326 100644 --- a/README.md +++ b/README.md @@ -243,9 +243,14 @@ __Docker 最新版本由 [Sakuracio](https://github.com/Sakuracio) 提供__ ## 更新 +### 2022/6/18 + +* 修复webui中plugins2setting修改时会改变plugins2setting.cmd为字符串 +* 优化browser + ### 2022/6/17 -* 修复wordbank的一些小问题 [@pull/820](https://github.com/HibiKier/zhenxun_bot/pull/820) +* 修复wordbank的一些小问题 @pull/820 ### 2022/6/14 @@ -312,7 +317,6 @@ __Docker 最新版本由 [Sakuracio](https://github.com/Sakuracio) 提供__ * 新增自动更新插件```UPDATE_REMIND```:新版本提醒,原配置项```AUTO_UPDATE_ZHENXUN```改为自动更新升级 * black_word新增当群权限为-1时不再检测该群 * 修复非超级用户绑定原神cookie会被black_word阻拦 -* 修复webui中plugins2setting修改时会改变plugins2setting.cmd为字符串 * 修复微博热搜报错,发红包小bug [@pull/688](https://github.com/HibiKier/zhenxun_bot/pull/688) * 更多的中文提示 diff --git a/plugins/web_ui/api/plugins.py b/plugins/web_ui/api/plugins.py index f82f42f8..efc60e91 100644 --- a/plugins/web_ui/api/plugins.py +++ b/plugins/web_ui/api/plugins.py @@ -137,6 +137,8 @@ def _(plugin: Plugin, user: User = Depends(token_to_user)) -> Result: else: if plugin.plugin_settings: for key, value in plugin.plugin_settings: + if key == "cmd": + value = value.split(",") plugins2settings_manager.set_module_data(plugin.model, key, value) if plugin.plugin_manager: for key, value in plugin.plugin_manager: diff --git a/utils/browser.py b/utils/browser.py index e6b610cb..12f1d5d5 100755 --- a/utils/browser.py +++ b/utils/browser.py @@ -1,10 +1,10 @@ +import asyncio from typing import Optional from nonebot.log import logger from playwright.async_api import Browser, async_playwright import nonebot from nonebot import Driver from services.log import logger -import platform driver: Driver = nonebot.get_driver() @@ -15,16 +15,14 @@ _browser: Optional[Browser] = None async def init(**kwargs) -> Optional[Browser]: global _browser + browser = await async_playwright().start() try: - browser = await async_playwright().start() _browser = await browser.chromium.launch(**kwargs) return _browser - except NotImplementedError: - logger.warning("win环境下 初始化playwright失败,相关功能将被限制....") except Exception as e: logger.warning(f"启动chromium发生错误 {type(e)}:{e}") - if _browser: - await _browser.close() + asyncio.get_event_loop().run_in_executor(None, install) + _browser = await browser.chromium.launch(**kwargs) return None @@ -32,7 +30,6 @@ async def get_browser(**kwargs) -> Browser: return _browser or await init(**kwargs) -@driver.on_startup def install(): """自动安装、更新 Chromium""" logger.info("正在检查 Chromium 更新")