任务分配
根据小组讨论结果,最后我们选择用gin-gorm框架来做项目,而我分配的功能是个人信息界面展示 整个的修改接口是router-controller-service-dao三层接口逐层修改,dao层写的是和数据库连接的gorm数据库选择语言,service层去调用dao层的数据,并且返回json能够渲染的格式,controller层负责实现token接口拿到解析出的id,然后调用service层的接口。
首先我的router层实现是这样的:
package routers
import (
"douyin/controller"
)
func (router RouterGroup) UserRouter() {
app := controller.ControllerGroupApp.UserController
router.POST("/user/show", app.User)
}
如果要访问,路径提前设置好,这里接的表是model层的response里面的用户表
其次我的service层是这样的:
package controller
import (
"douyin/common/global"
"douyin/models"
"github.com/gin-gonic/gin"
"go.uber.org/zap"
"net/http"
)
type UserController struct{}
func (UserController) User(c *gin.Context) {
//获取用户所有个人信息
var user models.UserModel
if err := c.ShouldBindQuery(&user); err != nil { //这个函数就是看看解析得对不对
global.Log.Error("UserController.User 请求参数错误", zap.Error(err))
}
//下面我们要返回所需要的信息了,然后给json渲染出来
println("aaaaaaaaaaaaaaaaa")
userid := user.MODEL.ID
//_claim, exist := c.Get("claim")
//claim, _ := _claim.(*jwt.UserClaim)
//if !exist {
//global.Log.Error("UserController.User claim 参数错误")
// }
var claim int64
res, err := UserAll.SelectAll(userid, claim)
if err != nil {
global.Log.Info("用户信息显示失败", zap.Error(err))
}
c.JSON(http.StatusOK, res)
}
我会在我的这一层里面,选取返回需要的信息,然后json渲染出来,传递给浏览器。