H5跳转小程序 (wx-open-launch-weapp开放性标签跳转)

这篇具有很好参考价值的文章主要介绍了H5跳转小程序 (wx-open-launch-weapp开放性标签跳转)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近公司有一个新的业务需求,企微分享卡片到企微、企微分享卡券到微信,点击领取、打开小程序进行领取。企微好像不可以直接跳转微信小程序,没有这样的接口,所以只能想另一种方法实现跳转,通过H5跳转微信小程序      我是V2的写法

这是第一次写这种需求,脑袋空白,也不知道从哪里搞起。还好之前的业务有企微分享卡片的功能,参照他的代码,慢慢理解,最后还是完成了。话不多说,直接上代码

步骤一:首先需要注入企微的权限,没有权限不能调用企微的接口,企微的开发文档上有相关的接口,大家直接去看一下  传送门  企微注入权限  我用的是自定义分享卡片

    auth () {
      let url = ''
			if (window.location.href.indexOf('?') !== -1) {
				url = window.location.href.substr(0, window.location.href.indexOf('?'))
			} else {
				url = window.location.href
			}
      const data = {
        agentId: storage.get('agentId'),
        url: url
      }
      this.$api('user.config', data).then(resCon => {
        window.wx.agentConfig({
          corpid: storage.get('corpId'), // 必填,企业微信的corpid,必须与当前登录的企业一致
          agentid: storage.get('agentId'), // 必填,企业微信的应用id (e.g. 1000247)
          timestamp: resCon.data.timestamp, // 必填,生成签名的时间戳
          nonceStr: resCon.data.nonceStr, // 必填,生成签名的随机串
          signature: resCon.data.signature, // 必填,签名,见附录-JS-SDK使用权限签名算法
          jsApiList: ['shareAppMessage',
          'navigateToAddCustomer',
          'getLocation', 'sendChatMessage', 'launchMiniprogram', 'openEnterpriseChat', 'shareWechatMessage'], // 必填,传入需要使用的接口名称
          success: function (res) {
            console.log('api注入成功')
            storage.set('agentConfig', true)
          },
          fail: function (res) {
            if (res.errMsg.indexOf('function not exist') > -1) {
                alert('版本过低请升级')
            }
            console.log('api注入失败', res)
          }
        })
      })
    },

步骤二:企微的权限注入成功以后就可以调用企微的分享接口  企微分享接口 这里有两种情况,企微 ==> 企微    企微 ==> 微信 调用了不同的接口, 分享的链接可以传递参数,供H5页面进行二次处理

    toQW (item) {
      console.log(item)
      if (item.giftId) {
        this.$api('push.sendGift', { giftId: item.giftId })
          .then(res => {
            console.log(res)
            if (res && res.success) {
              window.wx.invoke('shareAppMessage', {
                title: item.name, // 分享标题
                desc: item.name, // 分享描述
                link: `${process.env.VUE_APP_COPONS_URL}/loanwechat/middlePage?recommendId=${res.data.recommendId}`, // 分享链接
                imgUrl: item.img // 分享封面
              }, function (res) {
                if (res.err_msg === 'shareAppMessage:ok') {
                  console.log('企业微信分享成功', res) // 正确处理
                } else {
                  console.log('企业微信分享失败', res) // 错误处理
                }
              })
            }
          })
          .catch(err => {
            console.log(err)
          })
      }
    },
    toWX (item) {
      if (item.giftId) {
        this.$api('push.sendGift', { giftId: item.giftId })
          .then(res => {
            if (res && res.success) {
              window.wx.invoke('shareWechatMessage', {
                title: item.name, // 分享标题
                desc: item.name, // 分享描述
                link: `${process.env.VUE_APP_COPONS_URL}/loanwechat/middlePage?recommendId=${res.data.recommendId}`, // 分享链接
                imgUrl: item.img // 分享封面
              }, function (res) {
                if (res.err_msg === 'shareWechatMessage:ok') {
                  console.log('微信分享成功', res) // 正确处理
                } else {
                  console.log('微信分享失败', res) // 错误处理
                }
              })
            }
          })
          .catch(err => {
            console.log(err)
          })
      }
    }

分享成功后,点击卡片就可以跳转对应的H5页面,再进行跳转小程序

步骤三:H5跳转小程序,使用开放性标签 wx-open-launch-weapp 跳转   这里是重点

在上代码前需要交代一些要点,否则可能会导致开放性标签加载失败,按钮不显示

1、要确认你的 appid 是不是正确的

2、确认你的 url 地址是不是正确的,注入权限时的url应该时本页面的url

3、开放性标签的样式问题,如果加了position:absolute,会显示,不加的话可能不显示,有的文章说不用加,我感觉应该是具体情况具体分析吧,你可以都试试,只要显示出来按钮就可以了

4、在注入权限的时候  jsApiList: [ ],里面不可以为空,你可以填写任意的接口,一般是chooseImage、previewImage这两个接口

5、最重要的,可别忘记注入开放性标签  openTagList: ['wx-open-launch-weapp']  没有这个开放性标签就不会加载出来、更别说跳转小程序了

代码顺序:先引入微信公众号的文件 http://res2.wx.qq.com/open/js/jweixin-1.6.0.js                      再通过JS-SDK 注入微信权限,这里的appid一定要写对,别问我为啥、问就是不显示按钮

wx.config({
  debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
  appId: '', // 必填,公众号的唯一标识
  timestamp: , // 必填,生成签名的时间戳
  nonceStr: '', // 必填,生成签名的随机串
  signature: '',// 必填,签名
  jsApiList: [] // 必填,需要使用的JS接口列表
});

下边是 wx-open-launch-weapp 标签代码

    <wx-open-launch-weapp
      id="launch-btn"
      :path="'pages/Activity/index?recommendId=' + recommendId" // 要跳转小程序的路径可带参数
      username="原始appid"   // 这是小程序的原始appid   gh开头的
      env-version="trial"          // 这是跳转先程序版本的  trial:体验版  release:正式版
      style="width: 100vw;height: 100vh;position: absolute;"
      @error="handleErrorFn"     // 跳转失败事件
      @launch="handleLaunchFn"   // 跳转成功事件
    >
      <script type="text/wxtag-template">
        <style type="text/css">img { position: absolute;left: 20%;bottom: 10%;width: 240px;height: 80px;}</style>
        <img src="https://zjgxwtest.zrcbank.com/images/loanback_1683358540588.png" alt="" class="btn">
      </script>
    </wx-open-launch-weapp>

下边的代码是注入权限的代码,

    init () {
      this.$api('share.config', {
        appId: 'appid', // 正式
        url: window.location.href  // 当前页面的url,也就是从点击企微分享卡片的地址路径
      }).then(res => {
        console.log('config', res)
        wx.config({
          // debug: true,
          appId: res.data.appId, // 必填,公众号的唯一标识
          timestamp: res.data.timestamp, // 必填,生成签名的时间戳
          nonceStr: res.data.nonceStr, // 必填,生成签名的随机串
          signature: res.data.signature, // 必填,签名
          jsApiList: [
            'chooseWXPay',
            'onMenuShareTimeline',
            'onMenuShareAppMessage',
            'onMenuShareQQ',
            'onMenuShareWeibo',
            'onMenuShareQZone',
            'chooseImage',
            'previewImage'
          ], // 必填,需要使用的JS接口列表
          openTagList: ['wx-open-launch-weapp']
        })
        wx.ready(function () {
          console.log('准备成功')
          // config信息验证后会执行ready方法
        })
        wx.error(function (resErr) {
          console.log('准备失败', resErr)
          // config信息验证失败会执行error函数
        })
      })
    },

注入成功以后,就可以出现按钮了,点击按钮,提示即将打开“某某某”小程序

步骤四:H5跳转的小程序  参数只能在 onload 中获取,如果你有其他方法获取,教教老弟,我也想知道一下。

  onLoad (options) {
    var obj = wx.getLaunchOptionsSync()
    if (obj.query && obj.query.recommendId) {
      const recommendId = obj.query.recommendId
      wx.setStorageSync('recommendId', recommendId)
    }
  }

获取到参数以后,可以将参数保存本地 wx.setStorageSync('recommendId', recommendId),等用过之后,再删除一下wx.removeStorageSync('recommendId', recommendId)  最后可以美美的测试你的功能了。

以上就是最近工作总遇到的问题,如有错误,还请指出。

代码有用的话,给俺个赞吧,谢谢

欢迎各位留言发表意见文章来源地址https://www.toymoban.com/news/detail-521465.html

到了这里,关于H5跳转小程序 (wx-open-launch-weapp开放性标签跳转)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • h5跳转微信小程序 wx-open-launch-weapp

    微信开放标签是微信公众平台面向网页开发者提供的扩展标签集合。通过使用微信开放标签,网页开发者可安全便捷地使用微信或系统的能力,为微信用户提供更优质的网页体验。 此文档面向网页开发者,介绍微信开放标签如何使用及相关注意事项。需要注意的是,微信开放

    2024年02月04日
    浏览(50)
  • uniapp h5跳转微信小程序(wx-open-launch-weapp)

    目录 一、注意事项 二、使用步骤   三、调整样式 微信版本要求为:7.0.12及以上 系统版本要求为:iOS 10.3及以上、Android 5.0及以上 已认证的服务号 ,服务号绑定“JS接口安全域名”下的网页可使用此标签跳转任意合法合规的小程序。 已认证的非个人主体的小程序,使用小程

    2024年02月02日
    浏览(56)
  • uni-app H5中使用wx-open-launch-weapp打开微信小程序

    最近最H5开发,项目需要发起支付,因为原来我们app走的一套是小程序的支付,所以这边需要H5打开小程序实现支付; 微信文档地址:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_Open_Tag.html ​ 问题描述 项目开发中遇到的坑,我就不一一列举了,直接上小友的爬坑链接

    2024年02月11日
    浏览(74)
  • 记录 wx-open-launch-weapp 使用react开发微信环境h5打开微信小程序

    准备工作  1、微信签名配合后端 2、必须已认证的公众号(开发模拟器不行,测试号不行) 遇见的问题: 本地调试麻烦,用的手机修改dns,和电脑一致,通过电脑代理,编译时配置host代理运行调试(因为本地开发没办法签名认证) 1、在微信编辑器,测试号内怎么试都不生效,最后发现正式

    2024年02月16日
    浏览(44)
  • 微信公众号正确使用开放标签wx-open-launch-weapp

    1.绑定安全域名 登录微信公众平台,进入“公众号设置”的“功能设置”里填写“JS接口安全域名”; 2.引入JS文件 工程化项目可通过npm下载:weixin-js-sdk,需要1.6.0以上版本 npm install weixin-js-sdk@1.6.0 在当前页面引入 3.通过config接口申请开放标签 4.注册组件 在vue中直接使用会报

    2024年02月08日
    浏览(44)
  • H5跳转微信小程序,通过获取URL Scheme,实现短信跳转小程序,微信跳转小程序,邮件跳转小程序,外部链接跳转小程序

    H5链接跳转小程序有2种方式: 第一种:通过微信官方提供的标签wx-open-launch-weapp,打开小程序 第二种:通过获取URL Scheme实现链接跳转小程序 官方文档https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_Open_Tag.html#21 注意: 开放范围:针对非个人主体小程序开放。 1、缺点 1)

    2024年02月13日
    浏览(69)
  • 外部h5跳转小程序页面传递参数

    h5页面传递参数:h5页面的参数是点击进入该页面利用api直接获取code跟click_id。 跳转方法一:  利用写好的接口将获取到的小程序码添加到a标签的路径进行跳转  跳转方法二: 利用接口跳转至对应的小程序    小程序接收h5传过来的数据:在app.js中,利用onLaunch生命周期获取

    2024年02月16日
    浏览(48)
  • H5跳转小程序的方案及适用场景

    1、通过 URL Scheme 适用场景 适用于短信、邮件、外部网页、微信内等拉起小程序的业务场景(第三方普通浏览器跳转小程序) 获取方法:通过后端服务器生产 https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/url-scheme.html 使用URL Scheme注意事项 a、有实效性 b、一条scheme只针

    2024年02月11日
    浏览(52)
  • 微信外h5跳转小程序3中方式

    目前限制50wc次 微信h5浏览器环境内打开app:目录 | 微信开放文档 返回app填坑:Android app跳转微信小程序,返回app遇到的各种坑_微信返回王_gemgaozhen的博客-CSDN博客 微信小程序内跳转app:打开 App | 微信开放文档 先转短链接 文档:获取scheme码 | 微信开放文档 微信公众号h5页面跳

    2024年02月06日
    浏览(63)
  • H5页面跳转小程序的三种方式

    实际开发中,小程序和H5往往有很多业务场景需要来回跳转,这里主要介绍三种跳转方式供大家参考。 场景:微信小程序登录有时候需要和公众号进行绑定,获取公众号code和appid传给后台进行绑定 该接口用于获取小程序 scheme 码,适用于短信、邮件、外部网页、微信内等拉起

    2024年01月25日
    浏览(75)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包