diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..991c302
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,27 @@
+# Auto detect text files and perform LF normalization
+* text=auto eol=lf
+
+# Source files
+*.ts text eol=lf
+*.tsx text eol=lf
+*.js text eol=lf
+*.jsx text eol=lf
+*.vue text eol=lf
+*.mjs text eol=lf
+*.cjs text eol=lf
+
+# Config files
+*.json text eol=lf
+*.yml text eol=lf
+*.yaml text eol=lf
+
+# Styling
+*.css text eol=lf
+*.scss text eol=lf
+*.less text eol=lf
+
+# Documentation
+*.md text eol=lf
+
+# Shell scripts
+*.sh text eol=lf
diff --git a/components.d.ts b/components.d.ts
index 752d737..e33d7d1 100644
--- a/components.d.ts
+++ b/components.d.ts
@@ -1,4 +1,4 @@
-/* eslint-disable */
+/* eslint-disable */
/* prettier-ignore */
// @ts-nocheck
// Generated by vite-plugin-uni-components
diff --git a/pages.config.ts b/pages.config.ts
index 9533f17..3c490fd 100644
--- a/pages.config.ts
+++ b/pages.config.ts
@@ -1,4 +1,4 @@
-// pages.config.ts
+// pages.config.ts
import { defineUniPages } from "@uni-helper/vite-plugin-uni-pages";
export default defineUniPages({
diff --git a/shims-uni.d.ts b/shims-uni.d.ts
index 7b6be2f..80efd65 100644
--- a/shims-uni.d.ts
+++ b/shims-uni.d.ts
@@ -1,4 +1,4 @@
-///
+///
import "vue";
declare module "@vue/runtime-core" {
diff --git a/src/api/auth.ts b/src/api/auth.ts
index 2ba5f2e..cfaeff6 100644
--- a/src/api/auth.ts
+++ b/src/api/auth.ts
@@ -1,4 +1,4 @@
-import request, { publicRequest } from "@/utils/request";
+import request, { publicRequest } from "@/utils/request";
const AUTH_BASE_URL = "/api/v1/auth";
diff --git a/src/api/file.ts b/src/api/file.ts
index 9cce1e7..daf20a4 100644
--- a/src/api/file.ts
+++ b/src/api/file.ts
@@ -1,4 +1,4 @@
-import { getToken } from "@/utils/storage";
+import { getToken } from "@/utils/storage";
import { ApiCode } from "@/enums/api-code-enum";
// H5 使用 VITE_APP_BASE_API 作为代理路径,其他平台使用 VITE_APP_API_URL 作为请求路径
diff --git a/src/api/user.ts b/src/api/user.ts
index e348c04..91e7332 100644
--- a/src/api/user.ts
+++ b/src/api/user.ts
@@ -1,4 +1,4 @@
-import request from "@/utils/request";
+import request from "@/utils/request";
const USER_BASE_URL = "/api/v1/users";
diff --git a/src/composables/types/theme.ts b/src/composables/types/theme.ts
index e43172e..e7f126c 100644
--- a/src/composables/types/theme.ts
+++ b/src/composables/types/theme.ts
@@ -1,4 +1,4 @@
-import type { ConfigProviderThemeVars } from "wot-design-uni";
+import type { ConfigProviderThemeVars } from "wot-design-uni";
/**
* 主题色选项接口
diff --git a/src/composables/useStomp.ts b/src/composables/useStomp.ts
index fb2777a..6994013 100644
--- a/src/composables/useStomp.ts
+++ b/src/composables/useStomp.ts
@@ -1,4 +1,4 @@
-import { Client, type IMessage, type StompSubscription } from "@stomp/stompjs";
+import { Client, type IMessage, type StompSubscription } from "@stomp/stompjs";
import { getAccessToken } from "@/utils/auth";
export interface UseStompOptions {
diff --git a/src/composables/useTabbar.ts b/src/composables/useTabbar.ts
index 11b7aa4..2227b19 100644
--- a/src/composables/useTabbar.ts
+++ b/src/composables/useTabbar.ts
@@ -1,4 +1,4 @@
-export interface TabbarItem {
+export interface TabbarItem {
name: string;
value: number | null;
active: boolean;
diff --git a/src/composables/useTheme.ts b/src/composables/useTheme.ts
index d8f1c50..e2fc933 100644
--- a/src/composables/useTheme.ts
+++ b/src/composables/useTheme.ts
@@ -1,4 +1,4 @@
-import type { ThemeColorOption, ThemeMode } from "@/composables/types/theme";
+import type { ThemeColorOption, ThemeMode } from "@/composables/types/theme";
import { themeColorOptions } from "@/composables/types/theme";
import { useThemeStore } from "@/store";
diff --git a/src/constants/index.ts b/src/constants/index.ts
index 0973773..2bf58bf 100644
--- a/src/constants/index.ts
+++ b/src/constants/index.ts
@@ -1,4 +1,4 @@
-/**
+/**
* 常量统一导出
*/
diff --git a/src/enums/api-code-enum.ts b/src/enums/api-code-enum.ts
index 3772a3b..4fb0d9f 100644
--- a/src/enums/api-code-enum.ts
+++ b/src/enums/api-code-enum.ts
@@ -1,4 +1,4 @@
-/**
+/**
* API响应码枚举
*/
export const enum ApiCode {
diff --git a/src/env.d.ts b/src/env.d.ts
index fc81239..469cf11 100644
--- a/src/env.d.ts
+++ b/src/env.d.ts
@@ -1,4 +1,4 @@
-///
+///
declare module "*.vue" {
import type { DefineComponent } from "vue";
diff --git a/src/main.ts b/src/main.ts
index d96fd0f..8150b76 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -1,4 +1,4 @@
-import { createSSRApp } from "vue";
+import { createSSRApp } from "vue";
import App from "./App.vue";
import "uno.css";
diff --git a/src/pages.json b/src/pages.json
index 1b62b71..30e39e9 100644
--- a/src/pages.json
+++ b/src/pages.json
@@ -177,5 +177,6 @@
}
]
},
+ "__esModule": true,
"subPackages": []
-}
+}
\ No newline at end of file
diff --git a/src/pages/login/index.vue b/src/pages/login/index.vue
index 2546873..ccf1015 100644
--- a/src/pages/login/index.vue
+++ b/src/pages/login/index.vue
@@ -1,111 +1,102 @@
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ smsCountdown > 0 ? `${smsCountdown}s后重试` : "发送验证码" }}
-
-
-
-
-
-
-
-
- {{ loginMode === "ACCOUNT" ? "使用短信验证码登录" : "使用账号密码登录" }}
+
+
+
+
+
+ YouLai Admin
-
-
-
-
- 我已阅读并同意
-
- 《用户协议》
-
- 和
- 《隐私政策》
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ smsCountdown > 0 ? `${smsCountdown}s` : '获取验证码' }}
+
+
+
+
+
+
+
+
+ {{ loginMode === 'PASSWORD' ? '忘记密码?' : '记得密码?' }}
+ {{ loginMode === 'PASSWORD' ? '使用验证码登录' : '使用密码登录' }}
+
+
+
+
+
+
+
+ 登录即代表同意
+ 《用户协议》
+ 与
+ 《隐私政策》
+
+
+
@@ -121,94 +112,108 @@
diff --git a/src/router/index.ts b/src/router/index.ts
index c6eb977..ee29fab 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -1,4 +1,4 @@
-import { pages, subPackages } from "virtual:uni-pages";
+import { pages, subPackages } from "virtual:uni-pages";
import { isLoggedIn } from "@/utils/auth";
import { createRouter } from "uni-mini-router";
diff --git a/src/shime-uni.d.ts b/src/shime-uni.d.ts
index c80052b..f9c2ad8 100644
--- a/src/shime-uni.d.ts
+++ b/src/shime-uni.d.ts
@@ -1,4 +1,4 @@
-export {};
+export {};
declare module "vue" {
type Hooks = App.AppInstance & Page.PageInstance;
diff --git a/src/store/index.ts b/src/store/index.ts
index 5cdeb30..7b70ec5 100644
--- a/src/store/index.ts
+++ b/src/store/index.ts
@@ -1,4 +1,4 @@
-import type { App } from "vue";
+import type { App } from "vue";
import { createPinia } from "pinia";
const store = createPinia();
diff --git a/src/store/modules/theme-store.ts b/src/store/modules/theme-store.ts
index 71a54bb..5acb110 100644
--- a/src/store/modules/theme-store.ts
+++ b/src/store/modules/theme-store.ts
@@ -1,4 +1,4 @@
-import { defineStore } from "pinia";
+import { defineStore } from "pinia";
import { Storage } from "@/utils/storage";
import { THEME_MODE_KEY, THEME_COLOR_KEY } from "@/constants";
import type { ThemeColorOption, ThemeMode } from "@/composables/types/theme";
diff --git a/src/store/modules/user-store.ts b/src/store/modules/user-store.ts
index 18334e5..cc4bf34 100644
--- a/src/store/modules/user-store.ts
+++ b/src/store/modules/user-store.ts
@@ -1,4 +1,4 @@
-import { defineStore } from "pinia";
+import { defineStore } from "pinia";
import AuthAPI, { type LoginData, type SmsLoginData } from "@/api/auth";
import UserAPI, { type UserInfo } from "@/api/user";
import { setAccessToken, clearTokens } from "@/utils/auth";
diff --git a/src/types/auto-imports.d.ts b/src/types/auto-imports.d.ts
index 5496945..b90bd02 100644
--- a/src/types/auto-imports.d.ts
+++ b/src/types/auto-imports.d.ts
@@ -1,4 +1,4 @@
-/* eslint-disable */
+/* eslint-disable */
/* prettier-ignore */
// @ts-nocheck
// noinspection JSUnusedGlobalSymbols
@@ -325,4 +325,4 @@ declare module 'vue' {
readonly watchPostEffect: UnwrapRef
readonly watchSyncEffect: UnwrapRef
}
-}
\ No newline at end of file
+}
diff --git a/src/types/env.d.ts b/src/types/env.d.ts
index 47d7781..95f9356 100644
--- a/src/types/env.d.ts
+++ b/src/types/env.d.ts
@@ -1,4 +1,4 @@
-// src/types/env.d.ts
+// src/types/env.d.ts
/**
* 环境变量类型声明
*/
diff --git a/src/types/global.d.ts b/src/types/global.d.ts
index 8a373f7..0988691 100644
--- a/src/types/global.d.ts
+++ b/src/types/global.d.ts
@@ -1,4 +1,4 @@
-// 全局类型声明文件
+// 全局类型声明文件
// 自动引入 virtual 模块类型
///
diff --git a/src/types/uni-mini-router.d.ts b/src/types/uni-mini-router.d.ts
index 77ce3e6..b7eca43 100644
--- a/src/types/uni-mini-router.d.ts
+++ b/src/types/uni-mini-router.d.ts
@@ -1,4 +1,4 @@
-// 扩展 uni-mini-router 路由类型,支持从 pages.json 注入的 meta 字段
+// 扩展 uni-mini-router 路由类型,支持从 pages.json 注入的 meta 字段
// 该声明文件会被 ts 自动合并到库类型中
import "uni-mini-router";
diff --git a/src/types/uni-pages.d.ts b/src/types/uni-pages.d.ts
index 2c41fa3..03aa1f6 100644
--- a/src/types/uni-pages.d.ts
+++ b/src/types/uni-pages.d.ts
@@ -1,4 +1,4 @@
-/* eslint-disable */
+/* eslint-disable */
/* prettier-ignore */
// @ts-nocheck
// Generated by vite-plugin-uni-pages
diff --git a/src/utils/auth.ts b/src/utils/auth.ts
index 87b4335..2dfaac3 100644
--- a/src/utils/auth.ts
+++ b/src/utils/auth.ts
@@ -1,4 +1,4 @@
-import { useUserStore } from "@/store/modules/user-store";
+import { useUserStore } from "@/store/modules/user-store";
import { Storage } from "./storage";
import { ACCESS_TOKEN_KEY, REFRESH_TOKEN_KEY } from "@/constants";
diff --git a/src/utils/index.ts b/src/utils/index.ts
index d4671b5..95d7ac5 100644
--- a/src/utils/index.ts
+++ b/src/utils/index.ts
@@ -1,4 +1,4 @@
-/**
+/**
* 防抖函数
* @param fn 函数
* @param delay 延迟时间
diff --git a/src/utils/request.ts b/src/utils/request.ts
index d9e1e05..df141f6 100644
--- a/src/utils/request.ts
+++ b/src/utils/request.ts
@@ -1,4 +1,4 @@
-import { getAccessToken } from "./auth";
+import { getAccessToken } from "./auth";
// 请求配置
interface RequestOptions {
@@ -52,6 +52,7 @@ function request(options: RequestOptions): Promise {
timeout: options.timeout || 30000,
responseType: options.responseType,
success: (res: any) => {
+ const serverMsg = res?.data?.msg || res?.data?.message;
// 请求成功
if (res.statusCode >= 200 && res.statusCode < 300) {
resolve(res.data.data);
@@ -64,11 +65,11 @@ function request(options: RequestOptions): Promise {
url: "/pages/login/index",
});
}
- reject(new Error(res.data.message || "未授权,请重新登录"));
+ reject(new Error(serverMsg || "未授权,请重新登录"));
}
// 其他错误
else {
- const errorMsg = res.data.message || `请求失败: ${res.statusCode}`;
+ const errorMsg = serverMsg || `请求失败: ${res.statusCode}`;
reject(new Error(errorMsg));
}
},
diff --git a/src/utils/storage.ts b/src/utils/storage.ts
index 5c4adec..64be602 100644
--- a/src/utils/storage.ts
+++ b/src/utils/storage.ts
@@ -1,4 +1,4 @@
-/**
+/**
* 存储工具类
* 提供localStorage和sessionStorage操作方法
*/
diff --git a/uni-pages.d.ts b/uni-pages.d.ts
index 2065725..736153f 100644
--- a/uni-pages.d.ts
+++ b/uni-pages.d.ts
@@ -1,4 +1,4 @@
-/* eslint-disable */
+/* eslint-disable */
/* prettier-ignore */
// @ts-nocheck
// Generated by vite-plugin-uni-pages
diff --git a/unocss.config.ts b/unocss.config.ts
index b64ba13..cefd8ac 100644
--- a/unocss.config.ts
+++ b/unocss.config.ts
@@ -1,4 +1,4 @@
-import presetWeapp from "unocss-preset-weapp";
+import presetWeapp from "unocss-preset-weapp";
import { extractorAttributify, transformerClass } from "unocss-preset-weapp/transformer";
const { presetWeappAttributify, transformerAttributify } = extractorAttributify();
diff --git a/vite.config.ts b/vite.config.ts
index 1ad0133..5ef6b99 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,4 +1,4 @@
-import { defineConfig, type UserConfig, type ConfigEnv, loadEnv } from "vite";
+import { defineConfig, type UserConfig, type ConfigEnv, loadEnv } from "vite";
import uni from "@dcloudio/vite-plugin-uni";
import AutoImport from "unplugin-auto-import/vite";
import UniLayouts from "@uni-helper/vite-plugin-uni-layouts";