首先写这篇文章是为了帮助更多需要帮助的人,笔者这边就直接给大家上传代码以及步骤,原理那些大家自行百度。

前提:大家首先要申请好一个公众号,以及创建和配置好vue项目和axios,此次笔者用到的Vue组件库为vant,(这个安装大家自行百度哈,或者看vant官网进行安装),顺便说下次项目用的路由模式为vue-router 默认 hash 模式,而不是History 模式。History 模式需要修改一小点代码,后面有说道。

1、在src下创建一个“common”(可自定义命名)文件夹,然后再创建一个utils.js(可自定义命名)文件

2、在utils.js中添加如下两段封装好的代码(这部分是参考了一些网上的):

//封装微信登录接口
export const wxLogin = (appid, url) => {let redirect_uri = encodeURIComponent(url)window.location.href =`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appid}&redirect_uri=${redirect_uri}&response_type=code&scope=snsapi_userinfo&state=STATUS#wechat_redirect`
}// 获取url上的参数
export const getUrlParam = (name) => {let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象let r = window.location.search.substr(1).match(reg); //匹配目标参数if (r != null) return decodeURIComponent(r[2]);return null; //返回参数值 
}

3、添加好后在components文件夹中创建两个vue文件,wxAuth.vue(授权回调,获取微信信息)wxlogin.vue(微信登录页面)

4、首先在wxlogin.vue页面中要有如下代码,主要是需要一个点击事件来触发

在js中引用:

import {wxLogin} from "@/common/utils.js";

methods方法中调用:(因使用的是vue-router 默认 hash 模式,故回调地址组装出来的是"http://xxxx.com/#/wxAuth",history模式的只需去掉"#/"

wxlogin(){wxLogin('你的公众号开发者ID(AppID)', '回调地址') //网站域名+'/#/wxAuth'}  

5、在wxAuth.vue页面中,

html:

<template><div></div>
</template>

js:

import {getUrlParam} from '@/common/utils.js'export default {data() {return {}},mounted() {var that = this;that.$toast.loading({message: '登录中...',duration:30000});let code = that.$route.query.code || getUrlParam('code');if(code){//获取微信信息接口,提供code给后台这个接口,that.$axios.get("/xxxxx", {params: {code: code}}).then(res => {that.$toast.clear();let datas = res.data;that.$toast.success('微信登录成功');setTimeout(function(){sessionStorage.setItem('wxUser',JSON.stringify(datas));//把微信信息存个临时缓存window.location.href='xxx'; //获取成功后需要跳转的页面// that.$router.replace('/index')},200)}).catch(function(error) {console.log("error", error)})}else{that.$toast.fail('获取不到code!');that.$router.replace('/')}},methods: {}

6、这个微信登录到这一步基本上可以获取微信用户信息了,剩下的就看大家处理后续写法了,一般来说是把微信信息存到store中通过dispatch提交存储微信信息。

7、that.$toast.loading,that.$toast.clear,that.$toast.success,van-button都是使用的vant框架

如有更好的建议或者有问题处,欢迎大家在下方留言!

vue+vant商品列表批量倒计时:vue+vant商品列表批量倒计时_余温无痕的博客-CSDN博客_vant 封装

vue获取微信地址并调用高德地图解析出详细地址:vue 获取微信定位经纬度,并调用高德地图解析出详细地址_余温无痕的博客-CSDN博客

vue 微信登录(使用了vant)相关推荐

  1. vue 微信登录(前后台详细教程)

    第一步:点击微信登录的按钮的时候-调取微信登录的服务 请求code (前端) 一.pc端(网页端实现的是 扫码登录) 微信网页应用登录开发指南 let APPID = "这个是申请的APPI ...

  2. vue+spring boot项目实现PC端微信登录

    一.实现微信登录在编码前需要在微信开放平台注册开发者账号和安装NatApp获取域名. 微信开放平台注册开发者账号可参考:https://blog.csdn.net/weixin_45001200/ar ...

  3. vue+cordova 实现第三方登录( QQ 微信 微博)之微信登录

    概要 1.首先先到各个开放平台申请开发者账号 先申请,审核通过还需要一定时间 微信开放平台 https://open.weixin.qq.com/ 腾讯开放平台 http://open.qq.com/ ...

  4. vue实现绑定微信登录全过程

    一.需求说明 通过vue绑定微信登录,首次进入获取code,通过code获取openId查用户,然后进行登录,第二次进入若绑定过微信,直接登录进入主界面,若没绑定过微信,则跳转到登录页面. 二.准备工 ...

  5. vue 微信扫码登录嵌入方式及开发踩的坑点

    文章目录 1. 微信扫码登录开发文档 申请AppID,AppSecret,配置回调地址 2. 微信扫码登录方式 3. 微信扫码登录代码 4. 使用 href 更改内嵌的样式 5. 坑点1:redire ...

  6. Vue前端开发——微信登录

    1.准备工作 1.1 现在微信开放平台注册一个账号 https://open.weixin.qq.com/ 1.2 查看官方文档 https://developers.weixin.qq.com/do ...

  7. Springboot+vue+企业微信登录

    Springboot+ vue +企业微信登录 前端构造企业微信授权链接 第一步,企业微信后台创建一个应用 构造企业微信网页授权OAuth2链接 前后端搭配使用企业微信登录 其他 前端构造企业微信授权 ...

  8. vue网站第三方登录-微信登录

    技术:vue 实现效果 点击微信登录入口➡打开微信登录二维码➡手机扫码授权➡进入系统相应页面 开发前的准备 在微信开放平台注册开发者帐号,并拥有一个已审核通过的网站应用,并获得相应的 AppID 和A ...

  9. Vue 内嵌微信登录二维码及修改默认样式

    1. index.html 引入微信官方提供的js文件 <script src="http://res.wx.qq.com/connect/zh_CN/htmledition/js/w ...

最新文章

  1. Qt5.5.1移植到freescale imx6
  2. springboot集成swagger2构建RESTful API文档
  3. Docker技术笔记:Docker入门浅尝
  4. 高德地图定位误差_【“怼”上了,四川景区一度建议别用高德地图】导航定位错误引用户到封闭区域,致拥堵!高德地图道歉,已更正!...
  5. rm: cannot remove directory `test': Permission denied
  6. 协同过滤算法_推荐系统(5):协同过滤算法的基本思想
  7. Linux0.11内存管理,linux0.11内存管理
  8. bat批处理命令拨号上网
  9. JUnit测试用例– Eclipse和Maven
  10. 关于erlang的-run 的启动参数
  11. 数据挖掘方面的论文指导(转)
  12. python读awx云图_使用python获取实时卫星云图
  13. 如何利用一维数组实现二维数组的多列自由升降序排序过程详解
  14. scikit-image HOG feature 提取函数使用心得。
  15. 【021】基于springboot的党务管理系统(含管理员、用户党支部三种身份(附源码数据库)
  16. 【韧性架构】韧性性工程的重要性
  17. openldap sssd服务认证登录
  18. c语言数据类型的心得体会,C语言学习与感悟——《C语言学习基本框架》
  19. [Hadoop]Hadoop Archives
  20. “骚气”的开源壁纸项目

热门文章

  1. Bulletproof零知识证明
  2. 狙击美佐 基于WordPress的个人博客网站
  3. lzma打包exe_【原创】手写PE文件,打造史上最小LZMA解压DLL
  4. PDF417美国驾照条形码信息自动识别
  5. sudo vim找不到
  6. 高清免费壁纸网站推荐
  7. Windows桌面美化(壁纸网站,任务栏透明、颜色设置)
  8. 推荐一款我最近爱上的网页版文库(编辑器)——语雀yuque.com
  9. hdu 4215 Number Theory?(打表)
  10. 计算机游戏33关,史上最难游戏?这个游戏推出了35年,玩家最多也只能通到33关!...