From b41d6ab12f9b4c169f269832dd6149d1db7fb30d Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Fri, 27 Feb 2026 17:23:59 +0800
Subject: [PATCH] feat:添加loading
---
uniapps/work-app/src/pages/login/index.vue | 38 +++++++++++++++++++++++++++++++++++++-
1 files changed, 37 insertions(+), 1 deletions(-)
diff --git a/uniapps/work-app/src/pages/login/index.vue b/uniapps/work-app/src/pages/login/index.vue
index 65b289d..568b316 100644
--- a/uniapps/work-app/src/pages/login/index.vue
+++ b/uniapps/work-app/src/pages/login/index.vue
@@ -30,7 +30,13 @@
<div class="forgotPassword" @click="goToForgotPassword">忘记密码?</div>
</div>
- <button class="login-btn" :style="[inputStyle]" @tap="submit">登录</button>
+ <button class="login-btn" :style="[inputStyle]" @tap="submit" :disabled="loading">
+ <view v-if="loading" class="loading-container">
+ <view class="loading-spinner"></view>
+ <text>登录中...</text>
+ </view>
+ <view v-else>登录</view>
+ </button>
</view>
</template>
@@ -59,6 +65,7 @@
});
const rememberPassword = ref(false);
const showPassword = ref(false);
+const loading = ref(false);
const inputStyle = computed(() => {
const style = {};
if (loginForm.value.username && loginForm.value.password) {
@@ -134,6 +141,8 @@
}
try {
+ // 开始加载
+ loading.value = true;
const res = await loginByUsername(
userInfo.tenantId,
userInfo.deptId,
@@ -181,6 +190,9 @@
});
// 即使原始登录失败,也尝试调用工单登录接口
await gdLogin();
+ } finally {
+ // 结束加载
+ loading.value = false;
}
}
// 工单登录
@@ -377,6 +389,30 @@
&::after {
@apply border-none;
}
+ &:disabled {
+ opacity: 0.7;
+ }
+ }
+
+ .loading-container {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+
+ .loading-spinner {
+ width: 24rpx;
+ height: 24rpx;
+ border: 2rpx solid rgba(255, 255, 255, 0.3);
+ border-top: 2rpx solid #ffffff;
+ border-radius: 50%;
+ animation: spin 1s linear infinite;
+ margin-right: 12rpx;
+ }
+
+ @keyframes spin {
+ 0% { transform: rotate(0deg); }
+ 100% { transform: rotate(360deg); }
}
.wechat-login-btn {
--
Gitblit v1.9.3