H5微信网页开发总结(授权,分享,地图)

article/2025/8/20 8:03:31

H5微信网页开发总结(网页授权,JS-SDK分享、地图)

目录:

  1. 网页授权
  2. 分享
  3. 地图

参考文档https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html

一:网页授权

目的:通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。
本地测试准备:
1、注册一个测试号并登录,微信公众平台接口测试帐号申请,本地测试配置如图
2、微信授权可以根据你需要获取的基本信息分为两种情况:弹出授权页面和静默,(静默授权不弹出授权页面,直接跳转,只能获取用户openid。)
3、网页授权回调域名可以是本项目域名,也可以是一个中间页(另一个项目的域名,专门做为授权中间页)原因,若本地测试,回调域名可为本地ip。代码示例中写了两种情况

链接中参数说明
在这里插入图片描述

代码如下:

router.beforeEach((to, from, next) => {var ua = navigator.userAgent.toLowerCase()var isWeixin = ua.indexOf('micromessenger') !== -1// 判断是不是在微信中打开(可不做判断,用户无法在浏览器打开,只能在微信中浏览项目)if (isWeixin) {if (!store.state.openId && !getParams('code')) {const redirectUrl = encodeURIComponent(window.location.href)// 直接在本项目打开此链接// window.location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=测试号或者生产版公众号的appid&redirect_uri=' + redirectUrl + '&state=WX&response_type=code&scope=snsapi_base&connect_redirect=1#wechat_redirect'//通过中间页打开window.location.href = '中间页的域名(本地调试可以运行该项目,填写本地ip+端口)/author(后面是路由)?source=' + redirectUrlreturn false} else if (!store.state.openId && getParams('code')) {console.log('有code')const data = {code: getParams('code')}axios({method: 'get',url: '/apis/userapi/auth/getWechatBaseBySocial',params: data}).then(function (res) {console.log(res)setToken('openId', res.data.data.openid)store.commit('setOpenId', res.data.data.openid)next()}).catch(() => {next()})} else {next()}}
})

中间页代码(/author页面)

<template><div></div>
</template><script>
<template><div></div>
</template><script>
export default {name: 'author',created () {// 判断从别的地方跳转过来是什么参数// code 不存在if (!this.GetUrlParame('code')) {// 生产版:该项目线上域名const redirectUri = encodeURIComponent('http://www.xxxx.cn/author?source=' + this.GetUrlParame('source'))// 本地测试// const redirectUri = encodeURIComponent('http://10.1.18.131:8080/author?source=' + this.GetUrlParame('source') + '&path=' + this.GetUrlParame('path'))window.location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=xxxx&redirect_uri=' + redirectUri + '&state=WX&response_type=code&scope=snsapi_base&connect_redirect=1#wechat_redirect'} else {// code 存在时,跳转到相应的域名console.log(this.GetUrlParame('source') + '?code=' + this.GetUrlParame('code'))window.location.href = this.GetUrlParame('source') + '?code=' + this.GetUrlParame('code')}},methods: {GetUrlParame (name) {/* eslint-disable */return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.href) || [, ''])[1].replace(/\+/g, '%20')) || null/* eslint-enable */}}
}
</script><style>
</style>
用中间页作为回调域名的原因:

一个公众号后台的网页授权域名只能填写两个,若有多个项目(不同域名)都需要网页授权,便不能满足,因此可以用一个中间页,其他项目需要可在该工程下重新创建一个页面作为中间页。

测试号相关配置

修改JS接口安全域名

在这里插入图片描述

关注测试公众号
图片
修改授权回调域名(本地ip或线上测试域名)

二:微信分享

步骤一:绑定域名
先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。(同上图操作)

步骤二:下载

npm install weixin-js-sdk --save

步骤三:在需要调用接口的页面引入

var wx = require('weixin-js-sdk')

具体操作:
通过config接口注入权限验证配置(签名通过后台接口获取,jsApiList为你所需要的使用的接口,例如分享或者地图)

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

// onready 对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
wx.ready(function () { 
// 需在用户可能点击分享按钮前就先调用
wx.updateAppMessageShareData({ title: '', // 分享标题desc: '', // 分享描述link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致imgUrl: '', // 分享图标success: function () {// 设置成功}})
})

注:
在这里插入图片描述

三:地图

前三步操作同分享,通过config接口注入权限验证配置同上(jsApiList添加上openLocation)
mapClick() {wx.openLocation({latitude: '纬度', // 纬度,浮点数,范围为90 ~ -90 22.534171,114.031821longitude: '经度', // 经度,浮点数,范围为180 ~ -180。name: '位置名', // 位置名address: '地址详情说明', // 地址详情说明scale: 16, // 地图缩放级别,整形值,范围从1~28。默认为最大})
},

如果遇到什么问题欢迎留言评论交流
留下你的小心心吧~~ (^-^)V


http://chatgpt.dhexx.cn/article/be7d0Lgr.shtml

相关文章

微信H5开发(一)

H5开发&#xff0c;一般是指移动端的页面开发。移动端可分为app和普通浏览页面。从嵌入的环境来归类&#xff1a;可以分为app、微信H5及手机浏览器里面打开的页面。 以前粗略的涉略过h5开发的一些知识&#xff0c;感觉H5并不是很难。在这半年内&#xff0c;接手并完成了两个微…

app推广渠道数据统计Xintall

APP推广时需要统计不同渠道带来的用户量&#xff0c;这个怎么做到 我们在做一款app推广的时后&#xff0c;经常会遇到一个问题&#xff0c;比如你花了一大笔预算去给自家开发的App做广告推广&#xff0c;却无法得知不同的广告素材、不同的广告位、不同的推广平台&#xff0c;各…

还在为推广发愁?这里有一份活动推广渠道清单请查收

对于运营来说,用户量和收入是两个最关键的指标。我们希望更多的用户留在我们的产品中,新用户的留存更高,老用户也拥有较高的活跃度,用户量起来了,收入的提升也变的容易了许多。而用户分为新用户和老用户,本文列举了针对老用户推广渠道,以游戏行业为例,其他行业可以触类…

浅谈游戏系统

浅谈游戏系统 某日&#xff0c;Brandon突发奇想&#xff08;脑子抽了&#xff09;买了《异度之刃2》开始游玩&#xff0c;虽然画质不如原神&#xff0c;但他还是沉下心来连续游玩了10个小时。”这游戏战斗系统怎么样&#xff1f;“ 舍友随口一问瞬间让Brandon摸不着头脑&#x…

App全渠道推广统计方案

做过 App 运营岗位&#xff0c;肯定提过类似的需求&#xff1a; 自然新增渠道&#xff1a;自然新增的用户&#xff0c;想知道他们都是从哪下载了 App&#xff0c;以为初步分析下载原因&#xff0c;好在后续提供个性化推荐等服务。H5 推广渠道&#xff1a;开展活动需要分发大量…

浅析APP应用内及新媒体类推广渠道

之前我写了一篇关于APP用户数据分析的文章&#xff0c;提到过用户来源的问题。APP的下载注册用户来自线上线下各种渠道&#xff0c;可能是在某个常逛的网站上看到APP投放的广告产生了兴趣&#xff1b;也有可能是在朋友圈看到了朋友转的APP活动链接从而被吸引…… 这些都是通过…

app推广渠道数据统计

APP推广时需要统计不同渠道带来的用户量&#xff0c;这个怎么做到 我们在做一款app推广的时后&#xff0c;经常会遇到一个问题&#xff0c;比如你花了一大笔预算去给自家开发的App做广告推广&#xff0c;却无法得知不同的广告素材、不同的广告位、不同的推广平台&#xff0c;各…

抖音最常见的付费与免费推广渠道有哪些?3+6推广技巧干货!丨国仁网络

直播作为全新的互动传播方式,带来了互联网全新盛会的同时,也开启了企业新兴传播媒介——直播营销。直播营销为企业带来更全面的潜在客户,帮助企业更好营销。 然而,在互联网营销中,任何营销方式和工具模式,都需要推广,否则直播内容再好、主播再有颜值优势,其营销效果也会…

推广渠道如何分析?

【面试题】 有两个Excel表是A、B两个渠道推广导出的玩家用户明细数据&#xff0c;自选分析角度&#xff0c;产出数据分析报告。&#xff08;某游戏公司面试题&#xff09; 渠道A的玩家 渠道B的玩家 【参考答案】 1.分析思路 研究推广渠道A与B的的推广效果&#xff0c;以及渠道用…

渠道触点归因、推广来源追踪

消费者触点 消费者与企业的产品或服务、品牌、内容或信息发生接触的任意位置。触点作为用户获取来源叫渠道。 触点归因 研究如何获客贡献在参与的各个触点或渠道间进行分配的过程。 归因作用 客观评价触点或渠道的价值与贡献&#xff0c;尤其是发现那些被埋没的真相&#xf…

如何提升游戏吸引力——选对推广渠道就是成功的一半

2017全年,我国网络游戏营收约为2011亿元,而手游占据了55.8%的份额,全年营业收入约为1122.1亿元,同比增长38.5%。尽管移动游戏进入存量市场阶段,巨大的市场规模,仍吸引着手游开发商下场瓜分蛋糕。 然而,仅仅半年时间,国内手游市场的风向就一变再变。MOBA和“吃鸡”你方…

怎么做好游戏推广运营

游戏推广有两大类方法&#xff1a;一种是推&#xff0c;一种是引&#xff1b;前者可以快速见效&#xff0c;所以绝大多数进入游戏行业的人首选想到的是如何去找玩家&#xff0c;发链接&#xff0c;推游戏&#xff1b;但是&#xff0c;这种做法在先天上存在不足之处&#xff0c;…

教你做代理,你必须掌握的4种游戏代理平台推广小妙招

目前随着游戏市场的不断发展&#xff0c;游戏代理项目也随之呈爆发式增长&#xff0c;但有很多代理商因为初次接触游戏代理项目&#xff0c;所以在代理后并不知道如何去拓展拉新玩家的渠道&#xff0c;但如果只是依靠老玩家去不断氪金来获取盈利的话也是不现实的&#xff0c;所…

人脸识别相关及其内部原理

整理并翻译自吴恩达深度学习视频&#xff0c;卷及神经网络第四章4.1-4.5&#xff0c;有所详略。 人脸验证和人脸识别 Verification与Recognition的差异&#xff1a; 验证&#xff1a; 输入图像&#xff0c;名字/ID输出输入的图像是否和输入的名字/ID是同一个人 这是个1:1问…

人脸识别实践(1) - 基本原理与设计思路

写在前面 随着时代的高速发展&#xff0c;视频监控等基础设施越来越完备&#xff0c;计算机视觉也在各行各业开始发挥出更大的效用&#xff0c;而这一领域中大家最熟知的就是刷脸支付&#xff0c;现在大家享受着科技带来的便利。还有我们乘坐高铁&#xff0c;进站前刷身份证然后…

计算机识别人脸原理,人脸识别:原理、方法与技术

人脸识别&#xff1a;原理、方法与技术 语音 编辑 锁定 讨论 上传视频 《人脸识别&#xff1a;原理、方法与技术》是2010年2月1日科学出版社出版的图书。 《人脸识别&#xff1a;原理、方法与技术》主要介绍人脸识别技术的基本原理、研究内容、研究方法&#xff0c;以及已有的研…

OpenCV人脸识别(1)原理介绍

前言 本系列博客学习如何使用OpenCV来执行面部识别。 为了构建人脸识别系统&#xff0c;我们首先进行人脸检测&#xff0c;使用深度学习从每个人脸提取人脸特征&#xff0c;在提取到特征上训练人脸识别模型&#xff0c;然后用OpenCV识别图像和视频流中的人脸。 这里提取人脸特…

基于Python的面部表情识别分析系统

资源下载地址&#xff1a;https://download.csdn.net/download/sheziqiong/85660758 面部表情识别 练习技能&#xff1a; 爬虫数据清洗计算机视觉&#xff08;图片基本处理&#xff0c;信息提取&#xff09;深度学习 图像识别技术文档 一、项目概述 项目名称&#xff1a;面部…

基于人脸面部检测的口罩识别系统

基于人脸面部检测的口罩识别系统 摘 要 作为数字图像处理和计算机视觉领域的一个重要组成部分&#xff0c;利用摄像机对图像进行采集&#xff0c;从图像中检测人脸并进行口罩穿戴的识别的有着非常重要的研究意义和应用价值。面对突如其来的新型肺炎疫情&#xff0c;人们生活秩…

[深度概念]·简述人脸识别开发原理

0、文章概述 我们知道人脸识别在这几年应用相当广泛&#xff0c;人脸考勤&#xff0c;人脸社交&#xff0c;人脸支付&#xff0c;哪里都有这黑科技的影响&#xff0c;特别这几年机器学习流行&#xff0c;使得人脸识别在应用和准确率更是达到了一个较高的水准。 下面将带着大家…