新聞中心
這篇文章給大家分享的是golang實(shí)現(xiàn)用戶登錄注冊(cè)的方法,相信大部分人都還沒(méi)學(xué)會(huì)這個(gè)技能,為了讓大家學(xué)會(huì),給大家總結(jié)了以下內(nèi)容,話不多說(shuō),一起往下看吧。
第一步 注冊(cè)models
models下建立models.go
models.go文件
package models import ( "github.com/astaxie/beego" "github.com/astaxie/beego/orm" _ "github.com/go-sql-driver/mysql" ) func RegisterDB() { //注冊(cè)驅(qū)動(dòng) orm.RegisterDriver("mysql", orm.DRMySQL) //數(shù)據(jù)庫(kù)鏈接 //注冊(cè)默認(rèn)數(shù)據(jù)庫(kù) var db_url string = beego.AppConfig.String("username_DB") + ":" + beego.AppConfig.String("password_DB") + "@tcp(" + beego.AppConfig.String("host_DB") + ")/" + beego.AppConfig.String("name_DB") + "?charset=" + beego.AppConfig.String("charset") beego.Info(db_url) orm.RegisterDataBase("default", "mysql", db_url) // orm.RegisterDataBase("default", "mysql", "an:111@tcp(127.0.0.1:3306)/yoo_home?charset=utf8") // //注冊(cè)model orm.RegisterModel(new(TUser)) }
第二步 數(shù)據(jù)庫(kù)連接的需要
conf下的app.conf文件
appname = an httpport = 8080 runmode = dev sessionon = true #數(shù)據(jù)庫(kù)為mysql host_DB = "127.0.0.1" port_DB = "3306" charset = "utf8" name_DB = "ancg" username_DB = "an" password_DB = 111
第三步 寫(xiě)個(gè)簡(jiǎn)單的前端 view界面
views 下建立client.html文件
客戶端接口測(cè)試
第四步 在models中 建立TUser 用來(lái)為數(shù)據(jù)庫(kù)自動(dòng)建表使用
TUser.go
package models import ( "github.com/astaxie/beego/orm" //_"github.com/go-sql-driver/mysql" ) //用戶表 type TUser struct { //用戶序號(hào) Id int64 //電話號(hào)碼 Tep string //密碼 Pwd string //收款人 Payee string //地址 Address string //收款帳號(hào) Amount string //賬號(hào)類別 AmountType string //是否消費(fèi)者 IsCustomer bool //是否商家 IsSeller bool //是否配送員 IsDiliver bool //是否管理員 IsManager bool //微信openId Vid string //是否凍結(jié) IsLock bool //創(chuàng)建時(shí)間 --- 時(shí)間戳 AddTime int64 } //新建用戶 func AddUser(user *TUser) (int64, error) { o := orm.NewOrm() //數(shù)據(jù)庫(kù) userId, err := o.Insert(user) //插入數(shù)據(jù) return userId, err } //查詢賬號(hào) func GetUserById(userId int64) (*TUser, error) { o := orm.NewOrm() //數(shù)據(jù)庫(kù) user := new(TUser) //TUser就是第9行struct的數(shù)據(jù)庫(kù),就是mysql的表 qs := o.QueryTable("t_user") //表名為t_user err := qs.Filter("id", userId).One(user) //One是指查詢一條數(shù)據(jù),One(user)是查詢mysql表中一條數(shù)據(jù) return user, err } //手機(jī)號(hào)查詢賬號(hào) func GetUserByTel(tel string) (*TUser, error) { o := orm.NewOrm() user := new(TUser) //TUser就是第9行struct的數(shù)據(jù)庫(kù),就是mysql的表 qs := o.QueryTable("t_user") //表名為t_user err := qs.Filter("tel", tel).One(user) //One是指查詢一條數(shù)據(jù),One(user)是查詢mysql表中一條數(shù)據(jù) return user, err } //微信Id查詢賬號(hào) func GetUserByVid(vid int64) (*TUser, error) { o := orm.NewOrm() user := new(TUser) //TUser就是第9行struct的數(shù)據(jù)庫(kù),就是mysql的表 qs := o.QueryTable("t_user") //表名為t_user err := qs.Filter("vid", vid).One(user) //One是指查詢一條數(shù)據(jù),One(user)是查詢mysql表中一條數(shù)據(jù) return user, err }
第五步 controllers 里面建立一個(gè)主接options的文件,用對(duì)應(yīng)option來(lái)調(diào)用其它的controllers
client.go文件
package controllers import ( "github.com/astaxie/beego" "time" ) type ClientController struct { beego.Controller } func (this *ClientController) Get() { this.TplName = "client.html" } func (this *ClientController) Post() { options := this.Input().Get("options") beego.Info(options) //請(qǐng)求檢查方法 if options != "" { switch options { case "login": this.login() case "register": this.register() default: this.Data["json"] = map[string]interface{}{"status": 400, "msg": "無(wú)對(duì)應(yīng)處理方法!", "time": time.Now().Format("2006-12-12 12:12:12")} this.ServeJSON() return } this.Data["json"] = map[string]interface{}{"status": 400, "msg": "options為空", "time": time.Now().Format("2006-12-12 12:12:12")} this.ServeJSON() return } }
以上就是golang實(shí)現(xiàn)用戶登錄注冊(cè)的方法,詳細(xì)使用情況還需要大家自己親自動(dòng)手使用過(guò)才能領(lǐng)會(huì)。如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
分享標(biāo)題:golang實(shí)現(xiàn)用戶登錄注冊(cè)的方法-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://fisionsoft.com.cn/article/egses.html