account 歸併
This commit is contained in:
		@@ -16,27 +16,30 @@ type Account struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func AccountRead(w http.ResponseWriter, r *http.Request, cb func(account *Account)) {
 | 
			
		||||
	// 從Cookie中獲取session_id
 | 
			
		||||
 | 
			
		||||
	// 獲取Cookie
 | 
			
		||||
	cookie, err := r.Cookie("session_id")
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		w.WriteHeader(http.StatusUnauthorized)
 | 
			
		||||
		w.Write([]byte("401 - 未登錄"))
 | 
			
		||||
		w.Write([]byte("401 - 未登錄, 請登錄後再進行操作"))
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 獲取當前session
 | 
			
		||||
	// 獲取會話
 | 
			
		||||
	session := Session{ID: cookie.Value}
 | 
			
		||||
	if err := configs.ORMDB().Take(&session).Error; err != nil {
 | 
			
		||||
		http.SetCookie(w, &http.Cookie{Name: "session_id", Value: "", Path: "/", MaxAge: -1})
 | 
			
		||||
		w.WriteHeader(http.StatusUnauthorized)
 | 
			
		||||
		w.Write([]byte("401 - 會話已過期"))
 | 
			
		||||
		w.Write([]byte("401 - 會話已過期, 請重新登錄"))
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 獲取當前用戶
 | 
			
		||||
	user := User{ID: session.UserID}
 | 
			
		||||
	if err := configs.ORMDB().Model(&user).Select("id, name, email, created_at, updated_at").Find(&user).Error; err != nil {
 | 
			
		||||
		http.SetCookie(w, &http.Cookie{Name: "session_id", Value: "", Path: "/", MaxAge: -1})
 | 
			
		||||
		w.WriteHeader(http.StatusUnauthorized)
 | 
			
		||||
		w.Write([]byte("401 - 用戶不存在"))
 | 
			
		||||
		w.Write([]byte("401 - 用戶不存在, 請重新登錄"))
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user