vue3跳转到微信小程序成功案例,报错分析

首先我之前出了一个,那是我成功跳转了以后的结果,但是第二天改样式的时候就失效了报错,报了两天的错误,回到正题.

我们首先把我们请求的函数放到onMounted外面,这样我们签名的速度很快.用户体验更好.

然后我们要签名,请求,请求数据以后给微信发我们请求过来的一些参数.

签名请求和wx.config,wx,ready,实现有一下代码

import {ref,onMounted,} from "vue";
import{getCEshiQingqiudeHanshu,getShareSignNewApi}  from "@/api/http"
// 引入wxsdk
import wx from "weixin-js-sdk";
const wxAppletData = ref({})//保存数据后端返回的数据
import {  isWeixin } from "@/main"
const isWxReady = ref(false)
console.log("外面的isWeixin:",isWeixin)
console.log("外面的isWxReady:",isWxReady)
const getSign = async () => {
      console.log("isWxReady:",isWxReady)
      let url = encodeURIComponent(location.href.split("#")[0])
      let  data  = await getShareSignNewApi(url);//这是我封装的请求接口方法 你们自己用自己封装的请求就好了
      console.log("签名返回的data:",data)
      if(data.code == 200){
        wx.config({
              debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
              appId: data.appid, // 必填,公众号的唯一标识
              timestamp: data.timestamp, // 必填,生成签名的时间戳
              nonceStr:data.nonceStr, // 必填,生成签名的随机串
              signature: data.signature,// 必填,签名
              jsApiList: [
                    "updateAppMessageShareData", //自定义“分享给朋友”及“分享到QQ”按钮的分享内容(1.4.0) 新接口
                    "updateTimelineShareData", //自定义“分享到朋友圈”及“分享到QQ空间”按钮的分享内容(1.4.0)
                  ],
              openTagList: ['wx-open-launch-app','wx-open-launch-weapp'],
            });
        wx.ready(function () {
              isWxReady.value = true
              console.log("wx.ready里面的:isWeixin:",isWeixin)
              console.log("wx.ready里面的:isWxReady:",isWxReady.value)
              console.log("wx.ready执行成功.....,会跳转:::::::")
              console.log("2024-1-4-12点:")
          });
        wx.error(function (res) {
            console.log("wx.error:执行了:",JSON.stringify(res))
          });
      }else{
          console.log("data.code不等于200......,,签名失败......")
      }
    };

然后在template里面写一下代码,这个部分非常重要,而且需要不懈式

         
         

然后我们在vite.config.ts 

       template:{
        compilerOptions:{
          isCustomElement: (tag) => tag.includes('wx-open-launch-weapp')
        }
       }

然后在main.ts里面写一下代码

// 是做忽略微信标签的
app.config.compilerOptions.isCustomElement = (tag) => {
	  return tag.startsWith('wx-open-launch-weapp')
}

你可能感兴趣的:(微信小程序,小程序,typescript,vue.js,前端框架,前端,html5)