| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- import { ref, reactive } from 'vue'
- import { v4 } from 'uuid'
- import { sessionCache } from '@/store'
- import { initBaseData } from '@/business/common'
- import { login, queryLoginId } from '@/services/api/account'
- import cryptojs from 'crypto-js'
- import eventBus from '@/services/bus'
- export function useAccount() {
- const loading = ref(false);
- const account = reactive<Proto.LoginReq>({
- LoginID: 'xyy',
- LoginPWD: '123456',
- GUID: v4(),
- LoginType: 0,
- ClientType: 4,
- Version: '2.0.0.0',
- DeviceID: ''
- })
- // 用户登录
- const userLogin = () => {
- loading.value = true
- return new Promise((resolve, reject) => {
- queryLoginId({
- data: {
- username: account.LoginID
- },
- success: (res) => {
- login({
- data: {
- ...account,
- LoginID: res.data,
- LoginPWD: cryptojs.SHA256(res.data + account.LoginPWD).toString(),
- },
- success: (res) => {
- sessionCache.setValue('loginInfo', res);
- initBaseData(() => {
- loading.value = false;
- resolve(res);
- }).catch((err) => {
- loading.value = false;
- reject(err);
- })
- },
- fail: (err) => {
- loading.value = false;
- reject(err);
- }
- })
- },
- fail: (err) => {
- loading.value = false;
- reject(err);
- }
- })
- })
- }
- // 用户登出
- const userlogout = () => {
- eventBus.$emit('LogoutNotify');
- }
- return {
- loading,
- account,
- userLogin,
- userlogout,
- }
- }
|