@@ -14,10 +16,13 @@
-
@@ -36,8 +44,8 @@
\ No newline at end of file
+
diff --git a/src/main.ts b/src/main.ts
index 5dcad83..170dfde 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -1,4 +1,4 @@
-import './assets/main.css'
+import './assets/style/main.css'
import { createApp } from 'vue'
import { createPinia } from 'pinia'
diff --git a/src/router/index.ts b/src/router/index.ts
index c83960b..5cc99f5 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -1,5 +1,4 @@
import { createRouter, createWebHistory } from 'vue-router'
-import { defineAsyncComponent } from 'vue'
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
@@ -12,7 +11,8 @@ const router = createRouter({
{
path: '/send',
name: 'Send',
- component: defineAsyncComponent(() => import('@/views/SendFileView.vue'))
+ // 直接使用动态导入,不再包裹在 defineAsyncComponent 中
+ component: () => import('@/views/SendFileView.vue')
}
]
})
diff --git a/src/utils/api.ts b/src/utils/api.ts
index 8cacc8d..d090a29 100644
--- a/src/utils/api.ts
+++ b/src/utils/api.ts
@@ -35,7 +35,7 @@ api.interceptors.request.use(
// 响应拦截器
api.interceptors.response.use(
(response) => {
- return response
+ return response.data
},
(error) => {
// 处理错误响应
diff --git a/src/views/SendFileView.vue b/src/views/SendFileView.vue
index 4a0e4d4..8dfb8f5 100644
--- a/src/views/SendFileView.vue
+++ b/src/views/SendFileView.vue
@@ -114,9 +114,9 @@
(null)
const textContent = ref('')
const fileInput = ref(null)
-const expirationMethod = ref('time')
-const expirationTime = ref('')
-const expirationViews = ref('')
+const expirationMethod = ref('day')
+const expirationValue = ref('')
const uploadProgress = ref(0)
const showDrawer = ref(false)
const selectedRecord = ref(null)
-api
- .post('/', {
- headers: {
- 'Content-Type': 'application/json'
- },
- data: {
- sendType: sendType.value,
- selectedFile: selectedFile.value,
- textContent: textContent.value,
- expirationMethod: expirationMethod.value,
- expirationTime: expirationTime.value,
- expirationViews: expirationViews.value
- }
- })
- .then((res) => {
- console.log(res)
- })
+
const sendRecords = ref([
{
id: 1,
@@ -529,6 +507,36 @@ const simulateFileUpload = () => {
animate(0)
}
+const getPlaceholder = () => {
+ switch (expirationMethod.value) {
+ case 'day':
+ return '输入天数'
+ case 'hour':
+ return '输入小时数'
+ case 'minute':
+ return '输入分钟数'
+ case 'count':
+ return '输入查看次数'
+ default:
+ return '输入值'
+ }
+}
+
+const getUnit = () => {
+ switch (expirationMethod.value) {
+ case 'day':
+ return '天'
+ case 'hour':
+ return '小时'
+ case 'minute':
+ return '分钟'
+ case 'count':
+ return '次'
+ default:
+ return ''
+ }
+}
+
const handleSubmit = () => {
if (sendType.value === 'file' && !selectedFile.value) {
showAlertMessage('请选择要上传的文件', 'error')
@@ -538,12 +546,8 @@ const handleSubmit = () => {
showAlertMessage('请输入要发送的文本', 'error')
return
}
- if (expirationMethod.value === 'time' && !expirationTime.value) {
- showAlertMessage('请输入过期时间', 'error')
- return
- }
- if (expirationMethod.value === 'views' && !expirationViews.value) {
- showAlertMessage('请输入查看次数', 'error')
+ if (!expirationValue.value) {
+ showAlertMessage('请输入过期值', 'error')
return
}
@@ -552,8 +556,24 @@ const handleSubmit = () => {
console.log('Selected File:', selectedFile.value)
console.log('Text Content:', textContent.value)
console.log('Expiration Method:', expirationMethod.value)
- console.log('Expiration Time:', expirationTime.value)
- console.log('Expiration Views:', expirationViews.value)
+ console.log('Expiration Value:', expirationValue.value)
+
+ // 计算过期时间
+ let expirationDate = new Date()
+ switch (expirationMethod.value) {
+ case 'day':
+ expirationDate.setDate(expirationDate.getDate() + parseInt(expirationValue.value))
+ break
+ case 'hour':
+ expirationDate.setHours(expirationDate.getHours() + parseInt(expirationValue.value))
+ break
+ case 'minute':
+ expirationDate.setMinutes(expirationDate.getMinutes() + parseInt(expirationValue.value))
+ break
+ case 'count':
+ // 对于查看次数,我们不设置具体的过期日期
+ break
+ }
// 添加新的发送记录
const newRecord = {
@@ -564,11 +584,9 @@ const handleSubmit = () => {
? `${(selectedFile.value.size / (1024 * 1024)).toFixed(1)} MB`
: '0.1 MB',
expiration:
- expirationMethod.value === 'time'
- ? new Date(Date.now() + parseInt(expirationTime.value) * 60 * 60 * 1000)
- .toISOString()
- .split('T')[0]
- : `${expirationViews.value}次查看后过期`,
+ expirationMethod.value === 'count'
+ ? `${expirationValue.value}次查看后过期`
+ : expirationDate.toISOString().split('T')[0],
retrieveCode: Math.random().toString(36).substring(2, 8).toUpperCase()
}
sendRecords.value.unshift(newRecord)
@@ -579,8 +597,7 @@ const handleSubmit = () => {
// 重置表单
selectedFile.value = null
textContent.value = ''
- expirationTime.value = ''
- expirationViews.value = ''
+ expirationValue.value = ''
uploadProgress.value = 0
}