微信小程序怎么实现登录
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,今天小编给大家分享一下微信小程序怎么实现登录的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一
千家信息网最后更新 2026年11月02日微信小程序怎么实现登录
今天小编给大家分享一下微信小程序怎么实现登录的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
一、小程序开发前准备
二、小程序登录
我先开始的时候在登录就出问题了,因为当时官方给的文档就让人很纠结,因为官方给的文档让人感觉就凌乱了,在这里我解释一下,
官方给的流程:
第一步:获取用户授权信息(每次的授权信息都不一样)
第二部: 上代码
wx.request({ url : API_URL,//自己的服务接口地址 method : 'POST', // 在这里需要格外注意了,所有的post请求header必须是下面的格式不然你又入坑了 header : {'content-type':'application/x-www-form-urlencoded'}, data : { iv: res2.iv, code: code, encryptedData: res2.encryptedData }, success: function (data) { // 4.解密成功后 获取自己服务器返回的结果 // 解密的sdk在开发文档上搜索-签名加密-然后你阅读后就知道了-下载属于自己语言的解码包 if(data.data.status == 1) { var userInfo_ = data.data.userInfo; }else { console.log('解密失败') } }, fail:function() { console.log('系统错误') } })他的意思是所有的操作在后台进行,这样相对安全一点,还有一点就是公众号需要的unionId可以通过解密获取到,那样的话就可以在公众号的页面看到你的小程序了,unionId是公众号和小程序的共用ID,如果你们的项目是需要关联的话那我还是建议你按照官方的走,如果不是的话,下面的方式可以迅速解决你的登录问题
自定义流程:
//app.js function Login(code,username,img) { var that = this wx.request({ url:HTTP_URL, data: { appid : '你后台获取的appdi', secret : '你后台获取的secret', js_code : code, grant_type : 'authorization_code' }, method:'GET', header:{'content-type': 'application/json'}, success: function (a) { var openid = a.data.openid // 请求自己的服务器 wx.request({ url:API_URL, data: { img : img openid : openid, username : username, }, success: function(b) { // 成功返回用户的唯一ID(这是数据库ID) console.log(b.data.uid) // 我这里是把用户返回的ID存到了缓存里因为,我在使用全局变 // 量时候发现有时候引入了js但是还会有丢失找不到的现象 wx.setStorageSync('uid', b.data.uid) } }) }, fail: function () { // 在这里你要考虑到用户登录失败的情况 wx.showToast({ title: '网站正在维护中...', icon: 'loading', duration: 10000 }); } }) } // 自己服务器的地址 // 注意:开发时可以是http协议,但是如果上线必须申请https协议(也就是SSL协议)协议可以在阿里和腾讯的控制 // 台都可以购买,例子:阿里-管理控制台-安全(云盾)-证书服务,一般用dv免费的就可以了协议申请完后需要补全, // 补全完毕后下载文件是个压缩包,里面有两个文件,把他们放到你服务器上,然后再配置文件中指明这是ssl协议并 // 且指明路径,这样 你就算配置成功了,至于如何配置,网上开源的教程挺多的,nginx有Apache也有如果你 var API_URL = "自己服务器的地址"; // 微信提供的接口地址:这里必须要把https://api.weixin.qq.com这个网址在微信后台安全域名中添加进去否则你会 // 感觉生活是如此的黑暗完全看不到希望 var HTTP_URL = "https://api.weixin.qq.com/sns/jscode2session?appid=appid&secret=app_sectet&grant_type=authorization_code&js_code=code"; App({ onLaunch: function () { // 调用API从本地缓存中获取数据 var logs = wx.getStorageSync('logs') || [] logs.unshift(Date.now()) wx.setStorageSync('logs', logs) }, getUserInfo: function (cb) { var that = this if(this.globalData.userInfo) { typeof cb == "function" && cb(this.globalData.userInfo) }else { // 调用登录接口 wx.login({ // login流程 success: function (res) { //登录成功 if (res.code) { // 这里是用户的授权信息每次都不一样 var code = res.code; wx.getUserInfo({ // getUserInfo流程 success: function (res2) { // console.log(res2) that.globalData.userInfo = res2.userInfo typeof cb == "function" && cb(that.globalData.userInfo) var username = res2.userInfo.nickName var img = res2.userInfo.avatarUrl // 请求自己的服务器 Login(code,username,img); } }) }else { wx.showModal({ title: '提示', content: '获取用户登录态失败!'+res.errMsg }) } } }) } }, globalData: { userInfo:null } })下面附两张图片是申请SSL协议的大概流程图
以上就是"微信小程序怎么实现登录"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。
登录
服务
服务器
用户
程序
流程
成功
后台
地址
官方
知识
篇文章
安全
信息
公众
接口
文件
文档
面的
开发
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网络科技
互联网属科技
互联网与科技发展
科技互联网技术
美国互联网科技
有马互联网科技
北京禾田雨橡互联网科技
中国互联网金融科技基金
阿里互联网科技公司
玉溪互联网科技怎么选
深圳市优智互联网科技有限公司
米聚互联网科技南京有限公司排面
亳州好赞互联网科技有限公司
科技互联网海报
锡山区互联网智能科技产品供应
每天都有哪些好的互联网科技
互联网企业科技类企业如何做账
本届互联网大会上的黑科技
三亚科技创新互联网基地
每日互联网科技新闻
云之行互联网科技
佰商互联网科技有限公司
海南科技产业互联网平台
中化能源互联网科技招聘
互联网公司科技股
华夏互联网科技业
互联网公司黑科技创始人
佛山市拉法互联网科技有限公司
昆明中奇联合互联网科技
山东亿川互联网科技有限责任公司