{"remainingRequest":"D:\\jenkins\\workspace\\sfz-lh-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\sfz-lh-fvue\\src\\views\\Login.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\sfz-lh-fvue\\src\\views\\Login.vue","mtime":1705604912221},{"path":"D:\\jenkins\\workspace\\sfz-lh-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\sfz-lh-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\sfz-lh-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport portal from '@/api/portal.js'\r\nimport Cookie from 'js-cookie'\r\nexport default {\r\n name: 'login',\r\n data() {\r\n var checkAccount = (rule, value, callback) => {\r\n if (!value) {\r\n return callback(new Error('请输入账号'))\r\n }\r\n if (/^[a-zA-Z0-9_-]{2,20}$/.test(value)) {\r\n return callback()\r\n } else {\r\n return callback(new Error('账号格式不符合规范'))\r\n }\r\n }\r\n var checkPhone = (rule, value, callback) => {\r\n const regExp = /^1[3|4|5|7|8|9][0-9]{9}$/\r\n if (!regExp.test(value)) {\r\n callback(new Error('请输入正确的手机号'))\r\n } else {\r\n callback()\r\n }\r\n }\r\n return {\r\n logoUrl: '', // logo图片地址\r\n name: 'EDP',\r\n sysName: '',\r\n principal: {\r\n account: '',\r\n password: '',\r\n remberPwd: 0,\r\n },\r\n rules: {\r\n account: [{validator: checkAccount, trigger: 'blur'}],\r\n password: [\r\n {required: true, message: '请输入密码', trigger: 'blur'},\r\n ],\r\n phone: [{validator: checkPhone, trigger: 'blur'}],\r\n code: [\r\n {\r\n required: true,\r\n message: '请输入验证码',\r\n trigger: 'blur',\r\n },\r\n ],\r\n },\r\n responseError: '',\r\n loading: false,\r\n accountLogin: true,\r\n accountType: 'account',\r\n isSendMessage: false,\r\n timer: null,\r\n second: 60,\r\n show_qr: true,\r\n activeQR: 'qywx',\r\n qrList: [\r\n {\r\n name: '企业微信',\r\n key: 'qywx',\r\n url: require('@/assets/img/login/qywx-logo.png'),\r\n },\r\n {\r\n name: '微信',\r\n key: 'wx',\r\n url: require('@/assets/img/login/wx-logo.png'),\r\n },\r\n {\r\n name: '钉钉',\r\n key: 'dd',\r\n url: require('@/assets/img/login/dd-logo.png'),\r\n },\r\n {\r\n name: '支付宝',\r\n key: 'zfb',\r\n url: require('@/assets/img/login/zfb-logo.png'),\r\n },\r\n ],\r\n hasMask: true,\r\n fullscreenLoading: true,\r\n }\r\n },\r\n created() {},\r\n mounted() {\r\n console.log(this.$route.query, 'a')\r\n if (!this.$route.query || !this.$route.query.tokenKey) {\r\n this.hasMask = false\r\n this.fullscreenLoading = false\r\n }\r\n window.webSocket && window.webSocket.close()\r\n let currentUser = sessionStorage.getItem('currentUser')\r\n if (currentUser) {\r\n this.clearUser()\r\n }\r\n this.setDefaultValue()\r\n this.sysSetting()\r\n },\r\n methods: {\r\n changeQR(key) {\r\n this.activeQR = key\r\n this.show_qr = false\r\n setTimeout(() => {\r\n this.show_qr = true\r\n }, 1000)\r\n },\r\n clearUser() {\r\n this.$store.dispatch('menu/clearMenus')\r\n this.$store.dispatch('user/clearUser')\r\n this.$store.dispatch('menu/setCopyMenus', [])\r\n this.$store.dispatch('login/logoutAndCleanUp')\r\n },\r\n //如果记住密码则默认表单赋值\r\n setDefaultValue() {\r\n let account = Cookie.get('account'),\r\n remberPwd = Cookie.get('remberPwd'),\r\n password = Cookie.get('accountPwd')\r\n if (remberPwd) {\r\n // remberPwd Number(remberPwd)\r\n // 如果有记住密码 取密文解密放进输入框\r\n let Base64 = require('js-base64').Base64\r\n password = Base64.decode(password)\r\n this.principal = {\r\n account,\r\n password,\r\n remberPwd: Number(remberPwd),\r\n }\r\n }\r\n },\r\n loginTypeChange(type) {\r\n this.accountLogin = type\r\n this.accountLogin ? null : this.getQr()\r\n },\r\n getQr() {\r\n let page = '/fvue/auth'\r\n let host =\r\n window.location.protocol + '//' + window.location.hostname\r\n let port = window.location.port\r\n\r\n let url = host + ':' + port + page\r\n this.wwLogin = new WwLogin({\r\n id: 'qr_login',\r\n appid: window.context.corp_id,\r\n agentid: window.context.agent_id,\r\n redirect_uri: encodeURI(url),\r\n state: 'hellowecom',\r\n href: 'data:text/css;base64,LmltcG93ZXJCb3ggLnRpdGxlIHtjb2xvcjogI2ZmZjt9Ci5pbXBvd2VyQm94IC5zdGF0dXMge2NvbG9yOiAjZmZmO30=', // data:text/css;base64,\r\n lang: 'zh',\r\n })\r\n },\r\n changeAccountType(type) {\r\n this.accountType = type\r\n this.$refs.principal.clearValidate()\r\n },\r\n sendMessage() {\r\n if (!this.isSendMessage) {\r\n this.validateField()\r\n }\r\n },\r\n validateField() {\r\n this.$refs.principal.validateField('phone', (err) => {\r\n if (!err) {\r\n this.isSendMessage = true\r\n this.countdown()\r\n }\r\n })\r\n },\r\n countdown() {\r\n this.timer = setInterval(() => {\r\n this.second--\r\n if (this.second == 0) {\r\n clearInterval(this.timer)\r\n this.isSendMessage = false\r\n this.second = 60\r\n }\r\n }, 1000)\r\n },\r\n //获取系统默认配置 系统Logo、名称\r\n sysSetting() {\r\n let url = '${uc}/uc/tenantManage/v1/getTenantByCode?code=platform'\r\n this.$http.get(url).then((resp) => {\r\n if (resp.data) {\r\n let tenantManage = resp.data\r\n this.sysName = tenantManage.nameFront\r\n if (tenantManage.frontLogo) {\r\n let frontLogo = JSON.parse(tenantManage.frontLogo)\r\n if (frontLogo && frontLogo.length > 0) {\r\n this.logoUrl =\r\n window.context.portal +\r\n '/file/onlinePreviewController/v1/getFileById_' +\r\n frontLogo[0].id\r\n let sysinfo = {\r\n logoUrl: this.logoUrl,\r\n sysName: this.sysName,\r\n }\r\n sessionStorage.setItem(\r\n 'sysinfo',\r\n JSON.stringify(sysinfo)\r\n )\r\n }\r\n }\r\n }\r\n })\r\n },\r\n setRouterPath() {\r\n this.$store.dispatch(\r\n 'login/actionLoginAccount',\r\n this.principal.account\r\n )\r\n localStorage.setItem(\r\n this.principal.account + 'loginRoutePath',\r\n this.$route.path\r\n )\r\n },\r\n submitForm(formName) {\r\n this.$refs[formName].validate((valid) => {\r\n if (valid) {\r\n this.inputGetFocus()\r\n this.setRouterPath()\r\n this.loading = true\r\n this.$store\r\n .dispatch('login/loginByPrincipal', this.principal)\r\n .then((loginStatus) => {\r\n if (loginStatus && loginStatus == true) {\r\n this.$store.dispatch(\r\n 'menu/getCurrentUserMethodAuth'\r\n )\r\n this.getAllDict()\r\n this.$store\r\n .dispatch('menu/actionFrontMenus')\r\n .then((res) => {\r\n if (!res || !res.length) {\r\n this.clearUser()\r\n this.loading = false\r\n this.$message.warning(\r\n '抱歉!您尚无可访问页面,请联系管理员添加!'\r\n )\r\n return\r\n }\r\n let bigScreen =\r\n res &&\r\n res.filter(\r\n (item) =>\r\n item.alias === 'bigScreen'\r\n )\r\n // 如果用户有大屏菜单进去大屏页面\r\n if (\r\n bigScreen &&\r\n bigScreen.length !== 0\r\n ) {\r\n this.$router.push({\r\n path: `/${bigScreen[0].children[0].alias}`,\r\n })\r\n return\r\n }\r\n let dataMenus =\r\n res &&\r\n res.filter(\r\n (item) =>\r\n item.alias === 'normal'\r\n )\r\n if (\r\n dataMenus &&\r\n dataMenus.length !== 0\r\n ) {\r\n if (\r\n dataMenus[0].children.length !==\r\n 0 &&\r\n dataMenus[0].children[0]\r\n .children.length\r\n ) {\r\n this.$router.push({\r\n path: `/platLayout/${dataMenus[0].children[0].children[0].alias}`,\r\n })\r\n } else {\r\n this.$router.push({\r\n path: `/platLayout/${dataMenus[0].children[0].alias}`,\r\n })\r\n }\r\n }\r\n })\r\n } else if (loginStatus == false) {\r\n this.$router.push({\r\n name: 'resetPwdView',\r\n query: {type: 'login'},\r\n })\r\n }\r\n })\r\n .catch((msg) => {\r\n this.loading = false\r\n console.log(msg, 'msg')\r\n if (\r\n msg.indexOf &&\r\n msg.indexOf('timeout of') !== -1\r\n ) {\r\n msg = '登录超时'\r\n }\r\n this.responseError = msg\r\n })\r\n } else {\r\n return false\r\n }\r\n })\r\n },\r\n getAllDict() {\r\n portal\r\n .getSysDict()\r\n .then((data) => {\r\n // console.log(data, '字典')\r\n if (data) {\r\n sessionStorage.setItem(\r\n 'dict_data',\r\n JSON.stringify(data)\r\n )\r\n }\r\n })\r\n .catch((err) => {\r\n // console.log(err, '字典err')\r\n })\r\n },\r\n inputGetFocus() {\r\n this.responseError = ''\r\n },\r\n resetForm(formName) {\r\n this.responseError = ''\r\n this.$refs[formName].resetFields()\r\n },\r\n },\r\n watch: {\r\n $route: {\r\n handler: function (val, oldVal) {\r\n if (!val.query.tokenKey || !val.$route.query) {\r\n this.hasMask = false\r\n this.fullscreenLoading = false\r\n }\r\n },\r\n // 深度观察监听\r\n deep: true,\r\n },\r\n },\r\n}\r\n",null]}