国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

webman市場,應用插件安裝和卸載的問題

saithink

問題描述

我這邊創(chuàng)建插件,安裝卸載的時候出現(xiàn)一個小小bug,具體情況如下;
1、通過命令創(chuàng)建

php webman app-plugin:create foo // 創(chuàng)建應用插件

2、創(chuàng)建的目錄中,api/install.php
安裝采取的讀取key作為標識的方式添加菜單

public static function install($version)
    {
        // 導入菜單
        Menu::import(static::getMenus());
    }

卸載采取的是讀取name作為標識的方式卸載菜單;

public static function uninstall($version)
    {
        // 刪除菜單
        foreach (static::getMenus() as $menu) {
            Menu::delete($menu['name']);
        }
    }

而我查看 webman-admin 里面配置菜單都只用到了key這個標識;

    [
        'title' => '數(shù)據(jù)庫',
        'key' => 'database',
        'icon' => 'layui-icon-template-1',
        'weight' => 1000,
        'type' => 0,
        'children' => [
            [
                'title' => '所有表',
                'key' => 'plugin\\admin\\app\\controller\\TableController',
                'href' => '/app/admin/table/index',
                'type' => 1,
                'weight' => 800,
            ]
        ]
    ],

那么我也按照這個規(guī)則,再我的menu里面添加菜單
然而安裝的時候能夠成功,卸載的時候就會失敗,提示name找不到

我暫時的處理方式是 menu.php 里面 key和name都 作為相同內(nèi)容的標識符進行; 還有一種方式是,修改創(chuàng)建應用插件的時候,進行key或者name統(tǒng)一

操作系統(tǒng)環(huán)境及workerman/webman等具體版本

"workerman/webman-framework": 1.4.3
"webman/admin": 0.6.0
"webman/console": 1.2

1922 1 0
1個回答

walkor 打賞

你先本地

Menu::delete($menu['name']);

改成

Menu::delete($menu['key']);

吧,這個問題下個webman/console 版本修復

  • saithink 2023-02-23

    好的

  • walkor 2023-02-23

    發(fā)新版了,composer require webman/console ^1.2.25

  • saithink 2023-02-23

    效率真高,后面這個removeUnnecessaryMenus方法沒有影響吧?

年代過于久遠,無法發(fā)表回答
??