@qiniu/miku-delivery-mp-ks
Version:
Kuaishou Mini Program SDK for Miku Delivery
88 lines (67 loc) • 3.02 kB
Markdown
# uni-app 中使用小程序 SDK
## 说明
* Miku Delivery 小程序 SDK 为小程序自定义组件形式,由于不同小程序平台的能力/行为存在差异,目前为微信、抖音、快手小程序提供了不同的 SDK。
* uni-app 项目中使用小程序自定义组件请参考 uni-app 官方文档 [小程序自定义组件支持](https://zh.uniapp.dcloud.io/tutorial/miniprogram-subject.html)。
* 请先阅读 SDK 使用文档(`README.md`),除以下步骤外,其它用法及注意事项是一致的。
## 安装
uni-app 对小程序组件存放目录有特殊约定,请查阅官方文档。
```shell
# 微信小程序
npm install @qiniu/miku-delivery-mp --save
mkdir wxcomponents
cp -r node_modules/@qiniu/miku-delivery-mp/dist ./wxcomponents/miku-delivery
# 抖音小程序
npm install @qiniu/miku-delivery-mp-tt --save
mkdir ttcomponents
cp -r node_modules/@qiniu/miku-delivery-mp-tt/dist ./ttcomponents/miku-delivery
# 快手小程序
npm install @qiniu/miku-delivery-mp-ks --save
mkdir kscomponents
cp -r node_modules/@qiniu/miku-delivery-mp-ks/dist ./kscomponents/miku-delivery
```
## 使用
使用 Miku Delivery SDK 分为 2 步:
1. 在小程序启动时初始化 SDK
2. 替换界面上的媒体组件
### 1. 在小程序启动时初始化 SDK
在小程序 App 的 `onLaunch` 回调中(一般位于 `App.vue` 文件)初始化:
```js
export default {
onLaunch: function() {
// 用 __non_webpack_require__ 生成一个不会被 webpack 解析的 require,然后使用小程序的 require 动态加载 SDK 入口文件
// 这段代码编译完会出现在小程序代码的 common/main.js 里,SDK 入口文件需要写运行时的相对路径
// #ifdef MP-WEIXIN
const mikuDelivery = __non_webpack_require__('../wxcomponents/miku-delivery/index.js')
// #endif
// #ifdef MP-TOUTIAO
const mikuDelivery = __non_webpack_require__('../ttcomponents/miku-delivery/index.js')
// #endif
// #ifdef MP-KUAISHOU
const mikuDelivery = __non_webpack_require__('../kscomponents/miku-delivery/index.js')
// #endif
mikuDelivery.init({
/** Miku 应用信息 */
app: { appID: '<APP_ID>', appSalt: '<APP_SALT>' },
/** 需要被代理的域名列表 */
domains: ['proxy-example.com']
})
}
}
```
### 2. 替换界面上的媒体组件
对于基础媒体组件 `image` & `video`,Miku Delivery SDK 提供了与之对应的组件;这里以视频(`video`)为例:
编辑 uni-app 项目的 `pages.json`,在使用视频(`video`)的页面对应的 `style` 中添加
```
"usingComponents": {
// #ifdef MP-WEIXIN
"md-video": "/wxcomponents/miku-delivery/components/video"
// #endif
// #ifdef MP-TOUTIAO
"md-video": "/ttcomponents/miku-delivery/components/video"
// #endif
// #ifdef MP-KUAISHOU
"md-video": "/kscomponents/miku-delivery/components/video"
// #endif
}
```
在页面对应的 vue 文件中将 `video` 替换为 `md-video` 即可,详见 `README.md`