| | |
| | | }) |
| | | } |
| | | //单点登录接口 |
| | | export const oaSsos =(userName) => { |
| | | export const ssoLogin =(empCode) => { |
| | | return request({ |
| | | url: '/api/ubcs-code/passwordFree/oaSsos', |
| | | method: 'post', |
| | | url: '/api/ubcs-code/passwordFree/ssoLogin', |
| | | method: 'get', |
| | | params:{ |
| | | userName |
| | | }, |
| | | headers: { |
| | | 'empCode': 'ZVKcWmOH1JvFYaM7BuNVm1BWbaw6OcMi04aAT2H+X3Y=' |
| | | }, |
| | | empCode |
| | | } |
| | | }) |
| | | } |
| | | |
| | |
| | | </h4> |
| | | <userLogin v-if="activeName==='user'"></userLogin> |
| | | <thirdLogin v-else-if="activeName==='third'"></thirdLogin> |
| | | <!-- <div class="login-menu">--> |
| | | <!-- <a href="#" @click.stop="activeName='user'">{{ $t('login.userLogin') }}</a>--> |
| | | <!-- <a href="#" @click.stop="activeName='code'">{{ $t('login.phoneLogin') }}</a>--> |
| | | <!-- <a href="#" @click.stop="activeName='third'">{{ $t('login.thirdLogin') }}</a>--> |
| | | <!-- <a :href="website.ssoUrl + website.redirectUri">{{ $t('login.ssoLogin') }}</a>--> |
| | | <!-- </div>--> |
| | | </div> |
| | | |
| | | </div> |
| | |
| | | import topColor from "@/page/index/top/top-color"; |
| | | import {getQueryString, getTopUrl} from "@/util/util"; |
| | | import "@/styles/login.scss"; |
| | | //解密js库 |
| | | import CryptoJS from 'crypto-js'; |
| | | import AES from 'crypto-js/aes'; |
| | | export default { |
| | | name: "login", |
| | | components: { |
| | |
| | | created() { |
| | | this.handleLogin(); |
| | | this.getTime(); |
| | | this.getPassword() |
| | | }, |
| | | mounted() { |
| | | }, |
| | |
| | | }, |
| | | props: [], |
| | | methods: { |
| | | getPassword(){ |
| | | const plaintext = 'Hello, World!'; |
| | | const key = 'This is a secret key'; |
| | | const encrypted = AES.encrypt(plaintext, key).toString(); |
| | | console.log('加密后的数据:', encrypted); |
| | | const decrypted = AES.decrypt(encrypted, key).toString(CryptoJS.enc.Utf8); |
| | | console.log('解密后的数据:', decrypted); |
| | | }, |
| | | getTime() { |
| | | setInterval(() => { |
| | | this.time = dateFormat(new Date()); |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import {oaSsos} from "@/api/system/user.js" |
| | | import {ssoLogin} from "@/api/system/user.js" |
| | | import {mapGetters} from "vuex"; |
| | | import {setStore} from "@/util/store"; |
| | | |
| | | export default { |
| | | name: "sso", |
| | | data() { |
| | | return {} |
| | | return { |
| | | PathString:'', |
| | | } |
| | | }, |
| | | computed: {}, |
| | | computed: { |
| | | ...mapGetters(["tagWel"]) |
| | | }, |
| | | created() { |
| | | this.onLoad() |
| | | }, |
| | | |
| | | methods: { |
| | | onLoad() { |
| | | const loading = this.$loading({ |
| | | lock: true, |
| | | text: 'Loading', |
| | | spinner: 'el-icon-loading', |
| | | background: 'rgba(0, 0, 0, 0.7)' |
| | | }); |
| | | setTimeout(() => { |
| | | loading.close(); |
| | | }, 2000); |
| | | |
| | | this.PathString=this.$route.query.empCode; |
| | | this.$store.dispatch("LoginBySso", { PathString: this.PathString }).then((res) => { |
| | | console.log('res', res) |
| | | this.$router.push({ path: this.tagWel.value }); |
| | | }) |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | }, |
| | | handleLogin: function () { |
| | | debugger |
| | | this.userInfo = this.$store.state.upadatastatus |
| | | localStorage.setItem('username', this.loginForm.username) |
| | | this.$refs.loginForm.validate(valid => { |
| | |
| | | import {deepClone} from '@/util/util' |
| | | import website from '@/config/website' |
| | | import {loginByUsername, loginBySocial, loginBySso, getUserInfo, logout, refreshToken, getButtons} from '@/api/user' |
| | | import {oaSsos} from "@/api/system/user.js" |
| | | import {ssoLogin} from "@/api/system/user.js" |
| | | import {getTopMenu, getRoutes} from '@/api/system/menu' |
| | | import md5 from 'js-md5' |
| | | |
| | |
| | | }) |
| | | }, |
| | | //根据单点信息登录 |
| | | LoginBySso({commit}) { |
| | | LoginBySso({commit},{PathString}) { |
| | | return new Promise((resolve) => { |
| | | oaSsos().then(res => { |
| | | ssoLogin(PathString).then(res => { |
| | | const data = res.data; |
| | | if (data.error_description) { |
| | | Message({ |
| | |
| | | return { |
| | | checkAll: {}, |
| | | ParentList: [], |
| | | ParentRemoveList:[], |
| | | //避免缓存 |
| | | reload: Math.random(), |
| | | TreeLoading: false, |
| | |
| | | console.log(this.ParentList); |
| | | } |
| | | } else { |
| | | this.ParentList = this.ParentList.filter(res => res.classifyId !== row.classifyId); |
| | | console.log(this.ParentList); |
| | | if (!row.parentId && row.children) { |
| | | this.ParentRemoveList = this.ParentList.filter(record => record.oid !== row.oid); |
| | | |
| | | if (row.children && row.children.length > 0) { |
| | | for (let child of row.children) { |
| | | this.ParentRemoveList = this.ParentList.filter(record => record.oid !== child.oid); |
| | | |
| | | if (child.children && child.children.length > 0) { |
| | | for (let subChild of child.children) { |
| | | this.ParentRemoveList = this.ParentList.filter(record => record.oid !== subChild.oid); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | console.log(this.ParentRemoveList) |
| | | } |
| | | }, |
| | | //分类授权 |