# 技能:微信电子健康卡对接
**描述**: 在 UniApp 中集成微信官方电子健康卡插件的完整指南。
## 1. 前置条件
- **平台**: 仅限微信小程序 (`mp-weixin`)。**不支持** App 或 H5 端直接使用。
- **账号**: 必须先在微信公众平台申请开通插件。
- **路径**: 登录微信公众平台 → 小程序 → 插件管理 → 添加插件 → 搜索 "电子健康卡" 并申请。
## 2. 配置 (Manifest)
**文件**: `manifest.json`
**操作**: 在 `mp-weixin` 节点下添加插件声明。
```json
"mp-weixin": {
"appid": "你的小程序appid",
"plugins": {
"healthCard": {
"version": "1.x.x", // 请以微信后台显示的最新版本号为准
"provider": "wxe5f52902cf4de896" // 电子健康卡插件官方原始 ID
}
}
}
```
## 3. 实现 - 嵌入插件组件 (场景A)
**适用场景**: 插件提供了一个组件 (Component),你需要将其嵌入到自己的页面中显示。
**步骤 1**: 在 `pages.json` 中注册组件
找到你需要引入插件的页面配置,添加 `usingComponents` 节点:
```json
// pages.json
{
"pages": [
{
"path": "pages/health-card/index",
"style": {
"navigationBarTitleText": "健康卡",
"usingComponents": {
// 定义组件名: 插件协议://插件名/组件路径
"health-card-comp": "plugin://healthCard/healthCardQueryComp"
}
}
}
]
}
```
**步骤 2**: 在页面中直接使用组件
```vue
```
## 4. 实现 - 跳转插件页面 (场景B)
**适用场景**: 插件提供了一个完整的页面 (Page),你需要从当前小程序跳转过去。
**代码**:
```ts
// 使用 plugin:// 协议直接跳转
// 格式: plugin://插件名/页面路径
uni.navigateTo({
url: 'plugin://healthCard/index',
success: () => {
console.log('跳转插件页面成功');
},
fail: (err) => {
console.error('跳转失败', err);
}
});
```
> **提示**: 具体的 **组件路径** (如 `healthCardQueryComp`) 和 **页面路径** (如 `index`) 必须查阅该插件的官方文档,不同插件提供商的路径定义不同。
## 5. 调试与发布
- **调试**: 在 HBuilderX 中运行到「微信开发者工具」,确保控制台无报错。
- **发布**: 体验版测试通过后,提交微信审核并发布。
- **注意**: 确保 `manifest.json` 中的插件版本号与微信后台可用的版本一致。
## 6. 注意事项
- **多端兼容性**: 该方案**仅适用**于微信小程序端。
- **App 端**: 无法直接嵌入插件。必须通过 SDK (如 `launchMiniProgram`) 唤起微信 App 打开电子健康卡小程序。
- **H5 端**: 不支持。
- **文档更新**: 插件的 `version` (版本号)、`provider` (插件ID) 和 `pluginPage` (页面路径) 可能会随官方更新而变化,请始终以微信官方文档为准。