feat(admin): 实现用户管理的增删改查功能
- 新增用户添加接口,支持数据库中创建用户 - 实现用户编辑接口,允许更新用户信息 - 添加用户删除接口,支持从数据库删除用户 - 修改路由配置,新增用户编辑和删除的GET请求路径 - 使用gorm完成用户数据的增删改查操作 - 初始化数据库连接,自动迁移User表结构 - 新增User和Article模型定义及对应的表名函数 - 在main.go中添加session中间件支持 - defaultController中实现基于session的用户名保存与读取 - 添加go.mod依赖,包含gorm与gin-contrib/sessions相关包
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
package admin
|
||||
|
||||
import (
|
||||
"awesomeProject/model"
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
@@ -12,11 +14,41 @@ type UserController struct {
|
||||
}
|
||||
|
||||
func (con UserController) Index(c *gin.Context) {
|
||||
con.Success(c)
|
||||
//查询数据库
|
||||
userList := []model.User{}
|
||||
|
||||
model.DB.Find(&userList)
|
||||
c.JSON(200, userList)
|
||||
//con.Success(c)
|
||||
}
|
||||
|
||||
func (con UserController) Add(c *gin.Context) {
|
||||
c.HTML(200, "admin/useradd", gin.H{})
|
||||
user := model.User{
|
||||
Name: "test",
|
||||
Age: 18,
|
||||
Email: "test@example.com",
|
||||
Password: "password",
|
||||
}
|
||||
model.DB.Create(&user)
|
||||
c.JSON(200, user)
|
||||
fmt.Println(user)
|
||||
c.String(200, "用户添加成功")
|
||||
}
|
||||
|
||||
func (con UserController) Edit(c *gin.Context) {
|
||||
user := model.User{Id: 1}
|
||||
model.DB.Find(&user)
|
||||
user.Age = 19
|
||||
user.Password = "6666"
|
||||
user.Name = "哈哈哈"
|
||||
model.DB.Save(&user)
|
||||
c.JSON(200, user)
|
||||
}
|
||||
|
||||
func (con UserController) Delete(c *gin.Context) {
|
||||
user := model.User{Id: 1}
|
||||
model.DB.Delete(&user)
|
||||
c.String(200, "用户删除成功")
|
||||
}
|
||||
|
||||
func (con UserController) Show(c *gin.Context) {
|
||||
@@ -87,7 +119,3 @@ func (con UserController) DoEdit(c *gin.Context) {
|
||||
"dst1": dst1,
|
||||
})
|
||||
}
|
||||
|
||||
func (con UserController) Edit(c *gin.Context) {
|
||||
c.HTML(200, "admin/useredit", gin.H{})
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import (
|
||||
"awesomeProject/model"
|
||||
"fmt"
|
||||
|
||||
"github.com/gin-contrib/sessions"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
@@ -13,6 +14,14 @@ type DefaultController struct {
|
||||
}
|
||||
|
||||
func (con DefaultController) Index(c *gin.Context) {
|
||||
//设置session
|
||||
session := sessions.Default(c)
|
||||
session.Set("username", "张三sessions")
|
||||
err := session.Save()
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
fmt.Println(model.UnixToTime(1629788418))
|
||||
//设置cookie
|
||||
c.SetCookie("username", "张三", 3600, "/", "", false, false)
|
||||
@@ -22,13 +31,17 @@ func (con DefaultController) Index(c *gin.Context) {
|
||||
})
|
||||
}
|
||||
func (con DefaultController) Article(c *gin.Context) {
|
||||
//获取cookie
|
||||
username, err := c.Cookie("username")
|
||||
if err != nil {
|
||||
c.String(200, "获取cookie失败")
|
||||
return
|
||||
}
|
||||
c.String(200, "cookie="+username)
|
||||
//获取session
|
||||
session := sessions.Default(c)
|
||||
username := session.Get("username")
|
||||
c.String(200, "session=%v", username)
|
||||
////获取cookie
|
||||
//username, err := c.Cookie("username")
|
||||
//if err != nil {
|
||||
// c.String(200, "获取cookie失败")
|
||||
// return
|
||||
//}
|
||||
//c.String(200, "cookie="+username)
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user