《使用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);
    }
}

到这登录接口就完成了

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
开发ThinkPHP微信登录接口,你需要按照以下步骤进行操作: 1. 首先,你需要在微信开放平台上注册一个开发者账号,并创建一个新的应用程序。 2. 在ThinkPHP项目中,你需要安装EasyWeChat扩展包来实现微信登录接口开发。可以使用Composer来安装,命令如下: ``` composer require overtrue/wechat ``` 3. 在ThinkPHP项目中,你需要创建一个控制器来处理微信登录请求,例如: ``` namespace app\controller; use think\Controller; use EasyWeChat\Factory; class WechatController extends Controller { public function login() { $config = [ 'app_id' => 'your-app-id', 'secret' => 'your-app-secret', 'oauth' => [ 'scopes' => ['snsapi_userinfo'], 'callback' => '/wechat/callback', ], ]; $app = Factory::officialAccount($config); $response = $app->oauth->redirect(); return $response; } public function callback() { $config = [ 'app_id' => 'your-app-id', 'secret' => 'your-app-secret', ]; $app = Factory::officialAccount($config); $user = $app->oauth->user(); // 保存用户信息到数据库等操作 return redirect('/user/profile'); } } ``` 在上面的代码中,`login()`方法用于重定向到微信授权页面,`callback()`方法用于处理授权回调并获取用户信息。 4. 在ThinkPHP项目中,你需要创建一个路由来指定微信登录请求的URL,例如: ``` Route::get('wechat/login', 'WechatController@login'); Route::get('wechat/callback', 'WechatController@callback'); ``` 5. 最后,你需要在微信开放平台上配置授权回调URL,例如: ``` http://your-domain.com/wechat/callback ``` 这样,你就可以在ThinkPHP项目中实现微信登录接口了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃瓜的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值