Skip to content

Commit cb23413

Browse files
committed
fix: pages action & i18n
1 parent 7577467 commit cb23413

File tree

15 files changed

+47
-94
lines changed

15 files changed

+47
-94
lines changed

.github/workflows/deploy-frontend-cloudflare.yml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,17 @@ jobs:
144144
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
145145
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
146146
run: |
147-
npx wrangler pages deploy ./dist --project-name=cloudpaste-frontend --branch production --commit-message="Deploy from GitHub Actions" 2>&1 | sed -E 's/https:\/\/[a-zA-Z0-9.-]*\.(workers|pages)\.dev/https:\/\/[REDACTED].\1.dev/g'
147+
COMMIT_MSG=$(cat << 'EOF'
148+
${{ github.event.head_commit.message }}
149+
EOF
150+
)
151+
# 清理非UTF-8字符并限制长度
152+
CLEAN_MSG=$(echo "$COMMIT_MSG" | iconv -f utf-8 -t utf-8 -c | head -c 200)
153+
# 如果消息为空或无效,使用默认消息
154+
if [ -z "$CLEAN_MSG" ]; then
155+
CLEAN_MSG="Deploy from GitHub Actions"
156+
fi
157+
npx wrangler pages deploy ./dist --project-name=cloudpaste-frontend --branch production --commit-message="$CLEAN_MSG" 2>&1 | sed -E 's/https:\/\/[a-zA-Z0-9.-]*\.(workers|pages)\.dev/https:\/\/[REDACTED].\1.dev/g'
148158
149159
- name: Display Success Information
150160
if: steps.check-deploy-button.outputs.is_deploy_button == 'true' && success()

frontend/src/i18n/locales/en-US/admin/settings.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ export default {
157157

158158
documentAppsLabel: "Document/Office preview templates",
159159
documentAppsPlaceholder:
160-
'Example: {"doc,docx,xls,xlsx,ppt,pptx,rtf": {"microsoft": {"urlTemplate": "https://view.officeapps.live.com/op/view.aspx?src=$e_url"}}}',
160+
"For example: Configure urlTemplate for services like Microsoft/Google for doc,docx,xls,xlsx,ppt,pptx,rtf files, see the example below for details",
161161
documentAppsHelp:
162162
"Configure DocumentApp templates for document/Office files, keys are extension lists or patterns, values are URL templates for each preview service.",
163163

frontend/src/i18n/locales/zh-CN/admin/settings.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,8 +153,7 @@ export default {
153153
documentTypesHelp: "用逗号分隔的文档文件扩展名,这些文件可以直接在浏览器中预览",
154154

155155
documentAppsLabel: "文档/Office 预览模板",
156-
documentAppsPlaceholder:
157-
"例如:{\"doc,docx,xls,xlsx,ppt,pptx,rtf\": {\"microsoft\": {\"urlTemplate\": \"https://view.officeapps.live.com/op/view.aspx?src=$e_url\"}}}",
156+
documentAppsPlaceholder: "例如:为 doc,docx,xls,xlsx,ppt,pptx,rtf 配置 microsoft/Google 等服务的 urlTemplate,详见下方示例",
158157
documentAppsHelp: "为文档/Office 文件配置 DocumentApp 模板,键为扩展名列表或正则,值为各个预览服务的 URL 模板。",
159158

160159
resetDefaults: "重置为默认",

frontend/src/modules/admin/views/AccountManagementView.vue

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,19 @@ import { ref, computed } from "vue";
33
import { useI18n } from "vue-i18n";
44
import { useAuthStore } from "@/stores/authStore";
55
import { useAdminAccountService } from "@/modules/admin/services/accountService.js";
6+
import { useThemeMode } from "@/composables/core/useThemeMode.js";
67
78
// 使用i18n和认证Store
89
const { t } = useI18n();
910
const authStore = useAuthStore();
1011
const { changePassword } = useAdminAccountService();
12+
const { isDarkMode: darkMode } = useThemeMode();
1113
1214
// 检测用户类型
1315
const isAdmin = computed(() => authStore.isAdmin);
1416
const isApiKeyUser = computed(() => authStore.authType === "apikey");
1517
const isGuest = computed(() => authStore.isGuest);
1618
17-
// 定义props,接收父组件传递的darkMode
18-
const props = defineProps({
19-
darkMode: {
20-
type: Boolean,
21-
required: true,
22-
},
23-
});
24-
2519
// 定义事件,用于通知父组件需要退出登录
2620
const emit = defineEmits(["logout"]);
2721

frontend/src/modules/admin/views/AdminLayout.vue

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<div class="rounded-lg flex-1 flex flex-col" :class="darkMode ? 'bg-gray-800' : 'bg-white border border-gray-200'">
2323
<!-- 页面内容 -->
2424
<div class="p-2 md:p-4 flex-1 flex flex-col">
25-
<router-view :dark-mode="darkMode" :permissions="userPermissions" @logout="handleLogout" />
25+
<router-view :permissions="userPermissions" @logout="handleLogout" />
2626
</div>
2727
</div>
2828
</div>
@@ -36,15 +36,10 @@ import { useRouter } from "vue-router";
3636
import AdminSidebar from "@/modules/admin/components/AdminSidebar.vue";
3737
import AdminHeader from "@/modules/admin/components/AdminHeader.vue";
3838
import { useAuthStore } from "@/stores/authStore.js";
39+
import { useThemeMode } from "@/composables/core/useThemeMode.js";
3940
40-
const props = defineProps({
41-
darkMode: {
42-
type: Boolean,
43-
required: true,
44-
},
45-
});
4641
47-
// 使用认证Store和路由
42+
const { isDarkMode: darkMode } = useThemeMode();
4843
const authStore = useAuthStore();
4944
const router = useRouter();
5045

frontend/src/modules/admin/views/BackupView.vue

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -159,19 +159,15 @@ import { useI18n } from "vue-i18n";
159159
import { formatLocalDateTimeWithSeconds, formatNowForFilename } from "@/utils/timeUtils.js";
160160
import { useAdminBase } from "@/composables/admin-management/useAdminBase.js";
161161
import { useAdminBackupService } from "@/modules/admin/services/backupService.js";
162+
import { useThemeMode } from "@/composables/core/useThemeMode.js";
162163
163164
export default {
164165
name: "BackupView",
165-
props: {
166-
darkMode: {
167-
type: Boolean,
168-
required: true,
169-
},
170-
},
171-
setup(props) {
166+
setup() {
172167
const { t } = useI18n();
173168
const { showSuccess, showError } = useAdminBase();
174169
const { getModules, createBackup: createBackupRequest, restoreBackup: restoreBackupRequest } = useAdminBackupService();
170+
const { isDarkMode: darkMode } = useThemeMode();
175171
176172
// 统一的通知方法
177173
const showNotification = (message, type) => {
@@ -499,6 +495,9 @@ export default {
499495
});
500496
501497
return {
498+
// 主题
499+
darkMode,
500+
502501
// 响应式数据
503502
backupType,
504503
selectedModules,

frontend/src/modules/admin/views/DashboardView.vue

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,21 @@ import { Bar, Line } from "vue-chartjs";
66
import { Chart as ChartJS, CategoryScale, LinearScale, PointElement, LineElement, BarElement, Title, Tooltip, Legend } from "chart.js";
77
import { useAdminSystemService } from "@/modules/admin/services/systemService.js";
88
import { useDashboardService } from "@/modules/admin/services/dashboardService.js";
9+
import { useThemeMode } from "@/composables/core/useThemeMode.js";
910
1011
// 注册Chart.js组件
1112
ChartJS.register(CategoryScale, LinearScale, PointElement, LineElement, BarElement, Title, Tooltip, Legend);
1213
1314
// 定义props
1415
const props = defineProps({
15-
darkMode: {
16-
type: Boolean,
17-
required: true,
18-
},
1916
permissions: {
2017
type: Object,
2118
required: true,
2219
},
2320
});
2421
22+
23+
const { isDarkMode: darkMode } = useThemeMode();
2524
const { t } = useI18n();
2625
const { getCacheStats, getVersionInfo, clearCache } = useAdminSystemService();
2726
const { getDashboardStats } = useDashboardService();

frontend/src/modules/admin/views/FsMetaManagementView.vue

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import { onMounted, ref } from "vue";
33
import { useI18n } from "vue-i18n";
44
import { useFsMetaManagement } from "@/modules/admin/composables/useFsMetaManagement.js";
5+
import { useThemeMode } from "@/composables/core/useThemeMode.js";
56
67
// 导入子组件
78
import FsMetaTable from "@/modules/admin/components/FsMetaTable.vue";
@@ -10,19 +11,10 @@ import CommonPagination from "@/components/common/CommonPagination.vue";
1011
import GlobalSearchBox from "@/components/common/GlobalSearchBox.vue";
1112
1213
/**
13-
* 组件接收的属性定义
14-
* darkMode: 主题模式
14+
* 使用主题模式 composable
1515
*/
16-
const props = defineProps({
17-
darkMode: {
18-
type: Boolean,
19-
required: true,
20-
},
21-
});
22-
16+
const { isDarkMode: darkMode } = useThemeMode();
2317
const { t } = useI18n();
24-
25-
// 使用元信息管理 composable
2618
const {
2719
metaList,
2820
loading,
@@ -32,7 +24,6 @@ const {
3224
updateMeta,
3325
deleteMeta,
3426
} = useFsMetaManagement();
35-
3627
// 本地状态
3728
const showForm = ref(false);
3829
const currentMeta = ref(null);

frontend/src/modules/admin/views/KeyManagementView.vue

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { copyToClipboard } from "@/utils/clipboard";
66
import { useAdminApiKeyService } from "@/modules/admin/services/apiKeyService.js";
77
import { useAdminMountService } from "@/modules/admin/services/mountService.js";
88
import { useGlobalMessage } from "@/composables/core/useGlobalMessage.js";
9+
import { useThemeMode } from "@/composables/core/useThemeMode.js";
910
1011
// 导入子组件
1112
import KeyForm from "@/modules/admin/components/KeyForm.vue";
@@ -16,14 +17,7 @@ const { t } = useI18n();
1617
const { getAllApiKeys, deleteApiKey } = useAdminApiKeyService();
1718
const { getMountsList } = useAdminMountService();
1819
const { showSuccess, showError } = useGlobalMessage();
19-
20-
// Props定义
21-
const props = defineProps({
22-
darkMode: {
23-
type: Boolean,
24-
required: true,
25-
},
26-
});
20+
const { isDarkMode: darkMode } = useThemeMode();
2721
2822
// 状态管理
2923
const apiKeys = ref([]);

frontend/src/modules/admin/views/MountManagementView.vue

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,23 @@ import { onMounted } from "vue";
33
import MountForm from "@/modules/admin/components/MountForm.vue";
44
import CommonPagination from "@/components/common/CommonPagination.vue";
55
import { useMountManagement } from "@/modules/admin/storage/useMountManagement.js";
6+
import { useThemeMode } from "@/composables/core/useThemeMode.js";
67
78
/**
89
* 挂载管理视图
910
*/
1011
1112
// 组件接收的属性定义
1213
const props = defineProps({
13-
darkMode: {
14-
type: Boolean,
15-
required: true,
16-
},
1714
userType: {
1815
type: String,
1916
default: "admin",
2017
validator: (value) => ["admin", "apikey"].includes(value),
2118
},
2219
});
2320
24-
// 使用挂载管理 composable
21+
22+
const { isDarkMode: darkMode } = useThemeMode();
2523
const {
2624
// 状态
2725
loading,

0 commit comments

Comments
 (0)