微信小程序开发——开放能力

开放能力

  • open-data (用于展示微信开放的数据。)
  • web-view(web-view 组件是一个可以用来承载网页的容器,会自动铺满整个小程序页面。个人类型与海外类型的小程序暂不支持使用。)
  • ad(广告。目前暂时以邀请制开放申请,请留意后续模板消息的通知
  • official-account(用户扫码打开小程序时,开发者可在小程序内配置公众号关注组件,方便用户快捷关注公众号,可嵌套在原生组件内。)

open-data

属性名 类型 默认值 说明
type String   开放数据类型
open-gid String   当 type="groupName" 时生效, 群id
lang String en 当 type="user*" 时生效,以哪种语言展示 userInfo,有效值有:en, zh_CN, zh_TW

type 有效值:

说明 最低版本
groupName 拉取群名称 1.4.0
userNickName 用户昵称 1.9.90
userAvatarUrl 用户头像 1.9.90
userGender 用户性别 1.9.90
userCity 用户所在城市 1.9.90
userProvince 用户所在省份 1.9.90
userCountry 用户所在国家 1.9.90
userLanguage 用户的语言 1.9.90


web-view

属性名 类型 默认值 说明
src String   webview 指向网页的链接。可打开关联的公众号的文章,其它网页需登录小程序管理后台配置业务域名。
bindmessage EventHandler   网页向小程序 postMessage 时,会在特定时机(小程序后退、组件销毁、分享)触发并收到消息。e.detail = { data },data是多次 postMessage 的参数组成的数组
bindload EventHandler   网页加载成功时候触发此事件。e.detail = { src }
binderror EventHandler   网页加载失败的时候触发此事件。e.detail = { src }


 相关接口 1:

网页中可使用JSSDK 1.3.2提供的接口返回小程序页面。 支持的接口有:

接口名 说明 最低版本
wx.miniProgram.navigateTo 参数与小程序接口一致 1.6.4
wx.miniProgram.navigateBack 参数与小程序接口一致 1.6.4
wx.miniProgram.switchTab 参数与小程序接口一致 1.6.5
wx.miniProgram.reLaunch 参数与小程序接口一致 1.6.5
wx.miniProgram.redirectTo 参数与小程序接口一致 1.6.5
wx.miniProgram.postMessage 向小程序发送消息,会在特定时机(小程序后退、组件销毁、分享)触发组件的message事件 1.7.1
wx.miniProgram.getEnv 获取当前环境 1.7.1



// javascript wx.miniProgram.navigateTo({url: '/path/to/page'})
wx.miniProgram.postMessage({ data: 'foo' }) wx.miniProgram.postMessage({ data:
{foo: 'bar'} }) wx.miniProgram.getEnv(function(res) {
console.log(res.miniprogram) // true })

 

 

相关接口 2:

网页中仅支持以下JSSDK接口:

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

 

相关接口 3:

用户分享时可获取当前的URL,即在onShareAppMessage回调中返回webViewUrl参数。

Page({
  onShareAppMessage(options) {
    console.log(options.webViewUrl)
  }
})

 

相关接口 4

在网页内可通过window.__wxjs_environment变量判断是否在小程序环境,建议在WeixinJSBridgeReady回调中使用,也可以使用JSSDK 1.3.2提供的getEnv接口。

// web-view下的页面内
function ready() {
  console.log(window.__wxjs_environment === 'miniprogram') // true
}
if (!window.WeixinJSBridge || !WeixinJSBridge.invoke) {
  document.addEventListener('WeixinJSBridgeReady', ready, false)
} else {
  ready()
}

// 或者
wx.miniProgram.getEnv(function (res) {
  console.log(res.miniprogram) // true
})

 

相关接口 5

从微信7.0.0开始,可以通过判断userAgent中包含miniProgram字样来判断小程序web-view环境。

ad

 

属性名 类型 默认值 说明 版本
unit-id String   广告单元id,可在小程序管理后台的流量主模块新建  
bindload Handler   广告加载成功的回调 2.2.1
binderror Handler   当广告发生错误时,触发的事件,可以通过该事件获取错误码及原因,事件对象event.detail = {errCode: 1002} 2.2.1

注1:监听到error回调后,开发者可以针对性的处理,比如隐藏广告组件的父容器,以保证用户体验,但不要移除广告组件,否则将无法收到bindload的回调。

错误码信息与解决方案表

错误码是通过binderror回调获取到的错误信息。

代码 异常情况 理由 解决方案
1000 后端错误调用失败 该项错误不是开发者的异常情况 一般情况下忽略一段时间即可恢复。
1001 参数错误 使用方法错误 可以前往developers.weixin.qq.com确认具体教程(小程序和小游戏分别有各自的教程,可以在顶部选项中,“设计”一栏的右侧进行切换。
1002 广告单元无效 可能是拼写错误、或者误用了其他APP的广告ID 请重新前往mp.weixin.qq.com确认广告位ID。
1003 内部错误 该项错误不是开发者的异常情况 一般情况下忽略一段时间即可恢复。
1004 无适合的广告 广告不是每一次都会出现,这次没有出现可能是由于该用户不适合浏览广告 属于正常情况,且开发者需要针对这种情况做形态上的兼容。
1005 广告组件审核中 你的广告正在被审核,无法展现广告 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。
1006 广告组件被驳回 你的广告审核失败,无法展现广告 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。
1007 广告组件被驳回 你的广告能力已经被封禁,封禁期间无法展现广告 请前往mp.weixin.qq.com确认小程序广告封禁状态。
1008 广告单元已关闭 该广告位的广告能力已经被关闭 请前往mp.weixin.qq.com重新打开对应广告位的展现。

 offical-account

  1. 使用组件前,需前往小程序后台,在“设置”->“接口设置”->“公众号关注组件”中设置要展示的公众号。

    注:设置的公众号需与小程序主体一致。

  2. 在一个小程序的生命周期内,只有从以下场景进入小程序,才具有展示引导关注公众号组件的能力:

    • 当小程序从扫二维码场景(场景值1011)打开时
    • 当小程序从扫小程序码场景(场景值1047)打开时
    • 当小程序从聊天顶部场景(场景值1089)中的「最近使用」内打开时,若小程序之前未被销毁,则该组件保持上一次打开小程序时的状态
    • 当从其他小程序返回小程序(场景值1038)时,若小程序之前未被销毁,则该组件保持上一次打开小程序时的状态
  3. 组件限定最小宽度为300px,高度为定值84px。

  4. 每个页面只能配置一个该组件。

属性名 类型 说明
bindload EventHandle 组件加载成功时触发
binderror EventHandle 组件加载失败时触发

detail对象

属性名 类型 说明
status Number 状态码
errMsg String 错误信息

状态码

说明
-2 网络错误
-1 数据解析错误
0 加载成功
1 小程序关注公众号功能被封禁
2 关联公众号被封禁
3 关联关系解除或未选中关联公众号
4 未开启关注公众号功能
5 场景值错误
6 重复创建

你可能感兴趣的:(微信小程序开发——开放能力)