Newbe.Mahua 扩展设置中心

本教程将描述,如何使用和扩展Newbe.Mahua中的设置中心

设置中心

设置中心是SDK提供的,可以进行挂载菜单和界面的管理中心。使用者可以通过实现特定的接口来实现一个跨平台的统一管理界面。

设置中心

扩展菜单

引入nuget包

https://www.nuget.org/packages/Newbe.Mahua.Administration/ WPF版设置中心界面。

此nuget包是实现WPF版本的设置中心的必要组件。

最新的VS插件中的项目模板已经包含有此组件,无需特别安装。

定义菜单

在项目中实现Newbe.Mahua.IMahuaMenuProvider接口中定义的方法,返回菜单项。

不要忘记在MahuaModule中注册这个实现类


using System.Collections.Generic;

namespace Newbe.Mahua.Plugins.Template
{
    public class MyMenuProvider : IMahuaMenuProvider
    {
        public IEnumerable<MahuaMenu> GetMenus()
        {
            return new[]
            {
                new MahuaMenu
                {
                    Id = "menu1",
                    Text = "测试菜单1"
                },
                new MahuaMenu
                {
                    Id = "menu2",
                    Text = "测试菜单2"
                },
            };
        }
    }
}

菜单处理事件

右键点击MahuaEvents文件夹,选择 添加->新建项 。 从Newbe.Mahua中选取菜单处理事件

新建菜单处理事件

实现相关的业务逻辑。



using Newbe.Mahua.MahuaEvents;
using System.Diagnostics;

namespace Newbe.Mahua.Plugins.Parrot.MahuaEvents
{
    /// <summary>
    /// 菜单点击事件
    /// </summary>
    public class MahuaMenuClickedMahuaEvent
        : IMahuaMenuClickedMahuaEvent
    {
        private readonly IMahuaApi _mahuaApi;

        public MahuaMenuClickedMahuaEvent(
            IMahuaApi mahuaApi)
        {
            _mahuaApi = mahuaApi;
        }

        public void ProcessManhuaMenuClicked(MahuaMenuClickedContext context)
        {
            // context.Menu 被选中到底菜单
            ShowNewbe();
        }

        private static void ShowNewbe()
        {
            Process.Start("http://www.newbe.pro");
        }
    }
}

启动设置中心

不同的平台点击不同的按钮来启动设置中心。

CQP

新建菜单处理事件

Amanda

新建菜单处理事件

MPQ

新建菜单处理事件

完成

至此,就完成了对设置中心菜单的扩展。

自定义设置中心UI

WPF版设置中心是本SDK提供的基本界面。若在项目中不满足需求,可以通过本节内容实现彻底的自定义。

只要实现Newbe.Mahua.IMahuaAdministration,那么在点击平台中的设置设置中心按钮,便会调用此接口。

若需要采用自定义设置中心UI,需要移除Newbe.Mahua.Administration包。

教程链接

Newbe.Mahua 1.X 主要特性介绍与常见问题讲解

Newbe.Mahua 插件热更新

【开源访谈】对接 QQ 机器人平台,对接共同成长的开源社区(开源中国采访)

开始第一个QQ机器人【适用于v1.9-1.12】

Newbe.Mahua.Samples.ApiExtensions 对IMahuaApi进行扩展

Newbe.Mahua.Samples.LiveGirl 操作定时任务

Newbe.Mahua.Samples.Sqlite SQLite操作实例

Newbe.Mahua 测试与调试

Newbe.Mahua 扩展设置中心

发布说明

Newbe.Mahua 1.12 第一个LTS版本

Newbe.Mahua 1.11 支持热更新

Newbe.Mahua 1.10 全新日志查看器

Newbe.Mahua 1.9 引入 Session

Newbe.Mahua 1.8 消息发送Fluent API

Newbe.Mahua 1.7.0 支持API扩展

Newbe.Mahua 1.6.0 开发便利性提升