diff --git a/api/handler/dalle_handler.go b/api/handler/dalle_handler.go index c1e9b664..bcf44ba8 100644 --- a/api/handler/dalle_handler.go +++ b/api/handler/dalle_handler.go @@ -176,7 +176,7 @@ func (h *DallJobHandler) JobList(c *gin.Context) { } // JobList 获取任务列表 -func (h *DallJobHandler) getData(finish bool, userId uint, page int, pageSize int, publish bool) (error, []vo.DallJob) { +func (h *DallJobHandler) getData(finish bool, userId uint, page int, pageSize int, publish bool) (error, vo.Page) { session := h.DB.Session(&gorm.Session{}) if finish { @@ -194,11 +194,14 @@ func (h *DallJobHandler) getData(finish bool, userId uint, page int, pageSize in offset := (page - 1) * pageSize session = session.Offset(offset).Limit(pageSize) } + // 统计总数 + var total int64 + session.Model(&model.DallJob{}).Count(&total) var items []model.DallJob res := session.Find(&items) if res.Error != nil { - return res.Error, nil + return res.Error, vo.Page{} } var jobs = make([]vo.DallJob, 0) @@ -211,7 +214,7 @@ func (h *DallJobHandler) getData(finish bool, userId uint, page int, pageSize in jobs = append(jobs, job) } - return nil, jobs + return nil, vo.NewPage(total, page, pageSize, jobs) } // Remove remove task image diff --git a/api/handler/mj_handler.go b/api/handler/mj_handler.go index 342b34fc..34996c81 100644 --- a/api/handler/mj_handler.go +++ b/api/handler/mj_handler.go @@ -385,7 +385,7 @@ func (h *MidJourneyHandler) JobList(c *gin.Context) { } // JobList 获取 MJ 任务列表 -func (h *MidJourneyHandler) getData(finish bool, userId uint, page int, pageSize int, publish bool) (error, []vo.MidJourneyJob) { +func (h *MidJourneyHandler) getData(finish bool, userId uint, page int, pageSize int, publish bool) (error, vo.Page) { session := h.DB.Session(&gorm.Session{}) if finish { session = session.Where("progress >= ?", 100).Order("id DESC") @@ -403,10 +403,14 @@ func (h *MidJourneyHandler) getData(finish bool, userId uint, page int, pageSize session = session.Offset(offset).Limit(pageSize) } + // 统计总数 + var total int64 + session.Model(&model.MidJourneyJob{}).Count(&total) + var items []model.MidJourneyJob res := session.Find(&items) if res.Error != nil { - return res.Error, nil + return res.Error, vo.Page{} } var jobs = make([]vo.MidJourneyJob, 0) @@ -426,7 +430,7 @@ func (h *MidJourneyHandler) getData(finish bool, userId uint, page int, pageSize jobs = append(jobs, job) } - return nil, jobs + return nil, vo.NewPage(total, page, pageSize, jobs) } // Remove remove task image diff --git a/api/handler/sd_handler.go b/api/handler/sd_handler.go index 3c20ef33..27568d39 100644 --- a/api/handler/sd_handler.go +++ b/api/handler/sd_handler.go @@ -224,7 +224,7 @@ func (h *SdJobHandler) JobList(c *gin.Context) { } // JobList 获取 MJ 任务列表 -func (h *SdJobHandler) getData(finish bool, userId uint, page int, pageSize int, publish bool) (error, []vo.SdJob) { +func (h *SdJobHandler) getData(finish bool, userId uint, page int, pageSize int, publish bool) (error, vo.Page) { session := h.DB.Session(&gorm.Session{}) if finish { @@ -243,10 +243,14 @@ func (h *SdJobHandler) getData(finish bool, userId uint, page int, pageSize int, session = session.Offset(offset).Limit(pageSize) } + // 统计总数 + var total int64 + session.Model(&model.SdJob{}).Count(&total) + var items []model.SdJob res := session.Find(&items) if res.Error != nil { - return res.Error, nil + return res.Error, vo.Page{} } var jobs = make([]vo.SdJob, 0) @@ -268,7 +272,7 @@ func (h *SdJobHandler) getData(finish bool, userId uint, page int, pageSize int, jobs = append(jobs, job) } - return nil, jobs + return nil, vo.NewPage(total, page, pageSize, jobs) } // Remove remove task image diff --git a/api/handler/video_handler.go b/api/handler/video_handler.go index f6d75134..72a1db06 100644 --- a/api/handler/video_handler.go +++ b/api/handler/video_handler.go @@ -135,11 +135,16 @@ func (h *VideoHandler) List(c *gin.Context) { t := c.Query("type") page := h.GetInt(c, "page", 1) pageSize := h.GetInt(c, "page_size", 20) + all := h.GetBool(c, "all") session := h.DB.Session(&gorm.Session{}).Where("user_id", userId) if t != "" { session = session.Where("type", t) } - + if all { + session = session.Where("publish", 0).Where("progress", 100) + } else { + session = session.Where("user_id", h.GetLoginUserId(c)) + } // 统计总数 var total int64 session.Model(&model.VideoJob{}).Count(&total) diff --git a/api/store/vo/video_job.go b/api/store/vo/video_job.go index b7530132..3582c667 100644 --- a/api/store/vo/video_job.go +++ b/api/store/vo/video_job.go @@ -1,5 +1,7 @@ package vo +import "geekai/core/types" + type VideoJob struct { Id uint `json:"id"` UserId int `json:"user_id"` @@ -16,5 +18,6 @@ type VideoJob struct { ErrMsg string `json:"err_msg"` // 错误信息 RawData map[string]interface{} `json:"raw_data"` // 原始数据 json Power int `json:"power"` // 消耗算力 + Params types.VideoParams `json:"params"` // 任务参数 CreatedAt int64 `json:"created_at"` } diff --git a/web/public/files/suno.mp3 b/web/public/files/suno.mp3 deleted file mode 100644 index 4aa2a844..00000000 Binary files a/web/public/files/suno.mp3 and /dev/null differ diff --git a/web/public/files/test.mp3 b/web/public/files/test.mp3 deleted file mode 100644 index 2a518c05..00000000 Binary files a/web/public/files/test.mp3 and /dev/null differ diff --git a/web/public/images/logo.png b/web/public/images/logo.png index 63f187ed..61441d01 100644 Binary files a/web/public/images/logo.png and b/web/public/images/logo.png differ diff --git a/web/src/assets/css/home.styl b/web/src/assets/css/home.styl index 41bd1257..b435bdb9 100644 --- a/web/src/assets/css/home.styl +++ b/web/src/assets/css/home.styl @@ -23,7 +23,6 @@ .el-image { width 48px height 48px - background-color #ffffff border-radius 50% } } diff --git a/web/src/assets/css/index.styl b/web/src/assets/css/index.styl index c63c22d7..fbe52f78 100644 --- a/web/src/assets/css/index.styl +++ b/web/src/assets/css/index.styl @@ -56,7 +56,6 @@ .logo { height 50px - background-color #ffffff border-radius 50% } diff --git a/web/src/assets/css/login.styl b/web/src/assets/css/login.styl index 32d79ed0..9dfa7449 100644 --- a/web/src/assets/css/login.styl +++ b/web/src/assets/css/login.styl @@ -30,7 +30,6 @@ .el-image { width 120px; cursor pointer - background-color #ffffff border-radius 50% } } diff --git a/web/src/views/Dalle.vue b/web/src/views/Dalle.vue index f5c2998b..4d37c82b 100644 --- a/web/src/views/Dalle.vue +++ b/web/src/views/Dalle.vue @@ -206,7 +206,7 @@ import {nextTick, onMounted, onUnmounted, ref} from "vue" import {Delete, InfoFilled, Picture} from "@element-plus/icons-vue"; import {httpGet, httpPost} from "@/utils/http"; -import {ElMessage, ElMessageBox, ElNotification} from "element-plus"; +import {ElMessage, ElMessageBox} from "element-plus"; import Clipboard from "clipboard"; import {checkSession, getSystemInfo} from "@/store/cache"; import {useSharedStore} from "@/store/sharedata"; @@ -338,7 +338,7 @@ const fetchRunningJobs = () => { } // 获取运行中的任务 httpGet(`/api/dall/jobs?finish=false`).then(res => { - runningJobs.value = res.data + runningJobs.value = res.data.items }).catch(e => { ElMessage.error("获取任务失败:" + e.message) }) @@ -356,10 +356,10 @@ const fetchFinishJobs = () => { page.value = page.value + 1 httpGet(`/api/dall/jobs?finish=true&page=${page.value}&page_size=${pageSize.value}`).then(res => { - if (res.data.length < pageSize.value) { + if (res.data.items.length < pageSize.value) { isOver.value = true } - const imageList = res.data + const imageList = res.data.items for (let i = 0; i < imageList.length; i++) { imageList[i]["img_thumb"] = imageList[i]["img_url"] + "?imageView2/4/w/300/h/0/q/75" } diff --git a/web/src/views/ImageMj.vue b/web/src/views/ImageMj.vue index 975266ec..c8a1a7cb 100644 --- a/web/src/views/ImageMj.vue +++ b/web/src/views/ImageMj.vue @@ -816,7 +816,7 @@ const fetchRunningJobs = () => { } httpGet(`/api/mj/jobs?finish=false`).then(res => { - const jobs = res.data + const jobs = res.data.items const _jobs = [] for (let i = 0; i < jobs.length; i++) { if (jobs[i].progress === 101) { @@ -853,7 +853,7 @@ const fetchFinishJobs = () => { page.value = page.value + 1 // 获取已完成的任务 httpGet(`/api/mj/jobs?finish=true&page=${page.value}&page_size=${pageSize.value}`).then(res => { - const jobs = res.data + const jobs = res.data.items for (let i = 0; i < jobs.length; i++) { if (jobs[i]['img_url'] !== "") { if (jobs[i].type === 'upscale' || jobs[i].type === 'swapFace') { diff --git a/web/src/views/ImageSd.vue b/web/src/views/ImageSd.vue index ab4a80aa..2b377022 100644 --- a/web/src/views/ImageSd.vue +++ b/web/src/views/ImageSd.vue @@ -549,7 +549,6 @@ const sdPower = ref(0) // 画一张 SD 图片消耗算力 const socket = ref(null) const userId = ref(0) -const heartbeatHandle = ref(null) const connect = () => { let host = process.env.VUE_APP_WS_HOST if (host === '') { @@ -637,7 +636,7 @@ const fetchRunningJobs = () => { // 获取运行中的任务 httpGet(`/api/sd/jobs?finish=0`).then(res => { - runningJobs.value = res.data + runningJobs.value = res.data.items }).catch(e => { ElMessage.error("获取任务失败:" + e.message) }) @@ -655,10 +654,10 @@ const fetchFinishJobs = () => { page.value = page.value + 1 httpGet(`/api/sd/jobs?finish=1&page=${page.value}&page_size=${pageSize.value}`).then(res => { - if (res.data.length < pageSize.value) { + if (res.data.items.length < pageSize.value) { isOver.value = true } - const imageList = res.data + const imageList = res.data.items for (let i = 0; i < imageList.length; i++) { imageList[i]["img_thumb"] = imageList[i]["img_url"] + "?imageView2/4/w/300/h/0/q/75" } diff --git a/web/src/views/ImagesWall.vue b/web/src/views/ImagesWall.vue index fa8c4d83..8f3b7533 100644 --- a/web/src/views/ImagesWall.vue +++ b/web/src/views/ImagesWall.vue @@ -355,13 +355,13 @@ const getNext = () => { } httpGet(`${url}?page=${page.value}&page_size=${pageSize.value}`).then(res => { loading.value = false - if (!res.data || res.data.length === 0) { + if (!res.data.items || res.data.items.length === 0) { isOver.value = true return } // 生成缩略图 - const imageList = res.data + const imageList = res.data.items for (let i = 0; i < imageList.length; i++) { imageList[i]["img_thumb"] = imageList[i]["img_url"] + "?imageView2/4/w/300/h/0/q/75" } diff --git a/web/src/views/Register.vue b/web/src/views/Register.vue index 98b76780..e5c8354e 100644 --- a/web/src/views/Register.vue +++ b/web/src/views/Register.vue @@ -340,7 +340,6 @@ const doSubmitRegister = (verifyData) => { .el-image { width 120px; cursor pointer - background-color #ffffff border-radius 50% } } diff --git a/web/src/views/admin/Login.vue b/web/src/views/admin/Login.vue index 1e763164..e002b02d 100644 --- a/web/src/views/admin/Login.vue +++ b/web/src/views/admin/Login.vue @@ -145,7 +145,6 @@ const doLogin = function (verifyData) { .el-image { width 120px; cursor pointer - background-color #ffffff border-radius 50% } } diff --git a/web/src/views/mobile/pages/ImageDall.vue b/web/src/views/mobile/pages/ImageDall.vue index 76c8fb10..a87565e8 100644 --- a/web/src/views/mobile/pages/ImageDall.vue +++ b/web/src/views/mobile/pages/ImageDall.vue @@ -317,7 +317,7 @@ const initData = () => { const fetchRunningJobs = () => { // 获取运行中的任务 httpGet(`/api/dall/jobs?finish=0`).then(res => { - const jobs = res.data + const jobs = res.data.items const _jobs = [] for (let i = 0; i < jobs.length; i++) { if (jobs[i].progress === -1) { @@ -345,13 +345,14 @@ const pageSize = ref(10) const fetchFinishJobs = (page) => { loading.value = true httpGet(`/api/dall/jobs?finish=1&page=${page}&page_size=${pageSize.value}`).then(res => { - if (res.data.length < pageSize.value) { + const jobs = res.data.items + if (jobs.length < pageSize.value) { finished.value = true } if (page === 1) { - finishedJobs.value = res.data + finishedJobs.value = jobs } else { - finishedJobs.value = finishedJobs.value.concat(res.data) + finishedJobs.value = finishedJobs.value.concat(jobs) } loading.value = false }).catch(e => { diff --git a/web/src/views/mobile/pages/ImageMj.vue b/web/src/views/mobile/pages/ImageMj.vue index 9e49b51d..0b4eac41 100644 --- a/web/src/views/mobile/pages/ImageMj.vue +++ b/web/src/views/mobile/pages/ImageMj.vue @@ -430,7 +430,7 @@ const connect = () => { // 获取运行中的任务 const fetchRunningJobs = (userId) => { httpGet(`/api/mj/jobs?finish=0&user_id=${userId}`).then(res => { - const jobs = res.data + const jobs = res.data.items const _jobs = [] for (let i = 0; i < jobs.length; i++) { if (jobs[i].progress === -1) { @@ -462,7 +462,7 @@ const fetchFinishJobs = (page) => { loading.value = true // 获取已完成的任务 httpGet(`/api/mj/jobs?finish=1&page=${page}&page_size=${pageSize.value}`).then(res => { - const jobs = res.data + const jobs = res.data.items for (let i = 0; i < jobs.length; i++) { if (jobs[i].progress === 101) { showNotify({ diff --git a/web/src/views/mobile/pages/ImageSd.vue b/web/src/views/mobile/pages/ImageSd.vue index db14a55e..d5455b41 100644 --- a/web/src/views/mobile/pages/ImageSd.vue +++ b/web/src/views/mobile/pages/ImageSd.vue @@ -382,7 +382,7 @@ const initData = () => { const fetchRunningJobs = () => { // 获取运行中的任务 httpGet(`/api/sd/jobs?finish=0`).then(res => { - const jobs = res.data + const jobs = res.data.items const _jobs = [] for (let i = 0; i < jobs.length; i++) { if (jobs[i].progress === -1) { @@ -410,13 +410,14 @@ const pageSize = ref(10) const fetchFinishJobs = (page) => { loading.value = true httpGet(`/api/sd/jobs?finish=1&page=${page}&page_size=${pageSize.value}`).then(res => { - if (res.data.length < pageSize.value) { + const jobs = res.data.items + if (jobs.length < pageSize.value) { finished.value = true } if (page === 1) { - finishedJobs.value = res.data + finishedJobs.value = jobs } else { - finishedJobs.value = finishedJobs.value.concat(res.data) + finishedJobs.value = finishedJobs.value.concat(jobs) } loading.value = false }).catch(e => { diff --git a/web/src/views/mobile/pages/ImgWall.vue b/web/src/views/mobile/pages/ImgWall.vue index 699e743d..b89c6a67 100644 --- a/web/src/views/mobile/pages/ImgWall.vue +++ b/web/src/views/mobile/pages/ImgWall.vue @@ -134,13 +134,13 @@ const onLoad = () => { const d = data.value[activeName.value] httpGet(`${d.url}?status=1&page=${d.page}&page_size=${d.pageSize}&publish=true`).then(res => { d.loading = false - if (res.data.length === 0) { + if (res.data.items.length === 0) { d.finished = true return } // 生成缩略图 - const imageList = res.data + const imageList = res.data.items for (let i = 0; i < imageList.length; i++) { imageList[i]["img_thumb"] = imageList[i]["img_url"] + "?imageView2/4/w/300/h/0/q/75" }