Skip to content

ArtisanCloud/MediaXCore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MediaXCore

MediaXCore 是一个支持插件化的核心模块,为内容发布和管理场景提供标准接口和基础设施。它允许开发者通过插件动态扩展功能,同时支持独立插件系统和与其他服务的集成。


项目结构

.
├── README.md                # 项目说明文档
├── go.mod                   # Go 模块管理文件
├── main.go                  # 示例主程序
├── pkg
│   └── plugin
│       ├── core
│       │   └── contract
│       │       └── pluginInterface.go   # 插件接口定义
│       ├── examples
│       │   └── examplePlugin.go         # 插件示例
│       └── utils.go                     # 插件工具函数
└── tests
└── plugin_test.go        # 单元测试

功能介绍

  • 插件接口:提供 ProviderInterface,支持实现自定义插件。
  • 动态加载:支持通过 Go 动态加载 .so 插件文件。
  • 标准化接口:包含 PublishRequestPublishResult 数据结构,规范化内容发布流程。
  • 测试用例:内置单元测试,验证插件接口实现。

使用方法

1. 编译插件

运行以下命令编译插件:

go build -o pkg/plugin/examples/plugin.so -buildmode=plugin pkg/plugin/examples/plugin.go

2. 运行主程序

通过 main.go 加载并使用插件:

go run main.go

3. 单元测试

执行单元测试以验证接口实现:

go test ./tests

示例输出

运行主程序后,输出类似如下:

plugin loaded name: ExamplePlugin
&{success Mock Publish Successful} <nil>

开发者指南

  • 扩展插件:继承 ProviderInterface 接口并实现 InitializeNamePublish 方法。
  • 新增功能:在 pkg/plugin 模块中添加新功能或插件工具函数。

许可证

此项目基于 MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages