微信小程序登录

news2024/11/25 10:44:11

小程序登录 | 微信开放文档 (qq.com)icon-default.png?t=N176https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html

静默登录

首先需要在微信开发者工具中获取code(wx.login(Object object) | 微信开放文档 (qq.com))

前端处理获取code

 其次:需要appid,secret自行申请

存放位置

服务端处理

通过appid,secret,前端传来的code获取到openid

 /**
     * 静默登录
     */
    public function staticLogin(){
        $code = $this->request->post('code');
        if (empty($code)){
            $this->error('参数错误');
        }
        $params = [
            'appid'=> "*********",         //小程序appid
            'secret'=>"**************",        //小程序appid的秘钥
            'js_code'=> $code,                   //前端传来的code
            'grant_type' => 'authorization_code'    //authorization_code — 授权码模式(即先登录获取code,再获取token)
        ];
        $result = Http::sendRequest("https://api.weixin.qq.com/sns/jscode2session", $params, 'GET');//接口
     $this->success('获取成功',$result);
}
成功获取显示字符串形式
code被使用过了

  通过appid,secret,前端传来的code获取到openid,将字符串形式转化为数组形式展示

/**
     * 静默登录
     */
    public function staticLogin(){
        $code = $this->request->post('code');
        if (empty($code)){
            $this->error('参数错误');
        }
        $params = [
            'appid'=> "**************",         //小程序appid
            'secret'=>"*********************",        //小程序appid的秘钥
            'js_code'=> $code,                   //前端传来的code
            'grant_type' => 'authorization_code'    //authorization_code — 授权码模式(即先登录获取code,再获取token)
        ];
        $result = Http::sendRequest("https://api.weixin.qq.com/sns/jscode2session", $params, 'GET');//接口
        //$this->success('获取成功',$result);
        if ($result['ret']){    //如果ret为true,那就执行
            $json = \Qiniu\json_decode($result['msg'],true); //通过json_decode将字符串转换为数组
            $this->success('获取成功',$json);
        }

    }
成功获取显示数组形式
code被使用过了

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PyQt5数据库开发2 5.1 QSqlQueryModel

目录 一、Qt窗体设计 1. 新建Qt项目 2. 拷贝4-3的部分组件过来 3. 添加资源文件 4. 创建Action 5. 添加工具栏 6. 创建菜单项 7. 关闭Action的实现 8. 调整布局 8.1 调整两个groupbox的布局 8.3 为窗体设置全局布局 二、代码拷贝和删除 1. 新建项目目录 2. 编译…

游戏化销售管理是什么?使用CRM系统进行有什么用?

对于企业销售来说,高薪酬也伴随着更高的压力与挑战。高强度的单一工作会让销售人员逐渐失去对工作的兴趣,导致销售状态缺少动力和激情,工作开展愈加困难。您可以通过CRM系统进行游戏化销售管理,让销售人员重新干劲满满。 游戏并不…

Matlplotlib绘图

0 建议学时 4学时 1 Matlplotlib库介绍 Matplotlib库由各种可视化类构成,内部结构复杂 受Matlab启发,matplotlib.pylot是绘制各类可视化图形的命令字库,相当于快捷方式 Matplotlib中文网:https://www.matplotlib.org.cn 安装&…

【离线数仓-4-数据仓库设计】

离线数仓-4-数据仓库设计离线数仓-4-数据仓库设计1.数据仓库分层规划2.数据仓库构建流程1.数据调研1.业务调研2.需求分析3.总结2.明确数据域3.构建业务总线矩阵&维度模型设计4.明确统计指标1.指标体系相关概念1.原子指标2.派生指标3.衍生指标2.指标体系对于数仓建模的意义5…

Python-可变类型、不可变类型和遍历列表

1.可变类型和不可变类型python的类型根据值是否可变分为两类可变类型:列表、字典、集合等 值可以改变不可变类型:数字、字符串、元组等 值不可以改变注意:可变类型对象和不可变类型对象都不能更改类型本身2.遍历列表2.1正序遍历提前通过len函数获取元素总…

蓝桥杯:聪明的猴子

题目链接:聪明的猴子https://www.lanqiao.cn/problems/862/learning/ 目录 题目描述 输入描述 输出描述 输入输出样例 运行限制 解题思路: 最小生成树 AC代码(Java): 课后练习: 题目描述 在一个热带雨林中生存…

20230223 刚体上的两个点速度之间的关系

刚体上的两个点速度之间的关系 注意:这里所讨论的都是投影在惯性坐标系上的。 dMAdMOdOAdMOdCA−dCOd_{_{MA}}d_{_{MO}}d_{_{OA}}d_{_{MO}}d_{_{CA}}-d_{_{CO}}dMA​​dMO​​dOA​​dMO​​dCA​​−dCO​​ 求导 d˙MAd˙MOd˙CA−d˙CO\dot d_{_{MA}}\dot d_{_…

《计算机组成与系统结构(第二版) 裘雪红 李伯成 西安电子科技大学出版社》课后习题答案(带解析)(三)

声明:此系列答案配套《计算机组成与系统结构(第二版) 裘雪红 李伯成 西安电子科技大学出版社》一书相关内容。所有内容为博主个人编辑,仅作参考学习交流之用,转载请注明出处。如发现错误,请联系博主及时勘误…

Spring解决循环依赖为什么需要三级缓存?

前言什么是循环依赖呢?我们抛开Spring这个框架来聊下什么是循环依赖,循环依赖可能在我们平时的开发过程中是属于比较常见的。Spring容器最大的功能就是对bean的生命周期进行管理,每个bean在创建的过程中,需要得到一个完整的bean需…

python2.75升级到python3

linux centos7.6版本默认的python是2.7,现在想安装python3.8,操作如下下载python3.8安装包:wget http://npm.taobao.org/mirrors/python/3.8.0/Python-3.8.0.tgz,我执行的目录是cd /usr/local/解压下载的包:进入文件夹…

【LeetCode】剑指 Offer(7)

目录 写在前面: 题目剑指 Offer 17. 打印从1到最大的n位数 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 题目:剑指 Offer 18. 删除链表的节…

【项目精选】jsp企业快信系统(论文+视频+源码)

点击下载源码 计算机网络的出现到现在已经经历了翻天覆地的重大改变。因特网也从最早的供科学家交流心得的简单的文本浏览器发展成为了商务和信息的中心。到了今天,互联网已经成为了大量应用的首选平台,人们已经渐渐习惯了网络交易,渐渐对网络…

CVE-2022-48282 MongoDB .NET/C# 驱动存在反序列化漏洞

漏洞描述 MongoDB .NET/C# 驱动用于将 .NET 应用程序连接到 MongoDB 集群并建立通信,并使用 _t 字段鉴别属性名称。 MongoDB .NET/C# 驱动 2.19.0 之前版本存在反序列化漏洞,对于用 C# 编写的应用程序,攻击者满足以下条件时可利用此漏洞远程…

SFP光纤笼子 别称 作用 性能要点 工程要素

Hqst盈盛电子导读:2023年,Hqst盈盛电子于下属五金部开发生产SFP光纤连接器笼子等系列产品,所有产品生产及性标准都将参照连接器产品常用测试标准EIA-364-C等标准,以下为我司常规SFP光纤连接器基本性能要求SFP光纤笼子别称&#xf…

HTML基本语法-标签

注释 注释就是帮助我们理解的解释 本身不参加编译 HTML里面的注释 <!--这是被注释的内容-->我们也可以直接使用ctrl/&#xff08;快捷键&#xff09; 来实现光标行注释 标签基础认知 标签构成 有双标签-开始和结束 就之前 的加粗标签和标题标签 标签关系 父子关系…

【基础算法】关于高精度计算的问题【很高位数数据的加减乘除(相关代码用C++实现)】

文章目录前言1.高精度加法2.高精度减法3.高精度乘法4.高精度除法写在最后前言 当我们在利用计算机进行一些计算时&#xff0c;可能会遇到这类问题 &#xff1a; 有些计算要求精度高&#xff0c;希望计算的数的位数可达几十位甚至几百位&#xff0c;虽然计算机的计算精度也算较…

PostgreSQL的安装配置及使用

一.安装地址&#xff1a;https://www.postgresql.org/选择合适的版本下载二.配置mac 配置 pg_hba.conf 文件open .bash_profile export PATH$PATH:/Library/PostgreSQL/14/bincd /Library/PostgreSQL/14 sudo -u postgres bash cd data vim pg_hba.conf进入编辑模式&#xff1…

angular

1. angular获取不到DOM结点 angular中的ngOnInit钩子函数获取不到DOM节点&#xff1b; 这个钩子函数中&#xff0c;表示组件和指令初始化完成&#xff0c;并不是真正的DOM加载完成&#xff1b; 所以这时候需要利用另外一个钩子函数ngAfterViewInit()&#xff0c;是在视图加载完…

传统单体架构存在哪些问题?

传统单体应用架构模型通常我们所使用的传统单体应用架构都是模块化的设计逻辑&#xff0c;程序在编写完成后会被打包并部署为一个具体的应用&#xff0c;而应用的格式则依赖于相应的应用语言和框架。例如&#xff0c;在网上商城系统中&#xff0c;Java Web工程通常会被打成WAR包…

SpringBoot的自动装配原理、自定义Starter与SPI机制

一、前言Spring简直是java企业级应用开发人员的春天&#xff0c;我们可以通过Spring提供的ioc容器&#xff0c;避免硬编码带来的程序过度耦合。但是&#xff0c;启动一个Spring应用程序也绝非易事&#xff0c;他需要大量且繁琐的xml配置&#xff0c;开发人员压根不能全身心的投…