mirror of
				https://github.com/yangjian102621/geekai.git
				synced 2025-11-04 16:23:42 +08:00 
			
		
		
		
	fix: fixed bug for register error with parse args
This commit is contained in:
		@@ -548,10 +548,17 @@ func (h *MidJourneyHandler) JobList(c *gin.Context) {
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
		if item.Progress < 100 && item.ImgURL != "" { // 正在运行中任务使用代理访问图片
 | 
			
		||||
			image, err := utils.DownloadImage(item.ImgURL, h.App.Config.ProxyURL)
 | 
			
		||||
			if err == nil {
 | 
			
		||||
				job.ImgURL = "data:image/png;base64," + base64.StdEncoding.EncodeToString(image)
 | 
			
		||||
		if item.Progress < 100 {
 | 
			
		||||
			// 30 分钟还没完成的任务直接删除
 | 
			
		||||
			if time.Now().Sub(item.CreatedAt) > time.Minute*30 {
 | 
			
		||||
				h.db.Delete(&item)
 | 
			
		||||
				continue
 | 
			
		||||
			}
 | 
			
		||||
			if item.ImgURL != "" { // 正在运行中任务使用代理访问图片
 | 
			
		||||
				image, err := utils.DownloadImage(item.ImgURL, h.App.Config.ProxyURL)
 | 
			
		||||
				if err == nil {
 | 
			
		||||
					job.ImgURL = "data:image/png;base64," + base64.StdEncoding.EncodeToString(image)
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		jobs = append(jobs, job)
 | 
			
		||||
 
 | 
			
		||||
@@ -109,18 +109,16 @@ func (s *MjService) Run() {
 | 
			
		||||
		}
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			logger.Error("绘画任务执行失败:", err)
 | 
			
		||||
			if task.RetryCount > 5 {
 | 
			
		||||
				// 取消并删除任务
 | 
			
		||||
				s.db.Where("id = ?", task.Id).Delete(&model.MidJourneyJob{})
 | 
			
		||||
				continue
 | 
			
		||||
			if task.RetryCount <= 5 {
 | 
			
		||||
				s.taskQueue.RPush(task)
 | 
			
		||||
			}
 | 
			
		||||
			task.RetryCount += 1
 | 
			
		||||
			s.taskQueue.RPush(task)
 | 
			
		||||
			// TODO: 执行失败通知聊天客户端
 | 
			
		||||
			time.Sleep(time.Second * 3)
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// 更新任务的执行状态
 | 
			
		||||
		s.db.Model(&model.MidJourneyJob{}).Where("id = ?", task.Id).UpdateColumn("started", true)
 | 
			
		||||
		// 锁定任务执行通道,直到任务超时(5分钟)
 | 
			
		||||
		s.redis.Set(ctx, MjRunningJobKey, utils.JsonEncode(task), time.Minute*5)
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -12,6 +12,7 @@ type MidJourneyJob struct {
 | 
			
		||||
	Hash        string // message hash
 | 
			
		||||
	Progress    int
 | 
			
		||||
	Prompt      string
 | 
			
		||||
	Started     bool
 | 
			
		||||
	CreatedAt   time.Time
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -13,4 +13,5 @@ type MidJourneyJob struct {
 | 
			
		||||
	Progress    int       `json:"progress"`
 | 
			
		||||
	Prompt      string    `json:"prompt"`
 | 
			
		||||
	CreatedAt   time.Time `json:"created_at"`
 | 
			
		||||
	Started     bool      `json:"started"`
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								database/update-v3.1.4.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								database/update-v3.1.4.sql
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
ALTER TABLE `chatgpt_mj_jobs` ADD `started` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '任务是否开始' AFTER `progress`;
 | 
			
		||||
UPDATE `chatgpt_mj_jobs` SET started = 1
 | 
			
		||||
@@ -143,6 +143,7 @@ const register = function () {
 | 
			
		||||
  if (enableMsg.value && formData.value.code === '') {
 | 
			
		||||
    return ElMessage.error('请输入短信验证码');
 | 
			
		||||
  }
 | 
			
		||||
  formData.value.code = parseInt(formData.value.code)
 | 
			
		||||
  httpPost('/api/user/register', formData.value).then(() => {
 | 
			
		||||
    ElMessage.success({"message": "注册成功,即将跳转到登录页...", onClose: () => router.push("/login")})
 | 
			
		||||
  }).catch((e) => {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user