记录 wx-open-launch-weapp 使用react开发微信环境h5打开微信小程序

这篇具有很好参考价值的文章主要介绍了记录 wx-open-launch-weapp 使用react开发微信环境h5打开微信小程序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

准备工作 

1、微信签名配合后端
2、必须已认证的公众号(开发模拟器不行,测试号不行)

遇见的问题:

本地调试麻烦,用的手机修改dns,和电脑一致,通过电脑代理,编译时配置host代理运行调试(因为本地开发没办法签名认证)


1、在微信编辑器,测试号内怎么试都不生效,最后发现正式环境可以
2、点击跳转区域需要图片,写好后发现有时候生效有时候不能点击
3、修复前两个功能后发现ios点击没反应
4、最终ios,安卓手机的h页面都正常显示并且可以点击

我是react taro开发


封装了组件 ,支持按钮,弹框,自定义内部内容

import {View} from "@tarojs/components";
import {ReactNode, useEffect, useLayoutEffect, useRef} from "react";
import WeChat from "@/utils/WeChat";
import Taro from "@tarojs/taro";

interface WxOpenWxAppProps {
  width: number,
  height: number,
  backgroundImg?: string,
  path: string,
  children?: ReactNode,
}

const WxOpenWxApp = (props: WxOpenWxAppProps) => {
  const ref = useRef<HTMLInputElement>();

  useEffect(() => {
    return () => {
      ref.current?.removeEventListener('ready', readyHandel)
      ref.current?.removeEventListener('launch', launchHandel)
      ref.current?.removeEventListener('error', errorHandel)
    }
  }, [])

  useLayoutEffect(() => {
    console.log('ref.current',ref.current);
    if (ref.current) {
      setTimeout(()=>{
        (async () => {
          //await WeChat.getInstance()
          // 这里是签名逻辑
        })()
      },0)
    }
    ref.current?.removeEventListener('ready', readyHandel)
    ref.current?.removeEventListener('launch', launchHandel)
    ref.current?.removeEventListener('error', errorHandel)
    ref.current?.addEventListener('ready', readyHandel)
    ref.current?.addEventListener('launch', launchHandel)
    ref.current?.addEventListener('error', errorHandel)
  }, [ref.current])

  const launchHandel = (e: any) => {
    console.log("跳转小程序成功:", e.detail);
  }

  const errorHandel = (e: any) => {
    console.log("跳转小程序失败:", e.detail);
  }

  const readyHandel = () => {
    console.log("跳转小程序准备完成");
  }

  return <View style={{
    width: Taro.pxTransform(props.width),
    height: Taro.pxTransform(props.height),
    background: props.backgroundImg ? `url("${props.backgroundImg}") no-repeat center center / 100% 100%` : ''
  }}>
    <wx-open-launch-weapp
      ref={ref}
      style={{
        display: "block",
        width: "100%",
        height: "100%"
      }}
      username="gh_小程序原始id"
      env-version="release"
      path={props.path}
    >
      <script
        type="text/wxtag-template"
      >
        <button style={{
          width: parseFloat(Taro.pxTransform(props.width))*parseFloat(getComputedStyle(document.body).fontSize),
          height: parseFloat(Taro.pxTransform(props.height))*parseFloat(getComputedStyle(document.body).fontSize),
          background: "none",
          border: "none",
          outline: 'none',
          position:"relative",
          margin:0,
          padding:0,
          left:0,
          right:0,
          opacity:0,
        }}>
          {props.children}
        </button>
      </script>
    </wx-open-launch-weapp>
  </View>
}
export default WxOpenWxApp;

使用案例

 
import WxOpenWxApp from "引入存放WxOpenWxApp的路径";

<WxOpenWxApp
                  path={`pages/home/index/index.html?id=1}`}
                  width={335}
                  height={86}
                  backgroundImg={"这是个图片url"}
                />

wechart.js

 wx.config({
      debug: false,
      appId: APP_ID,
      timestamp: params.timeStamp,
      nonceStr: params.nonceStr,
      signature: params.signature,
      // 这里是把所有的方法都写出来了 如果只需要一个方法可以只写一个
      jsApiList: ["scanQRCode", "getLocation", 'wx-open-launch-weapp', "chooseImage", 'previewImage',],
      openTagList: ['wx-open-launch-weapp'], // 填入打开小程序的开放标签名
    });

我的点击区域

react微信h5开发,前端,微信小程序,微信,前端

 react微信h5开发,前端,微信小程序,微信,前端

 最终可正常使用

react微信h5开发,前端,微信小程序,微信,前端文章来源地址https://www.toymoban.com/news/detail-594782.html

到了这里,关于记录 wx-open-launch-weapp 使用react开发微信环境h5打开微信小程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

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

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

    2024年02月02日
    浏览(36)
  • H5跳转小程序 (wx-open-launch-weapp开放性标签跳转)

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

    2024年02月12日
    浏览(28)
  • 微信h5跳转小程序wx-open-launch-weapp开放标签不显示(已解决)

    项目需要使用开放标签,按照各种博文上的各种解决方案都不显示, 我都服了,搞来搞去都没用。 最后我搞下来问题我都服了!!!!! 我下载的jweixin-1.6.0.js 不是 正确的 , 对你没看错,这个jssdk应该是我从某个项目里复制出来的 所以遇到不显示的问题没办法解决就需要

    2024年02月13日
    浏览(31)
  • vue2公众号跳转小程序 wx-open-launch-weapp 超完整流程

    根据微信网页开发 / 开放标签说明文档 (qq.com)看开放标签 wx-open-launch-weapp 说明,从上往下完整的看到2.1 根据签名算法见JS-SDK说明文档的附录,所有开放标签列表见文末的附录1 概述 | 微信开放文档 获取wx.config 中相关签名等配置参数(后端通过接口传给我们) 开发者调试需

    2024年04月14日
    浏览(23)
  • 微信小程序学习实录8:H5网页跳转小程序(微信开放标签、wx-open-launch-weapp按钮不显示、noPermissionJsApi)

    微信小程序学习实录7(H5嵌入小程序、获取微信收货地址、数组对象url传值、js获取url参数) 微信小程序学习实录6(百度经纬度采集、手动调整精度、H5嵌入小程序、百度地图jsAPI、实时定位、H5更新自动刷新) 微信小程序学习实录5(H5嵌入小程序、map组件、地图调起功能、腾讯百度

    2024年02月04日
    浏览(42)
  • 【wx-open-launch-app】微信内置浏览器网页唤起app操作和一些坑,偏前端使用开放标签方面

    最近实现了一下微信H5(Android)唤起app功能,使用的是微信开放标签,wx-open-launch-app,使用这个标签后,我们就可以在微信浏览器中唤起对应的app了 官方使用教程: https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_Open_Tag.html 使用教程 需要一个 已验证的微信服务号账号 和 微

    2024年02月20日
    浏览(33)
  • 安卓微信内页面用wx-open-launch-app标签拉起app

    公司有一款APP,原本用的是openinstall调用拉起app功能。 ios上(网页、微信、钉钉等拉起app)都正常。 安卓上网页拉起没问题,但是在微信、钉钉内等一些环境中,都是用折中的办法,就是拉起app时,提示点击右上角,在浏览器内打开当前网页,然后在浏览器内打开app。 目前

    2024年02月02日
    浏览(20)
  • 记录微信小程序使用Vant Weapp-Sidebar 侧边导航,更改它的边框颜色

    因为组件自带的颜色是红色,不符合项目的需求,直接用是这样的,如图: 但是在他的官方给出的参数中没有直接能变更颜色的参数,下面是它定义边框颜色的名字,我们只需要在自己的Wxss文件里重写一下这个class就可以了,代码如下: wxml文件: wxss文件: 现在运行就会是

    2024年02月13日
    浏览(41)
  • 微信小程序 使用 vant-weapp 组件 van-field 类型为 textarea 在IOS端出现的问题记录

    在 IOS 端 出现 textarea 的 value 出现在最顶层, 上下滚动就消失, 此bug容易引起观感不适 出现该bug的原因 可能 是官方的原生组件的使用限制 微信小程序原生组件的使用限制 提供一个 showKey 布尔值去做限制, wx:if 为 false 时使用 text/text , 为 true 时使用回 van-field type=\\\"textarea\\\"/van-fi

    2024年02月13日
    浏览(37)
  • 微信小程序使用weapp-qrcode.js生成二维码以及“扫普通链接二维码打开小程序”动态传递参数实现记录

    参考文章原文链接:微信小程序使用weapp-qrcode.js完成二维码的生成_fairy_404的博客-CSDN博客 首先给需要生成二维码的页面创建一个canvas 因为我这里实现的是弹窗展示二维码,所有就把 canvas移出页面,小伙伴们根据自己需求进行调整,weapp-qrcode.js内容参考链接中就有,我这里就

    2024年02月15日
    浏览(37)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包