Browse Source

移除debugger,同时增加企业微信登录枚举与界面

WorkWeChat
初十 4 years ago
parent
commit
d06cd75830
  1. 1
      vben28/src/store/modules/user.ts
  2. 2
      vben28/src/views/sys/login/Login.vue
  3. 10
      vben28/src/views/sys/login/LoginForm.vue
  4. 2
      vben28/src/views/sys/login/LoginFormTitle.vue
  5. 1
      vben28/src/views/sys/login/OidcSignIn.vue
  6. 31
      vben28/src/views/sys/login/WorkWeChatQrCodeForm.vue
  7. 1
      vben28/src/views/sys/login/useLogin.ts

1
vben28/src/store/modules/user.ts

@ -224,7 +224,6 @@ export const useUserStore = defineStore({
*/ */
async logout(goLogin = false) { async logout(goLogin = false) {
try { try {
debugger;
if (this.userInfo?.isSts) { if (this.userInfo?.isSts) {
await useOidcLogout(); await useOidcLogout();
} else { } else {

2
vben28/src/views/sys/login/Login.vue

@ -55,6 +55,7 @@
<RegisterForm /> <RegisterForm />
<MobileForm /> <MobileForm />
<QrCodeForm /> <QrCodeForm />
<WorkWeChatQrCodeForm />
<TenantLoginForm /> <TenantLoginForm />
</div> </div>
</div> </div>
@ -71,6 +72,7 @@
import RegisterForm from './RegisterForm.vue'; import RegisterForm from './RegisterForm.vue';
import MobileForm from './MobileForm.vue'; import MobileForm from './MobileForm.vue';
import QrCodeForm from './QrCodeForm.vue'; import QrCodeForm from './QrCodeForm.vue';
import WorkWeChatQrCodeForm from './WorkWeChatQrCodeForm.vue';
import TenantLoginForm from './TenantLoginForm.vue'; import TenantLoginForm from './TenantLoginForm.vue';
import { useGlobSetting } from '/@/hooks/setting'; import { useGlobSetting } from '/@/hooks/setting';
import { useI18n } from '/@/hooks/web/useI18n'; import { useI18n } from '/@/hooks/web/useI18n';

10
vben28/src/views/sys/login/LoginForm.vue

@ -40,7 +40,13 @@
</Button> </Button>
</ACol> </ACol>
</ARow> </ARow>
<Divider class="enter-x">{{ t('sys.login.otherSignIn') }}</Divider>
<div class="flex justify-evenly enter-x" :class="`${prefixCls}-sign-in-way`">
<a-button type="link" @click="workWechatLogin" aria-placeholder="sf"
><WechatFilled/>
</a-button>
</div>
</Form> </Form>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
@ -96,6 +102,10 @@
//onKeyStroke('Enter', handleLogin); //onKeyStroke('Enter', handleLogin);
const getShow = computed(() => unref(getLoginState) === LoginStateEnum.LOGIN); const getShow = computed(() => unref(getLoginState) === LoginStateEnum.LOGIN);
function workWechatLogin(){
setLoginState(LoginStateEnum.WORKWECHAT_QR_CODE);
debugger
};
async function handleLogin() { async function handleLogin() {
const data = await validForm(); const data = await validForm();

2
vben28/src/views/sys/login/LoginFormTitle.vue

@ -11,7 +11,6 @@
const { t } = useI18n(); const { t } = useI18n();
const { getLoginState } = useLoginState(); const { getLoginState } = useLoginState();
const getFormTitle = computed(() => { const getFormTitle = computed(() => {
const titleObj = { const titleObj = {
[LoginStateEnum.RESET_PASSWORD]: t('sys.login.forgetFormTitle'), [LoginStateEnum.RESET_PASSWORD]: t('sys.login.forgetFormTitle'),
@ -20,6 +19,7 @@
[LoginStateEnum.MOBILE]: t('sys.login.mobileSignInFormTitle'), [LoginStateEnum.MOBILE]: t('sys.login.mobileSignInFormTitle'),
[LoginStateEnum.QR_CODE]: t('sys.login.qrSignInFormTitle'), [LoginStateEnum.QR_CODE]: t('sys.login.qrSignInFormTitle'),
[LoginStateEnum.TENANT]: t('sys.login.tenantFormTitle'), [LoginStateEnum.TENANT]: t('sys.login.tenantFormTitle'),
[LoginStateEnum.WORKWECHAT_QR_CODE]: t('sys.login.workWeChatFormTitle'),
}; };
return titleObj[unref(getLoginState)]; return titleObj[unref(getLoginState)];
}); });

1
vben28/src/views/sys/login/OidcSignIn.vue

@ -19,7 +19,6 @@
}); });
const userStore = useUserStore(); const userStore = useUserStore();
async function openLoading(absolute: boolean) { async function openLoading(absolute: boolean) {
debugger;
compState.absolute = absolute; compState.absolute = absolute;
compState.loading = true; compState.loading = true;
try { try {

31
vben28/src/views/sys/login/WorkWeChatQrCodeForm.vue

@ -0,0 +1,31 @@
<template>
<template v-if="getShow">
<LoginFormTitle class="enter-x" />
<div class="enter-x min-w-64 min-h-64">
<QrCode
:value="qrCodeUrl"
class="enter-x flex justify-center xl:justify-start"
:width="280"
/>
<Divider class="enter-x">{{ t('sys.login.scanSign') }}</Divider>
<Button size="large" block class="mt-4 enter-x" @click="handleBackLogin">
{{ t('sys.login.backSignIn') }}
</Button>
</div>
</template>
</template>
<script lang="ts" setup>
import { computed, unref } from 'vue';
import LoginFormTitle from './LoginFormTitle.vue';
import { Button, Divider } from 'ant-design-vue';
import { QrCode } from '/@/components/Qrcode/index';
import { useI18n } from '/@/hooks/web/useI18n';
import { useLoginState, LoginStateEnum } from './useLogin';
const qrCodeUrl = 'https://vvbin.cn/next/login';
const { t } = useI18n();
const { handleBackLogin, getLoginState } = useLoginState();
const getShow = computed(() => unref(getLoginState) === LoginStateEnum.WORKWECHAT_QR_CODE);
</script>

1
vben28/src/views/sys/login/useLogin.ts

@ -11,6 +11,7 @@ export enum LoginStateEnum {
MOBILE, MOBILE,
QR_CODE, QR_CODE,
TENANT, TENANT,
WORKWECHAT_QR_CODE,
} }
const currentState = ref(LoginStateEnum.LOGIN); const currentState = ref(LoginStateEnum.LOGIN);

Loading…
Cancel
Save