电脑读网站应用拉起微信小程序

功能介绍

考虑到部分场景下 PC 网站应用需要通过小程序来承载服务,为此提供 PC OpenSDK ,支持 PC 网站应用拉起 PC 端小程序。

PC 网站应用接入此功能后,在微信 3.9.12 for Windows 及以上版本 与 微信 4.0.0 for Mac 及以上版本的用户,可以在 PC 网站应用中跳转至 PC 微信客户端某一小程序的指定页面。

目前该功能正在灰度测试中。开发者在微信开放平台账号下申请 PC 网站应用、登记业务域名并通过审核后,即获得 PC 网站应用拉起小程序功能权限。当 PC 网站应用在已登记的业务域名发起请求时,如果用户此时在 Windows / Mac 设备已经登录了符合要求的微信客户端,且处于非锁定状态,会使用当前账号拉起 PC 端小程序。

拉起 PC 端小程序的跳转规则

对于已通过认证的开放平台账号,其网站应用可以跳转至任何合法的小程序,且除 PC OpenSDK 自身的频率限制外,不限制跳转的小程序数量。 对于未通过认证的开放平台账号,其网站应用仅可以跳转至同一开放平台账号下小程序。

准备工作

在进行网站应用接口调用之前,在微信开放平台注册开发者账号,并拥有一个已审核通过的网站应用,获得相应的 AppID 和 AppSecret,且获得拉起小程序权限后,可开始接入流程。

电脑读网站应用拉起微信小程序

电脑读网站应用拉起微信小程序

接口调用流程说明

请在已申请网站应用、已获取 access_token 的情况下,按照如下流程调用网站应用接口。

第一步:获取 ticket

https://api.weixin.qq.com/cgi-bin/pcopensdk/ticket?access_token=TOKEN

请求 body 格式为 JSON。PC OpenSDK 场景,固定为:

{"ticket_type": "pcopensdk"}

参数说明

参数 是否必须 说明
ticket_type 授权的票据类型,此处固定为"pcopensdk"

返回说明

返回结果 说明
ticket_type 获取到的一次性接口调用票据,5 分钟内有效,仅可调用一次网站应用接口

第二步:在页面内嵌入 OpenSDK

在应用 appid 所属的网页中,通过 script 标签引用如下 JS 文件(需 https):

https://res.wx.qq.com/connect/zh_CN/htmledition/js/wxopensdk.js

注意事项:

  1. OpenSDK 的技术实现需嵌入一个 https://open.weixin.qq.com 源的 iframe,请确保 frame-src 等设置满足要求。
  2. 请确保没有开启全局代理配置,否则可能会导致接口调用失败。

第三步:调用网页 OpenSDK 接口

获取到 ticket 后,携带 ticket 参数,调用 wxopensdk 下挂载的方法发起拉起请求。 此处需等待 wxopensdk 加载完成再发起请求。此处使用拉起小程序能力进行举例:

function dosomething() {
  wxopensdk.launchMiniProgram({
    appid: "网页应用appid",
    userName: "需拉起的小程序 userName",
    path: "",
    ticket: "申请到的 ticket",
  });
}

if (wxopensdk.ready) {
  dosomething();
} else {
  wxopensdk.onReady = dosomething;
}

接口说明

返回值格式定义

接口均会返回 Promise,Promise 对象中包含以下参数:

名称 类型 说明
errcode number 错误码
errmsg string 错误说明

errcode 说明

code 描述
0 正常触发操作
1 当前 sdk 运行环境不合法
2 网络错误
3 ticket 错误
4 请求参数格式错误
5 后台异常
6 操作超时
7 未知错误
8 超过频率限制

接口频率限制

以下所有接口,共享 OpenSDK 的频率限制,以保障用户体验。目前限制规则:

  1. 每秒钟只允许调用 1 次 OpenSDK 接口。
  2. 每分钟内,只允许调用 5 次 OpenSDK 接口。

超过限制将会返回特定 errmsg。

接口列表

拉起小程序

接口名: wxopensdk.launchMiniProgram

参数:

名称 是否必填 格式 描述
appid string 当前网站应用的 appid,非小程序的 AppID
userName string 需要拉起的小程序的原始 id
path string 小程序的启动路径,默认空(会启动首页)
ticket string 通过后台接口获取的单次调用 ticket
timeout number 微信未登录时尝试拉起微信调用接口的超时时间,单位 ms,允许 0-60000ms,默认 30000ms。若微信已登录不受该参数的影响。若设置为 0ms 则不会尝试拉起微信。

示例:

wxopensdk.launchMiniProgram({
  appid: "wxd930ea5d5a258f4f",
  userName: "gh_d43f693ca31f",
  path: "",
  ticket: "84_5JjOIqRU8dUjR3wVGA0_rdF0UdgvdiFZIyxi8qTaDBuann5POOKAzjbwtmE",
});

给TA赏糖
共{{data.count}}人
人已赏糖
技术分享

夸克官网全面使用指南:快速掌握夸克浏览器的高效操作技巧

2024-12-4 20:49:47

技术分享

B2主题自带微信电脑端快速登录功能,无需额外开发

2024-12-5 4:54:20

0 条回复 A文章作者 M管理员
技术宅评论
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索