H5页面跳转微信小程序

微信浏览器中实现跳转

使用微信官方接口 wx-open-launch-weapp(该方法只开放给已认证的服务号或者小程序云开发的静态网站托管绑定的域名下的网页)

案例代码


  

相关文档

目录 | 微信开放文档微信开发者平台文档https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_Open_Tag.html#21

外部浏览器中实现跳转,需要使用URL Scheme的方式来实现(URL Scheme的有效期只有30天)

        前端在获取到URL Scheme后通过以下代码就可以实现跳转
        文档点击这里 URL Scheme文档

location.href = 'weixin://dl/business/?t= *TICKET*'

  • 注意: 获取URL Scheme的方式有两种

URL Scheme获取帮助文档

方式一:小程序管理后台工具生成

一、生成步骤

1、 地址

微信公众平台

2、 扫码登录

3、 登陆后进入首页

「工具」(在右上角)–「生成 URL Scheme」

4、 进入生成 URL Scheme

5、 生成 URL Scheme

(1) 参数说明

属性 说明
有效期 到期失效(可以自己选择失效时间)、永久有效 生成的 scheme 码类型
小程序页面路径 示例:pages/index/index 通过 scheme 码进入的小程序页面路径,必须是已经发布的小程序存在的页面,不可携带 query。path 为空时会跳转小程序主页。
启动query参数 示例:channel=test&ad=1001 通过 scheme 码进入小程序时的 query,最大1024个字符,只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~

(2) 示例

1) 生成

2) 生成结果

二、参考文档

获取 URL Scheme

方式二:服务器端(接口)方式

一、 说明

获取小程序 scheme 码,适用于短信、邮件、外部网页、微信内等拉起小程序的业务场景。通过该接口,可以选择生成到期失效和永久有效的小程序码,目前仅针对国内非个人主体的小程序开放,详见获取 URL scheme。

调用方式:

  • HTTPS 调用
  • 云调用

二、 HTTPS 调用

1、接口地址

地址 请求方式
https://api.weixin.qq.com/wxa/generatescheme?access_token=ACCESS_TOKEN POST

2、请求参数及说明

(1) 请求参数

属性 类型 默认值 必填 说明
access_token string 接口调用凭证
jump_wxa Object 跳转到的目标小程序信息。
is_expire boolean false 生成的 scheme 码类型,到期失效:true,永久有效:false。
expire_time number 到期失效的 scheme 码的失效时间,为 Unix 时间戳。生成的到期失效 scheme 码在该时间前有效。最长有效期为1年。生成到期失效的scheme时必填。

(2) jump_wxa 的结构

属性 类型 默认值 必填 说明
path string 通过 scheme 码进入的小程序页面路径,必须是已经发布的小程序存在的页面,不可携带 query。path 为空时会跳转小程序主页。
query string 通过 scheme 码进入小程序时的 query,最大1024个字符,只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~

3、返回值

(1) 返回值说明

属性 类型 说明
errcode number 错误码
errmsg string 错误信息
openlink string 生成的小程序 scheme 码

(2) errcode合法值说明

说明
40002 暂无生成权限
40013 生成权限被封禁
85079 小程序未发布
40165 参数path填写错误
40212 参数query填写错误
85401 参数expire_time填写错误,时间间隔大于1分钟且小于1年
44990 生成Scheme频率过快(超过100次/秒)
85400 长期有效Scheme达到生成上限10万
45009 单天生成Scheme数量超过上限50万

4、示例:

(1)请求        

{

    "jump_wxa":

        {

            "path": "/pages/publishHomework/publishHomework",

            "query": ""

        },

    "is_expire":true,

    "expire_time":1606737600
}

(2)返回

{

    "errcode": 0,

    "errmsg": "ok",

    "openlink": Scheme,

}

三、 云调用

1、接口方法

方法 说明
openapi.urlscheme.generate

需在 config.json 中配置 urlscheme.generate API 的权限,详情请参考官方文档

2、请求参数

(1)请求参数

属性 类型 默认值 必填 说明
jumpWxa Object 跳转到的目标小程序信息。
isExpire boolean false 生成的 scheme 码类型,到期失效:true,永久有效:false。
expireTime number 到期失效的 scheme 码的失效时间,为 Unix 时间戳。生成的到期失效 scheme 码在该时间前有效。最长有效期为1年。生成到期失效的scheme时必填。

(2)jumpWxa 的结构

属性 类型 默认值 必填 说明
path string 通过 scheme 码进入的小程序页面路径,必须是已经发布的小程序存在的页面,不可携带 query。path 为空时会跳转小程序主页。
query string 通过 scheme 码进入小程序时的 query,最大1024个字符,只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~

说明
40002 暂无生成权限
40013 生成权限被封禁
85079 小程序未发布
40165 参数path填写错误
40212 参数query填写错误
85401 参数expire_time填写错误,时间间隔大于1分钟且小于1年
44990 生成Scheme频率过快(超过100次/秒)
85400 长期有效Scheme达到生成上限10万
45009 单天生成Scheme数量超过上限50万

3、返回值

(1)返回值说明

属性 类型 说明
errcode number 错误码
errmsg string 错误信息
openlink string 生成的小程序 scheme 码

(2)errcode合法值说明

说明
40002 暂无生成权限
40013 生成权限被封禁
85079 小程序未发布
40165 参数path填写错误
40212 参数query填写错误
85401 参数expire_time填写错误,时间间隔大于1分钟且小于1年
44990 生成Scheme频率过快(超过100次/秒)
85400 长期有效Scheme达到生成上限10万
45009 单天生成Scheme数量超过上限50万

4、示例

(1)请求

const cloud = require('wx-server-sdk')

cloud.init({

    env: cloud.DYNAMIC_CURRENT_ENV,})

exports.main = async (event, context) => {

    try {

        const result = await cloud.openapi.urlscheme.generate({

            "jumpWxa": {

                "path": '/pages/publishHomework/publishHomework',

                "query": ''

            },

            "isExpire": true,

            "expireTime": 1606737600

        })

        return result

} catch (err) {

    return err

}}

(2)返回

{

    "errcode": 0,

    "errmsg": "ok",

    "openlink": Scheme,

}

四、 其他说明

如有其他问题请参考官方文档:

urlscheme.generate | 微信开放文档

你可能感兴趣的:(微信小程序,javascript,小程序)