mirror of
				https://github.com/cloudreve/cloudreve.git
				synced 2025-11-01 00:57:15 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			63 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package routers
 | |
| 
 | |
| import (
 | |
| 	"cloudreve/middleware"
 | |
| 	"cloudreve/pkg/conf"
 | |
| 	"cloudreve/routers/controllers"
 | |
| 	"github.com/gin-gonic/gin"
 | |
| )
 | |
| 
 | |
| var r *gin.Engine
 | |
| 
 | |
| // SetupTestEngine 设置测试用gin.Engine
 | |
| func SetupTestEngine(engine *gin.Engine) {
 | |
| 	r = engine
 | |
| }
 | |
| 
 | |
| // InitRouter 初始化路由
 | |
| func InitRouter() *gin.Engine {
 | |
| 	if r == nil {
 | |
| 		r = gin.Default()
 | |
| 	}
 | |
| 
 | |
| 	/*
 | |
| 		中间件
 | |
| 	*/
 | |
| 	r.Use(middleware.Session(conf.SystemConfig.SessionSecret))
 | |
| 
 | |
| 	// 测试模式加加入Mock助手中间件
 | |
| 	if gin.Mode() == gin.TestMode {
 | |
| 		r.Use(middleware.MockHelper())
 | |
| 	}
 | |
| 
 | |
| 	r.Use(middleware.CurrentUser())
 | |
| 
 | |
| 	/*
 | |
| 		路由
 | |
| 	*/
 | |
| 	v3 := r.Group("/Api/V3")
 | |
| 	{
 | |
| 		// 测试用路由
 | |
| 		v3.GET("Ping", controllers.Ping)
 | |
| 		// 用户登录
 | |
| 		v3.POST("User/Session", controllers.UserLogin)
 | |
| 		// 验证码
 | |
| 		v3.GET("Captcha", controllers.Captcha)
 | |
| 
 | |
| 		// 需要登录保护的
 | |
| 		auth := v3.Group("")
 | |
| 		auth.Use(middleware.AuthRequired())
 | |
| 		{
 | |
| 			// 用户类
 | |
| 			user := auth.Group("User")
 | |
| 			{
 | |
| 				// 当前登录用户信息
 | |
| 				user.GET("Me", controllers.UserMe)
 | |
| 			}
 | |
| 
 | |
| 		}
 | |
| 
 | |
| 	}
 | |
| 	return r
 | |
| }
 | 
