社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
appname = draw
httpport = 8080
runmode = local
sessionon = true
debug = true
[local]
httpport = 8088
jwt_key = jlimigyangaosdkoaiojiwe
autorender = true
tokenExt = 7200
[dev]
httpport = 8080
jwt_key = sdfsdgdfg?we1e2342sdfsf
autorender = true
tokenExt = 7200
[prod]
httpport = 80
jwt_key = qweqweqweqwsdadgredfge
autorender = true
tokenExt = 7200
include "db.ini"
[local]
mysqlaliasname = default
mysqldrivername = mysql
mysqluser = lmy
mysqlpass = wdful165177
mysqlurls = www.item1024.com
mysqldb = db_draw
mysqlport = 3306
tbprefix = t_
sqldebug = true
[dev]
mysqlaliasname = default
mysqldrivername = mysql
mysqluser = root
mysqlpass = root
mysqlurls = 127.0.0.1
mysqldb = db_draw
mysqlport = 3306
tbprefix = t_
sqldebug = true
[prod]
mysqlaliasname = default
mysqldrivername = mysql
mysqluser = root
mysqlpass = 165177
mysqlurls = 127.0.0.1
mysqldb = db_draw
mysqlport = 3306
tbprefix = t_
sqldebug = false
package main
import (
"encoding/json"
"github.com/astaxie/beego"
"github.com/astaxie/beego/context"
"github.com/astaxie/beego/orm"
_ "github.com/astaxie/beego/orm"
_ "github.com/go-sql-driver/mysql"
"item1024.com/draw/constants"
_ "item1024.com/draw/routers"
"item1024.com/draw/structs"
"item1024.com/draw/utils"
"strings"
"time"
)
func init() {
beego.BConfig.WebConfig.Session.SessionCookieLifeTime = 999999999
//连接数据库
database := beego.AppConfig.String("mysqldb")
dburl := beego.AppConfig.String("mysqlurls") + ":" + beego.AppConfig.String("mysqlport")
dbalias := beego.AppConfig.String("mysqlaliasname")
dbdrivername := beego.AppConfig.String("mysqldrivername")
dbuser := beego.AppConfig.String("mysqluser")
dbapassword := beego.AppConfig.String("mysqlpass")
sqlDebug, error := beego.AppConfig.Bool("sqldebug")
println(error)
println("runmode:" + beego.AppConfig.String("runmode") + "--connect db:" + database + "--url:" + dburl)
orm.RegisterDriver("mysql", orm.DRMySQL)
orm.RegisterDataBase(dbalias, dbdrivername, dbuser+":"+dbapassword+"@tcp("+dburl+")/"+database+"?charset=utf8")
orm.Debug = sqlDebug
// create table
orm.RunSyncdb(dbalias, false, true)
orm.DefaultTimeLoc = time.UTC
//log
beego.SetLogger("log", `{"filename":"logs/draw.log"}`)
beego.BeeLogger.DelLogger("log")
beego.SetLevel(beego.LevelDebug)
beego.SetLogFuncCall(true)
//filter
beego.InsertFilter("/auth/api/*", beego.BeforeExec, FilterUser, true)
beego.InsertFilter("/auth/page/*", beego.BeforeExec, FilterPage, true)
}
func main() {
//beego.SetStaticPath("/web","views")
beego.Run()
}
//过滤用户权限返回json
var FilterUser = func(ctx *context.Context) {
println("auth filter init...")
res := structs.Response{500, constants.AUTH_VER_FAIL, nil}
msg, err := json.Marshal(res)
if err != nil {
ctx.ResponseWriter.Write(msg)
} else {
token := ctx.Request.Header.Get("auth")
if !strings.Contains(token, ".") {
ctx.ResponseWriter.Write(msg)
} else {
custom := utils.CheckToken(token)
if custom == nil {
ctx.ResponseWriter.Write(msg)
} else {
ctx.Input.SetParam("userId", custom.UserId)
ctx.Input.SetParam("userName", custom.UserName)
}
}
}
}
//过滤用户权限返回权限页面
var FilterPage = func(ctx *context.Context) {
token := ctx.Request.Header.Get("auth")
if !strings.Contains(token, ".") {
ctx.Redirect(302, "/login")
} else {
custom := utils.CheckToken(token)
if custom == nil {
ctx.Redirect(302, "/login")
} else {
ctx.Input.SetParam("userId", custom.UserId)
ctx.Input.SetParam("userName", custom.UserName)
}
}
}
package models
import (
"github.com/astaxie/beego"
"github.com/astaxie/beego/orm"
)
/**
初始化model
*/
func init() {
// 需要在 init 中注册定义的 model
orm.RegisterModelWithPrefix(beego.AppConfig.String("tbprefix"), new(UserToken), new(UserBase), new(DrawConfig), new(DrawRecord))
}
package routers
import (
"github.com/astaxie/beego"
"item1024.com/draw/controllers"
)
func init() {
beego.Router("/", &controllers.MainController{}, "get:Login")
beego.Router("/login.page", &controllers.MainController{}, "get:Login")
beego.Router("/registe.page", &controllers.MainController{}, "get:Registe")
beego.Router("/draw_set.page", &controllers.MainController{}, "get:DrawSet")
beego.Router("/draw_list.page", &controllers.MainController{}, "get:DrawList")
beego.Router("/draw.page", &controllers.MainController{}, "get:Draw")
beego.Router("/token/addToken.py", &controllers.TokenController{}, "get:CreateToken")
beego.Router("/user/registe.py", &controllers.UserController{}, "post:UserRegiste")
beego.Router("/user/login.py", &controllers.UserController{}, "post:UserLogin")
beego.Router("/user/exit.py", &controllers.UserController{}, "get:Exit")
beego.Router("/auth/api/saveDrawConfig", &controllers.DrawController{}, "post:SaveDrawConfig")
beego.Router("/auth/api/queryDraw", &controllers.DrawController{}, "post:QueryDraw")
beego.Router("/auth/api/updateNameById", &controllers.DrawController{}, "post:UpdateNameById")
beego.Router("/auth/api/deleteById", &controllers.DrawController{}, "post:DeleteById")
beego.Router("/auth/api/saveDraw", &controllers.DrawController{}, "post:SaveDraw")
beego.Router("/auth/api/queryDrawRecord", &controllers.DrawController{}, "post:QueryDrawRecord")
}
bee pack -be GOOS=linux
bee pack -be GOOS=darwin
bee pack -be GOOS=windows
没登陆账号就去注册
授权密钥生成 调用http://localhost:8080//token/addToken.py生成如图:
生成的密钥在这里查看 status为1的是未使用:
把这个新的token复制到注册授权密钥使用即可注册成功
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!