@@ -37,6 +37,7 @@ func (self AccountController) RegisterRoute(g *echo.Group) {
37
37
g .Any ("/account/register" , self .Register )
38
38
g .POST ("/account/send_activate_email" , self .SendActivateEmail )
39
39
g .GET ("/account/activate" , self .Activate )
40
+ g .POST ("/account/wechat_active" , self .WechatActive )
40
41
g .Any ("/account/login" , self .Login )
41
42
g .Any ("/account/edit" , self .Edit , middleware .NeedLogin ())
42
43
g .POST ("/account/change_avatar" , self .ChangeAvatar , middleware .NeedLogin ())
@@ -103,6 +104,10 @@ func (self AccountController) Register(ctx echo.Context) error {
103
104
return render (ctx , registerTpl , data )
104
105
}
105
106
107
+ // 不验证邮箱,注册完成直接登录
108
+ // 自动登录
109
+ SetLoginCookie (ctx , username )
110
+
106
111
email := ctx .FormValue ("email" )
107
112
108
113
uuid := RegActivateCode .GenUUID (email )
@@ -122,6 +127,7 @@ func (self AccountController) Register(ctx echo.Context) error {
122
127
我们已经发送一封邮件到 ` + email + `,请您根据提示信息完成邮箱验证.<br><br>
123
128
<a href="` + emailUrl + `" target="_blank"><button type="button" class="btn btn-success">立即验证</button></a> <button type="button" class="btn btn-link" data-uuid="` + uuid + `" id="resend_email">未收到?再发一次</button>
124
129
</div>` ),
130
+ "username" : username ,
125
131
}
126
132
127
133
isHttps := CheckIsHttps (ctx )
@@ -131,10 +137,6 @@ func (self AccountController) Register(ctx echo.Context) error {
131
137
return render (ctx , registerTpl , data )
132
138
}
133
139
134
- // 不验证邮箱,注册完成直接登录
135
- // 自动登录
136
- SetLoginCookie (ctx , username )
137
-
138
140
return ctx .Redirect (http .StatusSeeOther , "/balance" )
139
141
}
140
142
@@ -168,7 +170,19 @@ func (AccountController) Activate(ctx echo.Context) error {
168
170
169
171
data := map [string ]interface {}{}
170
172
171
- param := goutils .Base64Decode (ctx .QueryParam ("param" ))
173
+ param := ctx .QueryParam ("param" )
174
+ if param == "" {
175
+ me , ok := ctx .Get ("user" ).(* model.Me )
176
+ if ok {
177
+ data ["me" ] = me
178
+ return render (ctx , contentTpl , data )
179
+ }
180
+
181
+ data ["error" ] = "非法请求!"
182
+ return render (ctx , contentTpl , data )
183
+ }
184
+
185
+ param = goutils .Base64Decode (param )
172
186
values , err := url .ParseQuery (param )
173
187
if err != nil {
174
188
data ["error" ] = err .Error ()
@@ -206,6 +220,25 @@ func (AccountController) Activate(ctx echo.Context) error {
206
220
return ctx .Redirect (http .StatusSeeOther , "/balance" )
207
221
}
208
222
223
+ func (AccountController ) WechatActive (ctx echo.Context ) error {
224
+ captcha := ctx .FormValue ("captcha" )
225
+ if captcha == "" {
226
+ return fail (ctx , 1 , "验证码是不能空" )
227
+ }
228
+
229
+ echoCtx := context .EchoContext (ctx )
230
+ me , ok := ctx .Get ("user" ).(* model.Me )
231
+ if ! ok {
232
+ return fail (ctx , 1 , "必须先登录" )
233
+ }
234
+ err := logic .DefaultWechat .CheckCaptchaAndActivate (echoCtx , me , captcha )
235
+ if err != nil {
236
+ return fail (ctx , 2 , "验证码错误,请确认获取了或没填错!" )
237
+ }
238
+
239
+ return success (ctx , nil )
240
+ }
241
+
209
242
// Login 登录
210
243
func (AccountController ) Login (ctx echo.Context ) error {
211
244
if _ , ok := ctx .Get ("user" ).(* model.Me ); ok {
0 commit comments