v3.16.0 【新增】优化代码生成 字典和文件预览;【新增】代码生成 菜单SQL;【新增】登录页面GIF炫酷图片;

This commit is contained in:
zhuoda 2025-04-06 20:25:06 +08:00
parent 1abe2ee05e
commit ce0551696a
16 changed files with 34 additions and 23 deletions

View File

@ -33,6 +33,7 @@ import org.springframework.stereotype.Service;
import java.io.File; import java.io.File;
import java.io.OutputStream; import java.io.OutputStream;
import java.io.StringWriter; import java.io.StringWriter;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;

View File

@ -13,7 +13,6 @@ import net.lab1024.sa.base.module.support.codegenerator.domain.model.CodeTableFi
import net.lab1024.sa.base.module.support.codegenerator.service.variable.CodeGenerateBaseVariableService; import net.lab1024.sa.base.module.support.codegenerator.service.variable.CodeGenerateBaseVariableService;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* @Author 1024创新实验室-主任:卓大 * @Author 1024创新实验室-主任:卓大
@ -66,7 +65,7 @@ public class ListVariableService extends CodeGenerateBaseVariableService {
// 表格列表 // 表格列表
List<Map<String, Object>> listVariable = new ArrayList<>(); List<Map<String, Object>> listVariable = new ArrayList<>();
// 过滤掉不显示的字段 // 过滤掉不显示的字段
List<CodeTableField> tableFields = form.getTableFields().stream().filter(CodeTableField::getShowFlag).collect(Collectors.toList()); List<CodeTableField> tableFields = form.getTableFields().stream().filter(CodeTableField::getShowFlag).toList();
for (CodeTableField tableField : tableFields) { for (CodeTableField tableField : tableFields) {
Map<String, Object> objectMap = BeanUtil.beanToMap(tableField); Map<String, Object> objectMap = BeanUtil.beanToMap(tableField);

View File

@ -39,7 +39,7 @@ spring:
host: smtp.163.com host: smtp.163.com
port: 465 port: 465
username: lab1024@163.com username: lab1024@163.com
password: LAB1024LAB password: 1024lab
properties: properties:
mail: mail:
smtp: smtp:

View File

@ -79,7 +79,7 @@ server:
# 文件上传 配置 # 文件上传 配置
file: file:
storage: storage:
mode: local mode: cloud
local: local:
upload-path: /home/smart_admin_v3/upload/ #文件上传目录 upload-path: /home/smart_admin_v3/upload/ #文件上传目录
url-prefix: url-prefix:
@ -87,8 +87,8 @@ file:
region: oss-cn-hangzhou region: oss-cn-hangzhou
endpoint: oss-cn-hangzhou.aliyuncs.com endpoint: oss-cn-hangzhou.aliyuncs.com
bucket-name: 1024lab-smart-admin bucket-name: 1024lab-smart-admin
access-key: access-key: LTAI5tDnZ1wHwFHWMUNWznK2
secret-key: secret-key: 6tVJ9K2mbrDrcbBLIBRBzho13FZ52t
url-prefix: https://${file.storage.cloud.bucket-name}.${file.storage.cloud.endpoint}/ url-prefix: https://${file.storage.cloud.bucket-name}.${file.storage.cloud.endpoint}/
private-url-expire-seconds: 3600 private-url-expire-seconds: 3600

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 MiB

View File

@ -7,7 +7,7 @@
align-items: center; align-items: center;
justify-content: center; justify-content: center;
.box-item { .box-item {
width: 444px; width: 460px;
height: 600px; height: 600px;
&.desc { &.desc {
background: #ffffff; background: #ffffff;

View File

@ -13,9 +13,9 @@
<div class="box-item desc"> <div class="box-item desc">
<div class="welcome"> <div class="welcome">
<p>欢迎登录 SmartAdmin V3</p> <p>欢迎登录 SmartAdmin V3</p>
<p class="sub-welcome">高质量代码简洁安全的开发平台</p> <p class="sub-welcome">高质量代码简洁高效安全的开发平台</p>
</div> </div>
<img class="welcome-img" :src="leftBg2" /> <img class="welcome-img" :src="loginGif" />
</div> </div>
<div class="box-item login"> <div class="box-item login">
<img class="login-qr" :src="loginQR" /> <img class="login-qr" :src="loginQR" />
@ -81,6 +81,7 @@
import { useUserStore } from '/@/store/modules/system/user'; import { useUserStore } from '/@/store/modules/system/user';
import loginQR from '/@/assets/images/login/login-qr.png'; import loginQR from '/@/assets/images/login/login-qr.png';
import leftBg2 from '/@/assets/images/login/left-bg2.png'; import leftBg2 from '/@/assets/images/login/left-bg2.png';
import loginGif from '/@/assets/images/login/login.gif';
import wechatIcon from '/@/assets/images/login/wechat-icon.png'; import wechatIcon from '/@/assets/images/login/wechat-icon.png';
import aliIcon from '/@/assets/images/login/ali-icon.png'; import aliIcon from '/@/assets/images/login/ali-icon.png';
import douyinIcon from '/@/assets/images/login/douyin-icon.png'; import douyinIcon from '/@/assets/images/login/douyin-icon.png';

View File

@ -18,8 +18,8 @@
"type": "module", "type": "module",
"dependencies": { "dependencies": {
"@ant-design/icons-vue": "^7.0.1", "@ant-design/icons-vue": "^7.0.1",
"@wangeditor/editor": "5.1.14", "@wangeditor-next/editor": "5.6.34",
"@wangeditor/editor-for-vue": "5.1.12", "@wangeditor-next/editor-for-vue": "5.1.14",
"ant-design-vue": "4.2.5", "ant-design-vue": "4.2.5",
"axios": "1.6.8", "axios": "1.6.8",
"clipboard": "2.0.11", "clipboard": "2.0.11",

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 MiB

View File

@ -25,7 +25,7 @@
</a-form-item> </a-form-item>
<a-form-item label="产地" name="place" class="smart-query-form-item"> <a-form-item label="产地" name="place" class="smart-query-form-item">
<DictSelect :dictCode="DICT_CODE_ENUM.GOODS_PLACE" v-model:value="queryForm.place" width="120px" /> <DictSelect :dict-code="DICT_CODE_ENUM.GOODS_PLACE" v-model:value="queryForm.place" width="120px" />
</a-form-item> </a-form-item>
<a-form-item label="商品状态" name="goodsStatus" class="smart-query-form-item"> <a-form-item label="商品状态" name="goodsStatus" class="smart-query-form-item">
@ -246,7 +246,7 @@
resizable: true, resizable: true,
filterOptions: { filterOptions: {
type: 'dict-select', type: 'dict-select',
dictCode: DICT_CODE_ENUM.GOODS_PLACE, dictCode: DICT_CODE_ENUM.GOODS_PLACE || 'GOODS_PLACE',
}, },
width: 150, width: 150,
}, },

View File

@ -39,7 +39,16 @@
<TableOperator class="smart-margin-bottom5" v-model="columns" :tableId="TABLE_ID_CONST.SUPPORT.CONFIG" :refresh="ajaxQuery" /> <TableOperator class="smart-margin-bottom5" v-model="columns" :tableId="TABLE_ID_CONST.SUPPORT.CONFIG" :refresh="ajaxQuery" />
</a-row> </a-row>
<a-table size="small" :scroll="{ x: 1000 }" :loading="tableLoading" bordered :dataSource="tableData" :columns="columns" rowKey="configId" :pagination="false"> <a-table
size="small"
:scroll="{ x: 1000 }"
:loading="tableLoading"
bordered
:dataSource="tableData"
:columns="columns"
rowKey="configId"
:pagination="false"
>
<template #bodyCell="{ record, index, column }"> <template #bodyCell="{ record, index, column }">
<template v-if="column.dataIndex === 'seq'"> <template v-if="column.dataIndex === 'seq'">
{{ index + 1 }} {{ index + 1 }}

View File

@ -7,7 +7,7 @@
align-items: center; align-items: center;
justify-content: center; justify-content: center;
.box-item { .box-item {
width: 444px; width: 460px;
height: 600px; height: 600px;
&.desc { &.desc {
background: #ffffff; background: #ffffff;

View File

@ -13,9 +13,9 @@
<div class="box-item desc"> <div class="box-item desc">
<div class="welcome"> <div class="welcome">
<p>欢迎登录 SmartAdmin V3</p> <p>欢迎登录 SmartAdmin V3</p>
<p class="sub-welcome">高质量代码简洁安全的开发平台</p> <p class="sub-welcome">高质量代码简洁高效安全的开发平台</p>
</div> </div>
<img class="welcome-img" :src="leftBg2" /> <img class="welcome-img" :src="loginGif" />
</div> </div>
<div class="box-item login"> <div class="box-item login">
<img class="login-qr" :src="loginQR" /> <img class="login-qr" :src="loginQR" />
@ -81,6 +81,7 @@
import { useUserStore } from '/@/store/modules/system/user'; import { useUserStore } from '/@/store/modules/system/user';
import loginQR from '/@/assets/images/login/login-qr.png'; import loginQR from '/@/assets/images/login/login-qr.png';
import leftBg2 from '/@/assets/images/login/left-bg2.png'; import leftBg2 from '/@/assets/images/login/left-bg2.png';
import loginGif from '/@/assets/images/login/login.gif';
import wechatIcon from '/@/assets/images/login/wechat-icon.png'; import wechatIcon from '/@/assets/images/login/wechat-icon.png';
import aliIcon from '/@/assets/images/login/ali-icon.png'; import aliIcon from '/@/assets/images/login/ali-icon.png';
import douyinIcon from '/@/assets/images/login/douyin-icon.png'; import douyinIcon from '/@/assets/images/login/douyin-icon.png';