From e057e336013933ad51a024e9668aa220d9ac3c74 Mon Sep 17 00:00:00 2001
From: YiLin <482244139@qq.com>
Date: Mon, 3 Aug 2026 09:05:21 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=B7=A5=E4=BD=9C=E5=8C=BA?=
=?UTF-8?q?=E4=B8=8B=E8=BD=BD=E5=88=97=E8=A1=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/WorkSpace/WorkSpace.css | 161 +++++++
pages/WorkSpace/WorkSpace.vue | 160 ++++++-
unpackage/dist/dev/app-plus/app-service.js | 422 ++++++++++++++++--
.../dist/dev/app-plus/pages/WYXD/WYXD.css | 140 ++++++
.../WorkSpace/TemplateSpace/TemplateSpace.css | 140 ++++++
.../app-plus/pages/WorkSpace/WorkSpace.css | 140 ++++++
utils/downloadManager.js | 284 ++++++++++++
7 files changed, 1416 insertions(+), 31 deletions(-)
create mode 100644 utils/downloadManager.js
diff --git a/pages/WorkSpace/WorkSpace.css b/pages/WorkSpace/WorkSpace.css
index 20ce011..8fd29d9 100644
--- a/pages/WorkSpace/WorkSpace.css
+++ b/pages/WorkSpace/WorkSpace.css
@@ -380,3 +380,164 @@
.workspace-footer .iconfont {
font-size: 40rpx !important;
}
+
+/* ===== 标签切换 ===== */
+.workspace-tabs {
+ display: flex;
+ width: 100%;
+ padding: 0 24rpx;
+ box-sizing: border-box;
+ gap: 20rpx;
+}
+
+.tab-item {
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ padding: 18rpx 0;
+ font-size: 28rpx;
+ font-weight: 500;
+ color: #999;
+ border-bottom: 4rpx solid transparent;
+ transition: all 0.2s ease;
+ position: relative;
+}
+
+.tab-item.active {
+ color: #6c63ff;
+ border-bottom-color: #6c63ff;
+}
+
+.tab-badge {
+ margin-left: 8rpx;
+ background: #ff5e57;
+ color: #fff;
+ font-size: 20rpx;
+ padding: 2rpx 10rpx;
+ border-radius: 20rpx;
+ line-height: 1.4;
+}
+
+/* ===== 下载列表 ===== */
+.download-content {
+ flex: 1;
+ overflow: auto;
+}
+
+.download-empty {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ padding-top: 200rpx;
+ color: #bbb;
+ font-size: 28rpx;
+}
+
+.download-empty .iconfont {
+ font-size: 140rpx;
+ color: #ddd;
+ margin-bottom: 20rpx;
+}
+
+.download-list {
+ padding: 20rpx 24rpx;
+}
+
+.download-header {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 12rpx 8rpx 20rpx;
+ font-size: 24rpx;
+ color: #999;
+}
+
+.clear-btn {
+ color: #ff5e57;
+ font-size: 24rpx;
+ font-weight: 500;
+ padding: 4rpx 12rpx;
+}
+
+.download-item {
+ display: flex;
+ align-items: center;
+ padding: 24rpx 20rpx;
+ background: rgba(255, 255, 255, 0.85);
+ border-radius: 20rpx;
+ margin-bottom: 16rpx;
+ transition: all 0.15s ease;
+}
+
+.download-item:active {
+ transform: scale(0.98);
+ background: rgba(255, 255, 255, 0.95);
+}
+
+.di-icon {
+ width: 80rpx;
+ height: 80rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ background: rgba(108, 99, 255, 0.08);
+ border-radius: 18rpx;
+ margin-right: 20rpx;
+ flex-shrink: 0;
+}
+
+.di-icon .iconfont {
+ font-size: 40rpx;
+ color: #6c63ff;
+}
+
+.di-info {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ gap: 6rpx;
+ min-width: 0;
+}
+
+.di-name {
+ font-size: 28rpx;
+ font-weight: 500;
+ color: #333;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.di-meta {
+ font-size: 22rpx;
+ color: #999;
+}
+
+.di-path {
+ font-size: 20rpx;
+ color: #bbb;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.di-delete {
+ width: 56rpx;
+ height: 56rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-shrink: 0;
+}
+
+.di-delete .iconfont {
+ font-size: 36rpx;
+ color: #ccc;
+ transition: color 0.15s ease;
+}
+
+.di-delete:active .iconfont {
+ color: #ff5e57;
+}
diff --git a/pages/WorkSpace/WorkSpace.vue b/pages/WorkSpace/WorkSpace.vue
index a014c6f..f93d98a 100644
--- a/pages/WorkSpace/WorkSpace.vue
+++ b/pages/WorkSpace/WorkSpace.vue
@@ -66,8 +66,20 @@
取消
+
+
+
+ 工作区
+
+
+ 下载列表
+ {{ downloadList.length }}
+
+
-
+
+
+
文件夹为空
@@ -89,6 +101,34 @@
+
+
+
+
+
+ 暂无下载文件
+
+
+
+
+
+
+
+
+ {{ item.name }}
+ {{ formatDownloadTime(item.time) }} · {{ formatDownloadSize(item.size) }}
+ {{ item.displayPath || item.path }}
+
+
+
+
+
+
+
+