本文整理汇总了Golang中github.com/ginuerzh/sports/models.RedisLogger类的典型用法代码示例。如果您正苦于以下问题:Golang RedisLogger类的具体用法?Golang RedisLogger怎么用?Golang RedisLogger使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了RedisLogger类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: loginHandlerV2
func loginHandlerV2(request *http.Request, resp http.ResponseWriter,
redis *models.RedisLogger, form loginFormV2) {
user := &models.Account{}
if exists, _ := models.CheckUserExists(form.Id, form.Type); !exists {
writeResponse(request.RequestURI, resp,
nil, errors.NewError(errors.AuthError, "该用户还未注册"))
return
}
user.FindPass(form.Id, form.Type, Md5(form.Password))
if len(user.Id) == 0 {
writeResponse(request.RequestURI, resp,
nil, errors.NewError(errors.AuthError))
return
}
if user.TimeLimit < 0 {
writeResponse(request.RequestURI, resp,
nil, errors.NewError(errors.AuthError, "账户已禁用"))
return
}
token := Uuid() + "-" + strconv.FormatInt(time.Now().AddDate(0, 0, 30).Unix(), 10)
redis.SetOnlineUser(token, user.Id)
data := map[string]interface{}{
"access_token": token,
"userid": user.Id,
//"last_login_time": user.LastLogin.Unix(),
}
writeResponse(request.RequestURI, resp, data, nil)
}
开发者ID:shevilangle,项目名称:sports,代码行数:31,代码来源:account.go
示例2: userInfoHandler
func userInfoHandler(request *http.Request, resp http.ResponseWriter,
redis *models.RedisLogger, p Parameter) {
user := &models.Account{}
form := p.(getInfoForm)
if find, err := user.FindByUserid(form.Userid); !find {
if err == nil {
err = errors.NewError(errors.NotExistsError)
}
writeResponse(request.RequestURI, resp, nil, err)
return
}
info := convertUser(user, redis)
//info.Pet = userPet(info.Props.Level)
info.ScoreRank, _ = user.PropIndex("score", user.Props.Score)
if uid := redis.OnlineUser(p.TokenId()); len(uid) > 0 {
relation := redis.Relationship(uid, user.Id)
switch relation {
case models.RelFriend:
info.Relation = "FRIENDS"
case models.RelFollowing:
info.Relation = "ATTENTION"
case models.RelFollower:
info.Relation = "FANS"
case models.RelBlacklist:
info.Relation = "DEFRIEND"
}
}
writeResponse(request.RequestURI, resp, info, nil)
}
开发者ID:shevilangle,项目名称:sports,代码行数:32,代码来源:account.go
示例3: setGroupHandler
func setGroupHandler(request *http.Request, resp http.ResponseWriter,
redis *models.RedisLogger, user *models.Account, p Parameter) {
form := p.(setGroupForm)
group := &models.Group{
Gid: form.Id,
Name: form.Name,
Profile: form.Profile,
Desc: form.Desc,
Creator: user.Id,
Time: time.Now(),
}
if form.Address.String() != "" {
group.Addr = &form.Address
loc := models.Addr2Loc(form.Address)
group.Loc = &loc
}
var err error
if len(form.Id) == 0 {
err = group.Save()
if err == nil {
redis.JoinGroup(user.Id, group.Gid, true)
}
} else {
err = group.Update()
}
writeResponse(request.RequestURI, resp, map[string]string{"group_id": group.Gid}, err)
}
开发者ID:shevilangle,项目名称:sports,代码行数:32,代码来源:group.go
示例4: regHandlerV2
func regHandlerV2(request *http.Request, resp http.ResponseWriter,
redis *models.RedisLogger, form regFormV2) {
exists, err := models.CheckUserExists(form.Id, form.Type)
if err != nil {
writeResponse(request.RequestURI, resp,
nil, errors.NewError(errors.DbError))
return
}
if exists {
writeResponse(request.RequestURI, resp,
nil, errors.NewError(errors.UserExistError))
return
}
dbw, err := getNewWallet()
if err != nil {
writeResponse(request.RequestURI, resp,
nil, errors.NewError(errors.DbError, "创建钱包失败"))
return
}
user := &models.Account{
Role: form.Type,
Password: Md5(form.Password),
Nickname: form.Nickname,
Profile: form.Profile,
Gender: form.Gender,
Birth: form.Birthday,
Wallet: *dbw,
RegTime: time.Now(),
}
switch form.Type {
case models.AccountPhone:
user.Phone = form.Id
case models.AccountWeibo:
user.Weibo = form.Id
case models.AccountEmail:
fallthrough
default:
user.Email = form.Id
}
if err := user.Save(); err != nil {
writeResponse(request.RequestURI, resp, nil, err)
return
}
token := Uuid() + "-" + strconv.FormatInt(time.Now().AddDate(0, 0, 30).Unix(), 10)
data := map[string]string{"access_token": token, "userid": user.Id}
writeResponse(request.RequestURI, resp, data, nil)
redis.LogRegister(user.Id, form.Type)
redis.SetOnlineUser(token, user.Id)
// ws push
//regNotice(user.Id, redis)
}
开发者ID:shevilangle,项目名称:sports,代码行数:59,代码来源:account.go
示例5: checkTokenHandler
func checkTokenHandler(c martini.Context, p Parameter, redis *models.RedisLogger, r *http.Request, w http.ResponseWriter) {
uid := redis.OnlineUser(p.TokenId())
if len(uid) == 0 {
writeResponse(r.RequestURI, w, nil, errors.NewError(errors.AccessError))
}
fmt.Println("===", p.TokenId(), uid)
c.Map(&models.Account{Id: uid})
}
开发者ID:shevilangle,项目名称:sports,代码行数:8,代码来源:common.go
示例6: blacklistHandler
func blacklistHandler(request *http.Request, resp http.ResponseWriter,
redis *models.RedisLogger, user *models.Account, p Parameter) {
form := p.(relationshipForm)
redis.SetRelationship(user.Id, form.Userids, models.RelBlacklist, form.Blacklist)
writeResponse(request.RequestURI, resp, map[string]interface{}{"ExpEffect": Awards{}}, nil)
}
开发者ID:shevilangle,项目名称:sports,代码行数:8,代码来源:user.go
示例7: getUserId
/*
func (this loginForm) getUserId() string {
return this.Userid
}
*/
func weiboLogin(uid, password string, redis *models.RedisLogger) (bool, *models.Account, error) {
user := &models.Account{}
exists, err := user.FindByWeibo(strings.ToLower(uid))
if err != nil {
return false, nil, err
}
p := Md5(password)
registered := user.RegTime.Unix() > 0
if registered {
if user.Password != p {
user.SetPassword(p)
}
return false, user, nil
}
weiboUser, err := GetWeiboUserInfo(uid, password)
if err != nil {
return false, nil, err
}
user.Nickname = weiboUser.ScreenName
if find, _ := user.Exists("nickname"); find {
user.Nickname = "wb_" + user.Nickname
}
user.Password = p
if !strings.HasPrefix(weiboUser.Gender, "f") {
user.Gender = "male"
} else {
user.Gender = "female"
}
user.Weibo = uid
user.Url = weiboUser.Url
user.Profile = weiboUser.Avatar
//user.Addr = &models.Address{Desc: weiboUser.Location}
user.About = weiboUser.Description
user.Role = models.AccountWeibo
user.RegTime = time.Now()
dbw, err := getNewWallet()
if err != nil {
return true, nil, err
}
user.Wallet = *dbw
if !exists {
if err := user.Save(); err != nil {
return true, nil, err
}
}
redis.LogRegister(user.Id, user.Role)
// ws push
regNotice(user.Id, redis)
return true, user, nil
}
开发者ID:shevilangle,项目名称:sports,代码行数:63,代码来源:account.go
示例8: userAuthRequestHandler
func userAuthRequestHandler(r *http.Request, w http.ResponseWriter,
redis *models.RedisLogger, user *models.Account, p Parameter) {
form := p.(authRequestForm)
err := user.SetAuthInfo(form.Type, form.Images, form.Desc)
redis.AddAuthCoach(user.Id)
writeResponse(r.RequestURI, w, nil, err)
}
开发者ID:shevilangle,项目名称:sports,代码行数:9,代码来源:account.go
示例9: logoutHandler
func logoutHandler(request *http.Request, resp http.ResponseWriter,
redis *models.RedisLogger, user *models.Account, p Parameter) {
redis.DelOnlineUser(p.TokenId())
if len(user.Devs) > 0 {
user.RmDevice(user.Devs[0])
}
writeResponse(request.RequestURI, resp, nil, nil)
}
开发者ID:shevilangle,项目名称:sports,代码行数:9,代码来源:account.go
示例10: checkToken
func checkToken(r *models.RedisLogger, t string) (valid bool, err error) {
uid := r.OnlineUser(t)
if len(uid) == 0 {
err = errors.NewError(errors.AccessError)
valid = false
return
}
valid = true
return
}
开发者ID:shevilangle,项目名称:sports,代码行数:10,代码来源:common.go
示例11: friendCountHandler
func friendCountHandler(request *http.Request, resp http.ResponseWriter,
redis *models.RedisLogger, user *models.Account) {
follows, followers, friends, blacklist := redis.FriendCount(user.Id)
respData := map[string]int{
"friend_count": friends,
"attention_count": follows,
"fans_count": followers,
"defriend_count": blacklist,
}
writeResponse(request.RequestURI, resp, respData, nil)
}
开发者ID:shevilangle,项目名称:sports,代码行数:11,代码来源:account.go
示例12: getQiniuTokenHandler
func getQiniuTokenHandler(r *http.Request, w http.ResponseWriter,
redis *models.RedisLogger) {
token := redis.GetQiniuUpToken()
//log.Println(token)
if len(token) == 0 {
token = uptoken("test")
redis.SetQiniuUpToken(token)
}
writeResponse(r.RequestURI, w, map[string]string{"token": token}, nil)
}
开发者ID:shevilangle,项目名称:sports,代码行数:11,代码来源:file.go
示例13: articleNewsHandler
func articleNewsHandler(r *http.Request, w http.ResponseWriter,
redis *models.RedisLogger, user *models.Account, p Parameter) {
form := p.(articleNewsForm)
followings := redis.Friends(models.RelFollowing, user.Id)
//followings = append(followings, user.Id) // self included
//fmt.Println(followings)
count, err := models.NewArticles(followings, form.Id)
writeResponse(r.RequestURI, w, bson.M{"count": count}, err)
}
开发者ID:shevilangle,项目名称:sports,代码行数:11,代码来源:article.go
示例14: retentionHandler
func retentionHandler(w http.ResponseWriter, redis *models.RedisLogger, form retentionForm) {
if ok, err := checkToken(redis, form.Token); !ok {
writeResponse(w, err)
return
}
date := time.Now()
if form.Date > 0 {
date = time.Unix(form.Date, 0)
}
r := redis.Retention(date)
writeResponse(w, map[string]interface{}{"retention": r})
}
开发者ID:shevilangle,项目名称:sports,代码行数:13,代码来源:stat.go
示例15: taskReferralsHandler
func taskReferralsHandler(r *http.Request, w http.ResponseWriter,
redis *models.RedisLogger, user *models.Account) {
if user.Taskid > len(models.NewTasks) {
writeResponse(r.RequestURI, w, nil, errors.NewError(errors.AccessError))
return
}
task := models.NewTasks[user.Taskid]
excludes := redis.TaskSharers()
friends := redis.Friends(models.RelFriend, user.Id)
excludes = append(excludes, user.Id)
excludes = append(excludes, friends...)
users, _ := user.TaskReferrals(task.Type, excludes)
var referrals []*referral
for i, _ := range users {
ref := &referral{
Userid: users[i].Id,
Nickname: users[i].Nickname,
Profile: users[i].Profile,
Gender: users[i].Gender,
Images: users[i].Photos,
Birthday: users[i].Birth,
Lastlog: users[i].LastLogin.Unix(),
Location: users[i].Loc,
}
if users[i].Ratios.RunRecv > 0 {
ref.RunRatio = float32(users[i].Ratios.RunAccept) / float32(users[i].Ratios.RunRecv)
}
if users[i].Ratios.PostRecv > 0 {
ref.PostRatio = float32(users[i].Ratios.PostAccept) / float32(users[i].Ratios.PostRecv)
}
if users[i].Ratios.PKRecv > 0 {
ref.PkRatio = float32(users[i].Ratios.PKAccept) / float32(users[i].Ratios.PKRecv)
}
if task.Type == models.TaskRunning || task.Type == models.TaskGame {
rec, _ := users[i].LastRecord("run")
ref.LastId = rec.Id.Hex()
ref.LastTime = rec.PubTime.Unix()
} else if task.Type == models.TaskPost {
article := users[i].LatestArticle()
ref.LastId = article.Id.Hex()
ref.LastTime = article.PubTime.Unix()
}
referrals = append(referrals, ref)
}
respData := map[string]interface{}{"referrals": referrals}
writeResponse(r.RequestURI, w, respData, nil)
}
开发者ID:shevilangle,项目名称:sports,代码行数:50,代码来源:task.go
示例16: regNotice
func regNotice(uid string, redis *models.RedisLogger) {
notice := &models.Event{
Type: models.EventWallet,
Time: time.Now().Unix(),
Data: models.EventData{
Type: models.EventTx,
Id: uid,
From: uid,
Body: []models.MsgBody{
{Type: "rule", Content: "1"},
},
},
}
redis.Notice(notice.Bytes())
}
开发者ID:shevilangle,项目名称:sports,代码行数:15,代码来源:account.go
示例17: socialListHandler
func socialListHandler(request *http.Request, resp http.ResponseWriter,
redis *models.RedisLogger, form socialListForm) {
user := &models.Account{Id: form.Userid}
var ids []string
switch form.Type {
case "FRIENDS":
ids = redis.Friends(models.RelFriend, user.Id)
case "ATTENTION":
ids = redis.Friends(models.RelFollowing, user.Id)
case "FANS":
ids = redis.Friends(models.RelFollower, user.Id)
case "DEFRIEND":
ids = redis.Friends(models.RelBlacklist, user.Id)
case "WEIBO":
ids = redis.Friends("weibo", user.Id)
}
users, err := models.Users(ids, &form.Paging)
if err != nil {
writeResponse(request.RequestURI, resp, nil, err)
return
}
lb := make([]leaderboardResp, len(users))
for i, _ := range users {
lb[i].Userid = users[i].Id
lb[i].Score = users[i].Props.Score
lb[i].Level = users[i].Level()
lb[i].Profile = users[i].Profile
lb[i].Nickname = users[i].Nickname
lb[i].Gender = users[i].Gender
lb[i].LastLog = users[i].LastLogin.Unix()
lb[i].Birth = users[i].Birth
lb[i].Location = users[i].Loc
lb[i].Phone = users[i].Phone
lb[i].Actor = users[i].Actor
}
respData := map[string]interface{}{
"members_list": lb,
"page_frist_id": form.Paging.First,
"page_last_id": form.Paging.Last,
}
writeResponse(request.RequestURI, resp, respData, nil)
return
}
开发者ID:shevilangle,项目名称:sports,代码行数:48,代码来源:user.go
示例18: articlePostHandler
func articlePostHandler(w http.ResponseWriter, redis *models.RedisLogger, form postForm) {
uid := redis.OnlineUser(form.Token)
if len(uid) == 0 {
writeResponse(w, errors.NewError(errors.AccessError))
return
}
user := &models.Account{Id: uid}
article := &models.Article{
Parent: form.Id,
Author: form.Author,
PubTime: time.Now(),
//Tags: []string{form.Tags},
}
switch v := form.Tags.(type) {
case string:
article.Tags = []string{v}
case []string:
article.Tags = v
}
if len(article.Tags) == 0 {
article.Tags = []string{"SPORT_LOG"}
}
if len(form.Author) == 0 {
article.Author = user.Id
}
article.Content = form.Contents
article.Title = form.Title
article.Images = form.Image
if len(article.Images) > 0 {
article.Image = article.Images[0]
}
/*
article.Contents = append(article.Contents,
models.Segment{ContentType: "TEXT", ContentText: form.Contents})
*/
if err := article.Save(); err != nil {
writeResponse(w, err)
return
}
writeResponse(w, map[string]string{"article_id": article.Id.Hex()})
}
开发者ID:shevilangle,项目名称:sports,代码行数:47,代码来源:article.go
示例19: taskAuthListHandler
func taskAuthListHandler(r *http.Request, w http.ResponseWriter,
redis *models.RedisLogger, form taskAuthListForm) {
userid := redis.OnlineUser(form.Token)
if len(userid) == 0 {
writeResponse(w, errors.NewError(errors.AccessError))
return
}
pass := make([]bool, len(form.Auths))
for i, _ := range form.Auths {
taskAuthFunc(userid, &form.Auths[i], redis)
pass[i] = form.Auths[i].Pass
}
writeResponse(w, map[string][]bool{"pass": pass})
}
开发者ID:shevilangle,项目名称:sports,代码行数:17,代码来源:task.go
示例20: loginHandler
func loginHandler(request *http.Request, resp http.ResponseWriter, redis *models.RedisLogger, form loginForm) {
user := &models.Account{}
var err error
var reg bool
token := Uuid() + "-" + strconv.FormatInt(time.Now().AddDate(0, 0, 30).Unix(), 10)
switch form.Type {
case "weibo":
reg, user, err = weiboLogin(form.Userid, form.Password, redis)
case "weixin":
writeResponse(request.RequestURI, resp, nil, errors.NewError(errors.UnimplementedError))
return
case "usrpass":
fallthrough
default:
var find bool
if find, err = user.FindByUserPass(strings.ToLower(form.Userid), Md5(form.Password)); !find {
if err == nil {
err = errors.NewError(errors.AuthError)
}
}
}
if err != nil {
writeResponse(request.RequestURI, resp, nil, err)
return
}
if user.TimeLimit < 0 {
writeResponse(request.RequestURI, resp, nil, errors.NewError(errors.AuthError, "账户已禁用"))
return
}
redis.SetOnlineUser(token, user.Id)
data := map[string]interface{}{
"access_token": token,
"userid": user.Id,
"register": reg,
"last_login_time": user.LastLogin.Unix(),
"ExpEffect": Awards{},
}
writeResponse(request.RequestURI, resp, data, nil)
}
开发者ID:shevilangle,项目名称:sports,代码行数:44,代码来源:account.go
注:本文中的github.com/ginuerzh/sports/models.RedisLogger类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论