4-3章节做完无法登录
来源:4-4 编码实战:实现用户信息查询接口
慕少5522438
2021-03-03

做到4-3章节,从charater4源码种把static替换我的源码种仍然存在图中问题。
上个问题也没好好回答?收费就是买个视频,不帮忙回答问题?
4-3章节源码种登录成功后返回是的body是“http://192.168.3.29:8080/static/view/home.html”,但是实际上/signin.html文件要求 body是json格式且包含token,username,location,才对。
你这个教程为什么不在每个课时后面附上 “正确对应的static文件” !!!!,还要让别人去猜?
收费课程也要用心做啊?!
写回答
2回答
-
xiaomo
2021-03-05
同学你好,可参考git源码中登录接口逻辑,返回的是json数据(https://git.imooc.com/coding-323/filestore-server/src/charter4/handler/user.go):
func SignInHandler(w http.ResponseWriter, r *http.Request) { if r.Method == http.MethodGet { // data, err := ioutil.ReadFile("./static/view/signin.html") // if err != nil { // w.WriteHeader(http.StatusInternalServerError) // return // } // w.Write(data) http.Redirect(w, r, "/static/view/signin.html", http.StatusFound) return } r.ParseForm() username := r.Form.Get("username") password := r.Form.Get("password") encPasswd := util.Sha1([]byte(password + pwdSalt)) // 1. 校验用户名及密码 pwdChecked := dblayer.UserSignin(username, encPasswd) if !pwdChecked { w.Write([]byte("FAILED")) return } // 2. 生成访问凭证(token) token := GenToken(username) upRes := dblayer.UpdateToken(username, token) if !upRes { w.Write([]byte("FAILED")) return } // 3. 登录成功后重定向到首页 //w.Write([]byte("http://" + r.Host + "/static/view/home.html")) resp := util.RespMsg{ Code: 0, Msg: "OK", Data: struct { Location string Username string Token string }{ Location: "http://" + r.Host + "/static/view/home.html", Username: username, Token: token, }, } w.Write(resp.JSONBytes()) }10 -
xiaomo
2021-03-05
是这样的,视频中登录接口的返回值,在节选上线后的后续有做优化,视频4-3小节(大约04:23时间点)已加了瞄点说明。
00
相似问题