《使用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,一经查实,立即删除!

相关文章

【delphi11】delphi基础探索【二、 Delphi 的基本语法:变量声明、数据类型、控制语句】

一、变量声明 在 Delphi 中&#xff0c;变量声明是一个重要的概念。变量可以在程序的不同部分声明&#xff0c;例如在全局范围、局部范围或在类的定义中。以下是 Delphi 中各种变量声明方式的详细介绍&#xff1a; 1. 全局变量声明 全局变量在程序的单元&#xff08;Unit&…

路由器静态路由的配置

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

【起草】1-2 讨论 ChatGPT 在自然语言处理领域的重要性和应用价值

【小结&#xff1a;ChatGPT 在自然语言处理领域的八种典型应用】 ChatGPT是一种基于Transformer模型的端到端生成式对话系统&#xff0c;采用自监督学习的方式ChatGPT是一种基于Transformer模型的端到端生成式对话系统&#xff0c;采用自监督学习的方式在海量无标注数据集上进…

PyTorch : torch.cuda.amp: 自动混合精度详解

amp : 全称为 Automatic mixed precision&#xff0c;自动混合精度 amp功能&#xff1a; 可以在神经网络推理过程中&#xff0c;针对不同的层&#xff0c;采用不同的数据精度进行计算&#xff0c;从而实现节省显存和加快速度的目的。 通常&#xff0c;深度学习中使用的精度为…

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;支持批…

django-release-debug-apache-mod-wsgi-原理解析

文章目录 1.django-release2.mod_wsgi2.1.winnt模式2.2.worker模式2.3.preforker模式2.4.小节 3.apache配置参数3.1.全局参数3.2.主机参数 4.总结 1.django-release 由于django处理静态资源的效率偏低&#xff0c;顾在release模式不支持静态资源&#xff0c;这种情况需要在apa…

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

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

SpringCache使用配置

项目中引入SpringCache pom文件引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId> </dependency>配置文件指定缓存类型 spring:cache:type: redis启动类开启缓存注解…

TikTok卖家攻略!如何保证账号安全和多账号防关联?

TIKTOK的火爆程度&#xff0c;大家都有目共睹。随之而来的是越来越多的人在上面开展在线业务。作为TikTok的卖家&#xff0c;保障账号安全和防止多账号关联是非常重要的。在这篇博客文章中&#xff0c;我们将分享一些关于如何保护TikTok账号安全和防止多账号关联的实用建议。 …

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…

mapbox修改样式

mapbox有些其实document绘制而成&#xff0c;比如control控件 故而会涉及到样式修改&#xff0c;以适配系统主题 先决条件 必须要安装mapbox-gl&#xff0c;申请access_token yarn add mapbox-gl// or npm install mapbox-gl修改样式 新建一个_mapbox-gl.scss文件&#xff…

[字符串操作]删除单词后缀

删除单词后缀 题目描述 给一组各分别以er、ly和ing结尾的单词&#xff0c; 请删除每个单词的结尾的er、ly或ing&#xff0c; 然后按原顺序输出删除后缀后的单词&#xff08;删除后缀后的单词长度不为0&#xff09;。 关于输入 输入的第一行是一个整数n&#xff08;n≤50&am…

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;他们可以用于同时监听…