vue 公众号开发,调用jssdk封装

vue 公众号开发,经常会使用到 转发朋友,朋友圈,调用扫一扫等功能,这时就要使用微信的 jssdk
微信jssdk传送门

1. 安装jssdk 插件 (jweixin-module)

npm install jweixin-module --save

2. 封装方法

utils/jwx.js

let jweixin = require("jweixin-module")
import api from "@/api/api"export default {isWechat: function () {var ua = window.navigator.userAgent.toLowerCase();if (ua.match(/micromessenger/i) == 'micromessenger') {return true;} else {alert('不是微信客户端,请在微信客户端操作在,谢谢');return false;}},initJssdk: function (callback) {//获取当前url然后传递给后台获取授权和签名信息let url = location.href;//let url = "https://custom.lbcst.com/bosscustom/pages/introduce/order";//这里是请求后台,调用jssdk 的申请接口,只有它完成了后,才有权限调用 jssdk 中的方法api.getinstance().shareAuth({url}).then(res=>{// console.log('后台返回签名')// alert(JSON.stringify(res))//返回需要的参数appId,timestamp,noncestr,signature等//注入config权限配置jweixin.config({debug: false,appId: res.data.info.appId,timestamp: res.data.info.timestamp,nonceStr: res.data.info.nonceStr,signature: res.data.info.signature,jsApiList: [ //这里是需要用到的接口名称'updateAppMessageShareData', //分享给朋友'updateTimelineShareData',   //分享到朋友圈"uploadImage",      //上传图片"chooseImage",      //选择本地的图片"previewImage",     //预览图片接口"getLocalImgData"   //获取本地图片接口]});if (callback) {callback(res.data);}})},//封装分享朋友的方法//分享朋友  //为自定义的方法,配置参数,这样更加灵活shareAppmessage:function({title="",desc="",link="",imgUrl="",callback=null}){if (!this.isWechat()) {//console.log('不是微信客户端')return;}this.initJssdk(function(){jweixin.ready(function(){jweixin.updateAppMessageShareData({title,desc,link,imgUrl,success: function(rs) {if(callback){callback(rs)}}})})})}//封装扫一扫的方法scanQRCode:function({needResult=0,scanType=["qrCode","barCode"],callback=null}){if (!this.isWechat()) {//console.log('不是微信客户端')return;}this.initJssdk(function(res){jweixin.ready(function(){jweixin.scanQRCode({needResult,scanType,success:function(r){callback && callback(r)}})})})},}

3.调用

在main.js中把 jwx 引入
在这里插入图片描述

<van-button @click="writeoff" type="primary" block>扫码核销</van-button>methods:{writeoff(){let that = this;this.$jwx.scanQRCode({needResult:1,callback:function(res){console.log(res);that.resultStr = res.resultStr;Toast({message:"扫码成功了,请用接口核销"+res.resultStr});}})}
}

以上的封装只是一个示例,所有的调用,都可以使用这类似的方法封装

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/613631.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sqlilabs第四十九五十关

Less-49(GET - Error based - String Bind - ORDER BY CLAUSE) 手工注入 无回显(还是单引号闭合)&#xff0c;只能使用延时注入 自动脚本 和上一关一样 Less-50(GET - Error based - ORDER BY CLAUSE -numeric- Stacked injection) 手工注入 这里需要使用堆叠注入的思路 自…

Qt优秀开源项目之二十:RedPanda-CPP(小熊猫C++)

小熊猫C是跨平台、轻量易用的开源C/C集成开发环境。 官网&#xff1a;http://royqh.net/redpandacpp github&#xff1a;https://github.com/royqh1979/RedPanda-CPP 小熊猫C&#xff08;原名小熊猫Dev-C 7)是基于Qt开发的Dev-C替代版本。和经典的Dev-C 5.11、新的Embarcadero …

TDengine 签约积成电子

随着电力系统的复杂性和数据量不断增加&#xff0c;电力负荷、电压、频率等庞大的时序数据需要更高效的存储和处理能力&#xff0c;才能确保数据的可靠性和实时性。此外&#xff0c;电力系统还需要对实时数据进行快速分析和决策&#xff0c;以确保电网的稳定运行。然而&#xf…

openssl3.2 - 官方dmeo学习 - sconnect.c

文章目录 openssl3.2 - 官方dmeo学习 - sconnect.c概述笔记END openssl3.2 - 官方dmeo学习 - sconnect.c 概述 TLS客户端 - 使用根证书, 非阻塞, 向服务器要东西. 笔记 开始一个新demo学习时, 要从头配置包含路径, 麻烦. 直接拷贝上一个实现工程, 换掉实现.c方便一些. 换的…

(超详细)4-YOLOV5改进-添加ShuffleAttention注意力机制

1、在yolov5/models下面新建一个SE.py文件&#xff0c;在里面放入下面的代码 代码如下&#xff1a; import numpy as np import torch from torch import nn from torch.nn import init from torch.nn.parameter import Parameterclass ShuffleAttention(nn.Module):def __…

C //练习 4-12 运用printd函数的设计思想编写一个递归版本的itoa函数,即通过递归调用把整数转换为字符串。

C程序设计语言 &#xff08;第二版&#xff09; 练习 4-12 练习 4-12 运用printd函数的设计思想编写一个递归版本的itoa函数&#xff0c;即通过递归调用把整数转换为字符串。 注意&#xff1a;代码在win32控制台运行&#xff0c;在不同的IDE环境下&#xff0c;有部分可能需要…

【IOS】惯性导航详解(包含角度、加速度、修正方式的api分析)

参考文献 iPhone的惯性导航&#xff0c;基于步态。https://www.docin.com/p-811792664.html Inertial Odometry on Handheld Smartphones: https://arxiv.org/pdf/1703.00154.pdf 惯性导航项目相关代码&#xff1a;https://github.com/topics/inertial-navigation-systems use…

openssl3.2 - 官方dmeo学习 - 索引贴

文章目录 openssl3.2 - 官方dmeo学习 - 索引贴概述笔记工程的搭建和调试环境BIOBIO - client-arg.cBIO - client-conf.cBIO - saccept.cBIO - sconnect.cBIO - server-arg.cBIO - server-cmod.cBIO - server-conf.cBIO - 总结certsEND openssl3.2 - 官方dmeo学习 - 索引贴 概述…

长尾分布定义,举个物种长尾分布和词频长尾分布的例子。

问题描述&#xff1a;长尾分布定义&#xff0c;举个物种长尾分布和词频长尾分布的例子。 问题解答&#xff1a; 长尾分布是一种概率分布的类型&#xff0c;它描述的是一种极端事件或者稀有事件的发生概率。具体来说&#xff0c;长尾分布描述的是少量的类别占据了大部分的样本…

SpringIOC之support模块GenericXmlApplicationContext

博主介绍&#xff1a;✌全网粉丝5W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战&#xff0c;博主也曾写过优秀论文&#xff0c;查重率极低&#xff0c;在这方面有丰富的经验…

STM32(HAL库) CubeMX+Keil5 建立工程

STM32&#xff08;HAL库&#xff09; CubeMXKeil5 建立工程 目标选择 菜单栏 File 新建工程打开工程退出软件 Window 输出窗口的开启软件字体设置 Help 软件帮助文档检查软件更新管理MCU 已存在工程&#xff08;Existing Projects&#xff09; 最近打开过的工程(Recent Open…

2024年值得关注的10种自动化测试趋势

超级自动化测试这是利用人工智能&#xff08;AI&#xff09;和机器学习&#xff08;ML&#xff09;来自动化测试任务。超级自动化测试可以帮助减少手动测试的需求&#xff0c;提高测试的效率&#xff0c;并在开发生命周期的早期发现缺陷。 TestOps集成TestOps是将DevOps实践扩…

PyPDF2 3.0.0更新,一些函数被弃用,需要重新写

1.PdfFileWriter is deprecated and was removed in PyPDF2 3.0.0. Use PdfWriter instead. 这错误表明你正在使用的 PyPDF2 版本中已经移除了 PdfFileWriter&#xff0c;并在版本 3.0.0 中被替代为 PdfWriter。这是因为在 PyPDF2 的更新中&#xff0c;一些 API 被重新组织和更…

中霖教育:专业不对口,能考会计师吗?

学的不是会计专业&#xff0c;专业不对口&#xff0c;能不能考会计师? 从学历要求来看&#xff0c;考会计师并无硬性规定必须具备哪个专业的学历。所以只要符合报考条件&#xff0c;非会计专业的人也可以报考会计师。 除了基本条件外&#xff0c;报名参加中级会计考试的人员…

html学习之路:简述html文档头部 <meta> 的 http-equiv 属性

&#x1f9cb;当输入网址打开网页时&#xff0c;设置html头部meta的http-equiv属性&#xff0c;可以帮助浏览器更加精确和正常却的显示网页内容&#xff0c;比如设置网页多久自动刷新&#xff0c;设置网页在浏览器缓存中的时限&#xff0c;设置多少事件跳转到指定的网页地址&am…

leetcode-合并两个有序数组

88. 合并两个有序数组 题解&#xff1a; 这是一个经典的双指针问题&#xff0c;我们可以使用两个指针分别指向nums1和nums2的最后一个元素&#xff0c;然后比较两个指针所指向的元素大小&#xff0c;将较大的元素放入nums1的末尾&#xff0c;并将对应的指针向前移动一位。重复…

Redis系列-15.Redis的IO多路复用原理解析

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱吃芝士的土豆倪&#xff0c;24届校招生Java选手&#xff0c;很高兴认识大家&#x1f4d5;系列专栏&#xff1a;Spring源码、JUC源码、Kafka原理、分布式技术原理、数据库技术&#x1f525;如果感觉博主的文章还不错的…

[DM8] 达梦8配置兼容Oracle

查看版本信息 select *&#xff0c;id_code from v$version; 查询解释&#xff1a; DM Database Server 64 V8 1-1-190-21.03.12-136419-ENT 64 版本位数标识&#xff0c;64表示为64位版本&#xff0c;无64则表示为32位版本 V8 大版本号&#xff0c;目前主要是V7、V8 1-1-190…

智慧医院之定位导航解决方案

移动端LBS应用 通过绘制院方各楼栋各层平面图,利用无线/蓝牙技术可对终端进行实时定位,方便病人、家属等就医,提高就医体验,减少工作人员工作量,减少医患冲突,打造智慧医院。 移动端的LBS位置应用,可分为医院的室内地图展现、室内地图搜索、室内导航、室内定位、室内位…

【JaveWeb教程】(18) MySQL数据库开发之 MySQL数据库设计-DDL 如何查询、创建、使用、删除数据库数据表 详细代码示例讲解

目录 2. 数据库设计-DDL2.1 项目开发流程2.2 数据库操作2.2.1 查询数据库2.2.2 创建数据库2.2.3 使用数据库2.2.4 删除数据库 2.3 图形化工具2.3.1 介绍2.3.2 安装2.3.3 使用2.2.3.1 连接数据库2.2.3.2 操作数据库 2.3 表操作2.3.1 创建2.3.1.1 语法2.3.1.2 约束2.3.1.3 数据类…