提交 5c9a2c41 authored 作者: ww1xhqc's avatar ww1xhqc

前端

上级 1a99c22f
...@@ -17,7 +17,6 @@ import com.tykj.model.entity.customEnums.ConnectionType; ...@@ -17,7 +17,6 @@ import com.tykj.model.entity.customEnums.ConnectionType;
import com.tykj.model.entity.vo.*; import com.tykj.model.entity.vo.*;
import com.tykj.model.service.ModelService; import com.tykj.model.service.ModelService;
import com.tykj.model.utils.SessionUtil; import com.tykj.model.utils.SessionUtil;
import com.tykj.model.utils.SqlTypeUtil; import com.tykj.model.utils.SqlTypeUtil;
...@@ -158,7 +157,7 @@ public class ModelImpl implements ModelService { ...@@ -158,7 +157,7 @@ public class ModelImpl implements ModelService {
tableInfo.setXml(xmlMapping); tableInfo.setXml(xmlMapping);
tableInfo.setDescription(tableVO.getDescription()); tableInfo.setDescription(tableVO.getDescription());
System.out.println(1 / 0);
tableInfoDao.save(tableInfo); tableInfoDao.save(tableInfo);
//构建字段 //构建字段
//默认存储ID字段 //默认存储ID字段
...@@ -199,14 +198,14 @@ public class ModelImpl implements ModelService { ...@@ -199,14 +198,14 @@ public class ModelImpl implements ModelService {
* @Date 16:17 2021/3/5 * @Date 16:17 2021/3/5
**/ **/
@Override @Override
public int operationValueByEntityName(Map<String, Object> map, SessionImpl session, BiConsumer<String,Object> saveOrDelete, FourComsumer<TableInfo, Object, Type , String > valitor) { public int operationValueByEntityName(Map<String, Object> map, SessionImpl session, BiConsumer<String, Object> saveOrDelete, FourComsumer<TableInfo, Object, Type, String> valitor) {
session.getTransaction().begin(); session.getTransaction().begin();
for (String tableName : for (String tableName :
map.keySet()) { map.keySet()) {
Object values = map.get(tableName); Object values = map.get(tableName);
if (values instanceof Map) { if (values instanceof Map) {
//插入数据 //插入数据
operationValue(tableName, (Map) values, session,saveOrDelete,valitor); operationValue(tableName, (Map) values, session, saveOrDelete, valitor);
} }
} }
try { try {
...@@ -223,7 +222,7 @@ public class ModelImpl implements ModelService { ...@@ -223,7 +222,7 @@ public class ModelImpl implements ModelService {
} }
@Override @Override
public int operationValueByEntityNameList(List<Map<String, Object>> mapList, SessionImpl session, BiConsumer<String, Object> biConsumer,FourComsumer<TableInfo, Object, Type , String > valitor) { public int operationValueByEntityNameList(List<Map<String, Object>> mapList, SessionImpl session, BiConsumer<String, Object> biConsumer, FourComsumer<TableInfo, Object, Type, String> valitor) {
session.getTransaction().begin(); session.getTransaction().begin();
for (Map<String, Object> map : mapList) { for (Map<String, Object> map : mapList) {
for (String tableName : for (String tableName :
...@@ -231,7 +230,7 @@ public class ModelImpl implements ModelService { ...@@ -231,7 +230,7 @@ public class ModelImpl implements ModelService {
Object values = map.get(tableName); Object values = map.get(tableName);
if (values instanceof Map) { if (values instanceof Map) {
//插入数据 //插入数据
operationValue(tableName, (Map) values, session,biConsumer,valitor); operationValue(tableName, (Map) values, session, biConsumer, valitor);
} }
} }
} }
...@@ -259,8 +258,8 @@ public class ModelImpl implements ModelService { ...@@ -259,8 +258,8 @@ public class ModelImpl implements ModelService {
public void operationValue(String tableName, public void operationValue(String tableName,
Map map, Map map,
SessionImpl session, SessionImpl session,
BiConsumer<String,Object> saveOrDelete, BiConsumer<String, Object> saveOrDelete,
FourComsumer<TableInfo, Object, Type , String > valitor) { FourComsumer<TableInfo, Object, Type, String> valitor) {
TableInfo tableInfo = tableInfoDao.findByModelName(tableName); TableInfo tableInfo = tableInfoDao.findByModelName(tableName);
EntityPersister entityPersister = session.getEntityPersister(tableName, map); EntityPersister entityPersister = session.getEntityPersister(tableName, map);
...@@ -281,11 +280,11 @@ public class ModelImpl implements ModelService { ...@@ -281,11 +280,11 @@ public class ModelImpl implements ModelService {
//根据目标Type转换 //根据目标Type转换
changeValueToTargetType(map, value, propertyType, propertyNames[i]); changeValueToTargetType(map, value, propertyType, propertyNames[i]);
//验证 //验证
if (valitor!=null){ if (valitor != null) {
valitor.accept(tableInfo, value, propertyType, propertyNames[i]); valitor.accept(tableInfo, value, propertyType, propertyNames[i]);
} }
} }
saveOrDelete.accept(tableName,map); saveOrDelete.accept(tableName, map);
} }
...@@ -563,6 +562,7 @@ public class ModelImpl implements ModelService { ...@@ -563,6 +562,7 @@ public class ModelImpl implements ModelService {
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public int delTable(DelTableVO delTableVO) { public int delTable(DelTableVO delTableVO) {
Optional<TableInfo> byId = tableInfoDao.findById(delTableVO.getId()); Optional<TableInfo> byId = tableInfoDao.findById(delTableVO.getId());
if (!byId.isPresent()) { if (!byId.isPresent()) {
...@@ -573,6 +573,7 @@ public class ModelImpl implements ModelService { ...@@ -573,6 +573,7 @@ public class ModelImpl implements ModelService {
tableInfoDao.deleteById(delTableVO.getId()); tableInfoDao.deleteById(delTableVO.getId());
List<ColumnInfo> allByDbId = columnInfoDao.findAllByDbId(delTableVO.getId()); List<ColumnInfo> allByDbId = columnInfoDao.findAllByDbId(delTableVO.getId());
columnInfoDao.deleteAll(allByDbId); columnInfoDao.deleteAll(allByDbId);
System.out.println(1 / 0);
String sql1 = "DROP TABLE " + tableInfo.getModelName().toUpperCase(); String sql1 = "DROP TABLE " + tableInfo.getModelName().toUpperCase();
log.info(sql1); log.info(sql1);
jdbcTemplate.execute(sql1); jdbcTemplate.execute(sql1);
...@@ -592,7 +593,6 @@ public class ModelImpl implements ModelService { ...@@ -592,7 +593,6 @@ public class ModelImpl implements ModelService {
} }
@Override @Override
public TableAndColumnInfoVO getTableInfoAndColumnInfoByBatch(Integer[] ids) { public TableAndColumnInfoVO getTableInfoAndColumnInfoByBatch(Integer[] ids) {
TableAndColumnInfoVO tableAndColumnInfoVO = new TableAndColumnInfoVO(); TableAndColumnInfoVO tableAndColumnInfoVO = new TableAndColumnInfoVO();
...@@ -631,6 +631,8 @@ public class ModelImpl implements ModelService { ...@@ -631,6 +631,8 @@ public class ModelImpl implements ModelService {
if ("UPDATE_TIME".equals(propertyName)) { if ("UPDATE_TIME".equals(propertyName)) {
map.put(propertyName, new Date()); map.put(propertyName, new Date());
} }
// TimestampType
if (propertyType instanceof TimestampType) { if (propertyType instanceof TimestampType) {
if (value instanceof String) { if (value instanceof String) {
if (StringUtils.isNotEmpty((String) value)) { if (StringUtils.isNotEmpty((String) value)) {
...@@ -687,7 +689,7 @@ public class ModelImpl implements ModelService { ...@@ -687,7 +689,7 @@ public class ModelImpl implements ModelService {
//引用校验 //引用校验
if (!isNull(quoteDao.findAllByColumnId(columnInfo.getId()))) { if (!isNull(quoteDao.findAllByColumnId(columnInfo.getId()))) {
List<String> quotes = quoteDao.findAllByColumnId(columnInfo.getId()).stream().map(Quote::getValue).collect(Collectors.toList()); List<String> quotes = quoteDao.findAllByColumnId(columnInfo.getId()).stream().map(Quote::getValue).collect(Collectors.toList());
if (!validationQuote(quotes, value)) { if (!validationQuote(quotes, value)) {
throw new ApiException("引用校验不通过!"); throw new ApiException("引用校验不通过!");
} }
} }
......
.searchBar[data-v-4f65c0ad]{background-color:#fff;width:100%;height:84px;box-shadow:0 2px 4px rgba(42,61,179,.1);border-radius:4px;display:flex;align-items:center;box-sizing:border-box}.addOutsideTableDialog[data-v-4f65c0ad] .el-dialog__header{background:#e0e8ff;height:36px;padding:10px;display:flex;align-items:center}.addOutsideTableDialog[data-v-4f65c0ad] .el-dialog__header>.el-dialog__title{font-size:22px;color:#35435e;font-weight:700;margin-left:30px}.addOutsideTableDialog[data-v-4f65c0ad] .el-dialog__header>.el-dialog__headerbtn>i{border-radius:50%;background:#2a3db3;color:#fff;font-size:22px}.addProcessDialog[data-v-4f65c0ad] .el-input__inner,.addProcessDialog[data-v-4f65c0ad] .el-textarea__inner{font-size:20px;background-color:#f9fafd}.ty_padding_left_right[data-v-4f65c0ad]{padding:0 36px}.checkModel[data-v-4f65c0ad]{width:100%;height:60px;display:flex}.ty_lable[data-v-4f65c0ad]{font-size:20px;color:#606266;line-height:60px;white-space:nowrap}.checkModel_select[data-v-4f65c0ad]{flex:1;height:36px;margin-top:10px;padding-left:16px;padding-right:6px}.checkModel_select[data-v-4f65c0ad] .el-select{width:100%;height:40px;background:#f9fafd;border:1px solid #ebedf1;font-size:20px;color:#a1a8ba;border-radius:3px}.checkModel_select[data-v-4f65c0ad] .el-select .el-input__inner{border:0;font-size:20px}.check_byte[data-v-4f65c0ad]{display:flex}.table_wrap[data-v-4f65c0ad]{width:calc(100% - 40px);flex:1;margin-top:0;padding-left:16px}.searchBar[data-v-10604b56]{background-color:#fff;width:100%;height:84px;box-shadow:0 2px 4px rgba(42,61,179,.1);border-radius:4px;display:flex;align-items:center;box-sizing:border-box}.addOptionDialog[data-v-10604b56] .el-dialog__header{background:#e0e8ff;height:36px;padding:10px;display:flex;align-items:center}.addOptionDialog[data-v-10604b56] .el-dialog__header>.el-dialog__title{font-size:22px;color:#35435e;font-weight:700;margin-left:30px}.addOptionDialog[data-v-10604b56] .el-dialog__header>.el-dialog__headerbtn>i{border-radius:50%;background:#2a3db3;color:#fff;font-size:22px}.addProcessDialog[data-v-10604b56] .el-input__inner,.addProcessDialog[data-v-10604b56] .el-textarea__inner{font-size:20px;background-color:#f9fafd}.ty_padding_left_right[data-v-10604b56]{padding:0 36px}.checkModel[data-v-10604b56]{width:100%;height:60px}.checkModel .add[data-v-10604b56]{border:1px solid #2a3db3;color:#2a3db3;border-radius:20px}.add[data-v-10604b56]:hover,.checkModel .add[data-v-10604b56]{width:100px;height:40px;text-align:center;line-height:40px;font-size:18px;cursor:pointer}.add[data-v-10604b56]:hover{background-color:#2a3db3;color:#fff;border-radius:20px}.check_byte[data-v-10604b56]{margin-top:30px}.check_byte .item[data-v-10604b56]{display:flex;align-items:center;width:500px;margin-bottom:10px}.item[data-v-10604b56] .el-input__inner{height:50px;font-size:18px}.item .del[data-v-10604b56]{margin-left:40px;width:50px;color:red;font-size:18px;cursor:pointer}.searchBar[data-v-1eebce70]{background-color:#fff;width:100%;height:84px;box-shadow:0 2px 4px rgba(42,61,179,.1);border-radius:4px;display:flex;align-items:center;box-sizing:border-box}.addOptionDialog[data-v-1eebce70] .el-dialog__header{background:#e0e8ff;height:36px;padding:10px;display:flex;align-items:center}.addOptionDialog[data-v-1eebce70] .el-dialog__header>.el-dialog__title{font-size:22px;color:#35435e;font-weight:700;margin-left:30px}.addOptionDialog[data-v-1eebce70] .el-dialog__header>.el-dialog__headerbtn>i{border-radius:50%;background:#2a3db3;color:#fff;font-size:22px}.addProcessDialog[data-v-1eebce70] .el-input__inner,.addProcessDialog[data-v-1eebce70] .el-textarea__inner{font-size:20px;background-color:#f9fafd}.ty_padding_left_right[data-v-1eebce70]{padding:0 36px}.checkModel[data-v-1eebce70]{width:100%;height:60px}.checkModel .add[data-v-1eebce70]{border:1px solid #2a3db3;color:#2a3db3;border-radius:20px}.add[data-v-1eebce70]:hover,.checkModel .add[data-v-1eebce70]{width:100px;height:40px;text-align:center;line-height:40px;font-size:18px;cursor:pointer}.add[data-v-1eebce70]:hover{background-color:#2a3db3;color:#fff;border-radius:20px}.check_byte[data-v-1eebce70]{margin-top:30px}.check_byte .item[data-v-1eebce70]{display:flex;align-items:center;margin-bottom:10px}.item[data-v-1eebce70] .el-input__inner{height:50px;font-size:18px}.item .del[data-v-1eebce70]{margin-left:40px;width:50px;color:red;font-size:18px;cursor:pointer}.addDataModel[data-v-7f6edf9e]{height:100%;background:#fff;display:flex;flex-direction:column}.addDataModel .searchBar[data-v-7f6edf9e]{height:120px;margin:10px;padding:10px;background:rgba(166,192,201,.479)}.addDataModel .searchBar .topDiv[data-v-7f6edf9e]{text-align:left}.addDataModel .searchBar .topDiv .addProcess[data-v-7f6edf9e]{margin-left:40px}.addDataModel .searchBar .topDiv .preservationButton[data-v-7f6edf9e]{margin-left:30px}.addDataModel .ty_table[data-v-7f6edf9e]{margin:10px;flex:1} .searchBar[data-v-4f65c0ad]{background-color:#fff;width:100%;height:84px;box-shadow:0 2px 4px rgba(42,61,179,.1);border-radius:4px;display:flex;align-items:center;box-sizing:border-box}.addOutsideTableDialog[data-v-4f65c0ad] .el-dialog__header{background:#e0e8ff;height:36px;padding:10px;display:flex;align-items:center}.addOutsideTableDialog[data-v-4f65c0ad] .el-dialog__header>.el-dialog__title{font-size:22px;color:#35435e;font-weight:700;margin-left:30px}.addOutsideTableDialog[data-v-4f65c0ad] .el-dialog__header>.el-dialog__headerbtn>i{border-radius:50%;background:#2a3db3;color:#fff;font-size:22px}.addProcessDialog[data-v-4f65c0ad] .el-input__inner,.addProcessDialog[data-v-4f65c0ad] .el-textarea__inner{font-size:20px;background-color:#f9fafd}.ty_padding_left_right[data-v-4f65c0ad]{padding:0 36px}.checkModel[data-v-4f65c0ad]{width:100%;height:60px;display:flex}.ty_lable[data-v-4f65c0ad]{font-size:20px;color:#606266;line-height:60px;white-space:nowrap}.checkModel_select[data-v-4f65c0ad]{flex:1;height:36px;margin-top:10px;padding-left:16px;padding-right:6px}.checkModel_select[data-v-4f65c0ad] .el-select{width:100%;height:40px;background:#f9fafd;border:1px solid #ebedf1;font-size:20px;color:#a1a8ba;border-radius:3px}.checkModel_select[data-v-4f65c0ad] .el-select .el-input__inner{border:0;font-size:20px}.check_byte[data-v-4f65c0ad]{display:flex}.table_wrap[data-v-4f65c0ad]{width:calc(100% - 40px);flex:1;margin-top:0;padding-left:16px}.searchBar[data-v-10604b56]{background-color:#fff;width:100%;height:84px;box-shadow:0 2px 4px rgba(42,61,179,.1);border-radius:4px;display:flex;align-items:center;box-sizing:border-box}.addOptionDialog[data-v-10604b56] .el-dialog__header{background:#e0e8ff;height:36px;padding:10px;display:flex;align-items:center}.addOptionDialog[data-v-10604b56] .el-dialog__header>.el-dialog__title{font-size:22px;color:#35435e;font-weight:700;margin-left:30px}.addOptionDialog[data-v-10604b56] .el-dialog__header>.el-dialog__headerbtn>i{border-radius:50%;background:#2a3db3;color:#fff;font-size:22px}.addProcessDialog[data-v-10604b56] .el-input__inner,.addProcessDialog[data-v-10604b56] .el-textarea__inner{font-size:20px;background-color:#f9fafd}.ty_padding_left_right[data-v-10604b56]{padding:0 36px}.checkModel[data-v-10604b56]{width:100%;height:60px}.checkModel .add[data-v-10604b56]{border:1px solid #2a3db3;color:#2a3db3;border-radius:20px}.add[data-v-10604b56]:hover,.checkModel .add[data-v-10604b56]{width:100px;height:40px;text-align:center;line-height:40px;font-size:18px;cursor:pointer}.add[data-v-10604b56]:hover{background-color:#2a3db3;color:#fff;border-radius:20px}.check_byte[data-v-10604b56]{margin-top:30px}.check_byte .item[data-v-10604b56]{display:flex;align-items:center;width:500px;margin-bottom:10px}.item[data-v-10604b56] .el-input__inner{height:50px;font-size:18px}.item .del[data-v-10604b56]{margin-left:40px;width:50px;color:red;font-size:18px;cursor:pointer}.searchBar[data-v-1eebce70]{background-color:#fff;width:100%;height:84px;box-shadow:0 2px 4px rgba(42,61,179,.1);border-radius:4px;display:flex;align-items:center;box-sizing:border-box}.addOptionDialog[data-v-1eebce70] .el-dialog__header{background:#e0e8ff;height:36px;padding:10px;display:flex;align-items:center}.addOptionDialog[data-v-1eebce70] .el-dialog__header>.el-dialog__title{font-size:22px;color:#35435e;font-weight:700;margin-left:30px}.addOptionDialog[data-v-1eebce70] .el-dialog__header>.el-dialog__headerbtn>i{border-radius:50%;background:#2a3db3;color:#fff;font-size:22px}.addProcessDialog[data-v-1eebce70] .el-input__inner,.addProcessDialog[data-v-1eebce70] .el-textarea__inner{font-size:20px;background-color:#f9fafd}.ty_padding_left_right[data-v-1eebce70]{padding:0 36px}.checkModel[data-v-1eebce70]{width:100%;height:60px}.checkModel .add[data-v-1eebce70]{border:1px solid #2a3db3;color:#2a3db3;border-radius:20px}.add[data-v-1eebce70]:hover,.checkModel .add[data-v-1eebce70]{width:100px;height:40px;text-align:center;line-height:40px;font-size:18px;cursor:pointer}.add[data-v-1eebce70]:hover{background-color:#2a3db3;color:#fff;border-radius:20px}.check_byte[data-v-1eebce70]{margin-top:30px}.check_byte .item[data-v-1eebce70]{display:flex;align-items:center;margin-bottom:10px}.item[data-v-1eebce70] .el-input__inner{height:50px;font-size:18px}.item .del[data-v-1eebce70]{margin-left:40px;width:50px;color:red;font-size:18px;cursor:pointer}.addDataModel[data-v-99867544]{height:100%;background:#fff;display:flex;flex-direction:column}.addDataModel .searchBar[data-v-99867544]{height:120px;margin:10px;padding:10px;background:rgba(166,192,201,.479)}.addDataModel .searchBar .topDiv[data-v-99867544]{text-align:left}.addDataModel .searchBar .topDiv .addProcess[data-v-99867544]{margin-left:40px}.addDataModel .searchBar .topDiv .preservationButton[data-v-99867544]{margin-left:30px}.addDataModel .ty_table[data-v-99867544]{margin:10px;flex:1}
\ No newline at end of file \ No newline at end of file
.set_model[data-v-34570757]{position:fixed;top:0;right:0;width:20px;height:20px}.setModel-page[data-v-34570757]{width:100%;height:100%}.setModel-body[data-v-34570757]{width:100%;height:100%;display:flex}.setModel-body .nav-box[data-v-34570757]{width:18%;height:100%;overflow-y:auto;padding:20px;background:#ccc}.setModel-body .nav-box .item[data-v-34570757]{text-align:left;font-size:20px;font-weight:600;padding:10px 20px;margin-bottom:10px;cursor:pointer}.setModel-body .nav-box .item[data-v-34570757]:hover{background:#6495ed}.setModel-body .container[data-v-34570757]{width:80%;margin-left:20px}.setModel-body .container .table-box[data-v-34570757]{width:100%;height:100%;display:flex;flex-direction:column}.setModel-body .container .table-box .topDiv[data-v-34570757]{padding-top:20px;text-align:left;padding-left:10px}.setModel-body .container .table-box .topDiv .preservationButton[data-v-34570757]{margin-left:30px}.setModel-body .container .table-box .ty_table[data-v-34570757]{margin:10px;flex:1}.setModel-body .container .table-box .ty_table .empty[data-v-34570757]{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
\ No newline at end of file
.set_model[data-v-a9d4e952]{position:fixed;top:0;right:0;width:20px;height:20px}.setModel-page[data-v-a9d4e952]{width:100%;height:100%}.setModel-body[data-v-a9d4e952]{width:100%;height:100%;display:flex}.setModel-body .nav-box[data-v-a9d4e952]{width:18%;height:100%;overflow-y:auto;padding:20px;background:#ccc}.setModel-body .nav-box .item[data-v-a9d4e952]{text-align:left;font-size:20px;font-weight:600;padding:10px 20px;margin-bottom:10px;cursor:pointer}.setModel-body .nav-box .item[data-v-a9d4e952]:hover{background:#6495ed}.setModel-body .container[data-v-a9d4e952]{width:80%;margin-left:20px}.setModel-body .container .table-box[data-v-a9d4e952]{width:100%;height:100%;display:flex;flex-direction:column}.setModel-body .container .table-box .topDiv[data-v-a9d4e952]{padding-top:20px;text-align:left;padding-left:10px}.setModel-body .container .table-box .topDiv .preservationButton[data-v-a9d4e952]{margin-left:30px}.setModel-body .container .table-box .ty_table[data-v-a9d4e952]{margin:10px;flex:1}.setModel-body .container .table-box .ty_table .empty[data-v-a9d4e952]{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
\ No newline at end of file
<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>datamodel</title><link href="css/chunk-378aeb01.88f23a7e.css" rel="prefetch"><link href="css/chunk-3dd3a9ae.b68e4596.css" rel="prefetch"><link href="css/chunk-4876e57b.0d8bf681.css" rel="prefetch"><link href="js/chunk-378aeb01.2d3c9d6f.js" rel="prefetch"><link href="js/chunk-3dd3a9ae.2eaf7848.js" rel="prefetch"><link href="js/chunk-4876e57b.59be18d0.js" rel="prefetch"><link href="css/app.225d289e.css" rel="preload" as="style"><link href="css/chunk-vendors.caacd1e0.css" rel="preload" as="style"><link href="js/app.43ddef5b.js" rel="preload" as="script"><link href="js/chunk-vendors.720fd9e2.js" rel="preload" as="script"><link href="css/chunk-vendors.caacd1e0.css" rel="stylesheet"><link href="css/app.225d289e.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but datamodel doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="js/chunk-vendors.720fd9e2.js"></script><script src="js/app.43ddef5b.js"></script></body></html> <!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>datamodel</title><link href="css/chunk-13db6cf5.c6944e59.css" rel="prefetch"><link href="css/chunk-378aeb01.88f23a7e.css" rel="prefetch"><link href="css/chunk-65e873cb.a47d4cb6.css" rel="prefetch"><link href="js/chunk-13db6cf5.ba02db97.js" rel="prefetch"><link href="js/chunk-378aeb01.2d3c9d6f.js" rel="prefetch"><link href="js/chunk-65e873cb.f20a89cc.js" rel="prefetch"><link href="css/app.225d289e.css" rel="preload" as="style"><link href="css/chunk-vendors.caacd1e0.css" rel="preload" as="style"><link href="js/app.23f099d0.js" rel="preload" as="script"><link href="js/chunk-vendors.720fd9e2.js" rel="preload" as="script"><link href="css/chunk-vendors.caacd1e0.css" rel="stylesheet"><link href="css/app.225d289e.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but datamodel doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="js/chunk-vendors.720fd9e2.js"></script><script src="js/app.23f099d0.js"></script></body></html>
\ No newline at end of file \ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论