golang实现用户登录注册的方法

发布时间:2020-06-17 10:56:15

来源:亿速云

阅读:198

作者:Leah

这篇文章给大家分享的是golang实现用户登录注册的方法,相信大部分人都还没学会这个技能,为了让大家学会,给大家总结了以下内容,话不多说,一起往下看吧。

第一步 注册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() {

//注册驱动

orm.RegisterDriver("mysql", orm.DRMySQL)

//数据库链接

//注册默认数据库

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")

// //注册model

orm.RegisterModel(new(TUser))

}

第二步 数据库连接的需要

conf下的app.conf文件appname = an

httpport = 8080

runmode = dev

sessionon = true

#数据库为mysql

host_DB = "127.0.0.1"

port_DB = "3306"

charset = "utf8"

name_DB = "ancg"

username_DB = "an"

password_DB = 111

第三步 写个简单的前端 view界面

views 下建立client.html文件

客户端接口测试

注册

[options == register 注册]

options:
tel:
pwd:

登录

[options == login 登录]

options:
tel:
pwd:

第四步 在models中 建立TUser 用来为数据库自动建表使用

TUser.gopackage models

import (

"github.com/astaxie/beego/orm"

//_"github.com/go-sql-driver/mysql"

)

//用户表

type TUser struct {

//用户序号

Id int64

//电话号码

Tep string

//密码

Pwd string

//收款人

Payee string

//地址

Address string

//收款帐号

Amount string

//账号类别

AmountType string

//是否消费者

IsCustomer bool

//是否商家

IsSeller bool

//是否配送员

IsDiliver bool

//是否管理员

IsManager bool

//微信openId

Vid string

//是否冻结

IsLock bool

//创建时间 --- 时间戳

AddTime int64

}

//新建用户

func AddUser(user *TUser) (int64, error) {

o := orm.NewOrm() //数据库

userId, err := o.Insert(user) //插入数据

return userId, err

}

//查询账号

func GetUserById(userId int64) (*TUser, error) {

o := orm.NewOrm() //数据库

user := new(TUser) //TUser就是第9行struct的数据库,就是mysql的表

qs := o.QueryTable("t_user") //表名为t_user

err := qs.Filter("id", userId).One(user) //One是指查询一条数据,One(user)是查询mysql表中一条数据

return user, err

}

//手机号查询账号

func GetUserByTel(tel string) (*TUser, error) {

o := orm.NewOrm()

user := new(TUser) //TUser就是第9行struct的数据库,就是mysql的表

qs := o.QueryTable("t_user") //表名为t_user

err := qs.Filter("tel", tel).One(user) //One是指查询一条数据,One(user)是查询mysql表中一条数据

return user, err

}

//微信Id查询账号

func GetUserByVid(vid int64) (*TUser, error) {

o := orm.NewOrm()

user := new(TUser) //TUser就是第9行struct的数据库,就是mysql的表

qs := o.QueryTable("t_user") //表名为t_user

err := qs.Filter("vid", vid).One(user) //One是指查询一条数据,One(user)是查询mysql表中一条数据

return user, err

}

第五步 controllers 里面建立一个主接options的文件,用对应option来调用其它的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)

//请求检查方法

if options != "" {

switch options {

case "login":

this.login()

case "register":

this.register()

default:

this.Data["json"] = map[string]interface{}{"status": 400, "msg": "无对应处理方法!", "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实现用户登录注册的方法,详细使用情况还需要大家自己亲自动手使用过才能领会。如果想了解更多相关内容,欢迎关注亿速云行业资讯频道!

go 注册登录 mysql_golang实现用户登录注册的方法相关推荐

  1. java jsp登录界面设计,用户登录注册系统(基于JSP和Servlet)

    准备工作 开发环境准备 开发工具:eclipse 4.3 技术语言:Java SE 1.7 依赖控制:Maven 3.0.4 服务器:Tomcat 7.0.68 操作系统:Windows 10 搭建一 ...

  2. 管理员用户不同身份登录页面代码PHP,wordpress管理员登录和普通用户登录后跳转到不同页面-♚付涛纪实阁♚...

    这篇文章将向您展示WordPress用户登录后如何重定向到指定页面或者文章的技巧. 一.重定向到网站管理面板. 将以下代码添加到您的当前主题的 functions.php 文件中 二.重定向到指定页面 ...

  3. php yanzhengm,php登录验证_php用户登录与验证的代码举例

    摘要 腾兴网为您分享:php用户登录与验证的代码举例,雨课堂版,新东方,小度音响,手机互联等软件知识,以及py平台,折扇app,内蒙古税务局,货代,兰斯10,新浪长微博,吉民生,yy球球直播视频,速优 ...

  4. 如何实现一键登录,提升用户登录体验?

    用户留存对于大多数互联网从业者而言都是一项重要的指标,在获客成本日益增加的今天,如何提升用户体验?如何有效做好用户留存?从细节入手,提升用户体验即使是在注册/登录环节也不容忽视.麻烦.不够顺畅的登录方 ...

  5. 用户未登录重定向到登录界面_Linux 用户登录记录

    简介 服务器很多时候哦都是会开放远程登录端口,这时候我们就会关注 用户登录记录 . 在 Linux 上,有关用户登录的信息记录在 utmp(/var/run/utmp).wtmp(/var/log/w ...

  6. linux用户双重认证登录,linux PAM 用户登录认证

    PAM(Pluggable Authentication Modules )是由Sun提出的一种认证机制.它通过提供一些动态链接库和一套统一的API,将系统提供的服务 和该服务的认证方式分开,使得系统 ...

  7. 板邓:wordpress自定义登录页面实现用户登录

    首先检查用户是否已经登录,如果已经登录就返回info目录下的页面. <?phpglobal $current_user;$loginuserid = $current_user->ID;i ...

  8. python用户名密码登录退出_用户登录登出

    一.功能需求分析 1.登录功能分析 1.1登录流程 1.2功能(一个请求为一个功能) -登录页面 -登录功能 -登出功能 二.登录页面 1.接口设计 1.1.接口说明 类目 说明 请求方式 GET u ...

  9. QQ互联第三方登录多应用用户登录打通

    2019独角兽企业重金招聘Python工程师标准>>> 在开发第三方登录的时候,发现qq互联的第三方登录openId在多个应用中用户登录无法打通,然后发送邮件咨询了一下qq互联(邮箱 ...

最新文章

  1. Spring事务管理--嵌套事务详解
  2. 各种数据结构性能的比较
  3. mysql更新多条数据6_mysql语句:批量更新多条记录的不同值
  4. Color类提供的颜色
  5. SpaceX 载人飞船首发成功!
  6. 查找交换机某端口连接的主机IP地址
  7. 51CTO独家:2008下半年软考所有科目试题已到
  8. jQuery的DOM操作之捕获和设置
  9. Excel之vlookup函数的模糊匹配和精准匹配
  10. 东北大学数理统计 2019-2020 年试题答案
  11. 网页源代码保护(禁止右键、复制、另存为、查看源文件)
  12. 阿里巴巴争夺中国蓬勃发展的电动汽车市场
  13. UDS(一)入门概述
  14. 企业邮箱适用于哪些行业?公司邮箱都用什么?
  15. 子比Zibll主题V6.3最新亲测免授权+可用版
  16. iOS开发人员必看的精品资料(100个)——下载目录
  17. 计算机管理服务报错mmc,mmc错误,注册表没有mmc
  18. Matlab绘图技巧--如何去除图上方和右方刻度
  19. 总结使人进步,遵循事物的发展规律
  20. 微信电脑版DAT图片文件转JPG/PNG图片的简单工具

热门文章

  1. 局域网访问文件提示服务器内存不足,“服务器存储空间不足”的问题
  2. 在服务器上安装tensorflow-gpu版本及其使用
  3. Java中XML运用总结
  4. msfvenom生成木马攻击-Windows10实现自己黑自己
  5. IPU VPU GPU
  6. Html中文本域中加图片,如何在文本框中加图片
  7. 微信小程序分享功能(微信好友,朋友圈)
  8. Node + WebSocket + Vue 聊天室创建群聊/加入群聊功能 – 第五章
  9. 【CSS】三行实现一个黑白网格背景(渐变)
  10. 力扣1438——绝对差不超过限制的最长连续子数组(滑动窗口+单调队列)