Selaa lähdekoodia

update 学科网。完成对接。

CrazyIter_Bin 3 vuotta sitten
vanhempi
commit
0b1101106e

+ 4 - 0
TEAMModelOS.SDK/Models/Cosmos/Common/LessonRecord.cs

@@ -189,6 +189,10 @@ namespace TEAMModelOS.SDK.Models
         /// 暂不 开放 teacher【开放给部分教师查看】醍摩豆id 
         /// </summary>
         public List<string> showTchs { get; set; } = new List<string>();
+        /// <summary>
+        /// 设置强制保留的 =1 ,不会被自动清理的。但是可以被手动清理。
+        /// </summary>
+        public int save { get; set; } = -1;
     }
     public class LessonTC
     {

+ 4 - 1
TEAMModelOS.SDK/Models/Service/Third/Xkw/XkwOAuthModel.cs

@@ -98,7 +98,10 @@ namespace TEAMModelOS.SDK.Models
         public string userId { get; set; }
         public string domain { get; set; }
     }
-
+    public record ServiceModule { 
+        public string module { get; set; }
+        public string url { get; set; }
+    }
     public record OAuthCode
     {
         public string code { get; set; }

+ 18 - 2
TEAMModelOS/Controllers/Third/Xkw/XkwOAuth2Controller.cs

@@ -186,8 +186,8 @@ namespace TEAMModelOS.Controllers
                     Type = "xkw"
                 };
                 await table.SaveOrUpdate<OAuthUser>(authUser);
-                return Ok(new { status = 1, url=client.SERVICE_URL});
-                //return Redirect($"bind?status=1&accessToken={client.AccessToken}&openId={client.OpenId}&userId={client.UserId}&domain={domain}&msg={HttpUtility.UrlEncode("认证成功")}");
+                //return Ok(new { status = 1, url=client.SERVICE_URL});
+                return Redirect(client.SERVICE_URL);
             }
             else
             {
@@ -282,6 +282,22 @@ namespace TEAMModelOS.Controllers
                 string OAuth_Xkw_RedirectUrl = configs[0].RedirectUrl;
                 string OAuth_Xkw_OAuthHost = configs[0].OAuthHost;
                 string OAuth_Xkw_ServiceUrl = configs[0].ServiceUrl;
+                try {
+                    List<ServiceModule> services= configs[0].ServiceUrl.ToObject<List<ServiceModule>>();
+                    ServiceModule serviceModule= services.Find(x => x.module.Equals(module));
+                    if (serviceModule != null)
+                    {
+                        OAuth_Xkw_ServiceUrl = serviceModule.url;
+                    }
+                    else {
+                        OAuth_Xkw_ServiceUrl = "http://www.zxxk.com/";
+                    }
+                } catch (Exception ex) {
+                    if (!OAuth_Xkw_ServiceUrl.StartsWith("http://www.zxxk.com"))
+                    {
+                        OAuth_Xkw_ServiceUrl = "http://www.zxxk.com/";
+                    }
+                }
                 string OAuth_Xkw_Domain= configs[0].Domain;
                 string OAuth_Xkw_Param =$"tmdid={tmdid}&module={module}&state={Guid.NewGuid().ToString()}";
                 var client = new XkwOAuthClient(OAuth_Xkw_AppKey, OAuth_Xkw_AppSecret, OAuth_Xkw_RedirectUrl, OAuth_Xkw_OAuthHost, OAuth_Xkw_Domain, accessToken, openId, userId, OAuth_Xkw_Param);