func searchHandler(r *http.Request, w http.ResponseWriter, user *models.Account, form searchForm) { users := []models.Account{} var err error if form.Nearby > 0 { form.Paging.Count = 50 users, err = user.SearchNear(&form.Paging, 50000) } else { users, err = models.SearchUsers(form.Nickname, &form.Paging) } var list []*leaderboardResp for i, _ := range users { if users[i].Id == user.Id { continue } lb := &leaderboardResp{ Userid: users[i].Id, Score: users[i].Props.Score, Level: users[i].Level(), Profile: users[i].Profile, Nickname: users[i].Nickname, Gender: users[i].Gender, LastLog: users[i].LastLogin.Unix(), Birth: users[i].Birth, Location: users[i].Loc, Phone: users[i].Phone, Actor: users[i].Actor, } list = append(list, lb) } respData := map[string]interface{}{ "members_list": list, "page_frist_id": form.Paging.First, "page_last_id": form.Paging.Last, } writeResponse(r.RequestURI, w, respData, err) }