微信小程序之微信登陆-——-微信小程序教程系列

这篇具有很好参考价值的文章主要介绍了微信小程序之微信登陆-——-微信小程序教程系列。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

})

黄色标注的部分就是登陆部分

下面详细介绍微信小程序的微信登陆

第一步:获取登陆态code
微信登陆部分,首先需要使用微信小程序的api—— wx.login(OBJECT)来获取登录态

这个登陆态的作用是为了获取用户的openid(用户的唯一标识)
微信小程序中,如何配置允许页面通过微信登陆,Android程序员,微信小程序,微信,小程序

相关链接:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html#wxloginobject

示例:官方示例

js:

//调用登录

wx.login({

success: function(res) {

console.log(res);

if (res.code) {

//发起网络请求

//doSomething

} else {

console.log(‘获取用户登录态失败!’ + res.errMsg)

}

},

fail: function(){

console.log(“启用wx.login函数,失败!”);

},

complete:function(){

console.log(“已启用wx.login函数”);

}

});

TIPS:

上面这段代码的console.log(res);输出wx.login(OBJECT)的success成功回调函数返回值res的内容如下:

情况一:

出现这个code:”the code is a mock one”是在项目没有使用appid的情况下返回的,正常不是返回这个的!!
微信小程序中,如何配置允许页面通过微信登陆,Android程序员,微信小程序,微信,小程序

情况二:

项目在绑定appID后才能成功返回登录态,正确的登陆态如下图所示:
微信小程序中,如何配置允许页面通过微信登陆,Android程序员,微信小程序,微信,小程序

第二步:将登陆态code发送给第三方服务器(即自家的服务器)
微信小程序中,如何配置允许页面通过微信登陆,Android程序员,微信小程序,微信,小程序

上面通过wx.login(OBJECT)获取了登录态后,接下来就是将code发送给第三方服务器

我们先看看微信登陆的序时图:

序时图所示,通过wx.login()获取了code后,就使用wx.request()发送code给第三方服务器(也就是自家的服务器)

下面用代码来进行讲解这一步如何操作

示例:官方示例

把wx.login获取到的res.code返回值,直接以参数的形式,发起网络请求发送登陆态给自家服务器

js:

//调用登录

wx.login({

success: function(res) {

console.log(res);

if (res.code) {

//就是在这里发起网络请求,使用wx.request(),将登陆态发送给自家的服务器上

wx.request({

url: ‘https://test.com/onLogin’,

data: {

code: res.code

},

method: ‘POST’,

header: {‘content-type’: ‘application/json’},

success: function(data){

}

})

} else {

console.log(‘获取用户登录态失败!’ + res.errMsg)

}

},

fail: function(){

console.log(“启用wx.login函数,失败!”);

},

complete:function(){

console.log(“已启用wx.login函数”);

}

});

如何使用微信小程序发起网络请求?

请看如下教程:微信小程序的网络请求 ——微信小程序教程系列(14)

第三步:code 换取 session_key和openid

登陆态发送给自家的服务器后,接下来就是后台进行操作。

下面我把 自家的服务器简称 后台,方便阅读(你知道我说的后台指的是我们自己的服务器,而不是微信的服务器就行)。

后台接收到登陆态后,由后台发起网络请求给微信服务器

备注:后台没有语言要求!!任意一门后台语言都可以。

接口地址:

https://api.weixin.qq.com/sns/jscode2session

参数说明:
微信小程序中,如何配置允许页面通过微信登陆,Android程序员,微信小程序,微信,小程序

备注:

appid和secret登陆微信公众平台,打开设置——开发设置,即可获取(app secret需要生成)。
微信小程序中,如何配置允许页面通过微信登陆,Android程序员,微信小程序,微信,小程序

grant_type是固定写法,值为authorization_code即可。

返回结果:
微信小程序中,如何配置允许页面通过微信登陆,Android程序员,微信小程序,微信,小程序

后台发送请求成后,腾讯服务器会返回session_key 和 openid,如下图:

成功返回的结果
微信小程序中,如何配置允许页面通过微信登陆,Android程序员,微信小程序,微信,小程序

失败返回的结果
微信小程序中,如何配置允许页面通过微信登陆,Android程序员,微信小程序,微信,小程序

第四步:生成3rd_session返回给客户端

第四步也是做后台中的操作!!

此时把微信服务器返回的session_key 和 openid保留在后台中,由于考虑安全性的问题,不要直接返回给客户端。

然后用操作系统提供的随机数算法生成一个新的session,微信把它叫做3rd_session。(注意:这个session要有足够的长度,建议有2^128种组合,即长度为16B;设置一定的时效性)

以3rd_session为名作为key,返回的session_key和openid作为值,保存在后台上。

最后只需要在后台,返回一个3rd_session给客户端即可。

以后客户端部分,就使用这个3rd_session发送给后台,后台接收3rd_session获取对应的session_key和openid,再通过session_key和openid判断对应的用户返回该用户相关的数据

备注:小程序用这种方法来代替浏览器自身发送的cookie,因为web的做法是服务器A会保存起访问登录接口的这个cookie到session中,当你再次访问其他接口的时候,服务器A首先会判断这个session,是否是之间的cookie从而知道是不是对应的用户。(http协议是一种短链接的关系,其特点是客户端发起请求链接到服务端,服务端返回数据,链接断开!因此之间是不会有任何数据的储存。)

示例:接上示例

js:

wx.login({

success: function(res) {

console.log(res);

if (res.code) {

wx.request({

url: ‘https://test.com/onLogin’,

data: {

code: res.code

},

method: ‘POST’,

header: {‘content-type’: ‘application/json’},

// 在发送请求成功的部分,返回的数据是后台返回的3rd_session

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
微信小程序中,如何配置允许页面通过微信登陆,Android程序员,微信小程序,微信,小程序
微信小程序中,如何配置允许页面通过微信登陆,Android程序员,微信小程序,微信,小程序
微信小程序中,如何配置允许页面通过微信登陆,Android程序员,微信小程序,微信,小程序
微信小程序中,如何配置允许页面通过微信登陆,Android程序员,微信小程序,微信,小程序

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
微信小程序中,如何配置允许页面通过微信登陆,Android程序员,微信小程序,微信,小程序

小福利:

在当下这个碎片化信息环境的时代,很多资源都可以在网络上找到,只取决于你愿不愿意找或是找的方法对不对了

很多朋友不是没有资料,大多都是有几十上百个G,但是杂乱无章,不知道怎么看从哪看起,甚至是看后就忘

如果大家觉得自己在网上找的资料非常杂乱、不成体系的话,我也分享一套给大家,比较系统,我平常自己也会经常研读。

2021大厂最新Android面试真题解析

微信小程序中,如何配置允许页面通过微信登陆,Android程序员,微信小程序,微信,小程序

各个模块学习视频:如数据结构与算法

微信小程序中,如何配置允许页面通过微信登陆,Android程序员,微信小程序,微信,小程序

只有系统,有方向的学习,才能在段时间内迅速提高自己的技术。
微信小程序中,如何配置允许页面通过微信登陆,Android程序员,微信小程序,微信,小程序

微信小程序中,如何配置允许页面通过微信登陆,Android程序员,微信小程序,微信,小程序

这份体系学习笔记,适应人群:**第一,**学习知识比较碎片化,没有合理的学习路线与进阶方向。**第二,**开发几年,不知道如何进阶更进一步,比较迷茫。第三,到了合适的年纪,后续不知道该如何发展,转型管理,还是加强技术研究。如果你有需要,我这里恰好有为什么,不来领取!说不定能改变你现在的状态呢!点赞+评论即可获得!

直接点击这里前往我的GitHub中下载,就可以白嫖啦,记得给文章点个赞哦。文章来源地址https://www.toymoban.com/news/detail-856643.html

转存中…(img-AXJCDA8p-1710700143528)]

这份体系学习笔记,适应人群:**第一,**学习知识比较碎片化,没有合理的学习路线与进阶方向。**第二,**开发几年,不知道如何进阶更进一步,比较迷茫。第三,到了合适的年纪,后续不知道该如何发展,转型管理,还是加强技术研究。如果你有需要,我这里恰好有为什么,不来领取!说不定能改变你现在的状态呢!点赞+评论即可获得!

直接点击这里前往我的GitHub中下载,就可以白嫖啦,记得给文章点个赞哦。

到了这里,关于微信小程序之微信登陆-——-微信小程序教程系列的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序插件之微信同声传译

    1、在小城程序后台,点击设置-第三方设置-插件管理-添加插件。 搜索微信同声传译,添加到小程序即可。 2、基于uniapp开发的小程序,在uni项目中的的manifest.json文件中,找到 mp-weixin,添加plugins   3、添加成功之后,就可以在想要文字转语音的地方使用 示例:

    2024年01月20日
    浏览(77)
  • 微信小程序开发之微信小程序交互

    目录 一、小程序交互 前端: 1、先在登陆界面中编写代码 2、在前端中编写js代码 后端:           1、先导入依赖:           2、定义好配置文件           3、编写好实体类           4、将帮助类进行配置           5、编写mapper类           6、定义service层以及对应的

    2024年02月09日
    浏览(58)
  • (三)微信小程序云开发之微信支付全解

    项目基本开发完成,之后逐步会出一些之前评论或者私信的大家问的问题,最近比较忙,稍安勿躁,下面开始正题。 【微信支付】无论是云开发还是常规开发支付都是避不开的一个功能,面试小程序相关的岗位的时候也很喜欢问支付相关的流程。 首先要注册小程序(好像是

    2024年02月09日
    浏览(38)
  • 从0到1之微信小程序快速入门(02)

    目录 页面导航 - 声明式导航 1. 导航到 tabBar 页面 2. 导航到非 tabBar 页面 3. 后退导航 ​编辑 页面导航 - 编程式导航 页面导航 - 导航传参  页面事件 - 下拉刷新事件  监听下拉刷新事件 停止下拉刷新的效果 页面事件 - 上拉触底事件 监听页面的上拉触底事件  配置上拉触底距

    2024年02月07日
    浏览(48)
  • 从0到1之微信小程序快速入门(03)

    目录 什么是生命周期函数 WXS脚本   ​编辑 与 JavaScript 不同 纯数据字段  组件生命周期 定义生命周期方法 代码示例 组件所在页面的生命周期 代码示例 插槽 什么是插槽 启用多插槽  ​编辑 定义多插槽  组件通信 组件间通信 监听事件 触发事件 获取组件实例 自定义的组

    2024年02月03日
    浏览(49)
  • 微信小程序之微信授权登入及授权的流程讲解

    目录 一、流程讲解 1. 图解 2. 讲解 二、官方登入 wxLogin wx.getUserProfile 代码 三、数据交互授权登入 1. 前端 2. 后端代码 这张图片是关于微信小程序授权登录的流程图。流程图展示了使用微信官方提供的登录能力来获取用户身份标识的过程。下面是对流程图中的一些关键步骤的

    2024年02月05日
    浏览(48)
  • 基于mqtt协议的物联网项目之微信小程序(二)

    硬件设备通过 mqtt:tcp port:1883 与服务器建立连接 网页/小程序 —websocket—mqtt:ws port:8083 mqtt:wss(wxs) prot:8084与服务器连接 小程序规定只能用8084端口 HTTP 协议有一个缺陷:通信只能由客户端发起,websocket是一种新的协议,所有浏览器都支持。 WebSocket是一种在单个TCP连接上进行全双

    2024年01月20日
    浏览(59)
  • uni-app之微信小程序实现‘下载+保存至本地+预览’功能

    目录 一、H5如何实现下载功能 二、微信小程序实现下载资源功能方面与H5有很大的不同 三、 微信小程序实现文件(doc,pdf等格式,非图片)下载(下载-保存-预览)功能 四、图片预览、保存、转发、收藏:uni.previewImage() 五、 我当前遇到‘关于文件预览uni.openDocument()’API的问

    2024年02月15日
    浏览(66)
  • 基于mqtt协议的物联网项目之微信小程序mqtt连接(三)

    官方连接 https://www.emqx.com/zh/blog/how-to-use-mqtt-in-wechat-miniprogram 所以uniapp使用v4.1.0版本,试过v3.0.0也可以用 默认从阿里云下载的SSL证书为cert.pem和key.key格式,我们要使用转换工具把.key转换成.pem 在线转换地址为:https://www.myssl.cn/tools/merge-pem-cert.html 替换EMQX安装路径下etc/emqx/cer

    2024年02月10日
    浏览(52)
  • 计算机毕业设计之微信小程序的商城 购物系统 app论文

    摘 要 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,灯具商城系统被用户普遍使用,为方便用户能够可以随时进行灯具商城系统的数据信息管理,特开发了

    2024年02月09日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包