签入版本
This commit is contained in:
@@ -294,7 +294,7 @@ ALTER TABLE think_city ADD INDEX idx_pid (pid);
|
||||
[DATABASE]
|
||||
TYPE = mysql
|
||||
HOSTNAME = 127.0.0.1
|
||||
DATABASE = rxthinkcmf.thinkphp6.elevue
|
||||
DATABASE = rxthinkcmf.thinkphp8.antdvue
|
||||
USERNAME = root
|
||||
PASSWORD = root
|
||||
HOSTPORT = 3306
|
||||
@@ -304,7 +304,7 @@ HOSTPORT = 3306
|
||||
[DATABASE]
|
||||
TYPE = pgsql
|
||||
HOSTNAME = 127.0.0.1
|
||||
DATABASE = rxthinkcmf.thinkphp6.elevue
|
||||
DATABASE = rxthinkcmf.thinkphp8.antdvue
|
||||
USERNAME = postgres
|
||||
PASSWORD = root
|
||||
HOSTPORT = 5432
|
||||
@@ -314,7 +314,7 @@ HOSTPORT = 5432
|
||||
[DATABASE]
|
||||
TYPE = sqlsrv
|
||||
HOSTNAME = 127.0.0.1
|
||||
DATABASE = rxthinkcmf.thinkphp6.elevue
|
||||
DATABASE = rxthinkcmf.thinkphp8.antdvue
|
||||
USERNAME = sa
|
||||
PASSWORD = root
|
||||
HOSTPORT = 1433
|
||||
@@ -324,7 +324,7 @@ HOSTPORT = 1433
|
||||
[DATABASE]
|
||||
TYPE = oracle
|
||||
HOSTNAME = 127.0.0.1
|
||||
DATABASE = rxthinkcmf.thinkphp6.elevue
|
||||
DATABASE = rxthinkcmf.thinkphp8.antdvue
|
||||
USERNAME = root
|
||||
PASSWORD = root
|
||||
HOSTPORT = 1521
|
||||
@@ -400,7 +400,7 @@ MySQL 是项目默认推荐的关系型数据库,XAMPP 已自带,开箱即
|
||||
# 若前面有分号则去掉,保存后重启 XAMPP
|
||||
|
||||
# 创建数据库
|
||||
D:\xampp8.2\mysql\bin\mysql.exe -u root -proot -e "CREATE DATABASE `rxthinkcmf.thinkphp6.elevue` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
|
||||
D:\xampp8.2\mysql\bin\mysql.exe -u root -proot -e "CREATE DATABASE `rxthinkcmf.thinkphp8.antdvue` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
|
||||
```
|
||||
|
||||
```sh [macOS]
|
||||
@@ -409,7 +409,7 @@ brew services start mysql
|
||||
sudo mysql_secure_installation
|
||||
|
||||
# 创建数据库
|
||||
mysql -u root -proot -e "CREATE DATABASE `rxthinkcmf.thinkphp6.elevue` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
|
||||
mysql -u root -proot -e "CREATE DATABASE `rxthinkcmf.thinkphp8.antdvue` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
|
||||
```
|
||||
|
||||
```sh [Ubuntu / Debian]
|
||||
@@ -419,7 +419,7 @@ sudo systemctl enable mysql
|
||||
sudo mysql_secure_installation
|
||||
|
||||
# 创建数据库
|
||||
mysql -u root -proot -e "CREATE DATABASE `rxthinkcmf.thinkphp6.elevue` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
|
||||
mysql -u root -proot -e "CREATE DATABASE `rxthinkcmf.thinkphp8.antdvue` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
|
||||
```
|
||||
|
||||
```sh [Rocky Linux / CentOS]
|
||||
@@ -429,7 +429,7 @@ sudo systemctl enable mysqld
|
||||
sudo mysql_secure_installation
|
||||
|
||||
# 创建数据库
|
||||
mysql -u root -proot -e "CREATE DATABASE `rxthinkcmf.thinkphp6.elevue` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
|
||||
mysql -u root -proot -e "CREATE DATABASE `rxthinkcmf.thinkphp8.antdvue` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
|
||||
```
|
||||
|
||||
:::
|
||||
@@ -454,7 +454,7 @@ PostgreSQL 功能强大,支持 JSONB、全文检索等高级特性,需单独
|
||||
psql -U postgres -c "ALTER USER postgres WITH PASSWORD 'root';"
|
||||
|
||||
# 创建数据库
|
||||
psql -U postgres -c "CREATE DATABASE \"rxthinkcmf.thinkphp6.elevue\" OWNER postgres ENCODING 'UTF8';"
|
||||
psql -U postgres -c "CREATE DATABASE \"rxthinkcmf.thinkphp8.antdvue\" OWNER postgres ENCODING 'UTF8';"
|
||||
```
|
||||
|
||||
```sh [macOS]
|
||||
@@ -465,8 +465,8 @@ brew services start postgresql
|
||||
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'root';"
|
||||
|
||||
# 创建数据库
|
||||
sudo -u postgres psql -c "CREATE DATABASE \"rxthinkcmf.thinkphp6.elevue\" OWNER postgres ENCODING 'UTF8';"
|
||||
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE \"rxthinkcmf.thinkphp6.elevue\" TO postgres;"
|
||||
sudo -u postgres psql -c "CREATE DATABASE \"rxthinkcmf.thinkphp8.antdvue\" OWNER postgres ENCODING 'UTF8';"
|
||||
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE \"rxthinkcmf.thinkphp8.antdvue\" TO postgres;"
|
||||
```
|
||||
|
||||
```sh [Ubuntu / Debian]
|
||||
@@ -477,8 +477,8 @@ sudo systemctl start postgresql
|
||||
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'root';"
|
||||
|
||||
# 创建数据库
|
||||
sudo -u postgres psql -c "CREATE DATABASE \"rxthinkcmf.thinkphp6.elevue\" OWNER postgres ENCODING 'UTF8';"
|
||||
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE \"rxthinkcmf.thinkphp6.elevue\" TO postgres;"
|
||||
sudo -u postgres psql -c "CREATE DATABASE \"rxthinkcmf.thinkphp8.antdvue\" OWNER postgres ENCODING 'UTF8';"
|
||||
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE \"rxthinkcmf.thinkphp8.antdvue\" TO postgres;"
|
||||
```
|
||||
|
||||
```sh [Rocky Linux / CentOS]
|
||||
@@ -490,8 +490,8 @@ sudo systemctl start postgresql
|
||||
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'root';"
|
||||
|
||||
# 创建数据库
|
||||
sudo -u postgres psql -c "CREATE DATABASE \"rxthinkcmf.thinkphp6.elevue\" OWNER postgres ENCODING 'UTF8';"
|
||||
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE \"rxthinkcmf.thinkphp6.elevue\" TO postgres;"
|
||||
sudo -u postgres psql -c "CREATE DATABASE \"rxthinkcmf.thinkphp8.antdvue\" OWNER postgres ENCODING 'UTF8';"
|
||||
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE \"rxthinkcmf.thinkphp8.antdvue\" TO postgres;"
|
||||
```
|
||||
|
||||
:::
|
||||
@@ -558,7 +558,7 @@ SQL Server 是微软商业数据库,XAMPP 已自带 pdo_sqlsrv 驱动,Window
|
||||
# extension=php_pdo_sqlsrv_82_ts_x64.dll
|
||||
|
||||
# 创建数据库
|
||||
sqlcmd -S localhost -U sa -P root -Q "CREATE DATABASE [rxthinkcmf.thinkphp6.elevue] COLLATE Chinese_PRC_CI_AS"
|
||||
sqlcmd -S localhost -U sa -P root -Q "CREATE DATABASE [rxthinkcmf.thinkphp8.antdvue] COLLATE Chinese_PRC_CI_AS"
|
||||
```
|
||||
|
||||
```sh [macOS]
|
||||
@@ -571,7 +571,7 @@ docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=root" \
|
||||
pecl install pdo_sqlsrv
|
||||
|
||||
# 创建数据库
|
||||
sqlcmd -S localhost -U sa -P root -Q "CREATE DATABASE [rxthinkcmf.thinkphp6.elevue] COLLATE Chinese_PRC_CI_AS"
|
||||
sqlcmd -S localhost -U sa -P root -Q "CREATE DATABASE [rxthinkcmf.thinkphp8.antdvue] COLLATE Chinese_PRC_CI_AS"
|
||||
```
|
||||
|
||||
```sh [Ubuntu / Debian]
|
||||
@@ -593,7 +593,7 @@ echo "extension=pdo_sqlsrv.so" | sudo tee /etc/php/8.2/mods-available/pdo_sqlsrv
|
||||
sudo phpenmod pdo_sqlsrv
|
||||
|
||||
# 创建数据库
|
||||
sqlcmd -S localhost -U sa -P root -Q "CREATE DATABASE [rxthinkcmf.thinkphp6.elevue] COLLATE Chinese_PRC_CI_AS"
|
||||
sqlcmd -S localhost -U sa -P root -Q "CREATE DATABASE [rxthinkcmf.thinkphp8.antdvue] COLLATE Chinese_PRC_CI_AS"
|
||||
```
|
||||
|
||||
```sh [Rocky Linux / CentOS]
|
||||
@@ -613,7 +613,7 @@ sudo pecl install pdo_sqlsrv
|
||||
echo "extension=pdo_sqlsrv.so" | sudo tee /etc/php.d/pdo_sqlsrv.ini
|
||||
|
||||
# 创建数据库
|
||||
sqlcmd -S localhost -U sa -P root -Q "CREATE DATABASE [rxthinkcmf.thinkphp6.elevue] COLLATE Chinese_PRC_CI_AS"
|
||||
sqlcmd -S localhost -U sa -P root -Q "CREATE DATABASE [rxthinkcmf.thinkphp8.antdvue] COLLATE Chinese_PRC_CI_AS"
|
||||
```
|
||||
|
||||
:::
|
||||
@@ -647,7 +647,7 @@ Oracle 是企业级商业数据库,需手动安装 Instant Client 和 pdo_oci
|
||||
# .env 配置
|
||||
# DATABASE.TYPE = oracle
|
||||
# DATABASE.HOSTNAME = 127.0.0.1
|
||||
# DATABASE.DATABASE = rxthinkcmf.thinkphp6.elevue
|
||||
# DATABASE.DATABASE = rxthinkcmf.thinkphp8.antdvue
|
||||
# DATABASE.USERNAME = root
|
||||
# DATABASE.PASSWORD = root
|
||||
# DATABASE.HOSTPORT = 1521
|
||||
@@ -679,8 +679,8 @@ sudo phpenmod pdo_oci
|
||||
|
||||
# 4. 创建表空间和用户
|
||||
sqlplus system/root@localhost:1521/XE <<EOF
|
||||
CREATE TABLESPACE "rxthinkcmf_thinkphp6_elevue" DATAFILE '/opt/oracle/oradata/XE/rxthinkcmf_thinkphp6_elevue.dbf' SIZE 100M AUTOEXTEND ON NEXT 100M;
|
||||
CREATE USER "root" IDENTIFIED BY "root" DEFAULT TABLESPACE "rxthinkcmf_thinkphp6_elevue";
|
||||
CREATE TABLESPACE "rxthinkcmf_thinkphp8_antdvue" DATAFILE '/opt/oracle/oradata/XE/rxthinkcmf_thinkphp8_antdvue.dbf' SIZE 100M AUTOEXTEND ON NEXT 100M;
|
||||
CREATE USER "root" IDENTIFIED BY "root" DEFAULT TABLESPACE "rxthinkcmf_thinkphp8_antdvue";
|
||||
GRANT CONNECT, RESOURCE, CREATE VIEW TO "root";
|
||||
GRANT UNLIMITED TABLESPACE TO "root";
|
||||
EXIT;
|
||||
@@ -703,8 +703,8 @@ sudo phpenmod pdo_oci
|
||||
|
||||
# 4. 创建表空间和用户
|
||||
sqlplus system/root@localhost:1521/XE <<EOF
|
||||
CREATE TABLESPACE "rxthinkcmf_thinkphp6_elevue" DATAFILE '/opt/oracle/oradata/XE/rxthinkcmf_thinkphp6_elevue.dbf' SIZE 100M AUTOEXTEND ON NEXT 100M;
|
||||
CREATE USER "root" IDENTIFIED BY "root" DEFAULT TABLESPACE "rxthinkcmf_thinkphp6_elevue";
|
||||
CREATE TABLESPACE "rxthinkcmf_thinkphp8_antdvue" DATAFILE '/opt/oracle/oradata/XE/rxthinkcmf_thinkphp8_antdvue.dbf' SIZE 100M AUTOEXTEND ON NEXT 100M;
|
||||
CREATE USER "root" IDENTIFIED BY "root" DEFAULT TABLESPACE "rxthinkcmf_thinkphp8_antdvue";
|
||||
GRANT CONNECT, RESOURCE, CREATE VIEW TO "root";
|
||||
GRANT UNLIMITED TABLESPACE TO "root";
|
||||
EXIT;
|
||||
@@ -720,15 +720,15 @@ EOF
|
||||
```text
|
||||
document/
|
||||
├── mysql/
|
||||
│ └── rxthinkcmf.thinkphp6.elevue.sql # MySQL 版本
|
||||
│ └── rxthinkcmf.thinkphp8.antdvue.sql # MySQL 版本
|
||||
├── postgresql/
|
||||
│ └── rxthinkcmf.thinkphp6.elevue.sql # PostgreSQL 版本
|
||||
│ └── rxthinkcmf.thinkphp8.antdvue.sql # PostgreSQL 版本
|
||||
├── sqlserver/
|
||||
│ └── rxthinkcmf.thinkphp6.elevue.sql # SQL Server 版本
|
||||
│ └── rxthinkcmf.thinkphp8.antdvue.sql # SQL Server 版本
|
||||
├── oracle/
|
||||
│ └── rxthinkcmf.thinkphp6.elevue.sql # Oracle 版本
|
||||
│ └── rxthinkcmf.thinkphp8.antdvue.sql # Oracle 版本
|
||||
└── sqlite/
|
||||
└── rxthinkcmf.thinkphp6.elevue.sql # SQLite 版本
|
||||
└── rxthinkcmf.thinkphp8.antdvue.sql # SQLite 版本
|
||||
```
|
||||
|
||||
各数据库脚本包含完整的表结构定义和初始数据(用户、角色、菜单、字典、城市行政区划等),已针对各数据库的 SQL 语法做了适配,可直接导入使用。
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
├── templates/ ← 代码生成器模板
|
||||
├── runtime/ ← 运行时缓存(自动生成)
|
||||
├── vendor/ ← Composer 依赖
|
||||
├── wiki/ ← 文档站点(VitePress)
|
||||
├── document/ ← 开发参考手册(txt)
|
||||
├── .env ← 环境变量配置
|
||||
└── think ← ThinkPHP 命令行入口
|
||||
|
||||
@@ -82,34 +82,34 @@ src/views/
|
||||
```vue
|
||||
<template>
|
||||
<!-- 搜索区 -->
|
||||
<el-form :model="searchForm" inline>
|
||||
<el-form-item label="名称">
|
||||
<el-input v-model="searchForm.name" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="fetchData">搜索</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<a-form :model="searchForm" layout="inline">
|
||||
<a-form-item label="名称">
|
||||
<a-input v-model:value="searchForm.name" allow-clear />
|
||||
</a-form-item>
|
||||
<a-form-item>
|
||||
<a-button type="primary" @click="fetchData">搜索</a-button>
|
||||
</a-form-item>
|
||||
</a-form>
|
||||
|
||||
<!-- 操作栏 -->
|
||||
<el-button v-perm="'sys:example:add'" type="primary" @click="handleAdd">新增</el-button>
|
||||
<a-button v-perm="'sys:example:add'" type="primary" @click="handleAdd">新增</a-button>
|
||||
|
||||
<!-- 数据表格 -->
|
||||
<el-table :data="tableData">
|
||||
<el-table-column prop="id" label="ID" />
|
||||
<el-table-column prop="name" label="名称" />
|
||||
<el-table-column prop="statusText" label="状态" />
|
||||
<el-table-column label="操作">
|
||||
<template #default="{ row }">
|
||||
<el-button v-perm="'sys:example:update'" @click="handleEdit(row)">编辑</el-button>
|
||||
<el-button v-perm="'sys:example:delete'" type="danger" @click="handleDelete(row.id)">删除</el-button>
|
||||
<a-table :data-source="tableData" :pagination="false" :row-key="(row) => row.id">
|
||||
<a-table-column title="ID" data-index="id" />
|
||||
<a-table-column title="名称" data-index="name" />
|
||||
<a-table-column title="状态" data-index="statusText" />
|
||||
<a-table-column title="操作">
|
||||
<template #bodyCell="{ record }">
|
||||
<a-button v-perm="'sys:example:update'" type="link" @click="handleEdit(record)">编辑</a-button>
|
||||
<a-button v-perm="'sys:example:delete'" danger type="link" @click="handleDelete(record.id)">删除</a-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</a-table-column>
|
||||
</a-table>
|
||||
|
||||
<!-- 分页 -->
|
||||
<el-pagination v-model:current-page="pageNo" v-model:page-size="pageSize"
|
||||
:total="total" @change="fetchData" />
|
||||
<a-pagination v-model:current="pageNo" v-model:page-size="pageSize"
|
||||
:total="total" show-total @change="fetchData" />
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
@@ -230,8 +230,6 @@ src/utils/http/axios/
|
||||
| asyncRouteStore | `asyncRoute.ts` | 动态路由、keep-alive 缓存列表 |
|
||||
| projectSettingStore | `projectSetting.ts` | 项目配置(主题、布局等) |
|
||||
| tabsViewStore | `tabsView.ts` | 标签页导航状态 |
|
||||
| designSettingStore | `designSetting.ts` | 主题设计配置 |
|
||||
| ossConfigStore | `ossConfig.ts` | 云存储配置 |
|
||||
| lockscreenStore | `lockscreen.ts` | 锁屏状态 |
|
||||
|
||||
**userStore 核心流程:**
|
||||
@@ -312,10 +310,10 @@ src/utils/http/axios/
|
||||
|
||||
```vue
|
||||
<!-- v-perm:单权限 -->
|
||||
<el-button v-perm="'sys:user:add'" type="primary">新增</el-button>
|
||||
<a-button v-perm="'sys:user:add'" type="primary">新增</a-button>
|
||||
|
||||
<!-- v-perms:多权限(满足任一即可) -->
|
||||
<el-button v-perms="['sys:user:add', 'sys:user:update']">操作</el-button>
|
||||
<a-button v-perms="['sys:user:add', 'sys:user:update']">操作</a-button>
|
||||
```
|
||||
|
||||
无权限时元素直接从 DOM 移除,而非仅隐藏。
|
||||
@@ -330,9 +328,10 @@ src/utils/http/axios/
|
||||
|
||||
| Hook | 文件 | 说明 |
|
||||
|------|------|------|
|
||||
| `usePermission` | `hooks/web/usePermission.ts` | 权限判断(hasPermission、hasSomePermission) |
|
||||
| `useTable` | `hooks/web/useTable.ts` | 表格通用逻辑(分页、搜索、刷新) |
|
||||
| `useForm` | `hooks/web/useForm.ts` | 表单通用逻辑(提交、重置、校验) |
|
||||
| `usePermission` | `hooks/web/usePermission.ts` | 权限判断(hasPermission、hasEveryPermission、hasSomePermission) |
|
||||
| `usePage` | `hooks/web/usePage.ts` | 分页参数管理 |
|
||||
| `useECharts` | `hooks/web/useECharts.ts` | ECharts 图表挂载与销毁 |
|
||||
| `useForm` | `components/Form/src/hooks/useForm.ts` | 表单注册(BasicForm 配合 `@register` 使用) |
|
||||
|
||||
### Directives(自定义指令)
|
||||
|
||||
@@ -347,7 +346,7 @@ src/utils/http/axios/
|
||||
|------|------|------|
|
||||
| HTTP | `utils/http/axios/` | Axios 封装 |
|
||||
| Storage | `utils/Storage.ts` | localStorage 封装 |
|
||||
| Dict | `utils/dict.ts` | 字典工具(从 Store 获取字典值) |
|
||||
| useLockFn | `utils/useLockFn.ts` | 防重复提交(请求级加锁) |
|
||||
|
||||
## 数据流向
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
```text
|
||||
┌─────────────────────────────────────────────────────────────────┐
|
||||
│ 浏览器(Vue3 + ElementPlus) │
|
||||
│ 浏览器(Vue3 + AntDesign) │
|
||||
│ Axios HTTP 请求 / Vite 开发代理 │
|
||||
└──────────────────────────────┬──────────────────────────────────┘
|
||||
│
|
||||
@@ -238,7 +238,7 @@ DictService 和 ParamService 均采用此架构,大幅减少数据库查询。
|
||||
|
||||
```text
|
||||
┌──────────────────────────────────────────────────────────────┐
|
||||
│ 前端(Vue3 + ElementPlus) │
|
||||
│ 前端(Vue3 + AntDesign) │
|
||||
│ Pinia · Vue Router · Axios · TinyMce · ECharts │
|
||||
└──────────────────────────┬───────────────────────────────────┘
|
||||
│ HTTP / JSON
|
||||
|
||||
Reference in New Issue
Block a user