当前位置:   article > 正文

vue3跳转到微信小程序成功案例,报错分析_error: vue3 项目暂不支持当前小程序

error: vue3 项目暂不支持当前小程序

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

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

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

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

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

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

  1. <!-- 跳转到微信小程序 -->
  2. <div class="navigateTowx ug-font" v-if=" isWxReady && isWeixin ">
  3. <wx-open-launch-weapp
  4. id="launch-btn"
  5. appid="appId"
  6. path="这里写你的微信小程序跳转路径"
  7. @ready='ready' // 这是跳转前准备
  8. @launch='launch', //跳转成功以后
  9. @error='error' , // 跳转不成功执行
  10. style="width: 200px;height:50px;display: flex;flex-direction: row;justify-content: center;">
  11. 这里非常非常重要,如果这里commponent不行你可以换div,然后加上v-is="'script'"
  12. <component v-bind:is="'script'" type="text/wxtag-template" style="display: block;width: 100%;height: 100%;text-align: center;">
  13. <button class="btn" style=" outline: none;border: none;background: transparent;height: 50px;">
  14. <img src="https://oss.edu.izdax.cn/izdax/static/nmt/sing_btn.png" alt="" style="width: 200px;text-align: center;height: 50px;">
  15. </button>
  16. </component>
  17. </wx-open-launch-weapp>
  18. </div>

然后我们在vite.config.ts 

  1. template:{
  2. compilerOptions:{
  3. isCustomElement: (tag) => tag.includes('wx-open-launch-weapp')
  4. }
  5. }

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/782846
推荐阅读
相关标签
  

闽ICP备14008679号