uniapp开发h5微信授权登录(详细教程)

article/2025/8/20 6:50:21

uniapp开发h5微信授权登录


文章目录

  • uniapp开发h5微信授权登录
  • 前言
  • 一、前期准备--申请测试账号
  • 二、正式开发--前端代码
  • 三、打包发布
  • 总结


前言

我也是第一次做h5授权微信登录,网上找了很久,基本差不多做法,但是不太适用于我的流程。

公众号官方文档:https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html
绝大部分的可以参考文章:https://blog.csdn.net/anjignren/article/details/126176449
如果想了解具体的,可以看这位博主的,我觉得写的很详细:https://www.cnblogs.com/0201zcr/p/5131602.html

实现步骤:

1.用户关注微信公众账号。

2.微信公众账号提供用户请求授权页面URL。

3.用户点击授权页面URL,将向服务器发起请求

4.服务器询问用户是否同意授权给微信公众账号(scope为snsapi_base时无此步骤)

5.用户同意(scope为snsapi_base时无此步骤)

6.服务器将CODE通过回调传给微信公众账号

7.微信公众账号获得CODE

8.微信公众账号通过CODE向服务器请求Access Token

9.服务器返回Access Token和OpenID给微信公众账号

10.微信公众账号通过Access Token向服务器请求用户信息(scope为snsapi_base时无此步骤)
  
11.服务器将用户信息回送给微信公众账号(scope为snsapi_base时无此步骤)


一、前期准备–申请测试账号

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

微信扫一扫进去之后的页面,可以把测试账号的信息保存下来,接下来会使用到。

在这里插入图片描述
翻到底下,扫码关注
在这里插入图片描述
接下来,选择公众号网页项目,
在这里插入图片描述
输入地址测试
在这里插入图片描述
测试地址 这样获取
可以看官网的:https://uniapp.dcloud.net.cn/collocation/manifest.html#h5-template
1.根目录下新建一个template.h5.html文件,复制粘贴直接用(看个人,我没有用到)

<html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><title><%= htmlWebpackPlugin.options.title %></title><!-- Open Graph data --><!-- <meta property="og:title" content="Title Here" /> --><!-- <meta property="og:url" content="http://www.example.com/" /> --><!-- <meta property="og:image" content="http://example.com/image.jpg" /> --><!-- <meta property="og:description" content="Description Here" /> --><script>var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel="stylesheet" href="<%= BASE_URL %>static/index.<%= VUE_APP_INDEX_CSS_HASH %>.css" /></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id="app"></div><!-- built files will be auto injected --></body>
</html>

2、配置mainifest.json
在这里插入图片描述

3.在运行到浏览器,将地址复制出来,到微信开发者工具中使用
在这里插入图片描述

测试的时候是可以这样操作的,但是正式使用的时候根本不需要用到这些,appID后端都会给我们,看个人公司了

二、正式开发–前端代码

在uniapp 项目中新建一个登录授权页面,开始写我们的代码部分。 如果你的流程跟我一样,代码如下,可以拿过去直接用,换下接口就行:
需要注意的是code只有使用一次,不能重复使用,在开发的过程中可能会遇到这种问题,导致流程走不通

<template><view></view>
</template><script>
// h5 使用控制台打log 得先npm install vconsole
import Vconsole from 'vconsole';
export default {data() {return {code:'',state:''}},onLoad() {let vConsole = new Vconsole();this.state = this.getUrlCode('state')this.checkWeChatCode(this.code)},methods: {checkWeChatCode() {// 页面一进来先判断是否有codethis.code = this.getUrlCode('code')if (this.code) {// 如果有,走登记接口this.getLogin(this.code)} else {// 没有调后端接口获取地址let params = {url:window.location.href,//当前页面的详细地址state:this.state,authType:0}xxxx(params).then(res => {if(res.data.code == 0){window.location.href = res.data.message}else {this.$u.toast(res.data.message)}})// 根据需求使用 this.getCode()}},getUrlCode (name) {return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.href) || [, ''])[1].replace(/\+/g, '%20')) || null},// 获取code// getCode () {// 	window.location.href = // 	'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' + this.appID +// 	'&redirect_uri=' + encodeURIComponent(this.callBack) +// 	'&response_type=code&scope=snsapi_userinfo&state=' + this.state + '#wechat_redirect';// redirect_uri是授权成功后,跳转的url地址,微信会帮我们跳转到该链接,并且通过?的形式拼接code,这里需要用encodeURIComponent对链接进行处理。// 如果配置参数一一对应,那么此时已经通过回调地址刷新页面后,你就会再地址栏中看到code了。// https://test.yuruantong.com/pages/loginAndRegister/login/loginH5?code=0312nn200ADR1P1BYh100zp2VL32nn2f&state=1// },//登录async getLogin(value){let params = {code:value,wechartState:this.state}const res = await xxxx(params)if(res.data.code != 0){this.$u.toast(res.data.message)return;}if(res.data.rows[0].code == 1){let obj = res.data.rows;obj.push({wechartState:this.state})let arr = {params:obj,isShow:true}uni.redirectTo({url: '/pages/loginAndRegister/login/login?params=' + JSON.stringify(arr)})}else if(res.data.rows[0].code == 2){ //res.data.rows 返回的是token 跳转对应的页面uni.setStorageSync('userInfo',res.data.rows[0].loginUserVO);uni.redirectTo({url:'/landlord/home/index/index'})}else{}}}
}
</script>
<style>
</style>

以上是我详细的使用流程,亲测有效

三、打包发布

1.官网地址:https://hellouniapp.dcloud.net.cn
在这里插入图片描述

2.选择红框圈出来的
在这里插入图片描述

  1. 然后出现弹框,填写网站域名
    在这里插入图片描述

4.然后打包成功,保存于 unpackage 目录,交给后端部署即可。
在这里插入图片描述


总结

第一次做,感觉很迷茫,不知道如何下手,疯狂百度,看了都是差不多的实现方式,结果到我这的流程不对,有些我不太需要。所以这一次给我的感觉就是因为自己不会,看别人写的东西束缚了我的想法,觉得就是应该这样做的。
你们可以作为参考,我觉得是有用的,亲测有效。


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

相关文章

利用H5开发微信公众号

利用H5开发微信公众号 一、 首先授权配置 公众号设置 --》功能设置设置业务域名!123 这里的MP_verify_w7tdZrafqhkK9Mcj.txt文件&#xff0c;需要放到你项目的根目录下&#xff0c;例子&#xff1a;你的项目war包叫 test.war &#xff0c;里面包含了src,WEB-INFO两个文件夹,则…

微信H5开发 总结一

文档&#xff1a; 概述 | 微信开放文档 注意事项&#xff1a; 微信JSSDK 概述 | 微信开放文档 微信jssdk就是相对于小程序提供的api一样 小程序也是基于这个jssdk来开发的而已&#xff0c; jssdk 就是 jsbridge&#xff0c;在原生端暴露接口&#xff0c;js调原生端接口&am…

微信H5开发wx.config授权invalid signature

微信H5&#xff08;公众号&#xff09;开发过程中&#xff0c;遇到了wx.config失败的情况&#xff0c;造成的原因在此记录一下&#xff0c;也为各位提个醒。 打开wx.config的debug选项&#xff0c;会在配置后弹框提示配置结果&#xff0c;如果提示errMsg&#xff1a;config ok…

uniapp开发微信小程序/h5完整流程,含vant/uview(h5适配vw)

theme: smartblue highlight: dark 创建项目 创建后的项目 此处插入一个坑 亦可以使用uniapp vue-cli 创建项目 vue create -p dcloudio/uni-preset-vue my-project 使用vue3/vite 创建项目&#xff08;如命令行创建失败&#xff0c;请直接访问 gitee 下载模板&#xff0…

微信H5页面前端开发,大多数人都会遇到的几个兼容性坑

最近给公司微信公众号&#xff0c;写了微信h5业务页面&#xff0c;总结分享一下前端开发过程中的几个兼容性坑&#xff0c;项目直接拿的公司页面&#xff0c;所以下文涉及图片都模糊处理了。 1、ios端兼容input光标高度 问题详情描述&#xff1a;input输入框光标&#xff0c;…

企业微信h5开发(即JS-SDK),一不小心,就会掉进坑,进入死胡同

最近在开发企业微信的业务&#xff0c;可以借此机会学习到企业微信的开发&#xff0c;这让我非常开心、激动。殊不知&#xff0c;企业微信的开发让我很头疼&#xff0c;遇到了非常多的坑。在这里我记录一下&#xff0c;希望大家不要像我一样掉进坑里面。 一、wx.agentConfig方法…

微信H5页面前端开发,大多数人都会遇到的几个兼容性坑(转载)

1、ios端兼容input光标高度 问题详情描述&#xff1a;input输入框光标&#xff0c;在安卓手机上显示没有问题&#xff0c;但是在苹果手机上 当点击输入的时候&#xff0c;光标的高度和父盒子的高度一样。例如下图&#xff0c;左图是正常所期待的输入框光标&#xff0c;右边是io…

微信H5开发(二)

这篇主要讲解微信H5 常用到的微信模块和微信文件的引入及微信公众号、微信商务平台、微信开放平台的相关配置。 第一次使用微信开发文档的时候&#xff0c;感觉文档里面写的内容不算太难&#xff0c;但在实际开发中会碰到很多预想不到的问题。 微信开放平台、微信商务平台 有…

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

H5微信网页开发总结&#xff08;网页授权&#xff0c;JS-SDK分享、地图&#xff09; 目录&#xff1a; 网页授权分享地图 参考文档https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html 一&#xff1a;网页授权 目的&#xff1…

微信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和“吃鸡”你方…