Commit 5264054d176ce561968aa59b242e27e7f1450581

Authored by aarongao
1 parent 5ce75bb4
Exists in v1.2 and in 2 other branches master, v1.1

..

@@ -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 @@ -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
21 // @Produce json 21 // @Produce json
22 // @Param Mobile aaron string true "手机号" 22 // @Param Mobile aaron string true "手机号"
23 // @Param Code 1 string true "验证码(使用验证码的新手机号自动注册)" 23 // @Param Code 1 string true "验证码(使用验证码的新手机号自动注册)"
  24 +// @Param DeviceId abc123 string false "手机唯一识别码,不重复(存放于http.header中)"
  25 +// @Param Mac abc123 string false "网卡Mac地址(存放于http.header中)"
  26 +// @Param SystemType ios string false "ios,android(存放于http.header中)"
  27 +// @Param SystemVersion 13.01 string false "手机版本(存放于http.header中)"
  28 +// @Param SystemModel iphone8 string false "手机型号(存放于http.header中)"
  29 +// @Param AppVersion 1.0 string false "app版本号(存放于http.header中)"
  30 +// @Param DeviceToken abc string false "推送token(存放于http.header中)"
24 // @Success 200 {object} tools.ResponseSeccess "{"errcode":0,"result":{"Id":"5e09c64c1c09c6f0f7ca2fa9","Token":"640bf934e425aba5d3c90998b2641f2f0ca07261d334d9615d1cd4790b5f34e7"}} 调用其它需要登陆的接口时携带token,有过期时间" 31 // @Success 200 {object} tools.ResponseSeccess "{"errcode":0,"result":{"Id":"5e09c64c1c09c6f0f7ca2fa9","Token":"640bf934e425aba5d3c90998b2641f2f0ca07261d334d9615d1cd4790b5f34e7"}} 调用其它需要登陆的接口时携带token,有过期时间"
25 // @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}" 32 // @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}"
26 // @Router /LoginUser? [post] 33 // @Router /LoginUser? [post]
@@ -70,6 +77,17 @@ func LoginUser(c *gin.Context) { @@ -70,6 +77,17 @@ func LoginUser(c *gin.Context) {
70 "", 77 "",
71 "", 78 "",
72 "", 79 "",
  80 + DB.SDevice{
  81 + c.Request.Header.Get("DeviceId"),
  82 + c.Request.Host,
  83 + c.Request.Header.Get("Mac"),
  84 + c.Request.Header.Get("UDID"),
  85 + c.Request.Header.Get("SystemVersion"),
  86 + c.Request.Header.Get("SystemModel"),
  87 + c.Request.Header.Get("AppVersion"),
  88 + c.Request.Header.Get("AppVersion"),
  89 + c.Request.Header.Get("DeviceToken"),
  90 + },
73 } 91 }
74 DB.CMember.Insert(User) 92 DB.CMember.Insert(User)
75 } 93 }
@@ -132,6 +150,7 @@ func UserInfo(c *gin.Context) { @@ -132,6 +150,7 @@ func UserInfo(c *gin.Context) {
132 var User DB.SMember 150 var User DB.SMember
133 DB.CMember.Find(bson.M{"_id": bson.ObjectIdHex(c.Query("id"))}).One(&User) 151 DB.CMember.Find(bson.M{"_id": bson.ObjectIdHex(c.Query("id"))}).One(&User)
134 152
  153 + User.Device = DB.SDevice{}
135 c.JSON(200, tools.ResponseSeccess{ 154 c.JSON(200, tools.ResponseSeccess{
136 0, 155 0,
137 User, 156 User,
API/UserLog.go
@@ -25,7 +25,8 @@ import ( @@ -25,7 +25,8 @@ import (
25 // @Param SystemType ios string true "ios,android(存放于http.header中)" 25 // @Param SystemType ios string true "ios,android(存放于http.header中)"
26 // @Param SystemVersion 13.01 string true "手机版本(存放于http.header中)" 26 // @Param SystemVersion 13.01 string true "手机版本(存放于http.header中)"
27 // @Param SystemModel iphone8 string true "手机型号(存放于http.header中)" 27 // @Param SystemModel iphone8 string true "手机型号(存放于http.header中)"
28 -// @Param AppVersion 1.0 string true "app版本号" 28 +// @Param AppVersion 1.0 string true "app版本号(存放于http.header中)"
  29 +// @Param DeviceToken abc string true "推送token(存放于http.header中)"
29 // @Success 200 {object} tools.ResponseSeccess "{"errcode":0,"result":"ok"}" 30 // @Success 200 {object} tools.ResponseSeccess "{"errcode":0,"result":"ok"}"
30 // @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}" 31 // @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}"
31 // @Router /UserLog? [post] 32 // @Router /UserLog? [post]
@@ -50,10 +51,12 @@ func UserLog(c *gin.Context) { @@ -50,10 +51,12 @@ func UserLog(c *gin.Context) {
50 c.Request.Header.Get("DeviceId"), 51 c.Request.Header.Get("DeviceId"),
51 c.Request.Host, 52 c.Request.Host,
52 c.Request.Header.Get("Mac"), 53 c.Request.Header.Get("Mac"),
53 - c.Request.Header.Get("SystemType"), 54 + c.Request.Header.Get("UDID"),
54 c.Request.Header.Get("SystemVersion"), 55 c.Request.Header.Get("SystemVersion"),
55 c.Request.Header.Get("SystemModel"), 56 c.Request.Header.Get("SystemModel"),
56 c.Request.Header.Get("AppVersion"), 57 c.Request.Header.Get("AppVersion"),
  58 + c.Request.Header.Get("AppVersion"),
  59 + c.Request.Header.Get("DeviceToken"),
57 }, 60 },
58 }) 61 })
59 62
@@ -71,11 +71,14 @@ type SDevice struct { @@ -71,11 +71,14 @@ type SDevice struct {
71 DeviceId string `bson:"DeviceId" json:"DeviceId"` 71 DeviceId string `bson:"DeviceId" json:"DeviceId"`
72 Ip string `bson:"Ip" json:"Ip"` 72 Ip string `bson:"Ip" json:"Ip"`
73 Mac string `bson:"Mac" json:"Mac"` 73 Mac string `bson:"Mac" json:"Mac"`
  74 + UDID string `bson:"UDID" json:"UDID"`
74 SystemType string `bson:"SystemType" json:"SystemType"` //ios,android 75 SystemType string `bson:"SystemType" json:"SystemType"` //ios,android
75 SystemVersion string `bson:"SystemVersion" json:"SystemVersion"` //系统版本 76 SystemVersion string `bson:"SystemVersion" json:"SystemVersion"` //系统版本
76 SystemModel string `bson:"SystemModel" json:"SystemModel"` //机型 77 SystemModel string `bson:"SystemModel" json:"SystemModel"` //机型
77 AppVersion string `bson:"AppVersion" json:"AppVersion"` //app版本 78 AppVersion string `bson:"AppVersion" json:"AppVersion"` //app版本
  79 + DeviceToken string `bson:"DeviceToken" json:"DeviceToken"` //用于推送的token
78 } 80 }
  81 +
79 type SUserLog struct { 82 type SUserLog struct {
80 Type string `bson:"Type" json:"Type"` // Log(事件)类型 83 Type string `bson:"Type" json:"Type"` // Log(事件)类型
81 SubType string `bson:"SubType" json:"SubType"` // 分类 84 SubType string `bson:"SubType" json:"SubType"` // 分类
@@ -145,6 +148,7 @@ type SMember struct { @@ -145,6 +148,7 @@ type SMember struct {
145 Openid string `bson:"Openid" json:"Openid"` 148 Openid string `bson:"Openid" json:"Openid"`
146 Token string `bson:"Token" json:"Token"` 149 Token string `bson:"Token" json:"Token"`
147 Sex string `bson:"Sex" json:"Sex"` 150 Sex string `bson:"Sex" json:"Sex"`
  151 + Device SDevice `bson:"Device" json:"Device"` //设备信息
148 } 152 }
149 153
150 type STag struct { 154 type STag struct {
Lib/DelayMessage/delaymessage.go
@@ -3,6 +3,7 @@ package DelayMessage @@ -3,6 +3,7 @@ package DelayMessage
3 import ( 3 import (
4 "encoding/json" 4 "encoding/json"
5 "fmt" 5 "fmt"
  6 + "github.com/aliyun/alibaba-cloud-sdk-go/services/push"
6 "github.com/pkg/errors" 7 "github.com/pkg/errors"
7 "gopkg.in/mgo.v2" 8 "gopkg.in/mgo.v2"
8 "gopkg.in/mgo.v2/bson" 9 "gopkg.in/mgo.v2/bson"
@@ -141,6 +142,17 @@ func Callback(key *bson.ObjectId, message *Message) { @@ -141,6 +142,17 @@ func Callback(key *bson.ObjectId, message *Message) {
141 142
142 } else if message.Type == 1 { 143 } else if message.Type == 1 {
143 144
  145 + // 推送app消息
  146 + client, err := push.NewClientWithAccessKey("cn-hangzhou", "28332889", "4c0b32d5fd0822a9de703e177798e8ca")
  147 +
  148 + request := push.CreatePushMessageToiOSRequest()
  149 + request.Scheme = "https"
  150 +
  151 + response, err := client.PushMessageToiOS(request)
  152 + if err != nil {
  153 + fmt.Print(err.Error())
  154 + }
  155 + fmt.Printf("response is %#v\n", response)
144 } 156 }
145 157
146 json, _ := json.Marshal(message) 158 json, _ := json.Marshal(message)
@@ -447,6 +447,13 @@ @@ -447,6 +447,13 @@
447 |-----|-----|-----|-----|-----| 447 |-----|-----|-----|-----|-----|
448 | Mobile | aaron | string | 手机号 | Yes | 448 | Mobile | aaron | string | 手机号 | Yes |
449 | Code | 1 | string | 验证码(使用验证码的新手机号自动注册) | Yes | 449 | Code | 1 | string | 验证码(使用验证码的新手机号自动注册) | Yes |
  450 +| DeviceId | abc123 | string | 手机唯一识别码,不重复(存放于http.header中) | |
  451 +| Mac | abc123 | string | 网卡Mac地址(存放于http.header中) | |
  452 +| SystemType | ios | string | ios,android(存放于http.header中) | |
  453 +| SystemVersion | 13.01 | string | 手机版本(存放于http.header中) | |
  454 +| SystemModel | iphone8 | string | 手机型号(存放于http.header中) | |
  455 +| AppVersion | 1.0 | string | app版本号(存放于http.header中) | |
  456 +| DeviceToken | abc | string | 推送token(存放于http.header中) | |
450 457
451 458
452 | Code | Type | Model | Message | 459 | Code | Type | Model | Message |
@@ -750,7 +757,8 @@ @@ -750,7 +757,8 @@
750 | SystemType | ios | string | ios,android(存放于http.header中) | Yes | 757 | SystemType | ios | string | ios,android(存放于http.header中) | Yes |
751 | SystemVersion | 13.01 | string | 手机版本(存放于http.header中) | Yes | 758 | SystemVersion | 13.01 | string | 手机版本(存放于http.header中) | Yes |
752 | SystemModel | iphone8 | string | 手机型号(存放于http.header中) | Yes | 759 | SystemModel | iphone8 | string | 手机型号(存放于http.header中) | Yes |
753 -| AppVersion | 1.0 | string | app版本号 | Yes | 760 +| AppVersion | 1.0 | string | app版本号(存放于http.header中) | Yes |
  761 +| DeviceToken | abc | string | 推送token(存放于http.header中) | Yes |
754 762
755 763
756 | Code | Type | Model | Message | 764 | Code | Type | Model | Message |