# MP-Mirror-Demo
**Repository Path**: ezxrdev/mp-mirror-demo
## Basic Information
- **Project Name**: MP-Mirror-Demo
- **Description**: 灵境工坊小程序接入示例 Demo
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-07-11
- **Last Updated**: 2025-07-11
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Mirror 插件示例工程
这是一个展示如何在微信小程序中集成和使用 Mirror 插件的示例项目。Mirror 插件提供了 AR(增强现实)功能,支持场景渲染、拍照、录像等功能。
## 项目概述
本示例工程演示了两种使用 Mirror 插件的方式:
1. **方法一:调用插件中的页面** - 简单快速,但 UI 不可定制
2. **方法二:调用插件的组件** - 可支持在上层自定义更多逻辑以及 UI
## 项目结构
```
mp-mirror-demo/
├── app.js # 小程序入口文件
├── app.json # 小程序配置文件
├── pages/
│ ├── index/ # 首页 - 展示两种接入方式
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ └── custom-page/ # 自定义页面 - 使用插件组件
│ ├── index.js
│ ├── index.json
│ ├── index.wxml
│ └── index.wxss
├── project.config.json # 项目配置文件
└── sitemap.json # 站点地图配置
```
## 功能特性
### 首页功能
- 提供两个导航按钮,分别展示不同的插件使用方式
- 美观的渐变按钮设计和简洁的说明文字
### 自定义页面功能
- **AR 场景渲染**:使用 `mirror-scene` 组件渲染 3D 场景
- **拍照功能**:支持拍摄 AR 场景照片并分享
- **录像功能**:支持录制 AR 场景视频并保存到相册
- **事件监听**:监听触摸元素、资源加载进度等事件
- **性能监控**:实时显示 FPS 信息
## 插件配置
在 `app.json` 中配置 Mirror 插件:
```json
{
"plugins": {
"mirror-plugin": {
"version": "4.3.3",
"provider": "wxb2e0f389e1c20a5f"
}
}
}
```
## 使用方法
### 方法一:使用插件页面
直接跳转到插件提供的页面:
```xml
使用预设的场景页面
```
### 方法二:使用插件组件
在页面中使用 `mirror-scene` 组件:
```xml
```
## 核心 API
### 拍照功能
```javascript
const res = await this.plugin.takePhoto()
// 使用微信分享图片菜单
wx.showShareImageMenu({
path: res.tempPath
})
```
### 录像功能
```javascript
// 开始录像
await this.plugin.recordStart(videoBitsPerSecond)
// 结束录像
const res = await this.plugin.recordFinish()
// 保存到相册
wx.saveVideoToPhotosAlbum({
filePath: res.tempPath
})
```
### 获取性能信息
```javascript
// 获取当前 FPS
const fps = this.plugin.getFps()
// 获取录制状态
const isRecording = this.plugin.getRecordState()
```
## 配置参数
### sceneObj 配置
```javascript
sceneObj: {
appKey: 'YOUR_APP_KEY', // 应用密钥
appSecret: 'YOUR_APP_SECRET', // 应用秘钥
sceneId: 'YOUR_SCENE_ID' // 场景 ID
}
```
## 事件回调
- `handleTouchElement`: 触摸 3D 元素时触发
- `handleImgTrackerSwitch`: 图像跟踪状态切换时触发
- `handleAssetLoaded`: 资源加载完成时触发
- `handleAssetProgress`: 资源加载进度更新时触发
## 开发环境
- 微信开发者工具
- 支持 ES6 语法
- 启用增强编译
- 支持 PostCSS
## 注意事项
1. 需要在微信开发者工具中开启插件调试模式
2. 确保 appKey、appSecret 和 sceneId 配置正确
3. 录像功能需要用户授权相册权限
4. 建议在真机上测试 AR 功能效果
## 许可证
本示例项目仅供学习和参考使用。