<?php /* * @Author: xiaohai zmhwork@qq.com * @Date: 2025-03-13 18:17:49 * @LastEditors: xiaohai zmhwork@qq.com * @LastEditTime: 2025-03-24 21:19:27 * @FilePath: \opkpm\app\shop\logic\LoginLogic.php * @Description: */ // +---------------------------------------------------------------------- // | likeshop开源商城系统 // +---------------------------------------------------------------------- // | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力 // | gitee下载:https://gitee.com/likeshop_gitee // | github下载:https://github.com/likeshop-github // | 访问官网:https://www.likeshop.cn // | 访问社区:https://home.likeshop.cn // | 访问手册:http://doc.likeshop.cn // | 微信公众号:likeshop技术社区 // | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识 // | likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识 // | 禁止对系统程序代码以任何目的,任何形式的再发布 // | likeshop团队版权所有并拥有最终解释权 // +---------------------------------------------------------------------- // | author: likeshop.cn.team // +---------------------------------------------------------------------- namespace app\shop\logic; use app\common\basics\Logic; use app\common\model\shop\ShopAdmin; use app\common\server\ConfigServer; use think\facade\Cookie; /** * 商家登录逻辑 * Class LoginLogic * @package app\shop\logic */ class LoginLogic extends Logic { /** * Notes: 登录 * @param $post * @author 段誉(2021/4/10 10:40) * @return bool */ public static function login($post) { $adminModel = new ShopAdmin(); $admin_info = $adminModel->alias('a') ->join('shop s', 's.id = a.shop_id') ->field(['a.id', 'a.account', 'a.name', 'role_id', 'shop_id', 's.name' => 'shop_name', 's.hksy_type']) ->where(['a.account' => $post['account'], 'a.del' => 0]) ->findOrEmpty()->toArray(); //session session('shop_info', $admin_info); //登录信息更新 $adminModel->where(['account' => $post['account']]) ->update([ 'login_ip' => request()->ip(), 'login_time' => time() ]); //记住账号 if (isset($post['remember_account']) && $post['remember_account'] == 'on') { Cookie::set('account', $post['account']); } else { Cookie::delete('account'); } return true; } /** * Notes: 退出 * @author 段誉(2021/4/10 10:40) */ public static function logout() { session('shop_info', null); } public static function config() { $config = [ 'company_name' => ConfigServer::get('copyright', 'company_name'), 'number' => ConfigServer::get('copyright', 'number'), 'link' => ConfigServer::get('copyright', 'link'), 'login_logo' => ConfigServer::get('website_shop', 'shop_login_logo'), 'login_image' => ConfigServer::get('website_shop', 'shop_login_image'), 'login_title' => ConfigServer::get('website_shop', 'shop_login_title'), 'name' => ConfigServer::get('website', 'name'), 'web_favicon' => ConfigServer::get('website', 'web_favicon'), ]; return $config; } }