2 Commity 889a49c61c ... 26d3b1cb0e

Autor SHA1 Wiadomość Data
  runningwater 26d3b1cb0e .env.example 3 miesięcy temu
  runningwater 908bac2c4b feat: API 域名和前缀 3 miesięcy temu
3 zmienionych plików z 53 dodań i 2 usunięć
  1. 41 0
      .env.example
  2. 3 0
      config/app.go
  3. 9 2
      routes/api.go

+ 41 - 0
.env.example

@@ -0,0 +1,41 @@
+APP_NAME=Gohub
+APP_ENV=local
+APP_KEY=zBqYyQrPNaIUsnRhsGtHLivjqiMjBVLS
+APP_DEBUG=true
+APP_URL=http://localhost:3000
+APP_PORT=3000
+
+DB_CONNECTION=sqlite
+DB_HOST=127.0.0.1
+DB_PORT=3306
+DB_DATABASE=gohub
+DB_USERNAME=root
+DB_PASSWORD=secret
+DB_DEBUG=2
+
+REDIS_HOST=127.0.0.1
+REDIS_PORT=6379
+REDIS_PASSWORD=
+REDIS_CACHE_DB=0
+REDIS_MAIN_DB=1
+
+JWT_EXPIRE_TIME=120
+JWT_MAX_REFRESH_TIME=86400
+
+MAIL_HOST=localhost
+MAIL_PORT=1025
+MAIL_USERNAME=
+MAIL_PASSWORD=
+MAIL_FROM_ADDRESS=gohub@example.com
+MAIL_FROM_NAME=Gohub
+
+SMS_ALIYUN_ACCESS_ID=XXX
+SMS_ALIYUN_ACCESS_SECRET=XXXXX
+SMS_ALIYUN_SIGN_NAME=
+SMS_ALIYUN_TEMPLATE_CODE=
+
+VERIFY_CODE_LENGTH=6
+VERIFY_CODE_EXPIRE=15
+
+LOG_TYPE=single
+LOG_LEVEL=debug

+ 3 - 0
config/app.go

@@ -27,6 +27,9 @@ func init() {
 
 			// 设置时区,JWT 里会使用,日志记录里也会使用到
 			"timezone": config.Env("TIMEZONE", "Asia/Shanghai"),
+
+			// API 域名,用以生成 API 链接 http://domain.com/api/v1/users
+			"api_domain": config.Env("API_DOMAIN", ""),
 		}
 	})
 }

+ 9 - 2
routes/api.go

@@ -6,14 +6,21 @@ import (
 
 	"github.com/runningwater/gohub/app/http/controllers/api/v1/auth"
 	"github.com/runningwater/gohub/app/http/middlewares"
+	"github.com/runningwater/gohub/pkg/config"
 
 	controllers "github.com/runningwater/gohub/app/http/controllers/api/v1"
 )
 
 // RegisterAPIRoutes 注册路由
-func RegisterAPIRoutes(router *gin.Engine) {
+func RegisterAPIRoutes(r *gin.Engine) {
 	// v1 路由组,所有 v1 版本的路由都放在这里
-	v1 := router.Group("/v1")
+	var v1 *gin.RouterGroup
+	if len(config.Get("app.api_domain")) == 0 {
+		v1 = r.Group("/api/v1")
+	} else {
+		v1 = r.Group("/v1")
+	}
+
 	// 全局限流中间件:每小时限流。这里是所有 API (根据 IP)请求加起来。
 	// 作为参考 Github API 每小时最多 60 个请求(根据 IP)。
 	// 测试时,可以调高一点。