Files
ShowenV2/plugins/example-plugin/README.md
showen d30c111c71 feat: M1.1 完成 + M1.2 启动 — 全量更新
M1.1 收尾:
- 24项 P0/P1/P2 bug 修复 (Rust 107 tests + Flutter 15 tests)
- Flutter App v0.3: cupertino_icons 修复, 单元测试, 调试面板, APK 52.6MB
- 示例插件完善: manifest.json + 请求/响应示范 + 7个测试
- API 文档重写 (以 routes.rs 为唯一权威)
- MILESTONES.md 更新至 100%

M1.2 启动:
- P0: 插件管理 API 闭环 (handle_manager_message Custom 分支 + broadcast_plugin_states)
- ServiceManager 集成测试 8/8 (tests/m1_2_service_manager.rs)
- M1.2 测试计划 (docs/M1.2_TEST_PLAN.md, 18个E2E场景)
- 动态插件系统: auto_rollback + version_manager GC + 路径穿越防护

总计: Rust 115/115 测试, Flutter 15/15 测试, 零 warning

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 18:12:42 +08:00

32 lines
842 B
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Example Plugin — 示例动态插件
演示如何使用 `showen-plugin-sdk` 编写动态插件,并提供可直接打包到
`plugin_store/``manifest.json` 模板。
## 功能
- 展示消息路由、配置解析、后台任务、自测以及请求/响应模式
- 展示 `ShowenPlugin` trait 的完整实现
- 编译为 `cdylib``.so` 文件)
## 编译
```bash
cd plugins/example-plugin
cargo build --release
```
产物: `target/release/libshowen_example_plugin.so`
## 安装
`.so``manifest.json` 放入 `plugin_store/example-plugin/<version>/` 目录即可被主程序动态加载。
## 文件
| 文件 | 说明 |
|------|------|
| `src/lib.rs` | 插件实现,使用 `export_plugin!` 宏导出 |
| `Cargo.toml` | crate 配置,类型为 cdylib |
| `manifest.json` | 动态加载所需的完整清单模板 |