整合ydoc-lucky-ui主题 #8
@ -63,21 +63,6 @@ func (su *SwaggerUI) RegisterHandler(router *gin.Engine, baseUri string) {
 | 
			
		||||
		baseUri = "/docs/swagger"
 | 
			
		||||
	}
 | 
			
		||||
	su.baseUri = baseUri
 | 
			
		||||
	router.GET("/assets/*any", func(ctx *gin.Context) {
 | 
			
		||||
		if su.uiTheme == define.SwaggerUIThemeYDocLucky {
 | 
			
		||||
			fileRealPath := strings.TrimPrefix(ctx.Request.RequestURI, baseUri)
 | 
			
		||||
			byteData, _ := ydocUIFiles.ReadFile(define.SwaggerUIThemeYDocLucky + fileRealPath)
 | 
			
		||||
			uriArr := strings.Split(ctx.Request.RequestURI, ".")
 | 
			
		||||
			contentType := "text/" + uriArr[len(uriArr)-1]
 | 
			
		||||
			if strings.HasSuffix(ctx.Request.RequestURI, "png") {
 | 
			
		||||
				contentType = "image/png"
 | 
			
		||||
			}
 | 
			
		||||
			ctx.Header("Content-Type", contentType)
 | 
			
		||||
			ctx.String(http.StatusOK, string(byteData))
 | 
			
		||||
			ctx.Abort()
 | 
			
		||||
		}
 | 
			
		||||
		ctx.AbortWithStatus(http.StatusNotFound)
 | 
			
		||||
	})
 | 
			
		||||
	router.GET(baseUri+"/*any", func(ctx *gin.Context) {
 | 
			
		||||
		if ctx.Request.RequestURI == baseUri+"/doc.json" {
 | 
			
		||||
			// 默认swagger, 通过此接口读取文档数据
 | 
			
		||||
@ -95,23 +80,6 @@ func (su *SwaggerUI) RegisterHandler(router *gin.Engine, baseUri string) {
 | 
			
		||||
			})
 | 
			
		||||
			ctx.Abort()
 | 
			
		||||
		}
 | 
			
		||||
		if su.uiTheme == define.SwaggerUIThemeYDocLucky {
 | 
			
		||||
			fileRealPath := strings.TrimPrefix(ctx.Request.RequestURI, baseUri)
 | 
			
		||||
			byteData, _ := ydocUIFiles.ReadFile(define.SwaggerUIThemeYDocLucky + fileRealPath)
 | 
			
		||||
			if strings.HasSuffix(ctx.Request.RequestURI, "html") {
 | 
			
		||||
				byteData = []byte(strings.ReplaceAll(string(byteData), "{{BASE_URI}}", baseUri))
 | 
			
		||||
			}
 | 
			
		||||
			uriArr := strings.Split(ctx.Request.RequestURI, ".")
 | 
			
		||||
			contentType := "text/" + uriArr[len(uriArr)-1]
 | 
			
		||||
			if strings.HasSuffix(ctx.Request.RequestURI, "png") {
 | 
			
		||||
				contentType = "image/png"
 | 
			
		||||
			} else if strings.HasSuffix(ctx.Request.RequestURI, "js") {
 | 
			
		||||
				contentType = "application/javascript"
 | 
			
		||||
			}
 | 
			
		||||
			ctx.Header("Content-Type", contentType)
 | 
			
		||||
			ctx.String(http.StatusOK, string(byteData))
 | 
			
		||||
			ctx.Abort()
 | 
			
		||||
		}
 | 
			
		||||
	}, su.Handler())
 | 
			
		||||
	router.GET("/swagger-resources", func(ctx *gin.Context) { // lucky UI获取分组信息
 | 
			
		||||
		ctx.Writer.Header().Set("Access-Control-Allow-Origin", "*") // 允许访问所有域
 | 
			
		||||
@ -151,7 +119,21 @@ func (su *SwaggerUI) Handler() func(ctx *gin.Context) {
 | 
			
		||||
func (su *SwaggerUI) HandleLuckyUI() func(ctx *gin.Context) {
 | 
			
		||||
	// su.router.StaticFS(su.baseUri+"/assets", http.FS(ydocUIFiles))
 | 
			
		||||
	return func(ctx *gin.Context) {
 | 
			
		||||
 | 
			
		||||
		fileRealPath := strings.TrimPrefix(ctx.Request.RequestURI, su.baseUri)
 | 
			
		||||
		byteData, _ := ydocUIFiles.ReadFile(define.SwaggerUIThemeYDocLucky + fileRealPath)
 | 
			
		||||
		if strings.HasSuffix(ctx.Request.RequestURI, "html") {
 | 
			
		||||
			byteData = []byte(strings.ReplaceAll(string(byteData), "{{BASE_URI}}", su.baseUri))
 | 
			
		||||
		}
 | 
			
		||||
		uriArr := strings.Split(ctx.Request.RequestURI, ".")
 | 
			
		||||
		contentType := "text/" + uriArr[len(uriArr)-1]
 | 
			
		||||
		if strings.HasSuffix(ctx.Request.RequestURI, "png") {
 | 
			
		||||
			contentType = "image/png"
 | 
			
		||||
		} else if strings.HasSuffix(ctx.Request.RequestURI, "js") {
 | 
			
		||||
			contentType = "application/javascript"
 | 
			
		||||
		}
 | 
			
		||||
		ctx.Header("Content-Type", contentType)
 | 
			
		||||
		ctx.String(http.StatusOK, string(byteData))
 | 
			
		||||
		ctx.Abort()
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user