/
main.go
69 lines (64 loc) · 2.2 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package main
import (
"fmt"
"strconv"
"dubbo.apache.org/dubbo-go/v3/config"
_ "dubbo.apache.org/dubbo-go/v3/imports"
"github.com/gin-gonic/gin"
"github.com/nooocode/pkg/constants"
"github.com/nooocode/pkg/utils"
"github.com/nooocode/usercenter/docs"
"github.com/nooocode/usercenter/http"
"github.com/nooocode/usercenter/model"
"github.com/nooocode/usercenter/model/token"
"github.com/nooocode/usercenter/provider"
"github.com/nooocode/usercenter/utils/middleware"
ginSwagger "github.com/swaggo/gin-swagger"
"github.com/swaggo/gin-swagger/swaggerFiles"
)
// gin-swagger middleware
// swagger embed files
func main() {
config.SetProviderService(&provider.UserProvider{})
config.SetProviderService(&provider.TenantProvider{})
config.SetProviderService(&provider.RoleProvider{})
config.SetProviderService(&provider.MenuProvider{})
config.SetProviderService(&provider.APIProvider{})
config.SetProviderService(&provider.IdentityProvider{})
if err := config.Load(); err != nil {
panic(err)
}
params := config.GetRootConfig().ConfigCenter.Params
fmt.Println(params)
model.Init(params["mysql"], params["debug"] == "true")
tokenExpiredStr := params["redis-expired"]
tokenExpired := 120
if tokenExpiredStr != "" {
var err error
tokenExpired, err = strconv.Atoi(tokenExpiredStr)
if err != nil {
panic(err)
}
}
token.InitTokenCache(params["token-key"], params["redis-addr"], params["redis-user-name"], params["redis-pwd"], tokenExpired)
constants.SetPlatformTenantID(params["platformTenantID"])
constants.SetSuperAdminRoleID(params["superAdminRoleID"])
constants.SetDefaultRoleID(params["defaultRoleID"])
constants.SetEnabelTenant(params["enableTenat"] == "true")
fmt.Println("started server")
Start(48080)
}
func Start(port int) {
// programatically set swagger info
docs.SwaggerInfo.Title = "User Center API"
docs.SwaggerInfo.Description = "This is a User Center server."
docs.SwaggerInfo.Version = "1.0"
docs.SwaggerInfo.BasePath = "/"
docs.SwaggerInfo.Schemes = []string{"http", "https"}
r := gin.Default()
r.Use(middleware.AuthRequired)
r.Use(utils.Cors())
http.RegisterAuthRouter(r)
r.GET("/swagger/usercenter/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
r.Run(fmt.Sprintf(":%d", port))
}