作为一枚刚刚学习前端的小萌新来说,真的是难到了我,后来翻阅无数资料,总结如下,记录下来防止自己忘了,也为其他的刚学习的朋友一点提示吧。

首先说路由导航,把所有的访问地址先拦下来进行判断,新来的用户是否有授权,如果没有就引导入授权页,这里我的授权页是login.vue,这里的getUid() 是axios请求获取用户的openId,如果用户有,则认为有授权,直接放行,用户没有就认为没有授权,如果用户访问的是/login,直接放行,如果不是,强制定向访问/login

// 路由导航
router.beforeEach((to, from, next) => {
  var uid = getUid() // 获取uid
  if (!uid) {
      if (to.path === '/login') {
        next()
      } else {
        next('/login')
      }
  } else {
    next()
  }
})

login页面我结合了vant模板来做,

// login.vue页面

<template>

<div class="login">

<van-loading size="24px" vertical type="spinner" color="#1989fa">登录中...</van-loading>

</div>

</template>

<script>

export default {

data() {

return {

openId: ‘’,

userId: ''

}

},

created() {

this.getloginInfo()

},

methods: {

async getloginInfo() {

const AppId = '你自己的公众号的AppId' // 公众号的AppId

const code = getUrlParam('code') // 获取请求路径中带code字段参数的方法

const local = window.location.href // 获取当前的页面路径,这就是回调的地址

if (code == null || code === ' ') {

window.location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' + AppId + '&redirect_uri=' + encodeURIComponent(local) + '&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect'

} else {

this.getOpenId(code) // 通过获取到的code,调用后台的接口,取得openId

}

}

// 获取页面路径的code参数

getUrlParam(name) { // 获取URL指定参数

var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)') // 构造一个含有目标参数的正则表达式对象

var r = window.location.search.substr(1).match(reg) // 匹配目标参数

if (r != null) return unescape(r[2])

/  return null // 返回参数值

},

// 把code传给后台

async getOpenId(code) { // 通过code获取openId等用户信息

const res = await this.$http({

url: '后台会给你一个链接地址的',

method: 'POST',

params: {

code: code // 根据后台要求的参数填写

}

//   })

//   console.log(res.data)

// }

}

}

</script>

<style lang="less" scoped>

.login {

font-size: 0.32rem;

text-align: center;

margin-top: 5rem;

}

</style>

H5页面微信授权登录——前端部分相关推荐

  1. 移动端h5页面微信一键登录

    在移动端的 H5 页面中,微信一键登录是一种常见的方式,可以方便地让用户使用已有的微信账号进行登录,并且提高用户的使用效率和体验.具体实现方法如下: 1.在页面中引入微信 JS-SDK,并初始化 ht ...

  2. 【H5微信授权】简单实现H5页面微信授权功能,微信开发者工具报错 系统错误,错误码-1,undefined解决办法【详细】

    前言 最近写到了H5公众号,需要微信授权的功能. 这里记录一下授权的流程和踩了个坑 图片 授权代码执行后会跳转到授权的地方,没有授权的会有确认授权,授权过得会这样,直接自动登录,然后再跳转到中转页 授 ...

  3. H5页面微信自动登录,和微信页面自定义分享样式

    #1.首先需要注册微信公众号,在设置与开发>公众号设置>功能设置中配置业务域名.JS接口安全域名.网页授权域名. 备注:登录后可在"开发者中心"查看对应的接口权限. 2 ...

  4. h5获取微信授权登录

    1.判断是否有code---没有 跳转到微信官方网址 网址中的参数参考微信公众平台官网----网页授权 | 微信开放文档 (qq.com) getCode() { //微信网页授权返回codelet ...

  5. 公众号平台的H5实现微信授权登录

    微信给开发者提供的测试账号平台:https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/ind ...

  6. H5 微信授权登录功能实现

    背景 最近几周面试复习以前知识库,刚好博客从国外迁移到国内CSND,同步坐下笔记,梳理之前开发H5 微信授权登录功能获取用户信息数据. H5页面微信授权登录,使用微信官方JSSDK,微信网页授权较为复 ...

  7. uniapp - 超详细的 H5 公众号网页微信登录示例代码,提供从 0-1 公众号配置及详细注释代码(站在新手小白的角度)第三方微信授权登录的实现!!

    介绍 目前示例是 "点击按钮登录",你也可以改为 "一进页面就登录" ,可随意改造. 百度的教程都太乱了,而且功能都有一定问题.本文主要讲解 uniapp H5 ...

  8. 微信授权登录-微信公众号和PC端网站

    一.微信公众号授权登录--微信公众平台 微信授权登录,并调用后台接口,获取用户信息 1.网页授权回调域名 首先要在公众平台官网中的"开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授 ...

  9. 浏览器打开微信公众号h5页面,增加cookie绕过微信授权登录

    from selenium import webdriver from time import sleepdriver = webdriver.Chrome() #插入cookie需要与cookie相 ...

最新文章

  1. Solr调优参考-续
  2. 计算机基础学习必看书籍汇总
  3. Java高并发编程(一):并发编程的挑战
  4. C#和.NET Framework的关系
  5. Unity SRP自定义渲染管线 -- 3.Lights
  6. python list遍历定位元素_python for循环,第二遍定位不到元素?
  7. python数据结构教程_利用Python演示数型数据结构的教程
  8. 不解析,使用解析对象
  9. 44response对象
  10. easy bootstrap模板
  11. “遇事不决,量子力学”?微软亚研院开源时空预测开源工具:FOST,应对各行业共性预测需求!...
  12. AngularJS-demo - 常用命令、内置服务、自定义服务、继承
  13. matlab 马丢函数,振幅调制产生马丢光束的方法与流程
  14. python病毒攻击代码_用python写的简单病毒(无害) -
  15. JAVA模板模式,简历模板(例子)
  16. python写文件byte_如何将bytelist写入Python文件?
  17. php 常见的视频格式转换
  18. 基于WEB的PDF打印——浏览器中静默打印PDF文件
  19. 故障树分析法MATLAB,基于VC++与MATLAB的故障树分析系统
  20. 富贵电玩 富贵旺旺 富贵精华版 富贵3 后门 格机问题研究

热门文章

  1. java 中session能存什么不能存什么
  2. ICC2里面多进程任务
  3. Linux命令简写与全称
  4. 对网页 ‘’为所欲为‘’ 之手动实现 csdn深色模式?
  5. 英文事件抽取论文整理
  6. 信创办公--基于WPS的Word最佳实践系列(使用智能图形丰富表达内容)
  7. 初涉VB.NET入门级代码积累
  8. 需求分析和数据分析那些事。
  9. Java 14:JDK 14进入GA时的所有新功能
  10. (正则)校验 8-16位,必须含有特殊字符、而大写字母、小写字母、数字至少包含其中两项