小程序登录获取token

WebView 微信小程序跳转h5项目,h5项目拿到token 1.在uniapp项目中,新建webView的页面,实现小程序跳转h5页面 <template> <view> <!-- #ifdef MP --> <web-view v-if="webURL" :src="webURL"></web-view> <!-- #endif --> </view> </template> <script> import url fr... 阅读详情

小程序前台

<!-- 用户登录 -->
<view class="container">
  <view class="page-body">
    <form catchsubmit="formSubmit" catchreset="formReset">

      <view class="page-section">
        <view class="page-section-title">用户名</view>
        <view class="weui-cells weui-cells_after-title">
          <view class="weui-cell weui-cell_input">
            <view class="weui-cell__bd" style="margin: 30rpx 0" >
              <input class="weui-input" name="name" placeholder="这是一个输入框" />
            </view>
          </view>
        </view>
      </view>

      <view class="page-section">
        <view class="page-section-title">密码</view>
        <view class="weui-cells weui-cells_after-title">
          <view class="weui-cell weui-cell_input">
            <view class="weui-cell__bd" style="margin: 30rpx 0" >
              <input class="weui-input" password  name="pwd" placeholder="这是一个密码框" />
            </view>
          </view>
        </view>
      </view>


      <view class="btn-area">
        <button style="margin: 30rpx 0" type="primary" formType="submit">Submit</button>
      </view>
    </form>
  </view>

</view>

小程序css

.userinfo {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #aaa;
}

.userinfo-avatar {
  overflow: hidden;
  width: 128rpx;
  height: 128rpx;
  margin: 20rpx;
  border-radius: 50%;
}

.usermotto {
  margin-top: 200px;
}

小程序js

// 用户登录
  formSubmit(e) {
    //console.log(e.detail.value.name);
    //console.log(e.detail.value.pwd);
    wx.request({
      url: 'http://day68.home.com/api/login', //仅为示例,并非真实的接口地址
      data: {
       name:e.detail.value.name,
       pwd:e.detail.value.pwd,
      },
      method:'POST',
      dataType:"json",
      header: {
        'content-type': 'application/x-www-form-urlencoded' // 默认值
      },
      success (res) {
        var jwt = res.data.jwt;
        //console.log(jwt)
        //将获取到的token存入缓存
        wx.setStorage({
          data: jwt,
          key: 'jwt',
        })
       if(res.data.code==500){
         wx.showToast({
          title:'用户名密码不能空',
          icon:'none'
         })
         return false
       }
       if(res.data.code==501){
        wx.showToast({
         title:'密码错误',
         icon:'none'
        })
        return false
      }
      if(res.data.code==502){
        wx.showToast({
         title:'用户名错误',
         icon:'none'
        })
        return false
      }
      if(res.data.code==200){
        wx.switchTab({
          url: '/pages/my/my',
        })
      }
      }
      
    })
  },

后台用户登录

  //用户登录
    public function login(Request $request)
    {
        //echo md5(md5(123456));die();
        //接收数据
        $name=$request->input('name');
        $pwd=$request->input('pwd');
        //dd($name);
        //验证
        if (empty($name) || empty($pwd)){
            return ['code'=>500,'data'=>'','msg'=>'用户名或密码不能为空'];
        }
        //登录,判断用户名和密码
        $names=Users::where('name',$name)->first();
        if ($names){
            $pwds=Users::where('pwd',md5(md5($pwd)))->first();
            if ($pwds){
                //将用与数据存入cache缓存
                Cache::put('user',$pwds);
               //调用方法,将token带入小程序
                $jwt=$this->lssue();
                return ['code'=>200,'data'=>$pwds,'jwt'=>$jwt,'msg'=>'登陆成功'];
            }else{
                return ['code'=>501,'data'=>'','msg'=>'密码错误'];
            }
        }else{
            return ['code'=>502,'data'=>'','msg'=>'用户名错误'];
        }
    }

composer安装token插件

composer require firebase/php-jwt
    //签发Token
    public function lssue()
    {
        //取出用户信息
       $user=Cache::get('user');
//        print_r($user['id']);die();
        $key = '666'; //key
        $time = time(); //当前时间
        $token = [
            'iss' => 'http://www.helloweba.net', //签发者 可选
            'aud' => 'http://www.helloweba.net', //接收该JWT的一方,可选
            'iat' => $time, //签发时间
            'nbf' => $time , //(Not Before):某个时间点后才能访问,比如设置time+30,表示当前时间30秒后才能使用
            'exp' => $time+7200, //过期时间,这里设置2个小时
            'data' => [ //自定义信息,不要定义敏感信息
                'userid' => $user['id'],
                'username' => $user['name']
            ]
        ];
        return JWT::encode($token, $key); //输出Token
    }

    //根据缓存中的用户id查询出用户信息方便用户个人页面的展示
    public function my(Request $request)
    {
        $user=Cache::get('user');
        $data=Users::where('id',$user['id'])->first();
        $data['image']='http://day68.home.com/'.$data['image'];
        return ['code'=>200,'data'=>$data,'msg'=>'查询成功'];
    }
小程序 自动登录 获取token 直接获取code码 传给后台进行 校验 转化为 openid //自动登录 获取token onLoad() { wx.login({ success:function(res){ console.log(res.code) wx.request({ url: 'http://www.ceshi.com/API/apiCodeSelect', data:{ " 阅读详情

相关推荐

小程序登录获取token_利用minapp-api-promise插件

官方文档小程序登录流程的介绍: 即先发起wx.login请求,得到code后经第三方服务器想微信服务器发送请求获取openid,assessToken等敏感信息,这里我们需要以assessToken作为登录状态保持的依据。 基于token的登录状态情况分类: 1.首次登录小程序,本地存储中还不存在token,即需要发起登录请求得到token,并存到本地存储 2.小程序本地存储中已存在token,但是已过期,即需要再次发起登录请求以获得token,并覆盖掉本地存储中原先的token 3.小程序本地存储中存在

tattoo_jie的博客 969

小程序最新获取用户信息登录(头像昵称填写)

小程序最新获取用户信息登录(头像昵称填写)

qq_46376192的博客 1598

小程序开发API之登录wx.login()、wx.checkSession()及获取openid、session_key、access_token

用户登录 小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系。 说明: 调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。 调用 code2Session 接口,换取 用户唯一标识 OpenID 和 会话密钥 session_key。(一般后台调用) 唯一标识(openid) 本次登录的会话密钥(session_ke...

M.Siebel 1万+

微信小程序如何获取token

废话不多说,官方时序图如下: 图里其实说的很清楚了,清理下流程: 1.前端调用wx.login()获取code值 2.前端通过调用wx.getUserInfo获取iv、rawData、signature、encryptedData等加密数据,传递给后端 3.服务器通过code请求api换回session_key和openid 4.服务器通过前端给的rawData 加获取的session_key使用sha1加密,计算出signature1 5.比对前端传的signature和自己算出来的signature1

Matildan的博客 1万+

别再手动拆解字节了!用博图这个功能指令,5分钟搞定ARRAY转BOOL数组

本文详细介绍了西门子博图中`ARRAY_TO_BOOL`功能指令的高效应用,帮助工程师快速实现ARRAY到BOOL数组的转换。通过实战案例和参数配置指南,展示了如何5分钟内完成传统方法需半小时的任务,大幅提升PLC编程效率,特别适用于通信报文解析和设备状态监控。

weixin_42653691的博客 260

RK3588开发笔记-麦克风阵列多pdm通道合并成一个声卡

在音频设备的开发中,特别是在多通道音频数据处理场景中,如何将多个PDM(Pulse Density Modulation)通道整合成一个声卡设备,是一个非常具有挑战性的问题。RK3588芯片作为一款性能强大的平台,提供了对多个音频通道的支持。本文将介绍如何在RK3588上将多个PDM通道合并成一个麦克风阵列声卡,从而在Linux系统下统一管理和使用,提高多通道音频的同步性。在本文中我们主要介绍使用2通道回采+4通道mic声音采集构成一个6通道声卡,加以回声消除实现一个多麦克风阵列。

flypig has a dream! 1924

微信小程序——获取接口调用凭据access_token

今天在搞一个微信小程序的时候,使用到了发布内容的问题,然后想使用微信请求接口,结果遇到了请求接口需要获取调用凭证access_token。

ybb_ymm的专栏 1万+

【毕业设计】基于雷达与深度学习的摔倒检测——雷达数据集处理

雷达原始数据是时域非平稳信号,快速傅里叶变换(Fast Fourier Transformation, FFT)不能很好地提取微多普勒效应的模式特征。因此短时傅里叶变换(Short Time Fourier Transformation, STFT)被应用于雷达信号的时频谱分析。本文主要介绍雷达数据集的预处理过程,包括时频谱图的中值滤波与 SVD 分解。

洋洋Young的博客 1808

微信小程序如何登录获取token

微信小程序呢还是比较好上手的,只要基础不差,基本上看完档就可以直接操作了 首选微信小程序官方文档提供了wx.login 使用wx.login可以获取随机生成的code 然后请求登录接口,向后台发送code,返回的数据,就包含token 我们可以存到本地通过 wx.setStorageSync() wx.login({ success(res) { //通过res.code获取随机生成的code let {code}=res; wx.request({

sslcsq的博客 5937

SAP-ABAP:SAP系统调优利器:RZ11动态参数修改全指南

SAP系统调优利器:RZ11动态参数修改全指南

baidu_35680696的博客 970

【TIDB】TiDB认证考试PTCA 练习题 题库

TiDB认证考试PTCA 练习题 题库

DBA之路的博客 4718

微信小程序登录获取openid及三方token

前言 本教程是基于 “apifm-wxapi” 模块,教你快速实现小程序开发,所以你可能需要先了解以下知识点: 《创建 HelloWorld 项目》《使用 “apifm-wxapi” 快速开发小程序》《免费注册开通后台,获得专属域名》 需求说明 利用小程序的 wx.login() 方法获取到临时 code; 使用临时 code 通过 “apifm-wxapi” 换取用户登录 token; ...

api工厂 4020

2020年大连理工大学《单片机原理及应用》期末试卷

2020年大连理工大学《单片机原理及应用》期末试卷 此试卷为大连理工大学2020年《单片机原理及应用》期末试卷; 大连理工大学2020年《单片机原理及应用》期末试卷; 大连理工大学2020年《单片机原理及应用》期末试卷。 ...

无名何许人的博客 1478

微信小程序登录获取Token以及微信支付

微信小程序登录获取Token相关流程 注意:只有获取了几个相关的参数,才能调用登录接口API

Usjsnsn的博客 5458

【RT-DETR实战】RT-DETR实战手记(200):端侧实时目标检测,下一步往哪儿走?

昨天深夜调一个模型部署,在树莓派4B上跑RT-DETR-nano,帧率死活卡在8FPS上不去。量化也做了,算子也优化了,内存对齐也检查了,可就是离实时检测的底线还差一截。盯着终端里跳动的数字,突然意识到——我们可能正在接近当前技术路径的瓶颈。端侧实时目标检测的下一个突破口,恐怕不在现有框架的修修补补里。

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 186

2025年11月架构设计师综合知识真题回顾,附参考答案、解析及所涉知识点(二)

本文整理了2025年11月架构设计师考试的16-30题真题及解析,涵盖多个计算机系统知识领域。主要内容包括:Linux绝对路径以根目录开始(A);模块调用下层数量用扇出表示(B);游乐园问题通过集合运算得出10人未游玩(B);磁盘位示图计算为200字节(C);测试用例核心是输入与预期输出(D)。其他题目涉及软件可靠性测试概念(B错)、评价程序准确度排序(真实程序最高,A)、测试阶段顺序(单元→组装→系统,A)、Web服务器压力测试前置步骤(C)、分时系统响应时间影响因素(用户数量多,A)、逆向工程方法(基于

一几文的编程学习笔记。 221

微信自动化登录,小程序 Code / OAuth RedirectUrl 获取业务 Token

本文介绍了一种基于Xposed模块的微信自动化登录方案,通过注入微信进程主动调用内部登录链路,获取小程序code或OAuth redirectUrl,再交由业务后端换取token。方案采用LSPosed框架,支持HTTP API调用,实现了非UI自动化的登录流程复用。文章详细讲解了小程序登录和OAuth授权两种合规测试场景的实现原理,包括环境准备、架构设计、核心代码逻辑和常见问题。特别强调了该技术仅限自有业务调试和逆向学习研究,严禁用于未授权登录或违法场景。项目已在GitHub开源。

m0_46406923的博客 584

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

微信小程序通过非登录(获取用户信息和code)的方式获取token

这里写自定义目录标题1.token获取方式有两种: 1.token获取方式有两种: 用户登录成功后后台返回token,一般会把返回的token缓存起来 通过用户授权获取用户的相关信息和code等参数,后台提供接口将这些参数传进去,就可以返回token 接下来要说的就是第二种方式获取token,一般在微信支付 创建订单的时候需要用到token 在 ...

qianduan1020的博客 2977

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

微信小程序如何得到code获取token密钥,以及怎么微信登录授权获取用户详细信息?

微信小程序如何得到code获取token密钥,以及怎么微信登录授权获取用户详细信息? 登录授权流程: 点击进入–进入首页获取code请求到token–授权登录微信 1.如何获取code (1) 第一步:通过wx.login得到code,调用接口获取登录凭证(code)。通过凭证进而换取用户登录态信息 wx.login()是微信小程序的内置调用接口获取登录凭证(code)。通过凭证进而换取用户登录态信息,包括用户在当前小程序的唯一标识(openid)、微信开放平台帐号下的唯一标识(unioni

lb191258514的博客 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

uniapp开发小程序登录功能并获取token

最近看uniapp开发小程序,刚好自己研究一下,小程序登录功能 流程,是通过login方法拿取code,拿到code后,请求后端,后端拼接code+appid+appscert访问微信公开接口code2session接口,拿取openid,openid是唯一值,多公众号的暂时不考虑,可自行查阅。

weixin_41184005的博客 2682

uni-app写的微信小程序如何实现账号密码登录后获取token,并且每天的第一次登录后都会直接获取参数而不是耀重新登录(1)

uni-app写的微信小程序如何实现账号密码登录后获取token(而token的有效器一般是30分钟,当页面在操作时token是不会过去,,离开页面第二天登录时token就是过期状态,因为记住了账号密码就不会操作再次登录,但是这样会出现一个token过期的问题,会导致页面无法获取到参数,导致页面无法正确的拿到相关的内容),并且每天的第一次登录后都会直接获取参数而不是耀重新登录。在login.vue登录页。在request.js。

Wx001214的博客 1039

uni-app写的微信小程序如何实现账号密码登录后获取token,并且每天的第一次登录后都会直接获取参数而不是耀重新登录(2)

让路径为pages/login/login里面什么内容都没有,这样保证每次进入的第一个页面都是空白页面。"navigationBarTitleText": "登录"在pages.json。

Wx001214的博客 701

获取用户手机号码解析失败,微信小程序授权登录获取token步骤

第一步:先登录wx.login,获取code,(这一步必须放在所有步骤之前) 第二步:调用getPhoneNumber,获取到encryptedData和iv, 第三步:调用接口获取openid,然后再通过openid获取token; 注:第一步放在后面会产生时间差,导致加密的encryptedData 和 code解析失败,而获取不到token或者用户信息 ...

wanmeizty的专栏 2424

关于公司小程序项目在登录流程获取token并全局使用的梳理(学习篇)

关于公司小程序项目获取token并使用的梳理

a26637896的博客 1048

微信小程序获取token、登录、获取二维码操作

说明 目前项目当中用到了微信小程序的登录获取token和二维码的操作,因此在此记录一下,方法比较简单也好理解。 登录相关 登录Controller /** * 获取用户的openId * * @param codeId 微信小程序code * @return * @author zhongsy * @date 2019/12/24 */ @RequestMapping...

柚子的博客 6920

若依前后端分离版:增加新的登录接口,用于小程序或者APP获取token,并使用若依的验证方法

LoginController类具体代码登录校验 ——AppLoginService类具体代码AppAuthenticationProvider 类具体代码AppUserDetailsServiceImpl类具体代码此时运行时,会有冲突!!!需要在 xxx-framework/src/main/java/....../SecurityConfig中条件如图:此时启动项目不会报冲突的错千万千万要添加!!!下图中的LongUser类要添加东西。

yyongsheng的博客 1万+
上一篇: laravel8 layui阿里云图片上传、搜索后分页
下一篇: 阿里云视频直播
stringQiang
博客等级 码龄5年 36粉丝 36原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值