diff --git a/src/core/service/api/media/recorder.js b/src/core/service/api/media/recorder.js index 36ed1fb58c368798949b39eaa064419310032ed7..f760465960cabd455d1cf324b7e55555a2e3f15e 100644 --- a/src/core/service/api/media/recorder.js +++ b/src/core/service/api/media/recorder.js @@ -4,11 +4,11 @@ import { } from '../../platform' const callbacks = { - pause: [], - resume: [], - start: [], - stop: [], - error: [] + pause: null, + resume: null, + start: null, + stop: null, + error: null } class RecorderManager { @@ -17,15 +17,13 @@ class RecorderManager { const state = res.state delete res.state delete res.errMsg - callbacks[state].forEach(callback => { - if (typeof callback === 'function') { - callback(res) - } - }) + if (typeof callbacks[state] === 'function') { + callbacks[state](res) + } }) } onError (callback) { - callbacks.error.push(callback) + callbacks.error = callback } onFrameRecorded (callback) { @@ -37,16 +35,16 @@ class RecorderManager { } onPause (callback) { - callbacks.pause.push(callback) + callbacks.pause = callback } onResume (callback) { - callbacks.resume.push(callback) + callbacks.resume = callback } onStart (callback) { - callbacks.start.push(callback) + callbacks.start = callback } onStop (callback) { - callbacks.stop.push(callback) + callbacks.stop = callback } pause () { invokeMethod('operateRecorder', { diff --git a/src/platforms/quickapp-vue/README.md b/src/platforms/quickapp-vue/README.md index 7967202300e1432b25d59b2d2ccbfb5aa65b2753..b73f0bdea831ad1ac047555791ccd25229ce7aa4 100644 --- a/src/platforms/quickapp-vue/README.md +++ b/src/platforms/quickapp-vue/README.md @@ -1,61 +1,26 @@ -### 快应用适配教程 +## 快应用适配教程 +使用 uni-app 规范适配快应用 -#### 准备 +- uni-app文档 [https://uniapp.dcloud.io/](https://uniapp.dcloud.io/) +- 快应用文档 [https://doc.quickapp.cn/](https://doc.quickapp.cn/) -1.安装 [快应用调试器](https://statres.quickapp.cn/quickapp/quickapp/201806/file/quickapp_debugger.apk) - -2.打开快应用调试器,下载平台(快应用预览版:版本号1060) - -3.安装 openssl(windows系统) - - -#### 搭建 - -1.创建 `hello uni-app` 测试工程 -``` -vue create -p dcloudio/uni-preset-vue#alpha my-qa-project -n -``` -目前手动安装依赖库: 根目录执行 -``` -yarn add @dcloudio/uni-quickapp@alpha -D -``` -2.生成证书 `certificate.pem` 和 `private.pem`:到目录 `src/sign/debug/` -``` -openssl req -newkey rsa:2048 -nodes -keyout private.pem -x509 -days 3650 -out certificate.pem -``` +### 开发 -3.编译快应用 `rpk` -``` -npm run dev:quickapp -``` +1.Fork 仓库 `uni-app` [https://github.com/dcloudio/uni-app](https://github.com/dcloudio/uni-app),切换到 dev 分支 -4.开启debug在线更新服务 +2.使用 Vue 规范开发组件,参考 `Button` 组件及 `clipboard` 示例 ``` -npm run serve:quickapp +- button `src/platforms/quickapp/view/components/button` +- clipboard `src/platforms/quickapp/service/api/device/clipboard` ``` -5.打开快应用调试器,扫码安装或右上角设置服务器地址(注意带上`http://`,关闭USB调试可看到扫码) - -6.修改代码后,会主动通知调试器更新,或者手动点击在线更新(调试可以点击右下角开始调试) - - -#### 开发调试代码 - -1.Fork 仓库 `uni-app` [https://github.com/dcloudio/uni-app](https://github.com/dcloudio/uni-app),切换到 dev 分支 - 2.编译 (输出目录`packages/uni-quickapp`) - ``` npm run build:quickapp ``` -3.手动替换编译输出目录 `packages/uni-quickapp` 到测试工程 `node_modules/@dcloudio/uni-quickapp`,也可以考虑自己npm link本地`uni-quickapp`包(需要考虑三方依赖) - -4.使用 pull request 提交代码 - - #### `uni-app` 目录说明 ``` @@ -76,10 +41,63 @@ src │ └─button ``` +### 测试 -#### 开发示例 -- button 组件 `src/platforms/quickapp/view/components/button` -- clipboard API `src/platforms/quickapp/service/api/device/clipboard` +#### 搭建测试环境 + +1.安装 [快应用调试器](https://statres.quickapp.cn/quickapp/quickapp/201806/file/quickapp_debugger.apk) + +2.打开快应用调试器,下载平台(快应用预览版:版本号1060) + +#### 搭建测试工程 + +1.创建测试工程 (推荐使用空项目,可选 `hello uni-app` 工程,包含组件及API示例,工程较复杂编译比较耗时) +``` +vue create -p dcloudio/uni-preset-vue#alpha my-qa-project -n +``` +``` + + + + + + +``` + +2.编译快应用 `rpk` +``` +npm run dev:quickapp +``` + +3.开启debug在线更新服务 +``` +npm run serve:quickapp +``` + +4.打开快应用调试器,扫码安装或右上角设置服务器地址(注意带上`http://`,关闭USB调试可看到扫码) + +5.修改代码后,会主动通知调试器更新,或者手动点击在线更新(调试可以点击右下角开始调试) + +6.手动替换编译输出目录 `packages/uni-quickapp` 到测试工程 `node_modules/@dcloudio/uni-quickapp`, 可以考虑 `npm link` + +### 提交代码 +使用 `pull request` 提交代码 @@ -96,6 +114,14 @@ src } ``` + +### 生成证书 `certificate.pem` 和 `private.pem` +安装 openssl(windows系统) +``` +openssl req -newkey rsa:2048 -nodes -keyout private.pem -x509 -days 3650 -out certificate.pem +``` +- 发布快应用时需要使用自己的证书,开发期间为debug证书 + 注意: hello uni-app使用了px单位,在快应用里等同于rpx,故页面显示异常,非调试ui阶段, 可以自己修改manifest.json->quickapp->config->designWidth=自己手头设备的逻辑像素,如360