-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.go
70 lines (59 loc) · 1.17 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
70
package main
import (
"fmt"
"io"
"log"
"os"
"time"
_ "github.com/jerbe/jim-docs/docs"
"github.com/gin-gonic/gin"
"github.com/jerbe/jim-docs/docs"
swaggerFiles "github.com/swaggo/files"
ginSwagger "github.com/swaggo/gin-swagger"
)
/**
@author : Jerbe - The porter from Earth
@time : 2023-08-10 00:54
@describe :
*/
func loadConfig() {
defer func() {
if obj := recover(); obj != nil {
log.Println(obj)
}
}()
file, err := os.Open("./swagger.json")
if err != nil {
log.Println(err)
return
}
bytes, err := io.ReadAll(file)
if err != nil {
log.Println(err)
return
}
if len(bytes) == 0 {
log.Println("文件无数据.跳过")
return
}
docs.SwaggerInfo.SwaggerTemplate = string(bytes)
}
func tickLoadDocs() {
for range time.Tick(time.Second * 10) {
loadConfig()
}
}
func main() {
port := "80"
log.Println("初始化")
go tickLoadDocs()
log.Println("定时加载文档已启动")
router := gin.New()
router.GET("/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
log.Printf("程序已运行. 监听端口:%s, http://127.0.0.1:%s\n", port, port)
err := router.Run(fmt.Sprintf(":%s", port))
if err != nil {
log.Println(err)
return
}
}