微信登录开发

news2024/9/21 22:56:15

1、h5页面增加一个微信登录,省去手机号验证码登录的繁琐。

    首先需要开通服务号,我用的是公司的服务号,开发的小伙伴可以去找领导开通。开通后把自己的微信号加进去就可以进行下面的步骤了。

    在微信开发者平台上的公众号设置中去设置业务域名、JS接口安全域名和网页授权域名

    这三个域名右边都有设置,点击设置后,会有个下面的弹窗,下载下来放到public文件夹内:

    代码层面:

    首先有一个微信登录的小图标,点击图标后去调取第三方授权,开发文档如何,自己可以点击微信开发者平台去查看

    代码如下(有步骤):

<template>

  <div>

        1、先进行html书写

        <van-divider>

            <div>微信登录</div>

        </van-divider>

        2、点击微信登录的图标时

        <div class="weChat" @click="weChatLogin">

            <van-icon name="wechat" color="#fff" size="4rem" />

        </div>

    </div>

</template>

<script>

import { Toast } from 'vant'

export default {

  mounted(){

    6、获取当前路径是否包含这两项,这两项是微信登录后,第三方返回的

    let getCode = (window.location.href.includes('code=') && window.location.href.includes('&state')) ? window.location.href.split('code=')[1].split('&state')[0] : null

    this.code = getCode

    this.type = this.$route.query.type // 这个和第6步一样

        if (this.code && this.type == "wechat") {

          const parmas = this.code;

          7、调接口处理逻辑即可

                  } else {

                      Toast.fail(res.msg);

                  }

              })

              .catch((err) => {

                Toast.fail(err.err);

              })

              .finally(() => {

              });

        }

    }

  },

  methods: {

    // 3、微信登录按钮跳转的

    weChatLogin () {

        4、进行路径拼接,点击的时候看下this.$route.query.redirect_uri是否有值,需要复制当前的url地址看下,一般是没有的,不过可以看下微信开发者平台配置的redirect_uri,不然点击的时候,会有弹窗提示redirect_uri和后台配置的不一样,我在开发地时候,这个直接就是写的静态值

      let queryStr = "?type=wechat&redirect=" + this.$route.query.redirect_uri;

      5、appid在基本设置里面,看下方的图片

      const APPID = process.env.VUE_APP_WECHAT_APPID,

      REDIRECT_IRL = encodeURIComponent( // 必须进行加密

      process.env.VUE_APP_REDIRECT_URL + '#/' +

          this.$route.path.slice(1) +

              queryStr

      ),

      weChatURL = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${APPID}&redirect_uri=${REDIRECT_IRL}&response_type=code&scope=snsapi_userinfo#wechat_redirect`;

      window.location.href = weChatURL;

    },

  }

</script>

appid的位置:

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

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

相关文章

四、C语言中的数组:二维数组

四、C语言中的数组&#xff1a;二维数组 本章的学习内容如下&#xff1a; 四、C语言中的数组&#xff1a;数组的创建与初始化 四、C语言中的数组&#xff1a;数组的输入与元素个数 C语言—第6次作业—十道代码题掌握一维数组 四、C语言中的数组&#xff1a;二维数组 我们可以…

力扣刷题44-46(力扣0062/0152/0198)

62. 不同路径 题目描述&#xff1a; 一个机器人位于一个 m x n 网格的左上角 &#xff0c;机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角。问总共有多少条不同的路径&#xff1f; 思路&#xff1a; 其实就是问(0,0)->(m-1,n-1)一共有几条路。 第一个…

30岁失业的我,选择职场转型,进入AIGC工程师领域,重新开始

去年&#xff0c;刚满30岁的我又一次被公司辞退了&#xff0c;由于学历不高&#xff0c;简历也不出彩&#xff0c;尽管半个月来投了一份又一份的简历&#xff0c;但仍然是石沉大海&#xff0c;我终于不得不开始思考一个以前被我一直刻意压制的想法——职场转型。 尽管知道这条…

docker (一)

1&#xff0c;什么是docker 首先我们可以好好的看看docker的那个可能的图标&#xff0c;你想象到了什么&#xff1f; ... docker是一个开源的应用容器引擎&#xff0c;有Docker公司&#xff08;前dotCloud公司&#xff09;开发&#xff0c;基于Apache2.0开源授权协议发行。该…

碳实践|企业组织碳排放源识别方法、案例分析,及注意事项

在上一章中讲到“界、源、算、质、查”五步法实现企业组织碳的完整核算流程&#xff0c;本章将针对其中的“源”- “识别排放源”这一步骤来展开,主要分析其识别方法、实操案例&#xff0c;并列举注意事项。 企业识别碳排放源是指在组织边界内找到产生碳排放的设施&#xff0c;…

算法沉淀 —— 动态规划篇(路径问题)

算法沉淀 —— 动态规划篇&#xff08;路径问题&#xff09; 前言一、不同路径1二、珠宝的最高价值三、下降路径最小和四、地下城游戏 前言 几乎所有的动态规划问题大致可分为以下5个步骤&#xff0c;后续所有问题分析都将基于此 1.、状态表示&#xff1a;通常状态表示分为以下…

登录校验解决方案JWT

目录 &#x1f397;️1.JWT介绍 &#x1f39e;️2.应用场景 &#x1f39f;️3.结构组成 &#x1f3ab;4.JWT优点 &#x1f3a0;5.封装成通用方法 &#x1f6dd;6.JWT自动刷新 1.JWT介绍 官网&#xff1a;JWT官网 JSON Web Token (JWT) 是一个开放标准&#xff0c;它…

C语言:编译与链接

目录 前言1. 翻译环境与运行环境2.翻译环境&#xff1a;预编译编译汇编链接3. 运行环境 前言 我们写一个程序&#xff0c;例如test.c或是test.h这些源文件&#xff0c;头文件&#xff0c;事实上这些代码都是文本文件&#xff0c;但是计算机能够看得懂&#xff0c;并且直接执行…

C#代码混淆器 ipaguard 的优势与使用

摘要 本文探讨了iOS开发的优势、费用以及软件开发方面的相关内容。通过分析iOS开发所采用的编程语言、开发环境、用户界面设计、应用审核流程以及应用领域等方面&#xff0c;展示了iOS开发的诸多优势和特点。虽然iOS开发具有高用户体验、统一的硬件和软件环境、良好的市场份额等…

uni-app中web-view的使用

1. uni-app中web-view的使用 uni-app中的web-view是一个 web 浏览器组件&#xff0c;可以用来承载网页的容器&#xff0c;uni-app开发的app与web-view实现交互的方式相关简单&#xff0c;应用通过属性message绑定触发事件&#xff0c;然后在web-view的网页向应用 postMessage 触…

博途PLC 系统时间读取写入功能块

系统时间数据类型属于DTL数据类型,DTL本身是结构变量,有时、分、秒、纳秒。利用纳秒寄存器可以实现伪随机数发生器,伪随机数发生器详细代码介绍请参考下面文章链接: 1、伪随机数 https://rxxw-control.blog.csdn.net/article/details/122157365https://rxxw-control.blog…

电脑桌面记事本便签软件,记事本软件哪个好

在这个快节奏的生活中&#xff0c;我们每个人都需要一个得力的助手来帮助我们管理琐碎的事务。作为一名忙碌的职场人士&#xff0c;你是否经常因为忘记重要事项而感到焦虑&#xff1f;是否因为繁杂的待办事项而感到无从下手&#xff1f;今天&#xff0c;我要向你推荐的这款电脑…

Git相关命令(一)

一、简介 Git 是一个开源的分布式版本控制系统。 当然&#xff0c; git 不会傻傻的把你的每一个版本完整的存储下来&#xff0c;他仅仅会存储每次修改的位置和内容&#xff08;可持久化&#xff09;&#xff0c;每一次 commit 可以理解为产生一个版本&#xff0c;接下来的版本…

第二十章 javascript使用

文章目录 1. JS基中基1. 注释2. 弹窗3. 引入JS代码4. JS的基本数据类型5. 变量6. 字符串的操作 2. 条件分支3. 循环4. JS中的函数1. 闭包函数(自运行函数) 5. 定时器 1. JS基中基 1. 注释 HTML的注释 <!– –>JS的注释 // 单行注释 /* */多行注释 2. 弹窗 alert(“我…

C语言例4-18:从键盘输入平面上一个点的坐标值,判断其所在的象限。

代码如下&#xff1a; //从键盘输入平面上一个点的坐标值&#xff0c;判断其所在的象限。 #include<stdio.h> int main(void) {float x,y;printf("输入平面上一个点的坐标值\n");printf("x");scanf("%f",&x); //从键盘输入平面上一个…

使用npm i进行admin依赖安装的时候出现问题

提示&#xff1a; npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED npm ERR! request to https://registry.npm.taobao.org/string-width failed, reason: certificate has expired 切换淘宝源到http或者更换其他国内镜像 npm config set registry http:/…

第十三届蓝桥杯省赛真题 Java 研究生 组【原卷】

文章目录 发现宝藏【考生须知】试题 A: 排列字母试题 B: 灭鼠先锋试题 C: 质因数个数试题 D: 数位排序试题 E: 蜂巢试题 F : \mathrm{F}: F: 爬树的甲壳虫试题 G: 重新排序试题 H \mathrm{H} H : 技能升级试题 I: 最优清零方案试题 J : \mathrm{J}: J: 推导部分和 发现宝藏 …

赵本山:这眼睛不好他也嫉妒,潘长江:上看台是好事不过我这腿上不去!

赵本山&#xff1a;这眼睛不好他也嫉妒&#xff0c;潘长江&#xff1a;上看台是好事不过我这腿上不去&#xff01; ——小品《大观灯》&#xff08;中4&#xff09;的台词 &#xff08;接上&#xff09; 赵本山&#xff08;瞎子&#xff09;&#xff1a;你说这咋又挪这来了你说…

Linux课程____shell脚本应用

一、认识shell 常用解释器 Bash , ksh , csh 登陆后默认使用shell&#xff0c;一般为/bin/bash&#xff0c;不同的指令&#xff0c;运行的环境也不同 二、 编写简单脚本并使用 # vim /frist.sh //编写脚本文件&#xff0c;简单内容 #&#xff01;/bin/bash …

日常刷题之77-组合

题目 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案 提示&#xff1a;假设 n5,k3 就是需要组合出来&#xff0c;长度3且内容数据是在[1,n]这个区间内的所有可能得组合 同时一个组合里面内个数字只能出现一次&#…