logout.html 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=9,chrome=1"/>
  6. <title>退出调用</title>
  7. <script type="text/javascript" src="config/config.js"></script>
  8. <script type="text/javascript" src="scripts/vendor/cryptoJS/cryptoJS.js"></script>
  9. <script type="text/javascript" src="scripts/vendor/jquery/jquery-1.9.0.js"></script>
  10. </head>
  11. <body>
  12. <script type="text/javascript">
  13. /**
  14. * 获取url参数
  15. * @param {[type]} name [description]
  16. * @return {[type]} [description]
  17. */
  18. function getQueryString(name) {
  19. var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
  20. var r = window.location.search.substr(1).match(reg);
  21. if (r != null) return decodeURI(r[2]);
  22. return '';
  23. };
  24. /**
  25. * 加密解密 调用 CryptoJS库
  26. * @exports encryptionControl
  27. * @type {Object}
  28. */
  29. encryptionControl = {
  30. /**
  31. * BASE64加密
  32. * @type {Function}
  33. * @param str {String} 加密前的文本
  34. * @returns {String} 加密后的文本
  35. */
  36. enCode: function(str) {
  37. return CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(str));
  38. },
  39. /**
  40. * BASE64解密
  41. * @type {Function}
  42. * @param str {String} 解密前的文本
  43. * @returns {String} 解密后的明文
  44. */
  45. deCode: function(str) {
  46. return CryptoJS.enc.Base64.parse(str).toString(CryptoJS.enc.Utf8);
  47. }
  48. };
  49. /**
  50. * cookie管理
  51. * @exports ONEMAP.C.cookie
  52. * @type {Object}
  53. */
  54. cookieControl = {
  55. /**
  56. * 设置cookie
  57. * @type {Function}
  58. * @param name {String} 名称
  59. * @param value {String} 值
  60. * @param days {Number} 过期时间(天)
  61. * @example
  62. * ONEMAP.C.cookie.set('cookieName','cookieValue',20);
  63. */
  64. set: function(name, value, days) {
  65. document.cookie = encryptionControl.enCode(name) + "=" + encryptionControl.enCode(escape(value));
  66. },
  67. /**
  68. * 获取cookie
  69. * @type {Function}
  70. * @param name {String} 名称
  71. * @returns {null|String} 返回值
  72. * @example
  73. * ONEMAP.C.cookie.get('cookieName');
  74. */
  75. get: function(name) {
  76. var arr, reg = new RegExp("(^| )" + encryptionControl.enCode(name) + "=([^;]*)(;|$)");
  77. arr = document.cookie.match(reg);
  78. if (arr) {
  79. return encryptionControl.deCode(unescape(arr[2]));
  80. } else {
  81. return null;
  82. }
  83. },
  84. /**
  85. * 删除cookie
  86. * @type {Function}
  87. * @param name {String} 名称
  88. * @example
  89. * ONEMAP.C.cookie.del('cookieName');
  90. */
  91. del: function(name) {
  92. var exp = new Date();
  93. exp.setTime(exp.getTime() - 1);
  94. var cval = this.get(name);
  95. if (cval !== null) document.cookie = encryptionControl.enCode(name) + "=" + cval + ";expires=" + exp.toGMTString();
  96. }
  97. };
  98. function logout(){
  99. var ticket = cookieControl.get('ticket');
  100. if(onemapUrlConfig.accessType == 'oauth'){
  101. $('body').append('<img src="' + onemapUrlConfig.ssoServiceUrl + '/oauth/logout?ticket=' + ticket + '" width="0" height="0"/>');
  102. }
  103. if(onemapUrlConfig.accessType == 'sso'){
  104. $('body').append('<img src="' + onemapUrlConfig.ssoServiceUrl + '/logout?ticket=' + ticket + '" width="0" height="0"/>');
  105. }
  106. cookieControl.del('ticket');
  107. }
  108. $(function(){
  109. if(cookieControl.get('ticket')){
  110. logout();
  111. return false;
  112. }
  113. })
  114. </script>
  115. </body>
  116. </html>