auto-login.html 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. <!DOCTYPE html>
  2. <meta charset="UTF-8">
  3. <html>
  4. <head>
  5. <title>景宁教育魔方</title>
  6. <!-- 这个必须引入的啊,钉钉的前端js SDK, 使用框架的请自行参照开发文档 -->
  7. <script src="https://g.alicdn.com/dingding/dingtalk-jsapi/2.7.13/dingtalk.open.js"></script>
  8. <!-- 这个jquery 想不想引入自己决定,没什么影响 -->
  9. <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
  10. <style type="text/css">
  11. .loading {
  12. position: fixed;
  13. left: 0;
  14. top: 0;
  15. width: 100%;
  16. height: 100%;
  17. z-index: 100;
  18. background: url("loading.gif") center no-repeat rgba(255, 255, 255, .55);
  19. }
  20. </style>
  21. </head>
  22. <body>
  23. <!--TODO...替换成之前亲亲云的一个登录中转过度loading-->
  24. <div class="loading"></div>
  25. <!--<div id="user_info" style="color: #000;font-size: 15px;position: fixed;left: 0;top: 0;width: 100%;height: 100%;z-index: 150"></div>-->
  26. <!--<hr>-->
  27. <!--<h1>教育魔方-免登验证-线上环境</h1>-->
  28. <!--<p>当前页面的url:</p>-->
  29. <!--<p id="url"></p>-->
  30. <!--<br>-->
  31. <!--<p>解析url,获取的corpID:</p>-->
  32. <!--<p id="corpId"></p>-->
  33. <!--<br>-->
  34. <!--<p>SDK初始化获取的code:</p>-->
  35. <!--<p id="code"></p>-->
  36. <!--<br>-->
  37. <!--<p>请求我们服务端,登录返回的结果:</p>-->
  38. <p id="myresponse"></p>
  39. <script type="text/javascript">
  40. let login_obj = {
  41. url: '',
  42. code: '',
  43. api: ''
  44. };
  45. if (location.href.includes('.bozedu.')) {
  46. login_obj = {
  47. url: 'https://daily-cube.zjedu.com',
  48. code: 'suitemie4qeftvmhnufp1',
  49. api: 'http://jnjymf_api.bozedu.top'
  50. }
  51. } else {
  52. login_obj = {
  53. url: 'https://cube.zjedu.com',
  54. code: 'suiteecoywfohhm68lkix',
  55. api: 'http://60.188.226.44:8090'
  56. }
  57. }
  58. $(function () {
  59. var params = new Object();
  60. params = GetRequest();
  61. if (localStorage.getItem('userInfo')) {
  62. localStorage.removeItem('userInfo');
  63. }
  64. // {
  65. // var corpId = params.corpId ? params.corpId : '';
  66. // var tag = params.tag ? params.tag : '';
  67. // let follow = '';
  68. // const t = tag.split('_');
  69. // if (t.length > 1) {
  70. // tag = t.splice(0, 1)[0];
  71. // follow = t.join('/');
  72. // }
  73. // console.log(' href : ', '/app/' + tag + '/' + (follow ? ('#/' + follow) : ''))
  74. // return
  75. // }
  76. //钉钉sdk 初始化
  77. // dd.ready参数为回调函数,在环境准备就绪时触发,jsapi的调用需要保证在该回调函数触发后调用,否则无效。
  78. dd.ready(function () {
  79. var corpId = params.corpId ? params.corpId : '';
  80. var tag = params.tag ? params.tag : '';
  81. let follow = '';
  82. const t = tag.split('_');
  83. if (t.length > 1) {
  84. tag = t.splice(0, 1)[0];
  85. follow = t.join('/');
  86. }
  87. // console.log(' href : ', '/app/' + tag + '/' + (follow ? ('#/' + follow) : ''))
  88. //使用SDK 获取免登授权码
  89. dd.runtime.permission.requestAuthCode({
  90. corpId: corpId,
  91. onSuccess: function (result) {
  92. var code = result.code;
  93. $.ajax({
  94. type: "POST",
  95. //TODO...下面的域名要从配置文件中获取,不写死
  96. url: login_obj.url + '/user/api/v1/login/autoLogin',
  97. contentType: "application/json;charset=utf-8",
  98. data: JSON.stringify({ code: code, accessKey: login_obj.code, corpId: corpId }),
  99. dataType: "json",
  100. success: function (response) {
  101. // $('#user_info').html('22222'+ JSON.stringify(response.data));
  102. if (response.success == false) {
  103. alert(JSON.stringify(response.msg) + JSON.stringify(response.code));
  104. } else {
  105. //TODO...开始
  106. $.ajax({
  107. type: 'POST',
  108. url: login_obj.api + '/user/main/login',
  109. // contentType: "application/json;charset=utf-8",
  110. data: {
  111. cubeinfo: JSON.stringify(response.data)
  112. },
  113. dataType: "json",
  114. success: (res) => {
  115. if (res.code == 1) {
  116. localStorage.setItem('userInfo', JSON.stringify(res.data));
  117. location.href = '/app/' + tag + '/' + (follow ? ('#/' + follow) : '');
  118. // location.href = 'test.html';
  119. } else {
  120. alert(res.msg);
  121. }
  122. },
  123. error: function (re) {
  124. alert("失败" + JSON.stringify(res));
  125. }
  126. })
  127. //TODO...结束
  128. }
  129. // alert("成功" + JSON.stringify(response));
  130. //成功以后将response.data的信息提交给 本地用户获取接口(开发中),初始化登录用户信息
  131. },
  132. error: function (response) {
  133. alert("失败" + JSON.stringify(response));
  134. }
  135. });
  136. },
  137. onFail: function (err) {
  138. // 调用失败时回调
  139. alert("requestAuthCode失败" + JSON.stringify(err));
  140. }
  141. });
  142. });
  143. })
  144. function GetRequest() {
  145. var url = location.search;
  146. var theRequest = new Object();
  147. if (url.indexOf("?") != -1) {
  148. var str = url.substr(1);
  149. strs = str.split("&");
  150. for (var i = 0; i < strs.length; i++) {
  151. theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
  152. }
  153. }
  154. return theRequest;
  155. }
  156. </script>
  157. </body>
  158. </html>