diff --git a/admin/package.json b/admin/package.json index 59490bf..0d7b2ef 100644 --- a/admin/package.json +++ b/admin/package.json @@ -15,34 +15,34 @@ "outdated": "pnpm outdated" }, "dependencies": { - "@element-plus/icons-vue": "^2.3.1", + "@element-plus/icons-vue": "^2.3.2", "@highlightjs/vue-plugin": "^2.1.0", - "@logicflow/core": "^2.0.16", - "@logicflow/extension": "^2.0.21", + "@logicflow/core": "^2.1.2", + "@logicflow/extension": "^2.1.3", "@vueuse/core": "^13.5.0", "@wangeditor/editor": "^5.1.23", "@wangeditor/editor-for-vue": "^5.1.12", - "axios": "^1.8.4", + "axios": "^1.11.0", "crypto-js": "^4.2.0", "css-color-function": "^1.3.3", - "dayjs": "^1.11.13", + "dayjs": "^1.11.18", "echarts": "^5.6.0", - "element-plus": "^2.10.4", + "element-plus": "^2.11.1", "highlight.js": "^11.11.1", "lodash-es": "^4.17.21", "nprogress": "^0.2.0", "pinia": "^3.0.3", - "query-string": "^9.1.1", - "rolldown-vite": "^7.0.9", + "query-string": "^9.2.2", + "rolldown-vite": "^7.1.9", "spark-md5": "^3.0.2", "vform3-builds": "^3.0.10", - "vue": "^3.5.16", + "vue": "^3.5.21", "vue-clipboard3": "^2.0.0", "vue-echarts": "^7.0.3", "vue-router": "^4.5.1", "vue3-video-play": "^1.3.2", "vuedraggable": "^4.1.0", - "vxe-table": "^4.14.4" + "vxe-table": "^4.16.11" }, "devDependencies": { "@rushstack/eslint-patch": "^1.11.0", @@ -50,10 +50,10 @@ "@types/node": "^22.14.1", "@types/nprogress": "^0.2.3", "@vitejs/plugin-vue": "^6.0.0", - "@vitejs/plugin-vue-jsx": "^5.0.1", + "@vitejs/plugin-vue-jsx": "^5.1.1", "@vue/eslint-config-prettier": "^9.0.0", "@vue/eslint-config-typescript": "^13.0.0", - "@vue/tsconfig": "^0.7.0", + "@vue/tsconfig": "^0.8.1", "autoprefixer": "^10.4.21", "eslint": "^8.57.0", "eslint-plugin-vue": "^9.27.0", @@ -71,7 +71,7 @@ "vite-plugin-compression": "^0.5.1", "vite-plugin-style-import": "^2.0.0", "vite-plugin-svg-icons": "^2.0.1", - "vue-tsc": "^3.0.1" + "vue-tsc": "^3.0.6" }, "overrides": { "vite": "npm:rolldown-vite@latest" diff --git a/admin/src/components/flow/flowEdit/DiagramToolbar.vue b/admin/src/components/flow/flowEdit/DiagramToolbar.vue index e4d123f..f76f545 100644 --- a/admin/src/components/flow/flowEdit/DiagramToolbar.vue +++ b/admin/src/components/flow/flowEdit/DiagramToolbar.vue @@ -35,7 +35,7 @@ - diff --git a/admin/src/components/material/preview.vue b/admin/src/components/material/preview.vue index 3263532..a1e0ef5 100644 --- a/admin/src/components/material/preview.vue +++ b/admin/src/components/material/preview.vue @@ -1,6 +1,6 @@ @@ -105,7 +108,7 @@ const rules = reactive({ { required: true, message: '头像不能为空', - trigger: ['change'] + trigger: ['blur'] } ], nickname: [ diff --git a/server/config/file.go b/server/config/file.go index 4f134e4..c6294a7 100644 --- a/server/config/file.go +++ b/server/config/file.go @@ -20,13 +20,13 @@ var FileConfig = fileConfig{ PublicPrefix: "/api/uploads", // 上传文件路径 UploadDirectory: "/tmp/uploads/x_admin_go/", - UploadImageSize: 10 * 1024 * 1024, // 10MB - UploadVideoSize: 500 * 1024 * 1024, // 500MB + UploadImageSize: 20 * 1024 * 1024, // 20MB + UploadVideoSize: 2000 * 1024 * 1024, // 2000MB UploadFileSize: 1024 * 1024 * 1024, //1GB // 上传图片扩展 UploadImageExt: []string{"png", "jpg", "jpeg", "gif", "ico", "bmp", "webp", "avif"}, - // 上传视频扩展 - UploadVideoExt: []string{"mp4", "mp3", "avi", "flv", "rmvb", "mov"}, + // 上传音视频扩展 + UploadVideoExt: []string{"mp4", "avi", "flv", "wmv", "rmvb", "mov", "mp3", "wav", "flac", "m4a"}, UploadFileExt: []string{"pdf", "doc", "docx", "xls", "xlsx", "ppt", "pptx", "zip", "rar", "7z", "txt"}, } diff --git a/server/model/user_protocol.go b/server/model/user_protocol.go index 5a559a1..d301197 100644 --- a/server/model/user_protocol.go +++ b/server/model/user_protocol.go @@ -8,10 +8,10 @@ import ( // UserProtocol 用户协议实体 type UserProtocol struct { - Id int `gorm:"primarykey;comment:''"` // - Title string `gorm:"comment:'标题'"` // 标题 - Content string `gorm:"comment:'协议内容'"` // 协议内容 - Sort core.NullFloat `gorm:"comment:'排序'"` // 排序 + Id int `gorm:"primarykey;comment:''"` // + Title string `gorm:"comment:'标题'"` // 标题 + Content string `gorm:"comment:'协议内容'"` // 协议内容 + // Sort core.NullFloat `gorm:"comment:'排序'"` // 排序 IsDelete soft_delete.DeletedAt `gorm:"not null;default:0;softDelete:flag,DeletedAtField:DeleteTime;comment:'是否删除: 0=否, 1=是'"` CreateTime core.NullTime `gorm:"autoCreateTime;comment:'创建时间'"` // 创建时间 UpdateTime core.NullTime `gorm:"autoUpdateTime;comment:'更新时间'"` // 更新时间 diff --git a/server/plugin/storage.go b/server/plugin/storage.go index 833aea8..37966df 100644 --- a/server/plugin/storage.go +++ b/server/plugin/storage.go @@ -134,7 +134,7 @@ func (sd storageDriver) checkFile(fileName string, fileSize int64) (e error) { } else if util.ToolsUtil.Contains(config.FileConfig.UploadVideoExt, fileExt) { // 视频文件 if fileSize > config.FileConfig.UploadVideoSize { - return response.Failed.SetMessage("上传视频不能超出限制: " + strconv.FormatInt(config.FileConfig.UploadVideoSize/1024/1024, 10) + "M") + return response.Failed.SetMessage("上传音视频不能超出限制: " + strconv.FormatInt(config.FileConfig.UploadVideoSize/1024/1024, 10) + "M") } } else if util.ToolsUtil.Contains(config.FileConfig.UploadFileExt, fileExt) { // 文件 diff --git a/server/schema/user_protocol_schema.go b/server/schema/user_protocol_schema.go index b32c16b..715428b 100644 --- a/server/schema/user_protocol_schema.go +++ b/server/schema/user_protocol_schema.go @@ -6,28 +6,28 @@ import ( // UserProtocolListReq 用户协议列表参数 type UserProtocolListReq struct { - Title *string // 标题 - Content *string // 协议内容 - Sort *float64 // 排序 - CreateTimeStart *string // 开始创建时间 - CreateTimeEnd *string // 结束创建时间 - UpdateTimeStart *string // 开始更新时间 - UpdateTimeEnd *string // 结束更新时间 + Title *string // 标题 + Content *string // 协议内容 + // Sort *float64 // 排序 + CreateTimeStart *string // 开始创建时间 + CreateTimeEnd *string // 结束创建时间 + UpdateTimeStart *string // 开始更新时间 + UpdateTimeEnd *string // 结束更新时间 } // UserProtocolAddReq 用户协议新增参数 type UserProtocolAddReq struct { - Title *string // 标题 - Content *string // 协议内容 - Sort core.NullFloat // 排序 + Title *string // 标题 + Content *string // 协议内容 + // Sort core.NullFloat // 排序 } // UserProtocolEditReq 用户协议编辑参数 type UserProtocolEditReq struct { - Id int // - Title *string // 标题 - Content *string // 协议内容 - Sort core.NullFloat // 排序 + Id int // + Title *string // 标题 + Content *string // 协议内容 + // Sort core.NullFloat // 排序 } // UserProtocolDetailReq 用户协议详情参数 @@ -47,10 +47,10 @@ type UserProtocolDelBatchReq struct { // UserProtocolResp 用户协议返回信息 type UserProtocolResp struct { - Id int // - Title string // 标题 - Content string // 协议内容 - Sort core.NullFloat // 排序 - CreateTime core.NullTime // 创建时间 - UpdateTime core.NullTime // 更新时间 + Id int // + Title string // 标题 + Content string // 协议内容 + // Sort core.NullFloat // 排序 + CreateTime core.NullTime // 创建时间 + UpdateTime core.NullTime // 更新时间 } diff --git a/server/service/commonService/albumService.go b/server/service/commonService/albumService.go index 0bfe6ef..f06ee09 100644 --- a/server/service/commonService/albumService.go +++ b/server/service/commonService/albumService.go @@ -48,9 +48,6 @@ func (albSrv albumService) AlbumList(adminId uint, page request.PageReq, listReq albumModel = albumModel.Where("ext in ?", listReq.Ext) } - // if listReq.Type > 0 { - // albumModel = albumModel.Where("type = ?", listReq.Type) - // } // 总数 var count int64 err := albumModel.Count(&count).Error @@ -134,7 +131,7 @@ func (albSrv albumService) AlbumAdd(addReq commonSchema.CommonAlbumAddReq) (res //} convert_util.Copy(&alb, addReq) err := albSrv.db.Create(&alb).Error - if e = response.CheckErr(err, "Album添加失败"); e != nil { + if e = response.CheckErr(err, "相册添加失败"); e != nil { return } return alb.ID, nil @@ -144,7 +141,7 @@ func (albSrv albumService) AlbumAdd(addReq commonSchema.CommonAlbumAddReq) (res func (albSrv albumService) AlbumDel(ids []uint) (e error) { var albums []common_model.Album err := albSrv.db.Where("id in ? AND is_delete = ?", ids, 0).Find(&albums).Error - if e = response.CheckErr(err, "AlbumDel Find err"); e != nil { + if e = response.CheckErr(err, "相册文件查找失败"); e != nil { return } if len(albums) == 0 { @@ -152,7 +149,7 @@ func (albSrv albumService) AlbumDel(ids []uint) (e error) { } err = albSrv.db.Model(&common_model.Album{}).Where("id in ?", ids).Updates( common_model.Album{IsDelete: 1, DeleteTime: util.NullTimeUtil.Now()}).Error - e = response.CheckErr(err, "AlbumDel UpdateColumn err") + e = response.CheckErr(err, "相册文件删除失败") return } @@ -169,7 +166,7 @@ func (albSrv albumService) CateList(adminId uint, listReq commonSchema.CommonCat cateModel = cateModel.Where("name like ?", "%"+listReq.Name+"%") } err := cateModel.Find(&cates).Error - if e = response.CheckErr(err, "Cate列表获取失败"); e != nil { + if e = response.CheckErr(err, "分类列表获取失败"); e != nil { return } cateResps := []commonSchema.CommonCateListResp{} @@ -181,11 +178,17 @@ func (albSrv albumService) CateList(adminId uint, listReq commonSchema.CommonCat func (albSrv albumService) CateAdd(adminId uint, addReq commonSchema.CommonCateAddReq) (e error) { var cate common_model.AlbumCate + // 查询分类是否存在 + albSrv.db.Where("admin_id = ? AND pid=? AND name = ? AND is_delete = ?", adminId, addReq.Pid, addReq.Name, 0).Limit(1).First(&cate) + if cate.ID > 0 { + return response.AssertArgumentError.SetMessage("分类已存在!") + } + convert_util.Copy(&cate, addReq) cate.AdminId = adminId err := albSrv.db.Create(&cate).Error - e = response.CheckErr(err, "Cate添加失败") + e = response.CheckErr(err, "分类添加失败") return } @@ -196,12 +199,19 @@ func (albSrv albumService) CateRename(id uint, name string) (e error) { if e = response.CheckErrDBNotRecord(err, "分类已不存在!"); e != nil { return } - if e = response.CheckErr(err, "CateRename First err"); e != nil { + if e = response.CheckErr(err, "重命名失败"); e != nil { return } + var cate2 common_model.AlbumCate + // 查询分类是否存在 + albSrv.db.Where("admin_id = ? AND pid=? AND name = ? AND is_delete = ? AND id <> ?", cate.AdminId, cate.Pid, name, 0, cate.ID).Limit(1).First(&cate2) + if cate2.ID > 0 { + return response.AssertArgumentError.SetMessage("分类“" + name + "”已存在!") + } + cate.Name = name err = albSrv.db.Save(&cate).Error - e = response.CheckErr(err, "CateRename Save err") + e = response.CheckErr(err, "分类重命名失败") return } @@ -212,11 +222,11 @@ func (albSrv albumService) CateDel(id uint) (e error) { if e = response.CheckErrDBNotRecord(err, "分类已不存在!"); e != nil { return } - if e = response.CheckErr(err, "Cate待删除数据查找失败"); e != nil { + if e = response.CheckErr(err, "待删除数据查找失败"); e != nil { return } r := albSrv.db.Where("cid = ? AND is_delete = ?", id, 0).Limit(1).Find(&common_model.Album{}) - if e = response.CheckErr(r.Error, "CateDel Find err"); e != nil { + if e = response.CheckErr(r.Error, "分类数据使用失败"); e != nil { return } if r.RowsAffected > 0 { diff --git a/server/service/generatorService/tpl_utils/templates/vue/index.vue.tpl b/server/service/generatorService/tpl_utils/templates/vue/index.vue.tpl index ea7b990..f24f1c4 100644 --- a/server/service/generatorService/tpl_utils/templates/vue/index.vue.tpl +++ b/server/service/generatorService/tpl_utils/templates/vue/index.vue.tpl @@ -66,7 +66,7 @@ class="ml-3 mr-3" :url="{{{.ModuleName}}}_import_file" :data="{ cid: 0 }" - type="file" + :ext="['xlsx']" :show-progress="true" @change="resetPage" > diff --git a/server/service/user_protocol_service.go b/server/service/user_protocol_service.go index 3fe7bd8..dca7e1c 100644 --- a/server/service/user_protocol_service.go +++ b/server/service/user_protocol_service.go @@ -42,9 +42,9 @@ func (service userProtocolService) GetModel(listReq schema.UserProtocolListReq) if listReq.Content != nil { dbModel = dbModel.Where("content = ?", *listReq.Content) } - if listReq.Sort != nil { - dbModel = dbModel.Where("sort = ?", *listReq.Sort) - } + // if listReq.Sort != nil { + // dbModel = dbModel.Where("sort = ?", *listReq.Sort) + // } if listReq.CreateTimeStart != nil { dbModel = dbModel.Where("create_time >= ?", *listReq.CreateTimeStart) }