dev stock stragety
This commit is contained in:
12
internal/logic/apps/home.go
Normal file
12
internal/logic/apps/home.go
Normal file
@@ -0,0 +1,12 @@
|
||||
package apps
|
||||
|
||||
import "github.com/gin-gonic/gin"
|
||||
|
||||
func Home(c *gin.Context) {
|
||||
data := gin.H{
|
||||
"Title": "Welcome to " + c.Request.Host,
|
||||
"Message": "This is " + c.Request.Host + " index page.",
|
||||
}
|
||||
|
||||
c.HTML(200, "apps-home.html", data)
|
||||
}
|
||||
17
internal/logic/apps/stock.go
Normal file
17
internal/logic/apps/stock.go
Normal file
@@ -0,0 +1,17 @@
|
||||
package apps
|
||||
|
||||
import "github.com/gin-gonic/gin"
|
||||
|
||||
var (
|
||||
data = gin.H{
|
||||
"Title": "重生之我在A股开超市",
|
||||
}
|
||||
)
|
||||
|
||||
func StockHome(c *gin.Context) {
|
||||
c.HTML(200, "stock-home.html", data)
|
||||
}
|
||||
|
||||
func StrategyBy(c *gin.Context) {
|
||||
c.HTML(200, "strategy-by.html", data)
|
||||
}
|
||||
8
internal/logic/auth/login.go
Normal file
8
internal/logic/auth/login.go
Normal file
@@ -0,0 +1,8 @@
|
||||
package auth
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func Login(c *gin.Context) {
|
||||
}
|
||||
29
internal/logic/auth/logout.go
Normal file
29
internal/logic/auth/logout.go
Normal file
@@ -0,0 +1,29 @@
|
||||
package auth
|
||||
|
||||
import (
|
||||
"git.apinb.com/bsm-sdk/core/infra"
|
||||
"github.com/gin-contrib/sessions"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// 退出登录处理
|
||||
func Logout(c *gin.Context) {
|
||||
session := sessions.Default(c)
|
||||
|
||||
// 清除会话中的token
|
||||
session.Delete("MgtSession")
|
||||
|
||||
// 设置会话立即过期
|
||||
session.Options(sessions.Options{
|
||||
MaxAge: -1, // 立即过期
|
||||
Path: "/",
|
||||
})
|
||||
|
||||
// 保存会话更改
|
||||
if err := session.Save(); err != nil {
|
||||
infra.Response.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
infra.Response.Success(c, "Logged out successfully")
|
||||
}
|
||||
14
internal/logic/auth/sign_in.go
Normal file
14
internal/logic/auth/sign_in.go
Normal file
@@ -0,0 +1,14 @@
|
||||
package auth
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func SignIn(c *gin.Context) {
|
||||
data := gin.H{
|
||||
"Title": "Welcome to " + c.Request.Host,
|
||||
"Message": "This is " + c.Request.Host + " index page.",
|
||||
}
|
||||
|
||||
c.HTML(200, "index.html", data)
|
||||
}
|
||||
45
internal/middleware/session.go
Normal file
45
internal/middleware/session.go
Normal file
@@ -0,0 +1,45 @@
|
||||
package middleware
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
"github.com/gin-contrib/sessions"
|
||||
"github.com/gin-contrib/sessions/cookie"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
var sessionID string
|
||||
|
||||
func CheckSession() gin.HandlerFunc {
|
||||
return func(ctx *gin.Context) {
|
||||
session := sessions.Default(ctx)
|
||||
|
||||
//ctx.Next()
|
||||
//return
|
||||
|
||||
token := session.Get(sessionID)
|
||||
log.Println("session:", sessionID, token)
|
||||
// 未登录时重定向到登录页
|
||||
if token == nil {
|
||||
ctx.Redirect(301, "/sign-in")
|
||||
return
|
||||
}
|
||||
|
||||
// set simple var
|
||||
ctx.Set("SESSION", token)
|
||||
// validate session:1.check cache 2.check database // TODO
|
||||
|
||||
ctx.Next()
|
||||
}
|
||||
}
|
||||
func EnableCookieSession(name, key string) gin.HandlerFunc {
|
||||
store := cookie.NewStore([]byte(name))
|
||||
store.Options(sessions.Options{
|
||||
Path: "/",
|
||||
MaxAge: 86400, // 24小时
|
||||
HttpOnly: true,
|
||||
Secure: false, // 在使用HTTPS的生产环境中设置为true
|
||||
})
|
||||
sessionID = name
|
||||
return sessions.Sessions(key, store)
|
||||
}
|
||||
@@ -4,13 +4,32 @@ import (
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
"git.apinb.com/senlinai/site/internal/logic"
|
||||
"git.apinb.com/senlinai/cloud/internal/logic"
|
||||
"git.apinb.com/senlinai/cloud/internal/logic/apps"
|
||||
"git.apinb.com/senlinai/cloud/internal/logic/auth"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// Register public 注册路由
|
||||
func RegistersPublic(engine *gin.Engine) {
|
||||
engine.GET("/", logic.Index)
|
||||
|
||||
// 匿名访问接口
|
||||
engine.GET("/sign-in", auth.SignIn) // 登录
|
||||
engine.POST("/login", auth.Login)
|
||||
engine.GET("/logout", auth.Logout) // 退出登录
|
||||
|
||||
registerCenter("apps", engine)
|
||||
}
|
||||
|
||||
func registerCenter(v1_key string, engine *gin.Engine) {
|
||||
center := engine.Group(v1_key)
|
||||
|
||||
// Session认证
|
||||
// center.Use(middleware.CheckSession())
|
||||
|
||||
center.GET("/home", apps.Home) // 首页概况
|
||||
|
||||
}
|
||||
|
||||
func RegistersAll(engine *gin.Engine) {
|
||||
|
||||
Reference in New Issue
Block a user