Compare commits

4 Commits

Author SHA1 Message Date
9178fd643b Merge remote-tracking branch 'origin/master'
# Conflicts:
#	.env-example
2026-03-21 11:19:28 +08:00
7537c484ee 优化CURD功能 2026-03-21 11:18:11 +08:00
5fd33dd87c 修改连接数据库 2026-03-21 11:17:43 +08:00
37f5bd7e4e 修改连接数据库 2026-03-21 10:44:04 +08:00
5 changed files with 26 additions and 10 deletions

View File

@@ -7,12 +7,17 @@ APP_DEFAULT_TIMEZONE = Asia/Shanghai
# 语言 # 语言
LANG_DEFAULT_LANG = zh-cn LANG_DEFAULT_LANG = zh-cn
# Database
# 数据库config/thinkorm.php/database.php
DATABASE_DRIVER = mysql
DATABASE_TYPE = mysql DATABASE_TYPE = mysql
DATABASE_HOSTNAME = 127.0.0.1 DATABASE_HOSTNAME = 127.0.0.1
DATABASE_DATABASE = webman-buildadmin-mall DATABASE_DATABASE = buildadmin-webman
DATABASE_USERNAME = webman-buildadmin-mall DATABASE_USERNAME = buildadmin-webman
DATABASE_PASSWORD = 123456 DATABASE_PASSWORD = 123456
DATABASE_HOSTPORT = 3306 DATABASE_HOSTPORT = 3306
DATABASE_CHARSET = utf8mb4 DATABASE_CHARSET = utf8mb4
DATABASE_PREFIX = DATABASE_PREFIX =
# 缓存config/cache.php
CACHE_DRIVER = file

View File

@@ -845,8 +845,9 @@ class Helper
return $itemJson; return $itemJson;
} }
public static function formatObjectKey(string $keyName): string public static function formatObjectKey(string|int $keyName): string
{ {
$keyName = is_int($keyName) ? strval($keyName) : $keyName;
if (preg_match("/^[a-zA-Z_][a-zA-Z0-9_]+$/", $keyName)) { if (preg_match("/^[a-zA-Z_][a-zA-Z0-9_]+$/", $keyName)) {
return $keyName; return $keyName;
} }

View File

@@ -15,8 +15,8 @@ return [
'driver' => 'mysql', 'driver' => 'mysql',
'host' => $env('database.hostname', '127.0.0.1'), 'host' => $env('database.hostname', '127.0.0.1'),
'port' => $env('database.hostport', '3306'), 'port' => $env('database.hostport', '3306'),
'database' => $env('database.database', 'dafuweng-buildadmin'), 'database' => $env('database.database', 'buildadmin-webman'),
'username' => $env('database.username', 'dafuweng-buildadmin'), 'username' => $env('database.username', 'buildadmin-webman'),
'password' => $env('database.password', '123456'), 'password' => $env('database.password', '123456'),
'charset' => 'utf8mb4', 'charset' => 'utf8mb4',
'collation' => 'utf8mb4_general_ci', 'collation' => 'utf8mb4_general_ci',

View File

@@ -42,9 +42,9 @@ return [
// 服务器地址 // 服务器地址
'hostname' => $env('database.hostname', '127.0.0.1'), 'hostname' => $env('database.hostname', '127.0.0.1'),
// 数据库名(与 database.php / .env 一致) // 数据库名(与 database.php / .env 一致)
'database' => $env('database.database', 'dafuweng-buildadmin-webman'), 'database' => $env('database.database', 'buildadmin-webman'),
// 用户名(与 .env DATABASE_USERNAME 一致,默认勿用 root 以免与本机 MySQL 不符) // 用户名(与 .env DATABASE_USERNAME 一致,默认勿用 root 以免与本机 MySQL 不符)
'username' => $env('database.username', 'dafuweng-buildadmin-webman'), 'username' => $env('database.username', 'buildadmin-webman'),
// 密码(与 .env DATABASE_PASSWORD 一致) // 密码(与 .env DATABASE_PASSWORD 一致)
'password' => $env('database.password', '123456'), 'password' => $env('database.password', '123456'),
// 端口 // 端口

View File

@@ -95,7 +95,7 @@
:label-width="140" :label-width="140"
:block-help="t('crud.crud.For quick combination code generation location, please fill in the relative path')" :block-help="t('crud.crud.For quick combination code generation location, please fill in the relative path')"
:input-attr="{ :input-attr="{
onChange: onTableChange, onChange: (val) => onTableChange(val ?? state.table.generateRelativePath?.replace(/\\/g, '/') ?? state.table.name ?? ''),
onInput: debouncedOnRelativePathInput, onInput: debouncedOnRelativePathInput,
}" }"
/> />
@@ -1396,6 +1396,16 @@ const loadData = () => {
} }
state.table.isCommonModel = parseInt(res.data.table.isCommonModel) state.table.isCommonModel = parseInt(res.data.table.isCommonModel)
state.table.databaseConnection = res.data.table.databaseConnection ? res.data.table.databaseConnection : '' state.table.databaseConnection = res.data.table.databaseConnection ? res.data.table.databaseConnection : ''
// 复制设计时,根据接口返回刷新路径,确保与 getFileData 一致
const tableName = state.table.name || state.table.generateRelativePath?.replace(/\\/g, '/')
if (tableName) {
getFileData(tableName, state.table.isCommonModel).then((fileRes) => {
state.table.modelFile = fileRes.data.modelFile
state.table.controllerFile = fileRes.data.controllerFile
state.table.validateFile = fileRes.data.validateFile
state.table.webViewsDir = fileRes.data.webViewsDir
}).catch(() => {})
}
}) })
.finally(() => { .finally(() => {
state.loading.init = false state.loading.init = false