diff --git a/package.json b/package.json
index f1eecc1..cc4113c 100644
--- a/package.json
+++ b/package.json
@@ -11,8 +11,10 @@
"dependencies": {
"axios": "^1.8.4",
"element-plus": "^2.9.7",
+ "tsparticles": "^3.8.1",
"vue": "^3.5.13",
- "vue-router": "^4.5.0"
+ "vue-router": "^4.5.0",
+ "vue3-particles": "^2.12.0"
},
"devDependencies": {
"@vitejs/plugin-vue": "^5.2.1",
diff --git a/src/api/fishbaskets/fishbaskets.js b/src/api/fishbaskets/fishbaskets.js
index 46bbd6d..8f3bb71 100644
--- a/src/api/fishbaskets/fishbaskets.js
+++ b/src/api/fishbaskets/fishbaskets.js
@@ -6,4 +6,25 @@ import request from '@/utils/request'
*/
export function myFishBaskets () {
return request.get('/Fishing/all-fish')
+}
+
+/**
+ * 出售鱼
+ */
+export function sellFish (data) {
+ return request.post('/Trade/sell', data)
+}
+
+/**
+ * 处理指定鱼
+ */
+export function handleFishById (fishId) {
+ return request.post(`/Trade/handle/${fishId}`)
+}
+
+/**
+ * 自动处理鱼
+ */
+export function autoHandleFish () {
+ return request.post(`/Trade/auto-handle`)
}
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index 6cead4b..2c2fe68 100644
--- a/src/main.js
+++ b/src/main.js
@@ -3,11 +3,11 @@ import App from './App.vue'
import router from './router'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
-
+import Particles from "vue3-particles"
const app = createApp(App)
app.use(router)
app.use(ElementPlus)
-
+app.use(Particles)
app.mount('#app')
diff --git a/src/pages/fishbaskets/Fishbaskets.vue b/src/pages/fishbaskets/Fishbaskets.vue
index 976ddd7..2bd1191 100644
--- a/src/pages/fishbaskets/Fishbaskets.vue
+++ b/src/pages/fishbaskets/Fishbaskets.vue
@@ -1,36 +1,50 @@
-
🎣 我的鱼篓
-
-
-
+
+
+
+ 刷新
+ 一键处理鱼
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
{{ row.isRare ? '稀有' : '普通' }}
+
+
+
+ 出售
+
+
+
diff --git a/src/utils/request.js b/src/utils/request.js
index 7192f87..d0d6eaa 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -1,41 +1,54 @@
/*
- * @Descripttion:
+ * @Descripttion:
* @version: 1.0.0
* @Author: LyMy
* @Date: 2025-04-11 15:56:12
* @LastEditors: LyMy
- * @LastEditTime: 2025-04-11 16:19:14
- * @FilePath: \fish_game\src\utils\request.js
+ * @LastEditTime: 2025-04-11 20:26:22
+ * @FilePath: \go_fish_web\src\utils\request.js
*/
import axios from 'axios'
+import { ElMessage } from 'element-plus'
+import router from '@/router'
// 创建 axios 实例
const request = axios.create({
- baseURL: 'http://49.235.165.171:31001', // 你的基础地址
- timeout: 5000
+ baseURL: 'http://49.235.165.171:31001',
+ timeout: 5000,
})
+// 设置默认 Content-Type
request.defaults.headers['Content-Type'] = 'application/json'
-// 请求拦截器
+// 请求拦截器:添加 token
request.interceptors.request.use(
- config => {
- const token = localStorage.getItem('token')
- if (token) {
- config.headers.Authorization = `Bearer ${token}`
- }
- return config
- },
- error => Promise.reject(error)
+ (config) => {
+ const token = localStorage.getItem('token')
+ if (token) {
+ config.headers.Authorization = `Bearer ${token}`
+ }
+ return config
+ },
+ (error) => Promise.reject(error)
)
-// 响应拦截器
+// 响应拦截器:统一处理错误
request.interceptors.response.use(
- response => response.data,
- error => {
- console.error('接口请求错误:', error)
- return Promise.reject(error)
+ (response) => response.data,
+ (error) => {
+ const status = error.response?.status
+
+ if (status === 401) {
+ // token 失效
+ ElMessage.warning('登录已过期,请重新登录')
+ localStorage.removeItem('token')
+ router.push('/login')
+ } else {
+ ElMessage.error(error.response?.data?.message || '请求失败,请稍后再试')
}
+
+ return Promise.reject(error)
+ }
)
export default request