refactor: 重构多个组件以支持 Vue 3 语法和功能

- 将多个组件转换为 `<script setup>` 语法,提升可读性和性能
- 优化状态管理和事件处理逻辑,简化代码结构
- 更新样式和布局以适应新组件结构
- 添加新功能和修复已知问题,提升用户体验
This commit is contained in:
Yer11214
2026-07-08 18:37:11 +08:00
parent 4d0b0fb5e4
commit 349ffa4f34
189 changed files with 18278 additions and 20758 deletions

13
utils/form-style.js Normal file
View File

@@ -0,0 +1,13 @@
// 与 pages/mine/set/feedBack.vue 手机号输入框保持一致
export const fieldInputStyle = {
background: '#fafafa',
borderRadius: '12rpx',
padding: '0 24rpx',
height: '80rpx',
}
export const fieldTextareaStyle = {
background: '#fafafa',
borderRadius: '12rpx',
padding: '20rpx',
}

View File

@@ -82,7 +82,7 @@ http.interceptors.request.use(
(config) => {
/* 请求之前拦截器。可以使用async await 做异步操作 */
let accessToken = storage.getAccessToken();
if(storage.getInviter()){
if (storage.getInviter()) {
config.header.inviter = storage.getInviter();
}
if (accessToken) {
@@ -96,7 +96,7 @@ http.interceptors.request.use(
accessToken = ""
storage.setAccessToken('')
}
const nonce = Foundation.randomString(6);
const timestamp = parseInt(new Date().getTime() / 1000);

View File

@@ -63,15 +63,19 @@ function hexToRgba(hex, alpha) {
return `rgba(${r}, ${g}, ${b}, ${alpha})`;
}
export function getThemeStyle(theme) {
const primary = theme.mainColor || DEFAULT_THEME.mainColor;
export function getThemeStyle(theme = DEFAULT_THEME) {
const safeTheme = theme || DEFAULT_THEME;
const primary = safeTheme.mainColor || DEFAULT_THEME.mainColor;
const light = safeTheme.lightColor || DEFAULT_THEME.lightColor;
return {
"--theme-primary": primary,
"--theme-light": theme.lightColor || DEFAULT_THEME.lightColor,
"--theme-aider": theme.aiderLightColor || DEFAULT_THEME.aiderLightColor,
"--theme-light": light,
"--theme-aider": safeTheme.aiderLightColor || DEFAULT_THEME.aiderLightColor,
"--theme-primary-10": hexToRgba(primary, 0.1),
"--theme-primary-20": hexToRgba(primary, 0.2),
"--theme-primary-30": hexToRgba(primary, 0.3),
"--theme-primary-70": hexToRgba(primary, 0.7),
"--theme-light-10": hexToRgba(light, 0.1),
"--theme-light-80": hexToRgba(light, 0.8),
};
}