关于uni-app小程序接入微信登录

news/2024/3/28 17:16:57/文章来源:https://blog.csdn.net/lw18751836671/article/details/128099417

https://uniapp.dcloud.net.cn/api/plugins/login.html#login

官网上有关于uni.login()的说明,如果是要微信登录,则需要wx.login()。

小程序登录 | 微信开放文档

        如下图,在小程序管理平台生成AppSecret,同时将AppId在HubilderX中配置。

 

        在HbuilderX中使用wx.login获取到code,然后调用后台接口,获取到openId,code是一个临时会话,是会改变,而openId则是不变的。

wx.login({success (res) {if (res.code) {ths.$apis.relAccount2WxOpenId({code:res.code}).then(resT=>{if(resT?.result_code=="0"){if(res.data){var openId = res.data;uni.setStorageSync("wx_openId",openId);ths.openId = openId;}}})}}
});

        在后端获取到openId后返回给前端,此处的appId和appSecret是在小程序管理平台获取的。

private String getWxOpenId(String code){String openId = null;try{String url = "https://api.weixin.qq.com/sns/jscode2session?appid="+appId+"&secret="+appSecret+"&js_code="+code+"&grant_type=authorization_code";String responseStr = HttpClientUtil.get(url);// "{"session_key":"","openid":""}"
//        logger.info(responseStr);JSONObject jsonObject = JSON.parseObject(responseStr);openId = jsonObject.getString("openid");}catch (Exception e){logger.error("",e);}return openId;}

         注意,在HbuilderX中一定要配置此小程序的appId,否则会报Invalid code。

                    小程序调试的时候,用微信开发者工具,其他是会报wx.login()的错误的。

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

swift @State @Published @ObservedObject sink

State struct ContentView: View {State private var isRain truevar body: some View {VStack {Image(systemName: isRain ? "cloud.rain.fill" : "sun.max.fill").resizable().frame(width: 100, height: 100)Text(isRain ? "我們淋著大雨不知何…

【PS-7】移动工具

目录 移动工具快捷键【v】(英文状态) 多文件间拖拽图层对象 快捷键【ALT】复制图层 【ALTSHIFT】只能垂直/水平/45角地去复制图层 4个方向键可以微调图层的位置 变换控件 对齐分布 【题外话】设置参考线颜色 【题外话】快捷键【F12】让已经动过…

实验三-----数据库

一、实验目的 1.掌握SQL Server Management Studio中SQL 查询操作; 2.掌握SQL 的单表查询命令; 3.掌握SQL 的连接查询操作; 4.掌握SQL 的嵌套查询操作; 5.掌握SQL 的集合查询操作。 二、实验环境 1.实验室名称&…

[附源码]计算机毕业设计springboot海南琼旅旅游网

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

前端单元测试,更进一步

前端测试2022 如果从 2014 年 Jest 的第一个版本发布开始计算,前端开发领域工程化的单元测试能力已经发展了八年有余。Jest 集成了 Jasmine 等以往各种被证明有效的单元测试框架和断言等工具,也可以用来完成包含外部接口服务的集成测试等。最近几年热门的…

xxl-job安装部署

一、简介 XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 中文文档English Documentation 二、安装 xxl-job需要的提前安装好以下环境:jdk、m…

INTERSPEECH 2022|CALM: 基于对比学习的表现力语音合成跨模态说话风格建模【语音之家】

本文由清华大学与腾讯科技有限公司和香港中文大学合作,并 在腾讯公司落地应用 。 说话风格建模对于表现力语音合成具有重要作用。 现有基于参考音频提取风格表征的方法通常利用文本的语义相似度进行参考音频选择,忽略了语义信息和说话风格的差异性。 本文…

大厂都在用MyBatis,跳槽的时候MyBatis更是面试必问的内容,那你对于MyBatis又掌握了多少呢?这份MyBatis源码解析值得拥有!

MyBatis作为一个流行的半自动ORM框架,里面融合了许多优秀的设计理念,分析其源码骨架能够帮你建立良好的项目设计经验。由于其比较复杂,我会分成几篇来讲,一起踏上征服的旅程吧! 首先把MyBatis源码包导入到idea&#x…

python+django汽车租赁系统pycharm项目

目录 1 绪论 1 1.1课题背景 1 1.2课题研究现状 1 1.3初步设计方法与实施方案 2 1.4本文研究内容 2 4 2.3 B/S结构简介 4 2.4MySQL数据库 5 3 系统分析 6 3.1系统可行性分析 6 3.1.1经济可行性 6 3.1.2技术可行性 6 3.1.3运行可行性 6 3.2系统现状分析 6 3.3功能需求分析 7 …

Apollo 应用与源码分析:Monitor监控-软件监控-时间延迟监控

目录 代码 分析 RunOnce 函数分析 UpdateState函数分析 发送时间延迟报告函数分析 备注 代码 class LatencyMonitor : public RecurrentRunner {public:LatencyMonitor();void RunOnce(const double current_time) override;bool GetFrequency(const std::string& ch…

Git---idea中git的基本操作

idea中使用git仓库 idea中配置git仓库: 首先idea配置git仓库的位置 配置完成之后,有两种创建仓库的方式 从本地配置git仓库: idea本身设置好的,直接下一步就好 从远程克隆仓库: 如果远程仓库没有的话可以绑定完…

CDMP考试时间与报名方式

CDMP“数据管理专业人士认证”证书国际通用,行业认可度极高,是一项涵盖学历教育、工作经验和专业知识考试在内的综合资格认证,也是 目前全球唯一数据管理方面权威性认证 。CDMP考试时间是什么时候?怎样报名?今天小编来…

从ChargePoint到能链智电,充电服务商的价值创新

近日,吉林长春出租车雨雪之中排队换电艰难的视频引起热议。 新能源汽车充换电困难,一方面说明电池在寒冷天气下的性能有优化空间,另一方面也反映出国内新能源汽车配套基础设施仍然存在较大需求缺口。 充电基础设施建设对新能源汽车推广意义…

使用Spark的foreach算子及UDTF函数实现MySQL数据的一对多【Java】

使用Spark的foreach算子及UDTF函数实现MySQL数据的一对多【Java】 背景 我们的数仓项目中遇到了这样一种场景,脱敏后内容大致如下: col1col2time1time2a1b12022-01-01 00:00:002022-01-05 00:00:00a2b22022-01-28 00:00:002022-02-03 00:00:00a3b3202…

设计模式——模板方法模式

模板方法模式 一、基本思想 定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。 二、应用场景 算法的整体步骤很固定,但其中个别部分易变时,这时候…

数据结构学习:Trie树

Trie一、概念二、代码实现三、Tire树的时间复杂度和空间复杂度四、Tire树的优势一、概念 Trie树,也叫"字典树",顾名思义,是一种专门处理字符串匹配的树形结构,用来解决在一组字符串集合中快速找到某个字符串类似于这种字符串匹配问题,可以使用RF暴力匹配、RK哈希匹配…

数字孪生技术栈的应用场景的优点

技术栈是一个IT术语,本意是指某项工作需要掌握的一系列技能组合的统称。那么对于如今炙手可热的数字孪生技术而言,数字孪生技术栈都会包括哪些底层技能?它又是如何构成和运行的呢? 北京智汇云舟科技有限公司成立于2012年&#xff…

【Rust日报】2022-11-28 使用 Rust 编写解释型语言

使用 Rust 编写解释型语言这是一本关于使用 Rust 来编写解释型语言的指导书.从理论基础, 内存分配, 真实实践, GC 等方面循序渐进的指导如何使用 Rust 来编写解释型语言.原文链接: https://rust-hosted-langs.github.io/book/introduction.htmlRust的所有权和生命周期这是一篇从…

黄佳《零基础学机器学习》chap2笔记

黄佳 《零基础学机器学习》 chap2笔记 第2课 数学和Python基础知识 文章目录黄佳 《零基础学机器学习》 chap2笔记第2课 数学和Python基础知识2.1 函数描述了事物间的关系机器学习中常用的一些函数2.2 捕捉函数的变化趋势2.3 梯度下降2.4 机器学习的数据结构--张量2.4.1 张量的…

面板模型进行熵值法分析

背景说明 熵值法(熵权法)是一种研究指标权重的研究方法,比如有5个指标,分别为指标1到指标5,并且有很多样本(比如100个样本),即100行*5列数据,此时研究该5个指标的权重分…