Commit 8553d477b587a5356a0814cf4a6a8fdd9cb5e045

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

..

API/Complaint.go
@@ -52,7 +52,7 @@ func CreateComplaint(c *gin.Context) { @@ -52,7 +52,7 @@ func CreateComplaint(c *gin.Context) {
52 52
53 53
54 // 检查验证码 54 // 检查验证码
55 - cacheCode := DB.Redis.Get(c.PostForm("Mobile")) 55 + cacheCode := DB.Redis.Get("code_"+c.PostForm("Mobile"))
56 if cacheCode != c.PostForm("Code") { 56 if cacheCode != c.PostForm("Code") {
57 57
58 c.JSON(200, tools.ResponseError{ 58 c.JSON(200, tools.ResponseError{
API/DealyMessage.go
@@ -5,6 +5,7 @@ import ( @@ -5,6 +5,7 @@ import (
5 "github.com/gin-gonic/gin" 5 "github.com/gin-gonic/gin"
6 "gopkg.in/mgo.v2/bson" 6 "gopkg.in/mgo.v2/bson"
7 "letu/Lib/DelayMessage" 7 "letu/Lib/DelayMessage"
  8 + "letu/Lib/Token"
8 ) 9 )
9 10
10 // @Title 查询用户的定时提醒 11 // @Title 查询用户的定时提醒
@@ -12,6 +13,7 @@ import ( @@ -12,6 +13,7 @@ import (
12 // @Accept json 13 // @Accept json
13 // @Produce json 14 // @Produce json
14 // @Param UserId 5dfb03070a9ac17ac7a82054 string true "用户id" 15 // @Param UserId 5dfb03070a9ac17ac7a82054 string true "用户id"
  16 +// @Param Token wgergejfwe string true "用户token"
15 // @Success 200 {object} tools.ResponseSeccess "DelayTime=执行时间;Type=类型(0请求url地址1发送app通知);Fail失败次数;Title=通知标题;Content=通知内容;UDID=设备id" 17 // @Success 200 {object} tools.ResponseSeccess "DelayTime=执行时间;Type=类型(0请求url地址1发送app通知);Fail失败次数;Title=通知标题;Content=通知内容;UDID=设备id"
16 // @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}" 18 // @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}"
17 // @Router /DealyMessage/Info? [get] 19 // @Router /DealyMessage/Info? [get]
@@ -19,6 +21,22 @@ func DealyMessageInfo(c *gin.Context) { @@ -19,6 +21,22 @@ func DealyMessageInfo(c *gin.Context) {
19 c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin")) 21 c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin"))
20 c.Header("Access-Control-Allow-Credentials", "true") 22 c.Header("Access-Control-Allow-Credentials", "true")
21 23
  24 + if c.Query("Token") == "" || bson.IsObjectIdHex(c.Query("UserId")) == false {
  25 + c.JSON(200, tools.ResponseError{
  26 + 1,
  27 + "参数不正确",
  28 + })
  29 + return
  30 + }
  31 +
  32 + if Token.GetToken(c.Query("UserId")) != c.Query("Token") {
  33 + c.JSON(200, tools.ResponseError{
  34 + 1,
  35 + "token不正确",
  36 + })
  37 + return
  38 + }
  39 +
22 var aDelayMessage []DelayMessage.Message 40 var aDelayMessage []DelayMessage.Message
23 DelayMessage.CDelayMessage.Find(bson.M{"UserId": c.Query("UserId")}).All(&aDelayMessage) 41 DelayMessage.CDelayMessage.Find(bson.M{"UserId": c.Query("UserId")}).All(&aDelayMessage)
24 42
@@ -36,6 +54,7 @@ func DealyMessageInfo(c *gin.Context) { @@ -36,6 +54,7 @@ func DealyMessageInfo(c *gin.Context) {
36 // @Accept json 54 // @Accept json
37 // @Produce json 55 // @Produce json
38 // @Param UserId 5dfb03070a9ac17ac7a82054 string true "用户id" 56 // @Param UserId 5dfb03070a9ac17ac7a82054 string true "用户id"
  57 +// @Param Token wgergejfwe string true "用户token"
39 // @Param UDID 5dfb03070a9ac17ac7a82054 string true "设备id" 58 // @Param UDID 5dfb03070a9ac17ac7a82054 string true "设备id"
40 // @Param Title 表演时间提醒 string true "标题" 59 // @Param Title 表演时间提醒 string true "标题"
41 // @Param Content 5分钟后有表演 string true "内容" 60 // @Param Content 5分钟后有表演 string true "内容"
@@ -47,6 +66,22 @@ func CreateDealyMessage(c *gin.Context) { @@ -47,6 +66,22 @@ func CreateDealyMessage(c *gin.Context) {
47 c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin")) 66 c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin"))
48 c.Header("Access-Control-Allow-Credentials", "true") 67 c.Header("Access-Control-Allow-Credentials", "true")
49 68
  69 + if c.PostForm("Token") == "" || bson.IsObjectIdHex(c.PostForm("UserId")) == false {
  70 + c.JSON(200, tools.ResponseError{
  71 + 1,
  72 + "参数不正确",
  73 + })
  74 + return
  75 + }
  76 +
  77 + if Token.GetToken(c.PostForm("UserId")) != c.PostForm("Token") {
  78 + c.JSON(200, tools.ResponseError{
  79 + 1,
  80 + "token不正确",
  81 + })
  82 + return
  83 + }
  84 +
50 err := DelayMessage.GlobalDM.AddTaskForAppMessage(c.PostForm("DelayTime"), c.PostForm("UDID"), c.PostForm("Title"), c.PostForm("Content"), c.PostForm("UserId")) 85 err := DelayMessage.GlobalDM.AddTaskForAppMessage(c.PostForm("DelayTime"), c.PostForm("UDID"), c.PostForm("Title"), c.PostForm("Content"), c.PostForm("UserId"))
51 86
52 if err == nil { 87 if err == nil {
@@ -70,6 +105,8 @@ func CreateDealyMessage(c *gin.Context) { @@ -70,6 +105,8 @@ func CreateDealyMessage(c *gin.Context) {
70 // @Accept json 105 // @Accept json
71 // @Produce json 106 // @Produce json
72 // @Param id 5dfb03070a9ac17ac7a82054 string true "提醒id" 107 // @Param id 5dfb03070a9ac17ac7a82054 string true "提醒id"
  108 +// @Param UserId 5dfb03070a9ac17ac7a82054 string true "用户id"
  109 +// @Param Token wgergejfwe string true "用户token"
73 // @Success 200 {object} tools.ResponseSeccess "{"errcode":0,"result":"ok"}" 110 // @Success 200 {object} tools.ResponseSeccess "{"errcode":0,"result":"ok"}"
74 // @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}" 111 // @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}"
75 // @Router /DealyMessage/Remove? [post] 112 // @Router /DealyMessage/Remove? [post]
@@ -77,11 +114,18 @@ func RemoveDealyMessage(c *gin.Context) { @@ -77,11 +114,18 @@ func RemoveDealyMessage(c *gin.Context) {
77 c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin")) 114 c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin"))
78 c.Header("Access-Control-Allow-Credentials", "true") 115 c.Header("Access-Control-Allow-Credentials", "true")
79 116
  117 + if c.PostForm("Token") == "" || bson.IsObjectIdHex(c.PostForm("UserId")) == false {
  118 + c.JSON(200, tools.ResponseError{
  119 + 1,
  120 + "参数不正确",
  121 + })
  122 + return
  123 + }
80 124
81 - if bson.IsObjectIdHex(c.PostForm("id")) == false { 125 + if Token.GetToken(c.PostForm("UserId")) != c.PostForm("Token") {
82 c.JSON(200, tools.ResponseError{ 126 c.JSON(200, tools.ResponseError{
83 1, 127 1,
84 - "id不正确", 128 + "token不正确",
85 }) 129 })
86 return 130 return
87 } 131 }
API/Icon.go 0 → 100644
@@ -0,0 +1,113 @@ @@ -0,0 +1,113 @@
  1 +package Api
  2 +
  3 +import (
  4 + "github.com/aarongao/tools"
  5 + "github.com/gin-gonic/gin"
  6 + "gopkg.in/mgo.v2/bson"
  7 + "letu/DB"
  8 +)
  9 +
  10 +// @Title 返回图标基础信息
  11 +// @Description 图标管理 - 返回图标基础信息
  12 +// @Accept json
  13 +// @Produce json
  14 +// @Param id 5dfb03070a9ac17ac7a82054 string true "图标id"
  15 +// @Success 200 {object} tools.ResponseSeccess "Name名称:Picture图片地址:id图标id"
  16 +// @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}"
  17 +// @Router /Icon/Info? [get]
  18 +func IconInfo(c *gin.Context) {
  19 + c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin"))
  20 + c.Header("Access-Control-Allow-Credentials", "true")
  21 +
  22 + if c.Query("id") == "" {
  23 + c.JSON(200, tools.ResponseError{
  24 + 1,
  25 + "id为空",
  26 + })
  27 + return
  28 + }
  29 +
  30 + var SIcon *DB.SIcons
  31 + DB.CIcons.Find(bson.M{"_id": bson.ObjectIdHex(c.Query("id"))}).One(&SIcon)
  32 +
  33 + c.JSON(200, tools.ResponseSeccess{
  34 + 0,
  35 + SIcon,
  36 + })
  37 +
  38 +}
  39 +
  40 +// @Title 更新图标信息
  41 +// @Description 图标管理 - 增加或修改图标信息
  42 +// @Accept json
  43 +// @Produce json
  44 +// @Param id 5dfb03070a9ac17ac7a82054 string true "图标id"
  45 +// @Success 200 {object} tools.ResponseSeccess "Name名称:Picture图片地址:id图标id:ScenicId景区id"
  46 +// @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}"
  47 +// @Router /Icon/Update? [post]
  48 +func UpdateIcon(c *gin.Context) {
  49 + c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin"))
  50 + c.Header("Access-Control-Allow-Credentials", "true")
  51 +
  52 + ScenicId := c.PostForm("ScenicId")
  53 + if ScenicId == "" || ScenicId == "undefined" {
  54 + c.JSON(200, tools.ResponseError{
  55 + 1,
  56 + "缺少scenicid(景区id)",
  57 + })
  58 + return
  59 + }
  60 +
  61 + var id bson.ObjectId
  62 + if pid := c.PostForm("id"); pid == "null" {
  63 + id = bson.NewObjectId()
  64 + } else {
  65 + id = bson.ObjectIdHex(pid)
  66 + }
  67 +
  68 + DB.CIcons.UpsertId(
  69 + id,
  70 + bson.M{"$set": bson.M{
  71 + "Name": c.PostForm("Name"),
  72 + "Picture": c.PostForm("Picture"),
  73 + "ScenicId": ScenicId,
  74 + }},
  75 + )
  76 +
  77 + c.JSON(200, tools.ResponseSeccess{
  78 + 0,
  79 + "ok",
  80 + })
  81 +
  82 +}
  83 +
  84 +// @Title 所有图标
  85 +// @Description 图标管理 - 所有图标
  86 +// @Accept json
  87 +// @Produce json
  88 +// @Param ScenicId 5dfb03070a9ac17ac7a82054 string true "景区id"
  89 +// @Success 200 {object} tools.ResponseSeccess "Name名称:Picture图片地址:id图标id:ScenicId景区id"
  90 +// @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}"
  91 +// @Router /Icon/All? [get]
  92 +func AllIcons(c *gin.Context) {
  93 + c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin"))
  94 + c.Header("Access-Control-Allow-Credentials", "true")
  95 +
  96 + ScenicId := c.Query("ScenicId")
  97 + if ScenicId == "" || ScenicId == "undefined" {
  98 + c.JSON(200, tools.ResponseError{
  99 + 1,
  100 + "缺少scenicid(景区id)",
  101 + })
  102 + return
  103 + }
  104 +
  105 + var SIcons = []*DB.SIcons{}
  106 + DB.CIcons.Find(bson.M{"ScenicId": ScenicId}).All(&SIcons)
  107 +
  108 + c.JSON(200, tools.ResponseSeccess{
  109 + 0,
  110 + SIcons,
  111 + })
  112 +
  113 +}
@@ -38,7 +38,7 @@ func Send(c *gin.Context) { @@ -38,7 +38,7 @@ func Send(c *gin.Context) {
38 return 38 return
39 } 39 }
40 40
41 - cacheCode := DB.Redis.Get(c.PostForm("Mobile")) 41 + cacheCode := DB.Redis.Get("code_"+c.PostForm("Mobile"))
42 if cacheCode != nil { 42 if cacheCode != nil {
43 c.JSON(200, tools.ResponseError{ 43 c.JSON(200, tools.ResponseError{
44 1, 44 1,
@@ -67,7 +67,7 @@ func Send(c *gin.Context) { @@ -67,7 +67,7 @@ func Send(c *gin.Context) {
67 } else { 67 } else {
68 reserr = response.Code 68 reserr = response.Code
69 if response.Code == "OK" { 69 if response.Code == "OK" {
70 - DB.Redis.Set(c.PostForm("Mobile"), code, time.Second*60) 70 + DB.Redis.Set("code_"+c.PostForm("Mobile"), code, time.Second*60)
71 } 71 }
72 } 72 }
73 73
@@ -7,12 +7,12 @@ import ( @@ -7,12 +7,12 @@ import (
7 "github.com/gin-gonic/gin" 7 "github.com/gin-gonic/gin"
8 "gopkg.in/mgo.v2/bson" 8 "gopkg.in/mgo.v2/bson"
9 "letu/DB" 9 "letu/DB"
  10 + "letu/Lib/Token"
10 "regexp" 11 "regexp"
11 "strconv" 12 "strconv"
12 "time" 13 "time"
13 ) 14 )
14 15
15 -  
16 var Regular = "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$" 16 var Regular = "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$"
17 17
18 // @Title 登录 18 // @Title 登录
@@ -51,7 +51,7 @@ func LoginUser(c *gin.Context) { @@ -51,7 +51,7 @@ func LoginUser(c *gin.Context) {
51 token := hex.EncodeToString(tokenunit8[:32]) 51 token := hex.EncodeToString(tokenunit8[:32])
52 52
53 // 检查验证码 53 // 检查验证码
54 - cacheCode := DB.Redis.Get(c.PostForm("Mobile")) 54 + cacheCode := DB.Redis.Get("code_" + c.PostForm("Mobile"))
55 selected := bson.M{} 55 selected := bson.M{}
56 var User *DB.SMember 56 var User *DB.SMember
57 if cacheCode == c.PostForm("Code") { 57 if cacheCode == c.PostForm("Code") {
@@ -61,46 +61,35 @@ func LoginUser(c *gin.Context) { @@ -61,46 +61,35 @@ func LoginUser(c *gin.Context) {
61 // 验证码匹配,但手机号不存在 61 // 验证码匹配,但手机号不存在
62 if User == nil { 62 if User == nil {
63 objectID := bson.NewObjectId() 63 objectID := bson.NewObjectId()
64 - oUser := DB.SMember{ 64 + User := DB.SMember{
65 &objectID, 65 &objectID,
66 "", 66 "",
67 "", 67 "",
68 "", 68 "",
69 c.PostForm("Mobile"), 69 c.PostForm("Mobile"),
70 "", 70 "",
71 - token,  
72 "", 71 "",
73 } 72 }
74 - DB.CMember.Insert(oUser)  
75 - //if err == nil {  
76 - c.JSON(200, tools.ResponseSeccess{  
77 - 0,  
78 - oUser,  
79 - })  
80 - return  
81 - //} 73 + DB.CMember.Insert(User)
82 } 74 }
83 75
84 } else { 76 } else {
85 - selected["Mobile"] = c.PostForm("Mobile")  
86 - selected["Code"] = c.PostForm("Code")  
87 - DB.CMember.Find(selected).One(&User)  
88 - if User == nil {  
89 - c.JSON(200, tools.ResponseError{  
90 - 1,  
91 - "用户不存在或密码不正确",  
92 - })  
93 - return  
94 - } 77 + c.JSON(200, tools.ResponseError{
  78 + 1,
  79 + "验证码不正确",
  80 + })
  81 + return
95 } 82 }
96 83
97 // 更新用户信息 84 // 更新用户信息
98 - DB.CMember.Update(  
99 - bson.M{"_id": User.Id},  
100 - bson.M{"$set": bson.M{"Token": token}},  
101 - ) 85 + //DB.CMember.Update(
  86 + // bson.M{"_id": User.Id},
  87 + // bson.M{"$set": bson.M{"Token": token}},
  88 + //)
  89 +
  90 + // 更新token
  91 + Token.SaveToken(User.Id.Hex(), token)
102 92
103 - User.Token = token  
104 c.JSON(200, tools.ResponseSeccess{ 93 c.JSON(200, tools.ResponseSeccess{
105 0, 94 0,
106 User, 95 User,
@@ -113,6 +102,7 @@ func LoginUser(c *gin.Context) { @@ -113,6 +102,7 @@ func LoginUser(c *gin.Context) {
113 // @Accept json 102 // @Accept json
114 // @Produce json 103 // @Produce json
115 // @Param id aaron string true "用户id" 104 // @Param id aaron string true "用户id"
  105 +// @Param Token wgergejfwe string true "用户token"
116 // @Success 200 {object} tools.ResponseSeccess "{"errcode":0,"result":{"Id":"5e09c64c1c09c6f0f7ca2fa9","Token":"640bf934e425aba5d3c90998b2641f2f0ca07261d334d9615d1cd4790b5f34e7"}}" 106 // @Success 200 {object} tools.ResponseSeccess "{"errcode":0,"result":{"Id":"5e09c64c1c09c6f0f7ca2fa9","Token":"640bf934e425aba5d3c90998b2641f2f0ca07261d334d9615d1cd4790b5f34e7"}}"
117 // @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}" 107 // @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}"
118 // @Router /UserInfo? [get] 108 // @Router /UserInfo? [get]
@@ -120,10 +110,19 @@ func UserInfo(c *gin.Context) { @@ -120,10 +110,19 @@ func UserInfo(c *gin.Context) {
120 c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin")) 110 c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin"))
121 c.Header("Access-Control-Allow-Credentials", "true") 111 c.Header("Access-Control-Allow-Credentials", "true")
122 112
123 - if c.Query("id") == "" { 113 +
  114 + if c.Query("Token") == "" || bson.IsObjectIdHex(c.Query("id")) == false{
124 c.JSON(200, tools.ResponseError{ 115 c.JSON(200, tools.ResponseError{
125 1, 116 1,
126 - "空", 117 + "参数不正确",
  118 + })
  119 + return
  120 + }
  121 +
  122 + if Token.GetToken(c.Query("id")) != c.Query("Token"){
  123 + c.JSON(200, tools.ResponseError{
  124 + 1,
  125 + "token不正确",
127 }) 126 })
128 return 127 return
129 } 128 }
@@ -142,6 +141,8 @@ func UserInfo(c *gin.Context) { @@ -142,6 +141,8 @@ func UserInfo(c *gin.Context) {
142 // @Description 用户管理 - 修改用户信息 141 // @Description 用户管理 - 修改用户信息
143 // @Accept json 142 // @Accept json
144 // @Produce json 143 // @Produce json
  144 +// @Param id aaron string true "用户id""
  145 +// @Param Token wgergejfwe string true "用户token"
145 // @Param Birthday 2010.10.10 string true "生日" 146 // @Param Birthday 2010.10.10 string true "生日"
146 // @Param FullName aarongao string true "全名" 147 // @Param FullName aarongao string true "全名"
147 // @Param Code 12345678 string true "6位验证码" 148 // @Param Code 12345678 string true "6位验证码"
@@ -155,6 +156,24 @@ func UpdateUser(c *gin.Context) { @@ -155,6 +156,24 @@ func UpdateUser(c *gin.Context) {
155 c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin")) 156 c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin"))
156 c.Header("Access-Control-Allow-Credentials", "true") 157 c.Header("Access-Control-Allow-Credentials", "true")
157 158
  159 +
  160 + if c.PostForm("Token") == "" || bson.IsObjectIdHex(c.PostForm("id")) == false{
  161 + c.JSON(200, tools.ResponseError{
  162 + 1,
  163 + "参数不正确",
  164 + })
  165 + return
  166 + }
  167 +
  168 + if Token.GetToken(c.PostForm("id")) != c.PostForm("Token"){
  169 + c.JSON(200, tools.ResponseError{
  170 + 1,
  171 + "token不正确",
  172 + })
  173 + return
  174 + }
  175 +
  176 +
158 reg := regexp.MustCompile(Regular) 177 reg := regexp.MustCompile(Regular)
159 if !reg.MatchString(c.PostForm("Mobile")) { 178 if !reg.MatchString(c.PostForm("Mobile")) {
160 179
@@ -182,7 +201,7 @@ func UpdateUser(c *gin.Context) { @@ -182,7 +201,7 @@ func UpdateUser(c *gin.Context) {
182 //} 201 //}
183 202
184 // 检查验证码 203 // 检查验证码
185 - code := DB.Redis.Get(c.PostForm("Mobile")) 204 + code := DB.Redis.Get("code_" + c.PostForm("Mobile"))
186 if code == "" || code != c.PostForm("Code") { 205 if code == "" || code != c.PostForm("Code") {
187 c.JSON(200, tools.ResponseError{ 206 c.JSON(200, tools.ResponseError{
188 1, 207 1,
@@ -192,19 +211,18 @@ func UpdateUser(c *gin.Context) { @@ -192,19 +211,18 @@ func UpdateUser(c *gin.Context) {
192 } 211 }
193 212
194 err := DB.CMember.Update( 213 err := DB.CMember.Update(
195 - bson.M{"Mobile": c.PostForm("Mobile")}, 214 + bson.M{"_id": bson.ObjectIdHex(c.PostForm("id"))},
196 bson.M{"$set": bson.M{ 215 bson.M{"$set": bson.M{
197 "Birthday": c.PostForm("Birthday"), 216 "Birthday": c.PostForm("Birthday"),
198 "FullName": c.PostForm("FullName"), 217 "FullName": c.PostForm("FullName"),
199 "Mobile": c.PostForm("Mobile"), 218 "Mobile": c.PostForm("Mobile"),
200 - "Sex": c.PostForm("Sex"), 219 + "Sex": c.PostForm("Sex"),
201 }}, 220 }},
202 ) 221 )
203 222
204 if err == nil { 223 if err == nil {
205 -  
206 var User *DB.SMember 224 var User *DB.SMember
207 - DB.CMember.Find(bson.M{"Mobile": c.PostForm("Mobile")}).One(&User) 225 + DB.CMember.Find(bson.M{"_id": bson.ObjectIdHex(c.PostForm("id"))}).One(&User)
208 226
209 c.JSON(200, tools.ResponseSeccess{ 227 c.JSON(200, tools.ResponseSeccess{
210 0, 228 0,
@@ -20,6 +20,7 @@ var CLine *mgo.Collection //推荐线路 @@ -20,6 +20,7 @@ var CLine *mgo.Collection //推荐线路
20 var CEventLog *mgo.Collection //用户行为记录 20 var CEventLog *mgo.Collection //用户行为记录
21 var CActionLog *mgo.Collection //操作记录 21 var CActionLog *mgo.Collection //操作记录
22 var CTrajectory *mgo.Collection //移动轨迹 22 var CTrajectory *mgo.Collection //移动轨迹
  23 +var CIcons *mgo.Collection //图标信息
23 var DB *mgo.Database 24 var DB *mgo.Database
24 25
25 type SItem struct { 26 type SItem struct {
@@ -43,6 +44,12 @@ type SItem struct { @@ -43,6 +44,12 @@ type SItem struct {
43 Reminder string `bson:"Reminder" json:"Reminder"` //温馨提示 44 Reminder string `bson:"Reminder" json:"Reminder"` //温馨提示
44 State int `bson:"State" json:"State"` // 运行状态0=正常1=停运 45 State int `bson:"State" json:"State"` // 运行状态0=正常1=停运
45 } 46 }
  47 +type SIcons struct {
  48 + Id *bson.ObjectId `bson:"_id" json:"Id" valid:"required"`
  49 + ScenicId string `bson:"ScenicId" json:"ScenicId"`
  50 + Name string `bson:"Name" json:"Name"`
  51 + Picture string `bson:"Picture" json:"Picture"`
  52 +}
46 type STrajectory struct { 53 type STrajectory struct {
47 UserId string `bson:"UserId" json:"UserId"` // 用户ID 54 UserId string `bson:"UserId" json:"UserId"` // 用户ID
48 Location SLocation `bson:"Location" json:"Location"` 55 Location SLocation `bson:"Location" json:"Location"`
@@ -116,7 +123,6 @@ type SMember struct { @@ -116,7 +123,6 @@ type SMember struct {
116 FullName string `bson:"FullName" json:"FullName"` 123 FullName string `bson:"FullName" json:"FullName"`
117 Mobile string `bson:"Mobile" json:"Mobile"` 124 Mobile string `bson:"Mobile" json:"Mobile"`
118 Openid string `bson:"Openid" json:"Openid"` 125 Openid string `bson:"Openid" json:"Openid"`
119 - Token string `bson:"Token" json:"Token"`  
120 Sex string `bson:"Sex" json:"Sex"` 126 Sex string `bson:"Sex" json:"Sex"`
121 } 127 }
122 128
Lib/Token/token.go 0 → 100644
@@ -0,0 +1,15 @@ @@ -0,0 +1,15 @@
  1 +package Token
  2 +
  3 +import (
  4 + "letu/DB"
  5 + "time"
  6 +)
  7 +
  8 +func GetToken(mobile string) string {
  9 + token := DB.Redis.Get("token_" + mobile)
  10 + return token.(string)
  11 +}
  12 +
  13 +func SaveToken(mobile, token string) {
  14 + DB.Redis.Set("token_"+mobile, token, time.Second*3600*24*7)
  15 +}
@@ -20,6 +20,9 @@ @@ -20,6 +20,9 @@
20 1. [创建提醒](#dealymessage-create-post) 20 1. [创建提醒](#dealymessage-create-post)
21 1. [删除提醒](#dealymessage-remove-post) 21 1. [删除提醒](#dealymessage-remove-post)
22 1. [增加访问日志](#eventlog-post) 22 1. [增加访问日志](#eventlog-post)
  23 +1. [图标管理 - 返回图标基础信息](#icon-info-get)
  24 +1. [图标管理 - 增加或修改图标信息](#icon-update-post)
  25 +1. [图标管理 - 所有图标](#icon-all-get)
23 1. [问券调查 - 增加调查](#investigation-save-post) 26 1. [问券调查 - 增加调查](#investigation-save-post)
24 1. [问券调查 - 查询所有问券调查](#investigation-list-get) 27 1. [问券调查 - 查询所有问券调查](#investigation-list-get)
25 1. [设备管理 - 查询设备信息](#iteminfo-get) 28 1. [设备管理 - 查询设备信息](#iteminfo-get)
@@ -184,6 +187,7 @@ @@ -184,6 +187,7 @@
184 | Param Name | Example | Data Type | Description | Required? | 187 | Param Name | Example | Data Type | Description | Required? |
185 |-----|-----|-----|-----|-----| 188 |-----|-----|-----|-----|-----|
186 | UserId | 5dfb03070a9ac17ac7a82054 | string | 用户id | Yes | 189 | UserId | 5dfb03070a9ac17ac7a82054 | string | 用户id | Yes |
  190 +| Token | wgergejfwe | string | 用户token | Yes |
187 191
188 192
189 | Code | Type | Model | Message | 193 | Code | Type | Model | Message |
@@ -202,6 +206,7 @@ @@ -202,6 +206,7 @@
202 | Param Name | Example | Data Type | Description | Required? | 206 | Param Name | Example | Data Type | Description | Required? |
203 |-----|-----|-----|-----|-----| 207 |-----|-----|-----|-----|-----|
204 | UserId | 5dfb03070a9ac17ac7a82054 | string | 用户id | Yes | 208 | UserId | 5dfb03070a9ac17ac7a82054 | string | 用户id | Yes |
  209 +| Token | wgergejfwe | string | 用户token | Yes |
205 | UDID | 5dfb03070a9ac17ac7a82054 | string | 设备id | Yes | 210 | UDID | 5dfb03070a9ac17ac7a82054 | string | 设备id | Yes |
206 | Title | 表演时间提醒 | string | 标题 | Yes | 211 | Title | 表演时间提醒 | string | 标题 | Yes |
207 | Content | 5分钟后有表演 | string | 内容 | Yes | 212 | Content | 5分钟后有表演 | string | 内容 | Yes |
@@ -224,6 +229,8 @@ @@ -224,6 +229,8 @@
224 | Param Name | Example | Data Type | Description | Required? | 229 | Param Name | Example | Data Type | Description | Required? |
225 |-----|-----|-----|-----|-----| 230 |-----|-----|-----|-----|-----|
226 | id | 5dfb03070a9ac17ac7a82054 | string | 提醒id | Yes | 231 | id | 5dfb03070a9ac17ac7a82054 | string | 提醒id | Yes |
  232 +| UserId | 5dfb03070a9ac17ac7a82054 | string | 用户id | Yes |
  233 +| Token | wgergejfwe | string | 用户token | Yes |
227 234
228 235
229 | Code | Type | Model | Message | 236 | Code | Type | Model | Message |
@@ -258,6 +265,61 @@ @@ -258,6 +265,61 @@
258 265
259 266
260 267
  268 +<a name="icon-info-get"></a>
  269 +
  270 +#### /Icon/Info (GET)
  271 +
  272 +
  273 +图标管理 - 返回图标基础信息
  274 +
  275 +| Param Name | Example | Data Type | Description | Required? |
  276 +|-----|-----|-----|-----|-----|
  277 +| id | 5dfb03070a9ac17ac7a82054 | string | 图标id | Yes |
  278 +
  279 +
  280 +| Code | Type | Model | Message |
  281 +|-----|-----|-----|-----|
  282 +| 200 | object | [ResponseSeccess](#github.com.aarongao.tools.ResponseSeccess) | Name名称:Picture图片地址:id图标id |
  283 +| 500 | object | [ResponseError](#github.com.aarongao.tools.ResponseError) | {"errcode":1,"errmsg":"错误原因"} |
  284 +
  285 +
  286 +<a name="icon-update-post"></a>
  287 +
  288 +#### /Icon/Update (POST)
  289 +
  290 +
  291 +图标管理 - 增加或修改图标信息
  292 +
  293 +| Param Name | Example | Data Type | Description | Required? |
  294 +|-----|-----|-----|-----|-----|
  295 +| id | 5dfb03070a9ac17ac7a82054 | string | 图标id | Yes |
  296 +
  297 +
  298 +| Code | Type | Model | Message |
  299 +|-----|-----|-----|-----|
  300 +| 200 | object | [ResponseSeccess](#github.com.aarongao.tools.ResponseSeccess) | Name名称:Picture图片地址:id图标id:ScenicId景区id |
  301 +| 500 | object | [ResponseError](#github.com.aarongao.tools.ResponseError) | {"errcode":1,"errmsg":"错误原因"} |
  302 +
  303 +
  304 +<a name="icon-all-get"></a>
  305 +
  306 +#### /Icon/All (GET)
  307 +
  308 +
  309 +图标管理 - 所有图标
  310 +
  311 +| Param Name | Example | Data Type | Description | Required? |
  312 +|-----|-----|-----|-----|-----|
  313 +| ScenicId | 5dfb03070a9ac17ac7a82054 | string | 景区id | Yes |
  314 +
  315 +
  316 +| Code | Type | Model | Message |
  317 +|-----|-----|-----|-----|
  318 +| 200 | object | [ResponseSeccess](#github.com.aarongao.tools.ResponseSeccess) | Name名称:Picture图片地址:id图标id:ScenicId景区id |
  319 +| 500 | object | [ResponseError](#github.com.aarongao.tools.ResponseError) | {"errcode":1,"errmsg":"错误原因"} |
  320 +
  321 +
  322 +
261 <a name="investigation-save-post"></a> 323 <a name="investigation-save-post"></a>
262 324
263 #### /Investigation/Save (POST) 325 #### /Investigation/Save (POST)
@@ -517,6 +579,8 @@ @@ -517,6 +579,8 @@
517 579
518 | Param Name | Example | Data Type | Description | Required? | 580 | Param Name | Example | Data Type | Description | Required? |
519 |-----|-----|-----|-----|-----| 581 |-----|-----|-----|-----|-----|
  582 +| id | aaron | string | 用户id | Yes |
  583 +| Token | wgergejfwe | string | 用户token | Yes |
520 | Birthday | 2010.10.10 | string | 生日 | Yes | 584 | Birthday | 2010.10.10 | string | 生日 | Yes |
521 | FullName | aarongao | string | 全名 | Yes | 585 | FullName | aarongao | string | 全名 | Yes |
522 | Code | 12345678 | string | 6位验证码 | Yes | 586 | Code | 12345678 | string | 6位验证码 | Yes |
@@ -561,6 +625,7 @@ @@ -561,6 +625,7 @@
561 | Param Name | Example | Data Type | Description | Required? | 625 | Param Name | Example | Data Type | Description | Required? |
562 |-----|-----|-----|-----|-----| 626 |-----|-----|-----|-----|-----|
563 | id | aaron | string | 用户id | Yes | 627 | id | aaron | string | 用户id | Yes |
  628 +| Token | wgergejfwe | string | 用户token | Yes |
564 629
565 630
566 | Code | Type | Model | Message | 631 | Code | Type | Model | Message |
@@ -60,6 +60,7 @@ func main() { @@ -60,6 +60,7 @@ func main() {
60 DB.CActionLog = DB.DB.C("ActionLog") 60 DB.CActionLog = DB.DB.C("ActionLog")
61 DB.CInvestigation = DB.DB.C("Investigation") 61 DB.CInvestigation = DB.DB.C("Investigation")
62 DB.CTrajectory = DB.DB.C("Trajectory") 62 DB.CTrajectory = DB.DB.C("Trajectory")
  63 + DB.CIcons = DB.DB.C("Icons")
63 DelayMessage.CDelayMessage = DB.DB.C("DelayMessage") 64 DelayMessage.CDelayMessage = DB.DB.C("DelayMessage")
64 DelayMessage.CDelayErrorLog = DB.DB.C("DelayErrorLog") 65 DelayMessage.CDelayErrorLog = DB.DB.C("DelayErrorLog")
65 66
@@ -98,6 +99,9 @@ func main() { @@ -98,6 +99,9 @@ func main() {
98 r.POST("/DealyMessage/Create", Api.CreateDealyMessage) 99 r.POST("/DealyMessage/Create", Api.CreateDealyMessage)
99 r.GET("/DealyMessage/Info", Api.DealyMessageInfo) 100 r.GET("/DealyMessage/Info", Api.DealyMessageInfo)
100 r.POST("/DealyMessage/Remove", Api.RemoveDealyMessage) 101 r.POST("/DealyMessage/Remove", Api.RemoveDealyMessage)
  102 + r.POST("/Icon/Update", Api.UpdateIcon)
  103 + r.GET("/Icon/All", Api.AllIcons)
  104 + r.GET("/Icon/Info", Api.IconInfo)
101 //r.GET("/ws", Api.WsPage) 105 //r.GET("/ws", Api.WsPage)
102 106
103 r.Static("/Upload", "./Upload") 107 r.Static("/Upload", "./Upload")