Просмотр исходного кода

feat: 支持 /mj-{mode} 路径

Xiangyuan Liu 1 год назад
Родитель
Сommit
49df4b6eed
2 измененных файлов с 10 добавлено и 2 удалено
  1. 1 1
      middleware/distributor.go
  2. 9 1
      router/relay-router.go

+ 1 - 1
middleware/distributor.go

@@ -44,7 +44,7 @@ func Distribute() func(c *gin.Context) {
 			// Select a channel for the user
 			var modelRequest ModelRequest
 			var err error
-			if strings.HasPrefix(c.Request.URL.Path, "/mj") {
+			if strings.Contains(c.Request.URL.Path, "/mj/") {
 				relayMode := relayconstant.Path2RelayModeMidjourney(c.Request.URL.Path)
 				if relayMode == relayconstant.RelayModeMidjourneyTaskFetch ||
 					relayMode == relayconstant.RelayModeMidjourneyTaskFetchByCondition ||

+ 9 - 1
router/relay-router.go

@@ -43,7 +43,16 @@ func SetRelayRouter(router *gin.Engine) {
 		relayV1Router.DELETE("/models/:model", controller.RelayNotImplemented)
 		relayV1Router.POST("/moderations", controller.Relay)
 	}
+
 	relayMjRouter := router.Group("/mj")
+	registerMjRouterGroup(relayMjRouter)
+
+	relayMjModeRouter := router.Group("/:mode/mj")
+	registerMjRouterGroup(relayMjModeRouter)
+	//relayMjRouter.Use()
+}
+
+func registerMjRouterGroup(relayMjRouter *gin.RouterGroup) {
 	relayMjRouter.GET("/image/:id", relay.RelayMidjourneyImage)
 	relayMjRouter.Use(middleware.TokenAuth(), middleware.Distribute())
 	{
@@ -61,5 +70,4 @@ func SetRelayRouter(router *gin.Engine) {
 		relayMjRouter.POST("/task/list-by-condition", controller.RelayMidjourney)
 		relayMjRouter.POST("/insight-face/swap", controller.RelayMidjourney)
 	}
-	//relayMjRouter.Use()
 }