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,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 | // @Title 用户信息 | 166 | // @Title 用户信息 |
121 | // @Description 用户管理 - 获取用户信息 | 167 | // @Description 用户管理 - 获取用户信息 |
122 | // @Accept json | 168 | // @Accept json |
@@ -130,8 +176,7 @@ func UserInfo(c *gin.Context) { | @@ -130,8 +176,7 @@ func UserInfo(c *gin.Context) { | ||
130 | c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin")) | 176 | c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin")) |
131 | c.Header("Access-Control-Allow-Credentials", "true") | 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 | c.JSON(200, tools.ResponseError{ | 180 | c.JSON(200, tools.ResponseError{ |
136 | 1, | 181 | 1, |
137 | "Token或者用户id不正确", | 182 | "Token或者用户id不正确", |
@@ -139,7 +184,7 @@ func UserInfo(c *gin.Context) { | @@ -139,7 +184,7 @@ func UserInfo(c *gin.Context) { | ||
139 | return | 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 | c.JSON(200, tools.ResponseError{ | 188 | c.JSON(200, tools.ResponseError{ |
144 | 401, | 189 | 401, |
145 | "token过期", | 190 | "token过期", |
@@ -158,8 +203,6 @@ func UserInfo(c *gin.Context) { | @@ -158,8 +203,6 @@ func UserInfo(c *gin.Context) { | ||
158 | 203 | ||
159 | } | 204 | } |
160 | 205 | ||
161 | - | ||
162 | - | ||
163 | // @Title 用户信息 | 206 | // @Title 用户信息 |
164 | // @Description 用户管理 - 检查Token是否过期 | 207 | // @Description 用户管理 - 检查Token是否过期 |
165 | // @Accept json | 208 | // @Accept json |
@@ -173,8 +216,7 @@ func CheckToken(c *gin.Context) { | @@ -173,8 +216,7 @@ func CheckToken(c *gin.Context) { | ||
173 | c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin")) | 216 | c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin")) |
174 | c.Header("Access-Control-Allow-Credentials", "true") | 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 | c.JSON(200, tools.ResponseError{ | 220 | c.JSON(200, tools.ResponseError{ |
179 | 1, | 221 | 1, |
180 | "Token或者用户id不正确", | 222 | "Token或者用户id不正确", |
@@ -182,7 +224,7 @@ func CheckToken(c *gin.Context) { | @@ -182,7 +224,7 @@ func CheckToken(c *gin.Context) { | ||
182 | return | 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 | c.JSON(200, tools.ResponseError{ | 228 | c.JSON(200, tools.ResponseError{ |
187 | 401, | 229 | 401, |
188 | "token过期", | 230 | "token过期", |
@@ -190,7 +232,6 @@ func CheckToken(c *gin.Context) { | @@ -190,7 +232,6 @@ func CheckToken(c *gin.Context) { | ||
190 | return | 232 | return |
191 | } | 233 | } |
192 | 234 | ||
193 | - | ||
194 | c.JSON(200, tools.ResponseSeccess{ | 235 | c.JSON(200, tools.ResponseSeccess{ |
195 | 0, | 236 | 0, |
196 | "ok", | 237 | "ok", |
@@ -217,8 +258,7 @@ func UpdateUser(c *gin.Context) { | @@ -217,8 +258,7 @@ func UpdateUser(c *gin.Context) { | ||
217 | c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin")) | 258 | c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin")) |
218 | c.Header("Access-Control-Allow-Credentials", "true") | 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 | c.JSON(200, tools.ResponseError{ | 262 | c.JSON(200, tools.ResponseError{ |
223 | 1, | 263 | 1, |
224 | "Token或者用户id不正确", | 264 | "Token或者用户id不正确", |
@@ -226,7 +266,7 @@ func UpdateUser(c *gin.Context) { | @@ -226,7 +266,7 @@ func UpdateUser(c *gin.Context) { | ||
226 | return | 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 | c.JSON(200, tools.ResponseError{ | 270 | c.JSON(200, tools.ResponseError{ |
231 | 401, | 271 | 401, |
232 | "token过期", | 272 | "token过期", |
@@ -234,7 +274,6 @@ func UpdateUser(c *gin.Context) { | @@ -234,7 +274,6 @@ func UpdateUser(c *gin.Context) { | ||
234 | return | 274 | return |
235 | } | 275 | } |
236 | 276 | ||
237 | - | ||
238 | reg := regexp.MustCompile(Regular) | 277 | reg := regexp.MustCompile(Regular) |
239 | if !reg.MatchString(c.PostForm("Mobile")) { | 278 | if !reg.MatchString(c.PostForm("Mobile")) { |
240 | 279 |
DB/db.go
@@ -22,6 +22,7 @@ var CSystemLog *mgo.Collection //操作记录 | @@ -22,6 +22,7 @@ var CSystemLog *mgo.Collection //操作记录 | ||
22 | var CTrajectory *mgo.Collection //移动轨迹 | 22 | var CTrajectory *mgo.Collection //移动轨迹 |
23 | var CIcons *mgo.Collection //图标信息 | 23 | var CIcons *mgo.Collection //图标信息 |
24 | var CTopMenus *mgo.Collection //菜单 | 24 | var CTopMenus *mgo.Collection //菜单 |
25 | +var CDevice *mgo.Collection //设备清单 | ||
25 | var DB *mgo.Database | 26 | var DB *mgo.Database |
26 | 27 | ||
27 | type SItem struct { | 28 | type SItem struct { |
@@ -68,15 +69,15 @@ type STopMenus struct { | @@ -68,15 +69,15 @@ type STopMenus struct { | ||
68 | } | 69 | } |
69 | 70 | ||
70 | type SDevice struct { | 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 | type SUserLog struct { | 83 | type SUserLog struct { |
README.md
@@ -30,6 +30,7 @@ | @@ -30,6 +30,7 @@ | ||
30 | 1. [设备管理 - 查询设备信息](#iteminfo-get) | 30 | 1. [设备管理 - 查询设备信息](#iteminfo-get) |
31 | 1. [查询线路信息](#lineinfo-get) | 31 | 1. [查询线路信息](#lineinfo-get) |
32 | 1. [用户管理 - 用户登录&注册](#loginuser-post) | 32 | 1. [用户管理 - 用户登录&注册](#loginuser-post) |
33 | +1. [用户管理 - 注册客户端](#registerdevice-post) | ||
33 | 1. [返回景区基础信息](#scenicinfo-get) | 34 | 1. [返回景区基础信息](#scenicinfo-get) |
34 | 1. [发送短信验证码](#sms-send-post) | 35 | 1. [发送短信验证码](#sms-send-post) |
35 | 1. [标签 - 增加标签](#tag-create-post) | 36 | 1. [标签 - 增加标签](#tag-create-post) |
@@ -463,6 +464,31 @@ | @@ -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 | <a name="scenicinfo-get"></a> | 492 | <a name="scenicinfo-get"></a> |
467 | 493 | ||
468 | #### /ScenicInfo (GET) | 494 | #### /ScenicInfo (GET) |
main.go
@@ -65,6 +65,7 @@ func main() { | @@ -65,6 +65,7 @@ func main() { | ||
65 | DB.CTrajectory = DB.DB.C("Trajectory") | 65 | DB.CTrajectory = DB.DB.C("Trajectory") |
66 | DB.CIcons = DB.DB.C("Icons") | 66 | DB.CIcons = DB.DB.C("Icons") |
67 | DB.CTopMenus = DB.DB.C("TopMenus") | 67 | DB.CTopMenus = DB.DB.C("TopMenus") |
68 | + DB.CDevice = DB.DB.C("Device") | ||
68 | DelayMessage.CDelayMessage = DB.DB.C("DelayMessage") | 69 | DelayMessage.CDelayMessage = DB.DB.C("DelayMessage") |
69 | DelayMessage.CDelayErrorLog = DB.DB.C("DelayErrorLog") | 70 | DelayMessage.CDelayErrorLog = DB.DB.C("DelayErrorLog") |
70 | 71 | ||
@@ -116,6 +117,7 @@ func main() { | @@ -116,6 +117,7 @@ func main() { | ||
116 | r.GET("/Tiles", Api.Tiles) | 117 | r.GET("/Tiles", Api.Tiles) |
117 | r.POST("/TopMenus/Update", Api.UpdateTopMenus) | 118 | r.POST("/TopMenus/Update", Api.UpdateTopMenus) |
118 | r.GET("/TopMenus/All", Api.AllTopMenus) | 119 | r.GET("/TopMenus/All", Api.AllTopMenus) |
120 | + r.POST("/RegisterDevice", Api.RegisterDevice) | ||
119 | //r.GET("/ws", Api.WsPage) | 121 | //r.GET("/ws", Api.WsPage) |
120 | 122 | ||
121 | r.Static("/Upload", "./Upload") | 123 | r.Static("/Upload", "./Upload") |