From 5264054d176ce561968aa59b242e27e7f1450581 Mon Sep 17 00:00:00 2001 From: aarongao Date: Thu, 20 Feb 2020 12:08:48 +0800 Subject: [PATCH] .. --- API/User.go | 19 +++++++++++++++++++ API/UserLog.go | 7 +++++-- DB/db.go | 4 ++++ Lib/DelayMessage/delaymessage.go | 12 ++++++++++++ README.md | 10 +++++++++- 5 files changed, 49 insertions(+), 3 deletions(-) diff --git a/API/User.go b/API/User.go index c6841d9..3b72c11 100644 --- a/API/User.go +++ b/API/User.go @@ -21,6 +21,13 @@ var Regular = "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|1 // @Produce json // @Param Mobile aaron string true "手机号" // @Param Code 1 string true "验证码(使用验证码的新手机号自动注册)" +// @Param DeviceId abc123 string false "手机唯一识别码,不重复(存放于http.header中)" +// @Param Mac abc123 string false "网卡Mac地址(存放于http.header中)" +// @Param SystemType ios string false "ios,android(存放于http.header中)" +// @Param SystemVersion 13.01 string false "手机版本(存放于http.header中)" +// @Param SystemModel iphone8 string false "手机型号(存放于http.header中)" +// @Param AppVersion 1.0 string false "app版本号(存放于http.header中)" +// @Param DeviceToken abc string false "推送token(存放于http.header中)" // @Success 200 {object} tools.ResponseSeccess "{"errcode":0,"result":{"Id":"5e09c64c1c09c6f0f7ca2fa9","Token":"640bf934e425aba5d3c90998b2641f2f0ca07261d334d9615d1cd4790b5f34e7"}} 调用其它需要登陆的接口时携带token,有过期时间" // @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}" // @Router /LoginUser? [post] @@ -70,6 +77,17 @@ func LoginUser(c *gin.Context) { "", "", "", + DB.SDevice{ + c.Request.Header.Get("DeviceId"), + c.Request.Host, + c.Request.Header.Get("Mac"), + c.Request.Header.Get("UDID"), + c.Request.Header.Get("SystemVersion"), + c.Request.Header.Get("SystemModel"), + c.Request.Header.Get("AppVersion"), + c.Request.Header.Get("AppVersion"), + c.Request.Header.Get("DeviceToken"), + }, } DB.CMember.Insert(User) } @@ -132,6 +150,7 @@ func UserInfo(c *gin.Context) { var User DB.SMember DB.CMember.Find(bson.M{"_id": bson.ObjectIdHex(c.Query("id"))}).One(&User) + User.Device = DB.SDevice{} c.JSON(200, tools.ResponseSeccess{ 0, User, diff --git a/API/UserLog.go b/API/UserLog.go index 41ccc59..6597e58 100644 --- a/API/UserLog.go +++ b/API/UserLog.go @@ -25,7 +25,8 @@ import ( // @Param SystemType ios string true "ios,android(存放于http.header中)" // @Param SystemVersion 13.01 string true "手机版本(存放于http.header中)" // @Param SystemModel iphone8 string true "手机型号(存放于http.header中)" -// @Param AppVersion 1.0 string true "app版本号" +// @Param AppVersion 1.0 string true "app版本号(存放于http.header中)" +// @Param DeviceToken abc string true "推送token(存放于http.header中)" // @Success 200 {object} tools.ResponseSeccess "{"errcode":0,"result":"ok"}" // @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}" // @Router /UserLog? [post] @@ -50,10 +51,12 @@ func UserLog(c *gin.Context) { c.Request.Header.Get("DeviceId"), c.Request.Host, c.Request.Header.Get("Mac"), - c.Request.Header.Get("SystemType"), + c.Request.Header.Get("UDID"), c.Request.Header.Get("SystemVersion"), c.Request.Header.Get("SystemModel"), c.Request.Header.Get("AppVersion"), + c.Request.Header.Get("AppVersion"), + c.Request.Header.Get("DeviceToken"), }, }) diff --git a/DB/db.go b/DB/db.go index 5a21dc7..7696142 100644 --- a/DB/db.go +++ b/DB/db.go @@ -71,11 +71,14 @@ type SDevice struct { DeviceId string `bson:"DeviceId" json:"DeviceId"` Ip string `bson:"Ip" json:"Ip"` Mac string `bson:"Mac" json:"Mac"` + UDID string `bson:"UDID" json:"UDID"` SystemType string `bson:"SystemType" json:"SystemType"` //ios,android SystemVersion string `bson:"SystemVersion" json:"SystemVersion"` //系统版本 SystemModel string `bson:"SystemModel" json:"SystemModel"` //机型 AppVersion string `bson:"AppVersion" json:"AppVersion"` //app版本 + DeviceToken string `bson:"DeviceToken" json:"DeviceToken"` //用于推送的token } + type SUserLog struct { Type string `bson:"Type" json:"Type"` // Log(事件)类型 SubType string `bson:"SubType" json:"SubType"` // 分类 @@ -145,6 +148,7 @@ type SMember struct { Openid string `bson:"Openid" json:"Openid"` Token string `bson:"Token" json:"Token"` Sex string `bson:"Sex" json:"Sex"` + Device SDevice `bson:"Device" json:"Device"` //设备信息 } type STag struct { diff --git a/Lib/DelayMessage/delaymessage.go b/Lib/DelayMessage/delaymessage.go index e51d593..03c0d03 100644 --- a/Lib/DelayMessage/delaymessage.go +++ b/Lib/DelayMessage/delaymessage.go @@ -3,6 +3,7 @@ package DelayMessage import ( "encoding/json" "fmt" + "github.com/aliyun/alibaba-cloud-sdk-go/services/push" "github.com/pkg/errors" "gopkg.in/mgo.v2" "gopkg.in/mgo.v2/bson" @@ -141,6 +142,17 @@ func Callback(key *bson.ObjectId, message *Message) { } else if message.Type == 1 { + // 推送app消息 + client, err := push.NewClientWithAccessKey("cn-hangzhou", "28332889", "4c0b32d5fd0822a9de703e177798e8ca") + + request := push.CreatePushMessageToiOSRequest() + request.Scheme = "https" + + response, err := client.PushMessageToiOS(request) + if err != nil { + fmt.Print(err.Error()) + } + fmt.Printf("response is %#v\n", response) } json, _ := json.Marshal(message) diff --git a/README.md b/README.md index 428a251..b496d81 100644 --- a/README.md +++ b/README.md @@ -447,6 +447,13 @@ |-----|-----|-----|-----|-----| | Mobile | aaron | string | 手机号 | Yes | | Code | 1 | string | 验证码(使用验证码的新手机号自动注册) | Yes | +| DeviceId | abc123 | string | 手机唯一识别码,不重复(存放于http.header中) | | +| Mac | abc123 | string | 网卡Mac地址(存放于http.header中) | | +| SystemType | ios | string | ios,android(存放于http.header中) | | +| SystemVersion | 13.01 | string | 手机版本(存放于http.header中) | | +| SystemModel | iphone8 | string | 手机型号(存放于http.header中) | | +| AppVersion | 1.0 | string | app版本号(存放于http.header中) | | +| DeviceToken | abc | string | 推送token(存放于http.header中) | | | Code | Type | Model | Message | @@ -750,7 +757,8 @@ | SystemType | ios | string | ios,android(存放于http.header中) | Yes | | SystemVersion | 13.01 | string | 手机版本(存放于http.header中) | Yes | | SystemModel | iphone8 | string | 手机型号(存放于http.header中) | Yes | -| AppVersion | 1.0 | string | app版本号 | Yes | +| AppVersion | 1.0 | string | app版本号(存放于http.header中) | Yes | +| DeviceToken | abc | string | 推送token(存放于http.header中) | Yes | | Code | Type | Model | Message | -- libgit2 0.21.0