第17课 微信小程序通过node获取用户openid:

2023-10-28

第17课 微信小程序通过node获取用户openid:

  1. 调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。
  2. 调用 auth.code2Session 接口,换取用户唯一标识 OpenID 和 会话密钥 session_key。

流程图如下:

https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html

在这里插入图片描述

auth.code2Session 接口如下:

https://developers.weixin.qq.com/miniprogram/dev/api-backend/auth.code2Session.html
在这里插入图片描述

1.首先我们在微信小程序需要获取用户openid的页面js文件做如下配置:

wx.login({	//先调用 wx.login() 获取 临时登录凭证code 
      success: res =>{
        const code = res.code 	//获取到用户临时登录凭证code 
        wx.request({	//发送请求
          url: "http://localhost:8000/login?code="+code,	//携带code
          success: (res) =>{	//返回node请求到的OpenID与session_key
            const openid = res.data.openid
            wx.setStorageSync("openid", openid)
          }
        })
      },
      fail: console.log
    })

2.node.js配置的js文件:

const express = require('express');
const request = require('request')

const app = express()

app.listen(8000)  //这里监听8000端口

const appid = "wx123123123"  //开发者的appid
const appsecret = "123123123123"   //开发者的appsecret 登入小程序公共平台内查看

app.use('/login', (req,res)=>{
  const code = req.query.code //拿到传过来的code
  //调用 auth.code2Session接口,换取用户唯一标识 OpenID 和 会话密钥 session_key
  const url = `https://api.weixin.qq.com/sns/jscode2session?appid=${appid}&secret=${appsecret}&js_code=${code}&grant_type=authorization_code`

  request(url, (err,res,body)=>{
    res.send(body)  //将请求到的 OpenID与 session_key 返回给小程序页面js文件
  })

})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第17课 微信小程序通过node获取用户openid: 的相关文章

  • Android Studio JNI开发入门教程

    概述 在Andorid Studio不支持JNI开发之前大家一般都是使用Eclipse开发JNI 各种配置让人觉得很蛋疼 从Andorid Studio支持JNI开发后 让我们开发JNI变的如此简单 下面我就介绍一下Android Stud
  • Python+Selenium_UI自动化操作(1)——将浏览器最大化

    UI自动化 最大化浏览器 语法 maximize window unittest框架执行顺序 1 先执行setUp 做测试数据准备 2 执行测试用例方法testXXXX 测试用例都是以test开头的方法 可以有多个测试用例 3 所有的测试用

随机推荐

  • LInux脚本- 将一个路径下的前500个文件复制到另一个路径下

    需求 从 home majn llvm project extract main 路径下复制前500个 c 文件到 home majn llvm project extract main 500 目录 以下是一个用于实现该功能的 Bash
  • 将本地的代码上传到github ,Github提交更改的代码,

    1 将本地的代码上传到github 首先你需要一个github账号 所有还没有的话先去注册吧 https github com 我们使用git需要先安装git工具 这里给出下载地址 下载后一路直接安装即可 https git for win
  • OpenvSwitch实现简单VLAN

    需求 现有拓扑结构如下的网络结构 s1 s4为交换机 h1 h9为主机 现欲让单数主机 h1 h3 h5 h7 h9 之间互相能ping通 双数主机之间互相能够ping通 但单数和双数主机之间不能访问 拓扑结构 s1
  • BigDecimal的用法详解(保留两位小数,四舍五入,数字格式化,科学计数法转数字,数字里的逗号处理)

    原文地址 https blog csdn net ochangwen article details 51531866 一 简介 Java在java math包中提供的API类BigDecimal 用来对超过16位有效位的数进行精确的运算
  • 深度学习小车中的cv应用

    深度学习系列教程 深度学习小车中cv应用 一 get images py中的cv应用 1 调用摄像头demo 2 操作视频文件demo 深度学习小车中cv应用 主要解决串口问题 一 get images py中的cv应用 get image
  • 程序员的烦心事——工作计划

    差不多每个程序员都要写工作计划 尽管工作计划的格式和提交流程随公司和项目组的不同而有所差别 但不管是哪种方式程序员的工作计划都是在详细设计完成之后编码开始之前进行的 有些项目组会根据它来制定进度计划 有些则用于进度计划的修订 无论是哪种情况
  • 为何要学习计算机基础

    一 什么是计算机 计算机是一种能够按照指令对各种数据和信息进行自动加工和处理的电子设备 电脑系统分为硬件和软件两大部分 硬件相当于人的身体 而软件相当于人的灵魂 而一套完整的计算机系统分为 计算机硬件 操作系统 软件 程序员开发的就是软件
  • 模拟实验室合成器插件-Arturia Analog Lab v5.2.0 WiN

    STANDALONE VSTi VSTi3 AAX x64 Minta Foundry Mellotron Expansion 01 02 4 28GB 通过模拟实验室 您可以轻松访问我们屡获殊荣的V系列中6500多种最热门的预设 包含所有
  • Spring Cloud原理

    之前一直在看 Spring Cloud微服务实战 最近又看了公众号石衫的架构笔记的 拜托 面试请不要再问我Spring Cloud底层原理 对Spring Cloud的主要组件的原理有了更深的理解 特地做一下总结 一 Spring Clou
  • 100天精通Python(可视化篇)——第90天:Pyecharts可视化神器基础入门

    文章目录 专栏导读 一 pyecharts 介绍 1 简介 2 版本说明 二 pyecharts 特点 三 pyecharts 安装 四 基本步骤 五 快速开始 1 数据准备 1 类别数据 2 时间数据 3 颜色数据 4 地理数据 5 世界
  • 深入Spring Boot :打包解决方案

    最近有位网友私信我咨询一个SpringBoot项目打包的问题 这位朋友说网络上有很多重复 不可用的技术文章 这个倒是事实 更糟糕的一些自媒体为了流量抄来抄去 增加我们查找解决方案的时间成本 我也尝试去搜索了一下 SpringBoot打包 结
  • pip install 及导出安装库,批量安装库

    1 批量安装库 pip install r e requirements txt 2 导出安装库及版本 pip freeze gt requirements txt 3 查看库信息 pip show f package name 4 检查兼
  • 【杂七杂八的东西】ROSBAG:用python按时间戳提取bag中的图像

    1 ROSBAG提取制定topic图像 跟着朋友学习了一下如何在bag中提取带有时间戳的图像 我们主要取的是单通道的深度图像 感觉在ROS机器人中使用的非常普遍 闲话不多说 直接上完整的python代码 如果想看详细的ROSBAG解释的话可
  • 0比20,字节跳动在与腾讯的这场掐架中输的太惨...

    5月7日 中国新闻网报道称 广州知识产权法院于4月26日作出了一项诉讼判决 认定字节跳动旗下火山小视频 现抖音火山版 平台玩家 在未经腾讯授权的情况下直播 王者荣耀 游戏 构成侵权 一审判决要求火山小视频停止 王者荣耀 游戏直播 并赔偿原告
  • 106. 从中序与后序遍历序列构造二叉树

    一 题目描述 给定两个整数数组 inorder 和 postorder 其中 inorder 是二叉树的中序遍历 postorder 是同一棵树的后序遍历 请你构造并返回这颗 二叉树 示例 1 输入 inorder 9 3 15 20 7
  • 爬虫从入门到放弃——Webmagic源码阅读之PageModel

    PageModel 在OOSpider里面 有这样一段注释 The spider for page model extractor br In webmagic we call a POJO containing extract resul
  • 实现和设置玩家UI血量等基本操作。(Unity)

    方法一 在屏幕上显示玩家的UI血量 首先在UI组件中创建Canvas画布 设置画板大小 具体数字按自己要求来 创建玩家的血条UI 选择Slider组件 调整下面箭头处 具体值按你自己的要求来 在填充处选择玩家血量的填充颜色 因为开发中我们需
  • 利用pygame写星球大战小游戏

    前段时间学了pygame 这两天写一个星球大战小游戏 今天准备分享出来 开发工具 python3 8 pycharm 代码注释超级详细 在这里就废话不多说了 请看代码 导入相关模块及库 import pygame import sys im
  • 6. 从0开始学ARM-异常及中断处理、异常向量表、swi

    七 异常及中断处理 异常向量表 swi 一 异常 Exception 异常是理解CPU运转最重要的一个知识点 几乎每种处理器都支持特定异常处理 中断是异常中的一种 有时候我们衡量一个操作系统的时候实时性就是看os最短响应中断时间以及单位时间
  • 第17课 微信小程序通过node获取用户openid:

    第17课 微信小程序通过node获取用户openid 调用 wx login 获取 临时登录凭证code 并回传到开发者服务器 调用 auth code2Session 接口 换取用户唯一标识 OpenID 和 会话密钥 session k