(vue中js-sdk配置)微信公众号开发

1 篇文章 0 订阅
1 篇文章 0 订阅

最近在开发公众号,遇到了很多坑,网上的很多搜索自己用的时候才发现到处都是雷,大家都不测试就随便发的吗?
因为要用到微信的扫码,以及获取当前位置等功能,所以就有了下面的踩坑之路

搜索-网上找到了大家引入weixin-js-sdk的教程,于是欢天喜地的install了

npm install weixin-js-sdk

后来vue文件中引入,结果引入却打印不出来

import wx from 'weixin-js-sdk'
console.log(wx)   // undefined是个什么鬼

折腾好久始终打印不出来我终于放弃了
然后我继续搜索。。。。。
终于让我找到了神奇的weixin-jsapi,然后就欢天喜地的成功了

npm install weixin-jsapi
import wx from 'weixin-jsapi
console.log(wx)  // 终于成功打印出来了

然后就有了愉快的wx.config一系列操作(推荐配置项通过后台接口拿到哦,我看不少小伙伴直接是页面写死的),代码在微信公公众平台的开发文档都有,请移步微信公众平台网页开发–js-sdk

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

我愉快的用了里面的扫码功能以及当前定位功能,然后成功的了,就这样愉快的过了两周,直到新需求的到来。。。。。。
新加了页面分享功能,WTF?so easy,那就写吧
先查了官方文档,说是onMenuShareAppMessage(分享给朋友)等等好几个分享功能即将废用,那咱当然用推荐使用的api了,得,就用updateAppMessageShareData了,在wx.config中配置好

jsApiList: ['getLocation', 'scanQRCode', 'updateAppMessageShareData']

然后我接着就开心的去使用了

 wx.updateAppMessageShareData({
    title: '测试分享', // 分享标题
    desc: '这是一个不错的分享哦', // 分享描述
    link:'http://www.baidu.com', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
    imgUrl: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1587654057447&di=fc8eb02f92f4d5f5b21a2de8f25bb922&imgtype=0&src=http%3A%2F%2Fimg4.jiuxing.com%2F1845405%2Fglory%2Fnwm_orig_800%2F481baa92af58b0eb3c57ffb4d2355335.jpg', // 分享图标
    success: function () {
      // 设置成功
      console.log('分享成功')
    }
})

结果,没有成功,没有理由啊。。。。。找了许久,难不成是我用的weixin-jsapi版本太旧,我跑到了npm的官网,发现了最后一次更新竟然是2017年,三年前,当然,那时候新的微信分享api肯定还没有出生,怎么办?又想到了前面踩坑没有成功的weixin-js-sdk,特意去了npm上查了一下,版本是十几天前刚更新的,并且更新版本非常频繁。那就转回官方推荐的weixin-js-sdk了
install ==》引用成功就大功告成了,重点就是跳引用的坑了

npm isntall weixin-js-sdk
import wx from 'weixin-js-sdk'
cosnole.log(wx) // undefined 

最后的最后发现原因是我在public目录的index.html中引入过了js-sdk的CDN,导致出现的问题(刚开始开发,跟着腾公众号的开发文档加上的,天坑)

<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>

把上面的一行代码注释掉之后就可以正常的import,并且能正常的打印了
总结,vue中使用js-sdk的两种方式如下:
第一种:使用cdn(尝试console.log(window[‘wx’]))

// index.html入口文件中引入
<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script> 
// 要使用的页面引入方式
const wx = window['wx']
// 下面进行wx配置
wx.config({....}) // 不再举例

第二种:使用npm 插件 ‘weixin-js-sdk’

// 安装
npm install 'weixin-js-sdk'
// 使用
import wx from 'weixin-js-sdk'
import Vue from 'vue'
wx.config({....})

如果不止一个vue页面用到的话,记得挂载到原型中,不然每个页面都要去wx.config

// 挂载
Vue.prototype.$wx = wx 
// 页面中的使用
this.$wx.scanQRCode({...}) // 扫码示例,不再枚举

切记,cdn和npm引入不能同时使用,会导致import不出来数据的哈

最后,撒花,终于可以下班了。。。。。。

对于开发Vue微信公众号网页,你可以按照以下步骤进行: 1. 创建项目:首先,你需要创建一个Vue项目。你可以使用Vue CLI来快速创建一个Vue项目,运行命令`vue create project-name`来创建一个新的项目。 2. 配置公众号:在微信公众号后台,你需要配置网页授权域名和JS接口安全域名。确保你的网页域名和JS接口安全域名与你的Vue项目所在的域名一致。 3. 安装依赖:在Vue项目,你可能需要安装一些依赖来处理微信公众号相关的功能。你可以使用npm或者yarn来安装这些依赖。 4. 配置路由:在Vue项目,你可以使用Vue Router来管理页面的路由。根据你的需求,配置路由来实现不同页面之间的跳转。 5. 接入微信SDK:使用微信提供的JS-SDK来实现网页授权和获取用户信息等功能。你可以在Vue项目引入微信SDK,并根据微信JS-SDK的文档进行配置和使用。 6. 开发页面:根据你的需求,开发各个页面。你可以使用Vue的组件化开发方式来构建页面,并使用Vue的数据绑定和事件机制来实现交互功能。 7. 发布上线:完成开发后,你需要将Vue项目打包并发布到生产环境。使用Vue CLI提供的命令来进行打包,然后将生成的静态文件部署到服务器上。 以上是一个简单的概述,希望对你有所帮助。如果你有具体的问题或者需要更详细的指导,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值