package controller
import (
"blog/dao"
"blog/model"
"github.com/gin-gonic/gin"
)
func RegisterUser(c *gin.Context) {
username := c.PostForm("username")
password := c.PostForm("password")
user := model.User{
Username: username,
Password: password,
}
dao.Mgr.RegisterUser(&user)
c.Redirect(301, "/")
}
func GoRegister(c *gin.Context) {
c.HTML(200, "register.html", nil)
}
func Index(c *gin.Context) {
c.HTML(200, "index.html", nil)
}
func ListUser(c *gin.Context) {
c.HTML(200, "userlist.html", nil)
}
将AddUser改为RegisterUser
c.Redirect(301, "/")
,注册完成后重定向至index页面添加
GoRegister
函数,用于GET到注册页面
package dao
import (
"blog/model"
"log"
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
type Manager interface {
RegisterUser(user *model.User)
}
type manager struct {
db *gorm.DB
}
var Mgr Manager
func init() {
dsn := "root:960690@tcp(127.0.0.1:3306)/golang_db?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{
})
if err != nil {
log.Fatal("Failed to init db:", err)
}
Mgr = &manager{
db: db}
db.AutoMigrate(&model.User{
})
}
func (mgr *manager) RegisterUser(user *model.User) {
mgr.db.Create(user)
}
将AddUser改为RegisterUser
package router
import (
"blog/controller"
"github.com/gin-gonic/gin"
)
func Start() {
e := gin.Default()
e.LoadHTMLGlob("templates/*")
e.Static("/assets", "./assets")
e.POST("/regi