fix router bug -> v0.8.14
This commit is contained in:
parent
7e240b913b
commit
d053596a9b
3 changed files with 32 additions and 33 deletions
|
|
@ -2,15 +2,25 @@ package service
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"net/http"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
"github.com/yaoapp/xiang/config"
|
||||||
|
"github.com/yaoapp/xiang/data"
|
||||||
"github.com/yaoapp/xiang/share"
|
"github.com/yaoapp/xiang/share"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// AdminFileServer 数据管理平台
|
||||||
|
var AdminFileServer http.Handler = http.FileServer(data.AssetFS())
|
||||||
|
|
||||||
|
// AppFileServer 应用静态文件
|
||||||
|
var AppFileServer http.Handler = http.FileServer(http.Dir(config.Conf.RootUI))
|
||||||
|
|
||||||
// Middlewares 服务中间件
|
// Middlewares 服务中间件
|
||||||
var Middlewares = []gin.HandlerFunc{
|
var Middlewares = []gin.HandlerFunc{
|
||||||
BindDomain,
|
BindDomain,
|
||||||
|
BinStatic,
|
||||||
}
|
}
|
||||||
|
|
||||||
// BindDomain 绑定许可域名
|
// BindDomain 绑定许可域名
|
||||||
|
|
@ -29,3 +39,23 @@ func BindDomain(c *gin.Context) {
|
||||||
})
|
})
|
||||||
c.Abort()
|
c.Abort()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// BinStatic 静态文件服务
|
||||||
|
func BinStatic(c *gin.Context) {
|
||||||
|
|
||||||
|
length := len(c.Request.URL.Path)
|
||||||
|
|
||||||
|
if length >= 5 && c.Request.URL.Path[0:5] == "/api/" { // API接口
|
||||||
|
c.Next()
|
||||||
|
return
|
||||||
|
} else if length >= 7 && c.Request.URL.Path[0:7] == "/xiang/" { // 数据管理后台
|
||||||
|
c.Request.URL.Path = strings.TrimPrefix(c.Request.URL.Path, "/xiang")
|
||||||
|
AdminFileServer.ServeHTTP(c.Writer, c.Request)
|
||||||
|
c.Abort()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 应用内静态文件目录(/ui)
|
||||||
|
AppFileServer.ServeHTTP(c.Writer, c.Request)
|
||||||
|
c.Abort()
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,29 +1,17 @@
|
||||||
package service
|
package service
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"net/http"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
|
||||||
"github.com/yaoapp/gou"
|
"github.com/yaoapp/gou"
|
||||||
"github.com/yaoapp/xiang/config"
|
"github.com/yaoapp/xiang/config"
|
||||||
"github.com/yaoapp/xiang/data"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var shutdown = make(chan bool)
|
var shutdown = make(chan bool)
|
||||||
var shutdownComplete = make(chan bool)
|
var shutdownComplete = make(chan bool)
|
||||||
|
|
||||||
// AdminFileServer 数据管理平台
|
|
||||||
var AdminFileServer http.Handler = http.FileServer(data.AssetFS())
|
|
||||||
|
|
||||||
// AppFileServer 应用静态文件
|
|
||||||
var AppFileServer http.Handler = http.FileServer(http.Dir(config.Conf.RootUI))
|
|
||||||
|
|
||||||
// Start 启动服务
|
// Start 启动服务
|
||||||
func Start() {
|
func Start() {
|
||||||
gou.SetHTTPGuards(Guards)
|
gou.SetHTTPGuards(Guards)
|
||||||
gou.ServeHTTPCustomRouter(
|
gou.ServeHTTP(
|
||||||
router(),
|
|
||||||
gou.Server{
|
gou.Server{
|
||||||
Host: config.Conf.Service.Host,
|
Host: config.Conf.Service.Host,
|
||||||
Port: config.Conf.Service.Port,
|
Port: config.Conf.Service.Port,
|
||||||
|
|
@ -42,22 +30,3 @@ func Stop(onComplete func()) {
|
||||||
<-shutdownComplete
|
<-shutdownComplete
|
||||||
onComplete()
|
onComplete()
|
||||||
}
|
}
|
||||||
|
|
||||||
// router 返回路由
|
|
||||||
func router() *gin.Engine {
|
|
||||||
gin.SetMode(gin.ReleaseMode)
|
|
||||||
router := gin.Default()
|
|
||||||
|
|
||||||
// 应用 UI 目录应用静态文件
|
|
||||||
router.Any("/", func(c *gin.Context) {
|
|
||||||
AppFileServer.ServeHTTP(c.Writer, c.Request)
|
|
||||||
})
|
|
||||||
|
|
||||||
// 数据管理后台
|
|
||||||
router.Any("/xiang/*path", func(c *gin.Context) {
|
|
||||||
c.Request.URL.Path = strings.TrimPrefix(c.Request.URL.Path, "/xiang")
|
|
||||||
AdminFileServer.ServeHTTP(c.Writer, c.Request)
|
|
||||||
})
|
|
||||||
|
|
||||||
return router
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
// VERSION 版本号
|
// VERSION 版本号
|
||||||
const VERSION = "0.8.13"
|
const VERSION = "0.8.14"
|
||||||
|
|
||||||
// DOMAIN 许可域
|
// DOMAIN 许可域
|
||||||
const DOMAIN = "*.iqka.com"
|
const DOMAIN = "*.iqka.com"
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue