1
0
Эх сурвалжийг харах

修复第一次登录失败的Bug

LawyZHENG 4 жил өмнө
parent
commit
5d5472db5d

+ 1 - 1
controllers/AccountController.go

@@ -144,7 +144,7 @@ func (c *AccountController) DingTalkLogin() {
 
 	code := c.GetString("code")
 	if code == "" {
-		c.Redirect(conf.URLFor("AccountController.Login"), 302)
+		c.JsonResult(500, "获取身份信息失败", nil)
 	}
 
 	appKey := beego.AppConfig.String("dingtalk_app_key")

+ 33 - 30
views/account/login.tpl

@@ -88,40 +88,43 @@
 <script src="{{cdnjs "/static/layer/layer.js"}}" type="text/javascript"></script>
 <script src="{{cdnjs "/static/js/dingtalk-jsapi.js"}}" type="text/javascript"></script>
 <script type="text/javascript">
-    if (dd.env.platform !== "notInDingTalk"){
-        dd.ready(function() {
-            dd.runtime.permission.requestAuthCode({
-                corpId: {{ .corpID }} , // 企业id
-                onSuccess: function (info) {
-                    var index = layer.load(1, {
-                        shade: [0.1, '#fff'] // 0.1 透明度的白色背景
-                    })
+    $(function () {
+        if (dd.env.platform !== "notInDingTalk"){
+            dd.ready(function() {
+                dd.runtime.permission.requestAuthCode({
+                    corpId: {{ .corpID }} , // 企业id
+                    onSuccess: function (info) {
+                        var index = layer.load(1, {
+                            shade: [0.1, '#fff'] // 0.1 透明度的白色背景
+                        })
 
-                    var formData = $("form").serializeArray()
-                    formData.push({"name": "code", "value": info.code})
+                        var formData = $("form").serializeArray()
+                        formData.push({"name": "code", "value": info.code})
 
-                    $.ajax({
-                        url: "{{urlfor "AccountController.DingTalkLogin"}} ",
-                        data: formData,
-                        dataType: "json",
-                        type: "POST",
-                        complete: function(){
-                            layer.close(index)
-                        },
-                        success: function (res) {
-                            if (res.errcode !== 0) {
-                                layer.msg(res.message)
-                            } else {
-                                window.location = "/"
+                        $.ajax({
+                            url: "{{urlfor "AccountController.DingTalkLogin"}} ",
+                            data: formData,
+                            dataType: "json",
+                            type: "POST",
+                            complete: function(){
+                                layer.close(index)
+                            },
+                            success: function (res) {
+                                if (res.errcode !== 0) {
+                                    layer.msg(res.message)
+                                } else {
+                                    window.location = "{{ urlfor "HomeController.Index"  }}"
+                                }
+                            },
+                            error: function (res) {
+                                window.location = "{{ urlfor "HomeController.Index"  }}"
                             }
-                        },
-                        // error: function () {
-                        // }
-                    })
-                }
+                        })
+                    }
+                });
             });
-        });
-    }
+        }
+    })
 
 </script>
 <script type="text/javascript">