-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.go
60 lines (51 loc) · 1.78 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
package main
import (
"flag"
"fmt"
_ "dubbo.apache.org/dubbo-go/v3/imports"
"github.com/CloudSilk/curd/gen"
curdhttp "github.com/CloudSilk/curd/http"
curdmodel "github.com/CloudSilk/curd/model"
curdservice "github.com/CloudSilk/curd/service"
"github.com/CloudSilk/pkg/config"
"github.com/CloudSilk/pkg/constants"
"github.com/CloudSilk/pkg/utils"
uchttp "github.com/CloudSilk/usercenter/http"
ucmodel "github.com/CloudSilk/usercenter/model"
"github.com/CloudSilk/usercenter/model/token"
ucmiddleware "github.com/CloudSilk/usercenter/utils/middleware"
"github.com/gin-gonic/gin"
)
func main() {
webPath := flag.String("ui", "./web", "web路径")
port := flag.Int("port", 80, "端口")
flag.Parse()
StartAll(*webPath, *port)
}
func StartAll(webPath string, port int) {
err := config.InitFromFile("./config.yaml")
if err != nil {
panic(err)
}
ok, dbClient := config.NewDB("sqlite")
if !ok {
panic("未配置数据库")
}
ucmodel.InitDB(dbClient, config.DefaultConfig.Debug)
curdmodel.InitDB(dbClient, config.DefaultConfig.Debug)
curdservice.Init()
token.InitTokenCache(config.DefaultConfig.Token.Key, config.DefaultConfig.Token.RedisAddr, config.DefaultConfig.Token.RedisName, config.DefaultConfig.Token.RedisPwd, config.DefaultConfig.Token.Expired)
constants.SetPlatformTenantID(config.DefaultConfig.PlatformTenantID)
constants.SetSuperAdminRoleID(config.DefaultConfig.SuperAdminRoleID)
constants.SetDefaultRoleID(config.DefaultConfig.DefaultRoleID)
constants.SetEnabelTenant(config.DefaultConfig.EnableTenant)
ucmodel.SetDefaultPwd(config.DefaultConfig.DefaultPwd)
gen.LoadCache()
r := gin.Default()
r.Use(ucmiddleware.AuthRequired)
r.Use(utils.Cors())
uchttp.RegisterAuthRouter(r)
curdhttp.RegisterRouter(r)
r.Static("/web", webPath)
r.Run(fmt.Sprintf(":%d", port))
}