h5中使用微信分享

news2025/1/16 15:41:38

1.需要 绑定域名:
先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”(即访问前端项目对应的域名)。

2.在项目中引入sdk:
在需要调用 JS 接口的页面引入如下 JS 文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.6.0.js

3.调用获取验证签名的接口(获取appid,timestamp,nonceStr,signature 等信息)
获取签名的参数为当前访问页面的地址,需要这样处理:encodeURIComponent(window.location.href.split(‘#’)[0])
4.通过 config 接口注入权限验证配置:

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

5.通过 ready 接口处理成功验证,通过 error 接口处理失败验证

wx.ready(function(){
  // config信息验证后会执行 ready 方法,所有接口调用都必须在 config 接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在 ready 函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在 ready 函数中。
});


wx.error(function(res){
  // config信息验证失败会执行 error 函数,如签名过期导致验证失败,具体错误信息可以打开 config 的debug模式查看,也可以在返回的 res 参数中查看,对于 SPA 可以在这里更新签名。
});


6.下面介绍自定义分享的接口:
在这里插入图片描述

在这里插入图片描述

7.网页授权

网页授权 如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。
需要拼接的参数说明:
在这里插入图片描述
若提示“该链接无法访问”,请检查参数是否填写错误,是否拥有 scope 参数对应的授权作用域权限。
尤其注意:由于授权操作安全等级较高,所以在发起授权请求时,微信会对授权链接做正则强匹配校验,如果链接的参数顺序不对,授权页面将无法正常访问

拼接方式如下:
在这里插入图片描述

window.location.href = `https://open.weixin.qq.com/connect/oauth2/authorize?
          appid=${res.appId}&redirect_uri=${encodeURIComponent(url)}&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect`

8.分享出去的卡片(公众号分享和普通微信分享)

情况一: 直接在微信内打开URL,再分享出来就会是只有链接

情况二:必须在公众号里面打开然后分享才是自定义的卡片, 否则就是链接。

情况三: 若在公众号中分享出来的卡片对应的链接不是自定义的,而是当前页面的链接且没有配图,则需要检查公众号功能配置的域名是否正确。

网页微信授权参考链接:
https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html

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

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

相关文章

搭vue项目(初级版)

这个项目只有 会员管理和直播管理两个模块。创建两个模块是为了验证一下路由跳转。 下载项目: 可以到我的资源中下载压缩包 或者 git clone 前端项目搭建: 前端搭建的项目,仅供学习使用 1.安装vue-cli,全局只需要安装一次,如果安装过一次&am…

MyBatisPlus ---- 入门案例

MyBatisPlus ---- 入门案例1. 开发环境2. 创建数据库及表a>创建表b>添加数据3. 创建SpringBoot工程a>初始化工程b>引入依赖c>idea中安装lombok插件4. 编写代码a>配置application.ymlb>启动类c>添加实体d>添加mappere>测试f>添加日志1. 开发环…

了解 Oracle 中单引号与双引号的用法,一篇文章教会你!

无论测试或者开发,对数据库的增删改查都是家常便饭。但有些小知识是经常被忽略,却又不能不去了解的,例如单引号和双引号的用法和区别,看完这一篇,你肯定会有收获。 首先我们要区别一个概念,即单引号(‘)和双…

docker应用部署示例

Docker 应用部署 一、部署MySQL 搜索mysql镜像 docker search mysql拉取mysql镜像 docker pull mysql:5.6创建容器,设置端口映射、目录映射 # 在/root目录下创建mysql目录用于存储mysql数据信息 mkdir ~/mysql cd ~/mysqldocker run -id \ -p 3307:3306 \ --na…

如何通过文档管理控制合同管理

如何通过文档管理控制合同管理 如果您的公司处理的合同比以往任何时候都多,那么您并不孤单。这种指数级增长的原因包括日益增长的监管要求、供应链问题以及全球化带来的业务关系的复杂性。此外,员工更频繁地换工作,因此,需要管理更…

Unity实用小工具—以对象形式操作Sqlite

一、介绍 1.1、版本说明:使用的Unity版本为个人版2020.3.39,数据库为Sqlite(一个轻量级跨平台数据库),Sqlite的查看管理工具可以在网上下载https://dbeaver.io/download/,可以直接保存下来使用。 1.2、数…

微服务(四)——统一网关

目录1. 概念2. 实现网关1. 实现流程2. 小结3. 断言工厂4. 过滤器工厂1. GatewayFilter2. GlobalFilter3. 过滤器的执行顺序5. 解决跨域问题1. 概念 网关的作用: 认证、鉴权服务路由、负载均衡请求限流 网关的实现: gateway 基于Spring5中提供的WebFlu…

linux 设置登录提示语

勿以恶小而为之,勿以善小而不为---- 刘备 /etc/motd 文件里面 保存的是 登录后提示语 vim /etc/motd可以放置自定义的 文字信息 -------------------- 每天都要加油努力噢,岳泽霖!!! -------------------登录之后,就会展示信息: 参考链接: …

【Linux】Linux命令行git的使用

前进才是唯一的方向 文章目录一、git是什么?二、gitee仓库创建1.新建仓库2.复制仓库链接3.克隆远端仓库到本地来三、git提交代码1.下载git2. 配置用户名和邮箱(否则git commit无法正常使用)3. git提交代码三板斧3.1 git add(将代…

git merge合并开发分支到上线分支遇到的问题,提示 no new changes

git merge 后 push 到 Gerrit 失败,提示 no new changes 解决思路: 分析:no new changes 的意思,是说,这个合并,是个线性的合并。而合并的那些历史的 commit 节点,在 gerrit 上都已经评审过了&…

在Linux中安装ShowDoc

在Linux中,有两种方式安装ShowDoc。第一种是自动脚本安装,第二种是手动安装。官方推荐使用自动脚本安装ShowDoc。如果自动脚本安装ShowDoc失败,可以考虑手动安装ShowDoc。 自动脚本安装ShowDoc 自动脚本利用docker来安装运行环境&#xff0…

酒鬼私定,只是酒鬼酒一次破圈营销?

围坐红泥小火炉,煮酒谈今夕。 过去一年多时间,经历了业绩向上,股市向下的反差时期后,越来越多人意识到白酒行业已步入存量时代。 2022年前三季度,中国规模以上白酒行业实现总产量487.9万千升,同比减少2.5…

proxychains for Windows

proxychains for Windows背景介绍项目地址使用scoop安装proxychains for windows验证命令行能否调用proxychains配置代理使用为Windows终端配置proxy--适用于cmd为Windows终端配置proxy--适用于PowerShellpowershell配置变量背景介绍 有时候Windows下的一些命令行程序想要挂代…

正大国际期货:外盘德指期货交易应该怎么做?

作为一个期货交易者,想要在市场上生存下来,就必须针对各种可能性都有所准备。比如,如果你强烈看涨,就必须准备好应对市场打你个冷不防的可能。相反,如果你对眼前的涨势高度怀疑,也不能彻底排除上演一场黑天…

ElasticSearch安装和部署和整合springboot

因为项目每次用到,每次重新搭都踩坑,特此记录一些坑,防止花费大量时间在搭建和整合上面安装 准备好压缩包elasticsearch-6.2.4解压 在config文件夹下配置文件elasticsearch.yml,可更改自行喜欢的端口和配置账号密码安装中文分词器…

git笔记

coderwhy听课笔记 什么是集中式 分布式 集中式是将整个仓库放到服务器;分布式是每台电脑上都有对应的仓库,可以在本地提交,之后把本地的仓库同步到服务器的仓库里 git安装 除了能使用git命令,还安装了git bash,git GUI git ba…

mysql数据库有关教程

我们打开Navicat 我使用的是16版本的,我们选择连接,我们新建连接 这里会有菜单栏目,比如说常规,高级,数据,SSL,SSH HTTP 其他的我们先不看,后期有机会我会解释的,先看常规 连接名字,就是你可以自己命名一个名字,也可以不写,比如说连接名字 studentdemo1 主机默认是localhos…

NetInside网络攻击分析帮您轻松发现可疑主机

分析概要 分析概要从以下三点做介绍。 分析内容 NetInside网络流量分析设备采集的流量。 分析时间 报告分析时间范围为:2020-09-28 07:58:00-11:58:00,时长共计3小时。 分析目的 本报告主要分析目的:查找和定位存在可疑现象的主机、查…

SHELL脚本学习 --- 第二天作业

SHELL脚本学习 — 第二天作业 思路: 这四道题都有条件判断的过程,可以使用if,也可以使用与运算。 linux的shell脚本中,与运算前一个命令执行成功,则执行后一个命令,反之则不执行,因此可以起到类…

cdb.exe的利用

cdb.exe的利用 0x01 简介 cdb 是安装 windows debugging tools 时自带的一个命令行调试工具,由微软签发证书。 0x02 cdb.exe加载shellcode ​ cdb.exe是调试工具,可以用来调试指定进程,并且可以在指定进程里分配RWX属性内存并写入shellcod…