ssoLogin.vue 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. <!-- 认证平台登录 -->
  2. <template>
  3. <div class="sso-login-page">
  4. </div>
  5. </template>
  6. <script>
  7. // import { getInfo } from '@/api/login'
  8. // V3
  9. import Cookies from "js-cookie";
  10. import { encrypt, decrypt } from '@/utils/jsencrypt'
  11. import { Encrypt,Decrypt} from '@/utils/secret'
  12. import store from '@/store'
  13. import { getConfigByType } from "@/api/commonality/permission";
  14. import { configInfo } from "@/api/commonality/noPermission";
  15. import { authInfo} from "@/api/basicsModules/index";
  16. import { setToken } from '@/utils/auth'
  17. export default {
  18. name: 'Login',
  19. data() {
  20. return {
  21. redirect: undefined,
  22. rectangleLogo: localStorage.getItem('rectangleLogo')
  23. }
  24. },
  25. watch: {
  26. $route: {
  27. handler: function(route) {
  28. this.redirect = route.query && route.query.redirect
  29. },
  30. immediate: true
  31. }
  32. },
  33. created() {
  34. let url = window.location.href
  35. if (url.indexOf('token') != -1) {
  36. // console.log('找到了====>token')
  37. setToken(url.split('=')[1])
  38. this.getInfo();
  39. } else if (url.indexOf('code') != -1) {
  40. // console.log('找到了====>code')
  41. //异常状态处理
  42. if(url.split('=')[1] == '10100'){
  43. //10100 用户信息不存在
  44. this.$alert('当前用户不存在,请联系管理员!', '提示', {
  45. confirmButtonText: '确定',
  46. callback: action => {
  47. localStorage.removeItem('serviceType');
  48. store.dispatch('LogOut').then(() => {
  49. window.location.href = process.env.VUE_APP_OUT_URL;
  50. })
  51. }
  52. });
  53. }else if(url.split('=')[1] == '500'){
  54. //用户服务异常
  55. this.$alert('服务异常,请稍候再试!', '提示', {
  56. confirmButtonText: '确定',
  57. callback: action => {
  58. localStorage.removeItem('serviceType');
  59. store.dispatch('LogOut').then(() => {
  60. window.location.href = process.env.VUE_APP_OUT_URL;
  61. })
  62. }
  63. });
  64. }
  65. } else {
  66. // this.$alert('参数异常!', '提示', {
  67. // confirmButtonText: '确定',
  68. // callback: action => {
  69. // localStorage.removeItem('serviceType');
  70. // store.dispatch('LogOut').then(() => {
  71. // window.location.href = process.env.VUE_APP_OUT_URL;
  72. // })
  73. // }
  74. // });
  75. window.location.href = process.env.VUE_APP_OUT_URL;
  76. }
  77. localStorage.setItem('windowHref', window.location.href)
  78. },
  79. mounted() {
  80. },
  81. methods: {
  82. getInfo(type) {
  83. //等待配置与字段获取到后跳转
  84. Promise.all([
  85. this.configInfo(),
  86. this.getExploitConfig(),
  87. this.getHomeConfig()
  88. ]).then((result)=>{
  89. this.$router.push({ path: this.redirect || "/home" }).catch(()=>{});
  90. }).catch((error) => {})
  91. },
  92. //获取公共配置数据
  93. configInfo(){
  94. let self = this;
  95. configInfo({ type: '1,2,3' }).then(response => {
  96. let list = JSON.parse(response.data)
  97. let newData = {};
  98. list.forEach((item) => {
  99. let obj = JSON.parse(item.configValue)
  100. newData = {...newData,...obj}
  101. })
  102. setTimeout(function(){
  103. self.$set(self,'rectangleLogo',newData.rectangleLogo);
  104. localStorage.setItem('schoolName',newData.schoolName)
  105. localStorage.setItem('circularLogo',newData.circularLogo)
  106. localStorage.setItem('rectangleLogo',newData.rectangleLogo)
  107. localStorage.setItem('videoCover',newData.videoCover)
  108. },200);
  109. });
  110. },
  111. //获取开发配置
  112. getExploitConfig(){
  113. getConfigByType({ category: 2, configType: 5 }).then(response => {
  114. let obj = JSON.parse(response.data.configValue)
  115. //判定http或者https
  116. let urlText = window.location.href.split('://')[0]+'://';
  117. let outerNet = window.location.href.indexOf(obj.ipIdentify) == -1//true外网 false 内网
  118. if(outerNet){//外网
  119. //文件预览地址
  120. localStorage.setItem('filePreviewUrl',urlText+obj.fileExtranetUrl)
  121. //摄像头代理访问地址
  122. localStorage.setItem('cameraExtranetAgent',urlText+obj.cameraExtranetAgent)
  123. //摄像头地址ip段
  124. localStorage.setItem('ipIdentify',obj.ipIdentify)
  125. //摄像头访问地址
  126. localStorage.setItem('cameraUrl','wss://'+obj.cameraExtranetUrl)
  127. //MQTT地址
  128. localStorage.setItem('mqttUrl','wss://'+Decrypt(obj.mqttExtranetUrl))
  129. //MQTT账号
  130. localStorage.setItem('mqttUser',Decrypt(obj.mqttExtranetUser))
  131. //MQTT密码
  132. localStorage.setItem('mqttPassword',Decrypt(obj.mqttExtranetPassword))
  133. //可视化大屏访问地址
  134. localStorage.setItem('screenUrl',urlText+obj.screenExtranetUrl)
  135. //小程序二维码规则
  136. localStorage.setItem('codeOnlineAdd',obj.codeOnlineAdd)
  137. //文件浏览环境
  138. localStorage.setItem('fileBrowseEnvironment',Decrypt(obj.fileBrowseEnvironment))
  139. localStorage.setItem('fileBrowseEnvironmentExtranet','https://'+Decrypt(obj.fileBrowseEnvironmentExtranet))
  140. }else{
  141. //文件预览地址
  142. localStorage.setItem('filePreviewUrl',urlText+obj.fileIntranetUrl)
  143. //摄像头代理访问地址
  144. localStorage.setItem('cameraExtranetAgent',urlText+obj.cameraIntranetAgent)
  145. //摄像头地址ip段
  146. localStorage.setItem('ipIdentify',obj.ipIdentify)
  147. //摄像头访问地址
  148. localStorage.setItem('cameraUrl','wss://'+obj.cameraIntranetUrl)
  149. //MQTT地址
  150. localStorage.setItem('mqttUrl','ws://'+Decrypt(obj.mqttIntranetUrl))
  151. //MQTT账号
  152. localStorage.setItem('mqttUser',Decrypt(obj.mqttIntranetUser))
  153. //MQTT密码
  154. localStorage.setItem('mqttPassword',Decrypt(obj.mqttIntranetPassword))
  155. //可视化大屏访问地址
  156. localStorage.setItem('screenUrl',urlText+obj.screenIntranetUrl)
  157. //小程序二维码规则
  158. localStorage.setItem('codeOnlineAdd',obj.codeOnlineAdd)
  159. //文件浏览环境
  160. localStorage.setItem('fileBrowseEnvironment',Decrypt(obj.fileBrowseEnvironment))
  161. localStorage.setItem('fileBrowseEnvironmentExtranet','https://'+Decrypt(obj.fileBrowseEnvironmentExtranet))
  162. }
  163. });
  164. },
  165. //获取首页配置
  166. getHomeConfig(){
  167. getConfigByType({ category: 2, configType: 6 }).then(response => {
  168. localStorage.setItem('homeConfig',response.data.configValue);
  169. let obj = JSON.parse(response.data.configValue)
  170. localStorage.setItem('initPage',obj.skipHomePage);
  171. });
  172. },
  173. }
  174. }
  175. </script>
  176. <style rel="stylesheet/scss" lang="scss">
  177. .sso-login-page {
  178. height: 100%;
  179. width: 100%;
  180. background-image: url("../../assets/ZDimages/basicsModules/icon_dl_bbg.png");
  181. background-repeat: no-repeat;
  182. background-size: cover;
  183. -webkit-background-size: cover;
  184. -o-background-size: cover;
  185. position: relative;
  186. * {
  187. margin: 0;
  188. }
  189. }
  190. </style>