Commit 76d39dbf741dd8c89ec33529e0feb22a9fa97e4b
1 parent
5264054d
Exists in
v1.2
and in
2 other branches
.
Showing
4 changed files
with
90 additions
and
22 deletions
Show diff stats
API/User.go
| ... | ... | @@ -117,6 +117,52 @@ func LoginUser(c *gin.Context) { |
| 117 | 117 | |
| 118 | 118 | } |
| 119 | 119 | |
| 120 | +// @Title 注册客户端 | |
| 121 | +// @Description 用户管理 - 注册客户端 | |
| 122 | +// @Accept json | |
| 123 | +// @Produce json | |
| 124 | +// @Param DeviceId abc123 string false "手机唯一识别码,不重复(存放于http.header中)" | |
| 125 | +// @Param Mac abc123 string false "网卡Mac地址(存放于http.header中)" | |
| 126 | +// @Param SystemType ios string false "ios,android(存放于http.header中)" | |
| 127 | +// @Param SystemVersion 13.01 string false "手机版本(存放于http.header中)" | |
| 128 | +// @Param SystemModel iphone8 string false "手机型号(存放于http.header中)" | |
| 129 | +// @Param AppVersion 1.0 string false "app版本号(存放于http.header中)" | |
| 130 | +// @Param DeviceToken abc string false "推送token(存放于http.header中)" | |
| 131 | +// @Success 200 {object} tools.ResponseSeccess "{"errcode":0,"result":{"Id":"5e09c64c1c09c6f0f7ca2fa9","Token":"640bf934e425aba5d3c90998b2641f2f0ca07261d334d9615d1cd4790b5f34e7"}} 调用其它需要登陆的接口时携带token,有过期时间" | |
| 132 | +// @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}" | |
| 133 | +// @Router /RegisterDevice? [post] | |
| 134 | +func RegisterDevice(c *gin.Context) { | |
| 135 | + c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin")) | |
| 136 | + c.Header("Access-Control-Allow-Credentials", "true") | |
| 137 | + | |
| 138 | + selected := bson.M{} | |
| 139 | + var SDevice *DB.SDevice | |
| 140 | + selected["DeviceId"] = c.Request.Header.Get("DeviceId") | |
| 141 | + DB.CDevice.Find(selected).One(&SDevice) | |
| 142 | + | |
| 143 | + if SDevice == nil { | |
| 144 | + Device := DB.SDevice{ | |
| 145 | + c.Request.Header.Get("DeviceId"), | |
| 146 | + c.Request.Host, | |
| 147 | + c.Request.Header.Get("Mac"), | |
| 148 | + c.Request.Header.Get("UDID"), | |
| 149 | + c.Request.Header.Get("SystemVersion"), | |
| 150 | + c.Request.Header.Get("SystemModel"), | |
| 151 | + c.Request.Header.Get("AppVersion"), | |
| 152 | + c.Request.Header.Get("AppVersion"), | |
| 153 | + c.Request.Header.Get("DeviceToken"), | |
| 154 | + } | |
| 155 | + | |
| 156 | + DB.CDevice.Insert(Device) | |
| 157 | + } | |
| 158 | + | |
| 159 | + c.JSON(200, tools.ResponseSeccess{ | |
| 160 | + 0, | |
| 161 | + "ok", | |
| 162 | + }) | |
| 163 | + | |
| 164 | +} | |
| 165 | + | |
| 120 | 166 | // @Title 用户信息 |
| 121 | 167 | // @Description 用户管理 - 获取用户信息 |
| 122 | 168 | // @Accept json |
| ... | ... | @@ -130,8 +176,7 @@ func UserInfo(c *gin.Context) { |
| 130 | 176 | c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin")) |
| 131 | 177 | c.Header("Access-Control-Allow-Credentials", "true") |
| 132 | 178 | |
| 133 | - | |
| 134 | - if c.Query("Token") == "" || bson.IsObjectIdHex(c.Query("id")) == false{ | |
| 179 | + if c.Query("Token") == "" || bson.IsObjectIdHex(c.Query("id")) == false { | |
| 135 | 180 | c.JSON(200, tools.ResponseError{ |
| 136 | 181 | 1, |
| 137 | 182 | "Token或者用户id不正确", |
| ... | ... | @@ -139,7 +184,7 @@ func UserInfo(c *gin.Context) { |
| 139 | 184 | return |
| 140 | 185 | } |
| 141 | 186 | |
| 142 | - if Token.GetToken(c.Query("id")) != c.Query("Token"){ | |
| 187 | + if Token.GetToken(c.Query("id")) != c.Query("Token") { | |
| 143 | 188 | c.JSON(200, tools.ResponseError{ |
| 144 | 189 | 401, |
| 145 | 190 | "token过期", |
| ... | ... | @@ -158,8 +203,6 @@ func UserInfo(c *gin.Context) { |
| 158 | 203 | |
| 159 | 204 | } |
| 160 | 205 | |
| 161 | - | |
| 162 | - | |
| 163 | 206 | // @Title 用户信息 |
| 164 | 207 | // @Description 用户管理 - 检查Token是否过期 |
| 165 | 208 | // @Accept json |
| ... | ... | @@ -173,8 +216,7 @@ func CheckToken(c *gin.Context) { |
| 173 | 216 | c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin")) |
| 174 | 217 | c.Header("Access-Control-Allow-Credentials", "true") |
| 175 | 218 | |
| 176 | - | |
| 177 | - if c.PostForm("Token") == "" || bson.IsObjectIdHex(c.PostForm("id")) == false{ | |
| 219 | + if c.PostForm("Token") == "" || bson.IsObjectIdHex(c.PostForm("id")) == false { | |
| 178 | 220 | c.JSON(200, tools.ResponseError{ |
| 179 | 221 | 1, |
| 180 | 222 | "Token或者用户id不正确", |
| ... | ... | @@ -182,7 +224,7 @@ func CheckToken(c *gin.Context) { |
| 182 | 224 | return |
| 183 | 225 | } |
| 184 | 226 | |
| 185 | - if Token.GetToken(c.PostForm("id")) != c.PostForm("Token"){ | |
| 227 | + if Token.GetToken(c.PostForm("id")) != c.PostForm("Token") { | |
| 186 | 228 | c.JSON(200, tools.ResponseError{ |
| 187 | 229 | 401, |
| 188 | 230 | "token过期", |
| ... | ... | @@ -190,7 +232,6 @@ func CheckToken(c *gin.Context) { |
| 190 | 232 | return |
| 191 | 233 | } |
| 192 | 234 | |
| 193 | - | |
| 194 | 235 | c.JSON(200, tools.ResponseSeccess{ |
| 195 | 236 | 0, |
| 196 | 237 | "ok", |
| ... | ... | @@ -217,8 +258,7 @@ func UpdateUser(c *gin.Context) { |
| 217 | 258 | c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin")) |
| 218 | 259 | c.Header("Access-Control-Allow-Credentials", "true") |
| 219 | 260 | |
| 220 | - | |
| 221 | - if c.PostForm("Token") == "" || bson.IsObjectIdHex(c.PostForm("id")) == false{ | |
| 261 | + if c.PostForm("Token") == "" || bson.IsObjectIdHex(c.PostForm("id")) == false { | |
| 222 | 262 | c.JSON(200, tools.ResponseError{ |
| 223 | 263 | 1, |
| 224 | 264 | "Token或者用户id不正确", |
| ... | ... | @@ -226,7 +266,7 @@ func UpdateUser(c *gin.Context) { |
| 226 | 266 | return |
| 227 | 267 | } |
| 228 | 268 | |
| 229 | - if Token.GetToken(c.PostForm("id")) != c.PostForm("Token"){ | |
| 269 | + if Token.GetToken(c.PostForm("id")) != c.PostForm("Token") { | |
| 230 | 270 | c.JSON(200, tools.ResponseError{ |
| 231 | 271 | 401, |
| 232 | 272 | "token过期", |
| ... | ... | @@ -234,7 +274,6 @@ func UpdateUser(c *gin.Context) { |
| 234 | 274 | return |
| 235 | 275 | } |
| 236 | 276 | |
| 237 | - | |
| 238 | 277 | reg := regexp.MustCompile(Regular) |
| 239 | 278 | if !reg.MatchString(c.PostForm("Mobile")) { |
| 240 | 279 | ... | ... |
DB/db.go
| ... | ... | @@ -22,6 +22,7 @@ var CSystemLog *mgo.Collection //操作记录 |
| 22 | 22 | var CTrajectory *mgo.Collection //移动轨迹 |
| 23 | 23 | var CIcons *mgo.Collection //图标信息 |
| 24 | 24 | var CTopMenus *mgo.Collection //菜单 |
| 25 | +var CDevice *mgo.Collection //设备清单 | |
| 25 | 26 | var DB *mgo.Database |
| 26 | 27 | |
| 27 | 28 | type SItem struct { |
| ... | ... | @@ -68,15 +69,15 @@ type STopMenus struct { |
| 68 | 69 | } |
| 69 | 70 | |
| 70 | 71 | type SDevice struct { |
| 71 | - DeviceId string `bson:"DeviceId" json:"DeviceId"` | |
| 72 | - Ip string `bson:"Ip" json:"Ip"` | |
| 73 | - Mac string `bson:"Mac" json:"Mac"` | |
| 74 | - UDID string `bson:"UDID" json:"UDID"` | |
| 75 | - SystemType string `bson:"SystemType" json:"SystemType"` //ios,android | |
| 76 | - SystemVersion string `bson:"SystemVersion" json:"SystemVersion"` //系统版本 | |
| 77 | - SystemModel string `bson:"SystemModel" json:"SystemModel"` //机型 | |
| 78 | - AppVersion string `bson:"AppVersion" json:"AppVersion"` //app版本 | |
| 79 | - DeviceToken string `bson:"DeviceToken" json:"DeviceToken"` //用于推送的token | |
| 72 | + DeviceId string `bson:"DeviceId" json:"DeviceId"` | |
| 73 | + Ip string `bson:"Ip" json:"Ip"` | |
| 74 | + Mac string `bson:"Mac" json:"Mac"` | |
| 75 | + UDID string `bson:"UDID" json:"UDID"` | |
| 76 | + SystemType string `bson:"SystemType" json:"SystemType"` //ios,android | |
| 77 | + SystemVersion string `bson:"SystemVersion" json:"SystemVersion"` //系统版本 | |
| 78 | + SystemModel string `bson:"SystemModel" json:"SystemModel"` //机型 | |
| 79 | + AppVersion string `bson:"AppVersion" json:"AppVersion"` //app版本 | |
| 80 | + DeviceToken string `bson:"DeviceToken" json:"DeviceToken"` //用于推送的token | |
| 80 | 81 | } |
| 81 | 82 | |
| 82 | 83 | type SUserLog struct { | ... | ... |
README.md
| ... | ... | @@ -30,6 +30,7 @@ |
| 30 | 30 | 1. [设备管理 - 查询设备信息](#iteminfo-get) |
| 31 | 31 | 1. [查询线路信息](#lineinfo-get) |
| 32 | 32 | 1. [用户管理 - 用户登录&注册](#loginuser-post) |
| 33 | +1. [用户管理 - 注册客户端](#registerdevice-post) | |
| 33 | 34 | 1. [返回景区基础信息](#scenicinfo-get) |
| 34 | 35 | 1. [发送短信验证码](#sms-send-post) |
| 35 | 36 | 1. [标签 - 增加标签](#tag-create-post) |
| ... | ... | @@ -463,6 +464,31 @@ |
| 463 | 464 | |
| 464 | 465 | |
| 465 | 466 | |
| 467 | +<a name="registerdevice-post"></a> | |
| 468 | + | |
| 469 | +#### /RegisterDevice (POST) | |
| 470 | + | |
| 471 | + | |
| 472 | +用户管理 - 注册客户端 | |
| 473 | + | |
| 474 | +| Param Name | Example | Data Type | Description | Required? | | |
| 475 | +|-----|-----|-----|-----|-----| | |
| 476 | +| DeviceId | abc123 | string | 手机唯一识别码,不重复(存放于http.header中) | | | |
| 477 | +| Mac | abc123 | string | 网卡Mac地址(存放于http.header中) | | | |
| 478 | +| SystemType | ios | string | ios,android(存放于http.header中) | | | |
| 479 | +| SystemVersion | 13.01 | string | 手机版本(存放于http.header中) | | | |
| 480 | +| SystemModel | iphone8 | string | 手机型号(存放于http.header中) | | | |
| 481 | +| AppVersion | 1.0 | string | app版本号(存放于http.header中) | | | |
| 482 | +| DeviceToken | abc | string | 推送token(存放于http.header中) | | | |
| 483 | + | |
| 484 | + | |
| 485 | +| Code | Type | Model | Message | | |
| 486 | +|-----|-----|-----|-----| | |
| 487 | +| 200 | object | [ResponseSeccess](#github.com.aarongao.tools.ResponseSeccess) | {"errcode":0,"result":{"Id":"5e09c64c1c09c6f0f7ca2fa9","Token":"640bf934e425aba5d3c90998b2641f2f0ca07261d334d9615d1cd4790b5f34e7"}} 调用其它需要登陆的接口时携带token,有过期时间 | | |
| 488 | +| 500 | object | [ResponseError](#github.com.aarongao.tools.ResponseError) | {"errcode":1,"errmsg":"错误原因"} | | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 466 | 492 | <a name="scenicinfo-get"></a> |
| 467 | 493 | |
| 468 | 494 | #### /ScenicInfo (GET) | ... | ... |
main.go
| ... | ... | @@ -65,6 +65,7 @@ func main() { |
| 65 | 65 | DB.CTrajectory = DB.DB.C("Trajectory") |
| 66 | 66 | DB.CIcons = DB.DB.C("Icons") |
| 67 | 67 | DB.CTopMenus = DB.DB.C("TopMenus") |
| 68 | + DB.CDevice = DB.DB.C("Device") | |
| 68 | 69 | DelayMessage.CDelayMessage = DB.DB.C("DelayMessage") |
| 69 | 70 | DelayMessage.CDelayErrorLog = DB.DB.C("DelayErrorLog") |
| 70 | 71 | |
| ... | ... | @@ -116,6 +117,7 @@ func main() { |
| 116 | 117 | r.GET("/Tiles", Api.Tiles) |
| 117 | 118 | r.POST("/TopMenus/Update", Api.UpdateTopMenus) |
| 118 | 119 | r.GET("/TopMenus/All", Api.AllTopMenus) |
| 120 | + r.POST("/RegisterDevice", Api.RegisterDevice) | |
| 119 | 121 | //r.GET("/ws", Api.WsPage) |
| 120 | 122 | |
| 121 | 123 | r.Static("/Upload", "./Upload") | ... | ... |