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

开放能力

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

open-data

属性名类型默认值说明
typeString 开放数据类型
open-gidString 当 type="groupName" 时生效, 群id
langStringen当 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
<open-data type="groupName" open-gid="xxxxxx"></open-data>
<open-data type="userAvatarUrl"></open-data>
<open-data type="userGender" lang="zh_CN"></open-data>

web-view

属性名类型默认值说明
srcString webview 指向网页的链接。可打开关联的公众号的文章,其它网页需登录小程序管理后台配置业务域名。
bindmessageEventHandler 网页向小程序 postMessage 时,会在特定时机(小程序后退、组件销毁、分享)触发并收到消息。e.detail = { data },data是多次 postMessage 的参数组成的数组
bindloadEventHandler 网页加载成功时候触发此事件。e.detail = { src }
binderrorEventHandler 网页加载失败的时候触发此事件。e.detail = { src }
<!-- wxml -->
<!-- 指向微信公众平台首页的web-view -->
<web-view src="https://mp.weixin.qq.com/"></web-view>

 相关接口 1:

<web-view>网页中可使用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
<!-- html -->
<script
  type="text/javascript"
  src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"
></script>

// 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:

<web-view>网页中仅支持以下JSSDK接口

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

 

相关接口 3:

用户分享时可获取当前<web-view>的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-idString 广告单元id,可在小程序管理后台的流量主模块新建 
bindloadHandler 广告加载成功的回调2.2.1
binderrorHandler 当广告发生错误时,触发的事件,可以通过该事件获取错误码及原因,事件对象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. 每个页面只能配置一个该组件。

属性名类型说明
bindloadEventHandle组件加载成功时触发
binderrorEventHandle组件加载失败时触发

detail对象

属性名类型说明
statusNumber状态码
errMsgString错误信息

状态码

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值