config接口注入权限验证配置(带有扫一扫的功能)

2023-10-11 05:10

本文主要是介绍config接口注入权限验证配置(带有扫一扫的功能),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本篇文章适合小白,一开始使用JSSDK调用微信接口的时候需要在config接口注入权限验证配置。这一步中最难的是签名的生成。

首先我来简述一下签名是怎么生成的

1.根据公众号的APPID 和 APPSECRET生成Access Tocken。

2.根据access tocken 生成 jsapi_ticket。(access tocken和jsapi_ticket他们都具有时效性,是7200秒)

3.根据jsapi_ticket、noncestr(随机生成数)、timestamp(时间戳)、url(当前网页地址)生成字符串string1,在对String1进行sha1的加密  生成了 签名


 

下面在说一下前端是怎么使用js在config接口注入权限验证配置的:

一、静态的注入

静态注入很简单就想微信开发文档中的一样,给固定值即可。但是这边

二、动态注入

后台去负责编写模块,前端通过ajax去获取这几个值具体写法如下:

<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>签名</title><button id="searchButton">查询</button>
</head>
<body>
<script src="../../plugins/jquery/jquery-1.10.2.min.js"></script>
<script src="../../js/url.js"></script>
<script src="../../js/tools/weiixn.js"></script>
<script>var siteUrl = window.location.href;console.log(siteUrl);var times;var nonceStr;var signature;$(document).ready(function () {$.ajax({async:'false',type:'GET',url:testService+"/api/Index/GetOauthTicket?url="+siteUrl,dataType:"JSON",success:function(res) {console.log(res)times = res.timestamp;nonceStr = res.noncestr;signature = res.signature;wx.config({debug: true,appId:'wx51642718e0f550b6',timestamp:times,nonceStr:nonceStr,signature:signature,jsApiList : [ 'checkJsApi', 'scanQRCode','translateVoice' ]});//end_config},})})wx.error(function(res) {alert("出错了:" + res.errMsg);});wx.ready(function() {wx.checkJsApi({jsApiList : ['scanQRCode'],success : function(res) {console.log(res)}});//扫描二维码$(document).on('click',function () {wx.scanQRCode({needResult : 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,scanType : [ "qrCode", "barCode" ], // 可以指定扫二维码还是一维码,默认二者都有success : function(res) {var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果document.getElementById("wm_id").value = result;//将扫描的结果赋予到jsp对应值上alert("扫描成功::扫描码=" + result);}});})});//end_ready
</script>
</body>
</html>

 

 

这篇关于config接口注入权限验证配置(带有扫一扫的功能)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/185745

相关文章

Java controller接口出入参时间序列化转换操作方法(两种)

《Javacontroller接口出入参时间序列化转换操作方法(两种)》:本文主要介绍Javacontroller接口出入参时间序列化转换操作方法,本文给大家列举两种简单方法,感兴趣的朋友一起看... 目录方式一、使用注解方式二、统一配置场景:在controller编写的接口,在前后端交互过程中一般都会涉及

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

Android使用ImageView.ScaleType实现图片的缩放与裁剪功能

《Android使用ImageView.ScaleType实现图片的缩放与裁剪功能》ImageView是最常用的控件之一,它用于展示各种类型的图片,为了能够根据需求调整图片的显示效果,Android提... 目录什么是 ImageView.ScaleType?FIT_XYFIT_STARTFIT_CENTE

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决

CentOS7更改默认SSH端口与配置指南

《CentOS7更改默认SSH端口与配置指南》SSH是Linux服务器远程管理的核心工具,其默认监听端口为22,由于端口22众所周知,这也使得服务器容易受到自动化扫描和暴力破解攻击,本文将系统性地介绍... 目录引言为什么要更改 SSH 默认端口?步骤详解:如何更改 Centos 7 的 SSH 默认端口1