# 需适配的组件汇总

  • 多端框架是基于与小程序同源的技术实现,大部分的小程序组件在多端应用中均可使用,但的确有部分的组件因为产品载体已经变成为 App,无法再支持的,开发者需对这部分的组件进行兼容性处理
  • 为方便开发者对组件进行兼容处理,本文将需开发者适配处理的组件进行汇总,如对相关的内容有疑问,可联系小助手进行反馈处理

# 一、需开发者进行适配兼容的组件

  • 下方功能需使用新的接口或者组件进行实现
名称 功能说明 备注
button 按钮 支持,但 open-type 涉及的微信开放能力均不支持
image 图片 支持,但是长按识别的功能尚不支持

# 1、button

  • button 组件中 open-type 涉及的微信开放能力均不支持
open-type 功能说明 兼容备注
contact 打开客服会话 • 在 App 中不支持使用小程序客服能力,开发者可使用微信客服功能代替,查看接口详情wx.miniapp.openCustomerServiceChat
share 转发 • 在 App 中如需使用微信分享能力,可使用 wx.miniapp.shareImageMessagewx.miniapp.shareMiniProgramMessagewx.miniapp.shareTextMessagewx.miniapp.shareWebPageMessagewx.miniapp.shareVideoMessage
getPhoneNumber 获取手机号 • 在 App 中可使用新组件本机号码一键登录 实现
getUserInfo 获取用户信息 • 在 App 中可使用新接口 wx.miniapp.login 或者 wx.weixinAppLogin 实现获取用户的头像和昵称
chooseAvatar 获取用户头像 • 在 App 中可使用新接口 wx.miniapp.login 或者 wx.weixinAppLogin 实现获取用户的头像和昵称
launchApp 打开 App • 在 App 中暂未支持打开另一个 App,后续会提供新的接口实现该功能
openSetting 打开授权设置页 • 在 App 中使用 wx.openAppAuthorizeSetting 代替
feedback 打开“意见反馈”页面 • 在 App 中不支持打开“意见反馈”页面

# 2、 image

  • image 组件中 show-menu-by-longpress 的功能(长按图片显示发送给朋友、收藏、保存图片、搜一搜、打开名片/前往群聊/打开小程序)暂不支持

# 3、web-view

  • 从 iOS >= 1.0.17,Android >= 1.0.8 开始,web-view 打开 h5 获取到的 UA 将不再带有微信相关的标识,同时新增了 SAAASDK 用于表示多端的运行环境。
  • 如开发者在多端应用中的 h5 中使用到了 jssdk 用于与小程序交互,需将 jssdk 升级至 1.6.2
  • 补充说明 1:在多端应用中通过 web-view 打开 H5,无需在平台中配置业务域名,直接可打开
  • 补充说明 2:Skyline 暂不支持 web-view 组件,建议承载 web-view 的页面单独配置 "renderer": "webview",详情可查看文档
  • jssdk 支持的接口情况可查看

# 小程序相关的接口

接口名 说明
wx.miniProgram.navigateTo 参数与小程序接口一致
wx.miniProgram.navigateBack 参数与小程序接口一致
wx.miniProgram.switchTab 参数与小程序接口一致
wx.miniProgram.reLaunch 参数与小程序接口一致
wx.miniProgram.redirectTo 参数与小程序接口一致
wx.miniProgram.postMessage 向小程序发送消息,会在以下特定时机触发组件的message事件:小程序后退、组件销毁、分享、复制链接(2.31.1
wx.miniProgram.getEnv 获取当前环境

# 其他 JSSDK 接口

接口模块 接口说明 具体接口 多端应用 支持情况
判断客户端是否支持js checkJSApi Android支持
图像接口 拍照或上传 chooseImage Android支持
预览图片 previewImage
上传图片 uploadImage
下载图片 downloadImage
获取本地图片 getLocalImgData
音频接口 开始录音 startRecord
停止录音 stopRecord
监听录音自动停止 onVoiceRecordEnd
播放语音 playVoice
暂停播放 pauseVoice
停止播放 stopVoice
监听语音播放完毕 onVoicePlayEnd
上传接口 uploadVoice
下载接口 downloadVoice
智能接口 识别音频 translateVoice
设备信息 获取网络状态 getNetworkType Android支持
地理位置 使用内置地图打开地点 openLocation
获取地理位置 getLocation Android支持(需在 project.miniapp.json 中勾选 扩展 LBS SDK )
摇一摇周边 开启ibeacon startSearchBeacons
关闭ibeacon stopSearchBeacons
监听ibeacon onSearchBeacons
微信扫一扫 调起微信扫一扫 scanQRCode
微信卡券 拉取使用卡券列表 chooseCard
批量添加卡券接口 addCard
查看微信卡包的卡券 openCard
长按识别 小程序圆形码

# 4、video

在 App 中使用 video 组件实现投屏的功能时,需要申请组播权限,相关的操作如下:

  • 使用苹果开发者主账号访问 https://developer.apple.com/contact/request/networking-multicast 申请组播权限
  • 大概 3 天左右查看开发者账号,会多一个 Additional Capabilities,然后勾选 Multicast Networking 权限
  • 重新生成描述文件,下载新的描述文件;并且使用新的描述文件重新打包 IPA 即可

# 二、尚未支持的组件

  • 包含暂无计划支持和已在开发中的接口,详情可查看组件总览