5 Commits

Author SHA1 Message Date
wolfcode
af44a9e7b8 🚀 Layui v2.11.3 2025-06-19 09:40:41 +08:00
wolfcode
4ed8237a00 refactor(auth): upgrade password hashing to PHP's password_hash
- Replace custom password hashing function with PHP's built-in password_hash
- Update password verification to use password_verify
- Adjust database schema to accommodate new password hash length
- Modify installation and login controllers to use new hashing method
2025-06-18 11:51:12 +08:00
wolfcode
216ca6e697 fix(install): update PDO extension check to pdo_mysql
- Change extension check from PDO to pdo_mysql for MySQL database support
- Improve error message for better user understanding
2025-06-12 15:21:35 +08:00
wolfcode
969a7a5ce5 fix(easy-admin): try-catch onInitElemStyle and hide theme switch on mobile
- Add try-catch block around onInitElemStyle function to handle potential errors
- Hide theme switch option on mobile devices to improve user experience
2025-06-09 14:37:58 +08:00
wolfcode
5593a20009 feat(layuimini): improve menu rendering and add keyboard event handling
- Add border-radius to layuimini-logo for rounded corners
- Implement Enter key event handling for login button- Enhance miniMenu rendering logic for better menu display
2025-06-04 11:14:55 +08:00
11 changed files with 37 additions and 20 deletions

View File

@@ -109,7 +109,7 @@ class Index extends AdminController
try {
$save = $row->save([
'password' => password($post['password']),
'password' => password_hash($post['password'], PASSWORD_DEFAULT),
]);
}catch (Exception $e) {
$this->error('保存失败');

View File

@@ -53,7 +53,7 @@ class Login extends AdminController
if (empty($admin)) {
$this->error('用户不存在');
}
if (password($post['password']) != $admin->password) {
if (!password_verify($post['password'], $admin->password)) {
$this->error('密码输入有误');
}
if ($admin->status == 0) {

View File

@@ -38,7 +38,7 @@
<li class="layui-nav-item mobile layui-hide-xs" lay-unselect>
<a href="javascript:;" data-check-screen="full"><i class="fa fa-arrows-alt"></i></a>
</li>
<li class="layui-nav-item" lay-unselect>
<li class="layui-nav-item mobile layui-hide-xs" lay-unselect>
<div class="layui-form ws-header-theme" lay-filter="header-theme">
<input type="checkbox" name="theme-mode" lay-filter="header-theme-mode" lay-skin="switch">
<div lay-checkbox>

View File

@@ -24,8 +24,8 @@ class Install extends BaseController
$errorInfo = '已安装系统,如需重新安装请删除文件:/config/install/lock/install.lock或者删除 /install 路由';
}elseif (version_compare(phpversion(), '8.1.0', '<')) {
$errorInfo = 'PHP版本不能小于8.1.0';
}elseif (!extension_loaded("PDO")) {
$errorInfo = '当前未开启PDO,无法进行安装';
}elseif (!extension_loaded("pdo_mysql")) {
$errorInfo = '当前未开启pdo_mysql,无法进行安装';
}
if (!is_file(root_path() . '.env')) {
$errorInfo = '.env 文件不存在,请先配置 .env 文件';
@@ -105,12 +105,12 @@ class Install extends BaseController
foreach ($sqlArray as $sql) {
$pdo->query($sql);
}
$_password = password($password);
$tableName = 'system_admin';
$update = [
$hashedPassword = password_hash($password, PASSWORD_DEFAULT);
$tableName = 'system_admin';
$update = [
'username' => $username,
'head_img' => '/static/admin/images/head.jpg',
'password' => $_password,
'password' => $hashedPassword,
'create_time' => time(),
'update_time' => time()
];

View File

@@ -88,7 +88,7 @@ CREATE TABLE `ea_system_admin`
`auth_ids` varchar(255) DEFAULT NULL COMMENT '角色权限ID',
`head_img` varchar(255) DEFAULT NULL COMMENT '头像',
`username` varchar(50) NOT NULL DEFAULT '' COMMENT '用户登录名',
`password` char(40) NOT NULL DEFAULT '' COMMENT '用户登录密码',
`password` varchar(255) NOT NULL DEFAULT '' COMMENT '用户登录密码',
`phone` varchar(16) DEFAULT NULL COMMENT '联系手机号',
`remark` varchar(255) DEFAULT '' COMMENT '备注说明',
`login_num` bigint(20) unsigned DEFAULT '0' COMMENT '登录次数',

View File

@@ -27,6 +27,12 @@ define(["jquery", "easy-admin"], function ($, ea) {
}
});
document.addEventListener('keydown', function (event) {
if (event.key === 'Enter' || event.keyCode === 13) {
$('.login-btn').trigger('click')
}
});
$('.login-tip').on('click', function () {
$('.icon-nocheck').click();
});

View File

@@ -2,13 +2,16 @@ define(["jquery", "tableSelect", "miniTheme", "xmSelect", "lazyload"], function
//切换日夜模式
window.onInitElemStyle = function () {
miniTheme.renderElemStyle();
$('iframe').each(function (index, iframe) {
if (typeof iframe.contentWindow.onInitElemStyle == "function") {
iframe.contentWindow.onInitElemStyle();
}
});
miniTheme.changeThemeMainColor();
try {
miniTheme.renderElemStyle();
$('iframe').each(function (index, iframe) {
if (typeof iframe.contentWindow.onInitElemStyle == "function") {
iframe.contentWindow.onInitElemStyle();
}
});
miniTheme.changeThemeMainColor();
} catch (e) {
}
};
window.onInitElemStyle();

View File

@@ -83,6 +83,7 @@
display: inline-block;
height: 40px;
vertical-align: middle;
border-radius: 50%;
}
.layui-layout-admin .layuimini-logo h1 {

View File

@@ -94,7 +94,14 @@ define(["jquery"], function ($) {
renderLeftMenu :function(leftMenus,options){
options = options || {};
var me = this ;
var leftMenusHtml = me.each(leftMenus || [],function (idx,leftMenu) { // 左侧菜单遍历
let _i = 0
// 左侧菜单遍历
var leftMenusHtml = me.each(leftMenus || [],function (idx,leftMenu) {
$(leftMenu).each(function (index, child) {
options.childOpenClass = ''
if (child.child && child.child.length && _i === 0) options.childOpenClass = ' layui-nav-itemed'
_i++
})
var children = me.renderChildrenMenu(leftMenu.child, { childOpenClass:options.childOpenClass });
var leftMenuHtml = me.compileMenu({
href:leftMenu.href,

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long