Ver código fonte

add doc generate api

zhangjq 6 anos atrás
pai
commit
631d41b33b

+ 29 - 0
controllers/ApiController.go

@@ -0,0 +1,29 @@
+
+package controllers
+
+import (
+//"git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
+//sysmodel "git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
+)
+
+
+// _ApiDoc
+// @Title _ApiDoc
+// @Description api文档
+// @Param	sys    string  false  "是否包含用户管理相关接口"
+// @Success 200 {object} models.Account
+// @Failure 403 :id is empty
+func Api_ApiDoc(c *ApiController) {
+	sys := c.Ctx.Param(":sys")
+	ret := __none_func_api__(sys)
+
+	if ret{
+		//c.Ctx.String(200,"")
+		c.Ctx.HTML(200, "api.tpl","")
+	}
+}
+
+
+func __none_func_api__(params ... interface{}) bool{
+	return true
+}

+ 35 - 0
controllers/ApiController_gen.go

@@ -0,0 +1,35 @@
+
+package controllers
+
+import (
+	"github.com/gin-gonic/gin"
+	"github.com/xormplus/xorm"
+	"git.qianqiusoft.com/qianqiusoft/light-apiengine/engine"
+)
+
+// ApiController operations for Api
+type ApiController struct {
+	Ctx *gin.Context
+	Db *xorm.Engine
+	engine *engine.ApiEngine
+}
+
+func NewApiController(c *gin.Context, e *engine.ApiEngine) *ApiController {
+	controller := &ApiController{c,e.OrmEngine,e}
+	return controller
+}
+
+
+
+// ApiDoc
+// @Title ApiDoc
+// @Description api文档         
+// @Param	sys    string  false  "是否包含用户管理相关接口"  
+// @Success 200 {object} models.Account
+// @Failure 403 :id is empty
+// @router /api_doc  [get]
+func (c *ApiController) ApiDoc() {
+	//
+	Api_ApiDoc(c)
+}
+

+ 2 - 2
controllers/SystemController.go_new

@@ -2,8 +2,8 @@
 package controllers
 
 import (
-	"git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
-	sysmodel "git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
+	//"git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
+	//sysmodel "git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
 )
 
 

+ 5 - 1
engine/apiengine.go

@@ -29,12 +29,14 @@ func NewApiEngine(driverName, dataSourceName string, addr string) *ApiEngine {
 	}
 	initOrmEngine(engine.OrmEngine, driverName)
 	engine.GinEngine = gin.Default()
+	engine.GinEngine.LoadHTMLGlob("doc/*")
 
 	CreateDatabase(engine)
 
 	//cross domain
 	config := cors.DefaultConfig()
-	config.AllowOrigins = []string{"http://localhost:8090"}
+	config.AllowAllOrigins = true
+	//config.AllowOrigins = []string{"http://localhost:8090"}
 	config.AllowCredentials = true
 	config.AllowHeaders = []string{"Content-Type,AccessToken,X-CSRF-Token, Authorization, Token"}
 	engine.GinEngine.Use(cors.New(config))
@@ -79,5 +81,7 @@ func (g *ApiEngine) SyncDb(beans ...interface{}) error {
 
 func (g *ApiEngine) Run() {
 	InitDbData(g)
+	g.GinEngine.StaticFile("/", "web/index.html")
+	g.GinEngine.Static("/static","web/static")
 	g.GinEngine.Run(g.listen_addr)
 }

+ 14 - 0
routers/router_gen.go

@@ -43,6 +43,13 @@ func systemController_add_permission(c* gin.Context)  {
 
 
 
+
+func apiController_api_doc(c* gin.Context)  {
+	controllers.NewApiController(c,g_engine).ApiDoc()
+}
+
+
+
 func SyncDb(e *engine.ApiEngine) {
 
 	e.OrmEngine.Sync2(new (models.SysUser))
@@ -96,5 +103,12 @@ func InitRouter(e *engine.ApiEngine)  {
     v1.PUT("/system/add_permission",systemController_add_permission)
 
 
+
+
+	v1.GET("/api/api_doc",apiController_api_doc)
+	//v1.POST("/api/api_doc",apiController_api_doc)
+    //v1.PUT("/api/api_doc",apiController_api_doc)
+
+
 }