《使用ThinkPHP6开发项目》 - 登录接口二

《使用ThinkPHP6开发项目》 - 登录接口一-CSDN博客

说到登录,这就涉及到数据验证和数据库

这里要创建数据库以及登录要用到的用户表

1)创建管理员表

CREATE TABLE `vanus_system_admin` (`id` smallint(5) unsigned NOT NULL AUTO_INCREMENT COMMENT '管理员表ID',`account` varchar(32) NOT NULL DEFAULT '' COMMENT '管理员账号',`password` varchar(100) NOT NULL DEFAULT '' COMMENT '管理员密码',`avatar` varchar(255) NOT NULL DEFAULT '' COMMENT '管理员头像',`real_name` varchar(16) NOT NULL DEFAULT '' COMMENT '管理员姓名',`role_id` varchar(128) NOT NULL DEFAULT '' COMMENT '管理员权限(menus_id)',`last_ip` varchar(16) NOT NULL DEFAULT '' COMMENT '管理员最后一次登录ip',`last_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '管理员最后一次登录时间',`create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',`login_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '登录次数',`level` tinyint(3) unsigned NOT NULL DEFAULT '1' COMMENT '管理员级别',`status` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '管理员状态:1.有效 0.无效',`is_del` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除',PRIMARY KEY (`id`) USING BTREE,KEY `account` (`account`) USING BTREE,KEY `status` (`status`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='后台管理员表';

2)查看表数据

3)配置数据库,《使用ThinkPHP6开发项目》 - 设置项目环境变量-CSDN博客

4)创建模型文件,模型文件名可与表名一致,使用驼峰式命名

php think make:model admin@SystemAdmin

<?php
declare (strict_types = 1);namespace app\admin\model;use think\Model;/*** @mixin \think\Model*/
class SystemAdmin extends Model
{//
}

如果文件名与表名不一致,则要定义表名

//文件名与表名不一致时
protected $name = 'system_admin'; // 表名// 如果表前缀与数据库配置的表前缀不一致,则要设置表全名
protected $table = 'cms_system_admin';

 表主键如果为id,则默认主键为id,若不是id,则需要设置主键值

protected $pk = 'uid'; // uid为表主键
<?php
declare (strict_types = 1);namespace app\admin\model;use think\Model;/*** @mixin \think\Model*/
class SystemAdmin extends Model
{protected $table = 'cms_system_admin';protected $pk = 'uid';
}

这里可以使用service去处理登录方法

5)创建service文件,使用驼峰式命名

php think make:service admin@SystemAdmin

修改admin\service\SystemAdmin.php文件中,创建AdminLogin方法

app\admin\service\SystemAdmin.php
<?php
declare (strict_types = 1);namespace app\admin\service;use app\admin\model\SystemAdmin as SystemAdminModel;class SystemAdmin extends \think\Service
{// 管理员登录public static function AdminLogin(array $param){$model = new SystemAdminModel();$info = $model->where('account',$param['account'])->find();if(empty($info)) return ['status'=>500,'msg'=>'用户不存在'];$info = $info->toArray();if($param['password'] == $info['password']){return ['status'=>200,'msg'=>'登录成功'];}else{return ['status'=>500,'msg'=>'密码错误'];}}
}
app\admin\controller\Passport.php
<?php
declare (strict_types = 1);namespace app\admin\controller;use app\admin\service\SystemAdmin;class Passport extends SystemAdmin
{//登录public function login(){$param = request()->param();if(empty($param['account'])) return json(['status'=>201,'msg'=>'账号必填']);if(empty($param['password'])) return json(['status'=>201,'msg'=>'密码必填']);$result = self::AdminLogin($param);return json($result);}
}

到这登录接口就完成了

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

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

相关文章

路由器静态路由的配置

路由器静态路由的配置步骤如下&#xff1a; 进入系统视图。输入命令sys进入系统视图。配置路由器的接口IP地址。命令格式为int g0/0/0&#xff0c;其中g0/0/0表示路由器的接口&#xff0c;可以根据实际情况进行修改。然后使用命令ip add配置接口的IP地址。配置下一跳地址。在静…

C# 编写Windows服务程序

1.什么是windows服务&#xff1f; Microsoft Windows 服务&#xff08;即&#xff0c;以前的 NT 服务&#xff09;使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动&#xff0c;可以暂停和重新启动而且不显示任何用…

Web前端 ---- 【Vue】Vue路由传参(query和params)

目录 前言 为什么用路由 路由route和路由器router Vue中路由的工作原理 安装配置vue-router 使用VueRouter 多级路由 路由传参 query传参 params传参 前言 本文介绍路由相关知识路由传参 为什么用路由 为了单页面应用开发&#xff0c;只更换组件&#xff0c;不频繁刷…

什么软件可以压缩视频大小?超级简单

什么软件可以压缩视频大小&#xff1f;当我们想将视频上传到网上时&#xff0c;有时候会遇到视频因为体积太大而无法上传的问题&#xff0c;这种情况就需要将视频进行压缩了。那什么软件可以压缩视频大小呢&#xff1f;下面小编就来为大家介绍压缩视频的方法&#xff0c;支持批…

极新AIGC行业峰会 | 圆桌对话:探索中国AGI迭代之路

“AGI正处在一个巨大的研发范式革命的起点。” 整理 | 周梦婕 编辑 | 小白 出品&#xff5c;极新 2023年11月28日&#xff0c;极新AIGC行业峰会在北京东升国际科学院拉开帷幕&#xff0c;峰会上午的圆桌环节由凡卓资本合伙人王梦菲主持&#xff0c;深势科技战略副总裁何雯…

Spring Boot 3.x.x Spring Security 6.x.x @PreAuthorize 失效

Spring Boot 3.x.x Spring Security 6.x.x PreAuthorize 失效 背景问题解决备注 背景 最近在搞一个后端项目&#xff0c;登录、接口权限、token认证。 版本 Spring Boot 3.2.0 JDK 21 Spring Security 6.2.0 问题 PreAuthorize 失效&#xff0c;没有走认证。 解决 给PreAu…

生成小程序URLlink链接遇到的坑

这里写自定义目录标题 前端生成小程序URL link背景用户打开小程序的常用方法短链接短链接优缺点优点缺点 生成短链接步骤 可能会遇到的问题&#xff1a;其他 注意&#x1f4e2; 前端生成小程序URL link ![h5打开小程序](https://img-blog.csdnimg.cn/direct/a4cfe3ef6d184c6d9…

OfficeWeb365 SaveDraw 文件上传漏洞复现

0x01 产品简介 OfficeWeb365 是专注于 Office 文档在线预览及PDF文档在线预览云服务,包括 Microsoft Word 文档在线预览、Excel 表格在线预览、Powerpoint 演示文档在线预览,WPS 文字处理、WPS 表格、WPS 演示及 Adobe PDF 文档在线预览。 0x02 漏洞概述 OfficeWeb365 Sav…

Python 反射

Python 反射是什么&#xff1f; 学习了几天&#xff0c;做个总结留给自己看。 感觉跟 SQL 入门要掌握的原理一样&#xff0c;Python 反射看起来也会做4件事&#xff0c;“增删查获” 增 - 增加属性&#xff0c;方法 setattr 删 - 删除属性&#xff0c;方法 delattr 查 - …

用 MATLAB 实现的计算机CT断层扫描图像重建项目源码

完整源码资源下载链接 计算机断层扫描图像重建 介绍 计算机断层扫描是堆叠在一起的 X 射线图像的集合&#xff0c;以获得作为诊断图像第三维的深度信息。这些“堆叠的” X 射线图像作为正弦图从 CT 机架接收&#xff0c;代表对象单层的 X 射线吸收剖面。该项目的目标是重建该…

Springboot整合篇Druid

一、概述 1.1简介 Druid 是阿里巴巴开源平台上一个数据库连接池实现&#xff0c;结合了 C3P0、DBCP 等 DB 池的优点&#xff0c;同时加入了日志监控。 它本身还自带一个监控平台&#xff0c;可以查看时时产生的sql、uri等监控数据&#xff0c;可以排查慢sql、慢请求&#xff0…

【如何理解select、poll、epoll?】

如何理解select、poll、epoll&#xff1f; select、poll、epollselectpollepoll 知识扩展三者之间的主要区别是什么&#xff1f;epoll的两种模式是什么&#xff1f; select、poll、epoll select、poll、epoll都是Linux中常见的I/O多路复用技术&#xff0c;他们可以用于同时监听…

广西岑溪市火灾通报:1人死亡 AI科技助力预防悲剧

近日&#xff0c;广西岑溪市玉梧大道紫坭工业园一厂房发生一起令人心痛的火灾事件&#xff0c;造成1人不幸丧生。这起悲剧再次提醒我们&#xff0c;火灾的防范工作是多么的重要。在这样的背景下&#xff0c;我想分享一个能够有效预防类似悲剧的技术——北京富维图像公司开发的F…

【Java】网络编程-UDP回响服务器客户端简单代码编写

这一篇文章我们将讲述网络编程中UDP服务器客户端的编程代码 1、前置知识 UDP协议全称是用户数据报协议&#xff0c;在网络中它与TCP协议一样用于处理数据包&#xff0c;是一种无连接的协议。 UDP的特点有&#xff1a;无连接、尽最大努力交付、面向报文、没有拥塞控制 本文讲…

如何处理PHP开发中的单元测试和自动化测试?

如何处理PHP开发中的单元测试和自动化测试&#xff0c;需要具体代码示例 随着软件开发行业的日益发展&#xff0c;单元测试和自动化测试成为了开发者们重视的环节。PHP作为一种广泛应用于Web开发的脚本语言&#xff0c;单元测试和自动化测试同样也在PHP开发中扮演着重要的角色…

基于Spring Boot、Mybatis、Redis和Layui的企业电子招投标系统源码实现与立项流程

招投标管理系统是一款适用于招标代理、政府采购、企业采购和工程交易等领域的企业级应用平台。该平台以项目为主线&#xff0c;从项目立项到项目归档&#xff0c;实现了全流程的高效沟通和协作。通过该平台&#xff0c;用户可以实时共享项目数据信息&#xff0c;实现规范化管理…

基于Python数据可视化的网易云音乐歌单分析系统

目录 《Python数据分析初探》项目报告 基于Python数据可视化的网易云音乐歌单分析系统一、项目简介&#xff08;一&#xff09;项目背景&#xff08;二&#xff09;项目过程 二、项目设计流程图&#xff08;一&#xff09;基于Python数据可视化的网易云音乐歌单分析系统的整体…

AndroidStudio flutter 开发环境 绿色版,绿化方法

这里写自定义目录标题 绿色版下载:绿色版制作过程参考资料1.按照正常方式配置flutter开发环境(不包括桌面开发环境),确认能够正常编译apk2.移动AndroidStudio3.修改 {Android Studio安装路径}\bin\idea.properties4.移动.android5.移动AndroidSdk6.移动gradle 绿色版下载: and…

springboot整合日志框架log4j2

springboot整合日志框架log4j2 前言&#xff1a;springboot提供了默认的日志框架logback&#xff0c;结合slf4j门面&#xff0c;基于简单配置即可实现日志输出记录。但是实际开发中很多项目会使用log4j2&#xff0c;log4j2是log4j的升级版本&#xff0c;性能和安全性上比log4j…

基于C/C++的rapidxml加载xml大文件 - 上部分翻译

RAPIDXML手册 版本 1.13 版权所有 &#xff08;C&#xff09; 2006&#xff0c; 2009 Marcin Kalicinski有关许可证信息&#xff0c;请参阅随附的文件许可证 .txt。 目录 1. 什么是 RapidXml&#xff1f; 1.1 依赖性和兼容性1.2 字符类型和编码1.3 错误处理1.4 内存分配1.5 …