diff --git a/package-lock.json b/package-lock.json
index 84901f6..aea4e66 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,11 +1,11 @@
{
- "name": "dm-admin",
+ "name": "beefast-admin",
"version": "0.1.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
- "name": "dm-admin",
+ "name": "beefast-admin",
"version": "0.1.0",
"dependencies": {
"ant-design-vue": "^3.2.20",
@@ -13,6 +13,7 @@
"nprogress": "^0.2.0",
"vue": "^3.3.4",
"vue-router": "^4.5.0",
+ "vuedraggable": "^4.1.0",
"vuex": "^4.0.2"
},
"devDependencies": {
@@ -7694,6 +7695,12 @@
"websocket-driver": "^0.7.4"
}
},
+ "node_modules/sortablejs": {
+ "version": "1.14.0",
+ "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.14.0.tgz",
+ "integrity": "sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w==",
+ "license": "MIT"
+ },
"node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -8490,6 +8497,18 @@
"vue": "^3.0.0"
}
},
+ "node_modules/vuedraggable": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-4.1.0.tgz",
+ "integrity": "sha512-FU5HCWBmsf20GpP3eudURW3WdWTKIbEIQxh9/8GE806hydR9qZqRRxRE3RjqX7PkuLuMQG/A7n3cfj9rCEchww==",
+ "license": "MIT",
+ "dependencies": {
+ "sortablejs": "1.14.0"
+ },
+ "peerDependencies": {
+ "vue": "^3.0.1"
+ }
+ },
"node_modules/vuex": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/vuex/-/vuex-4.0.2.tgz",
diff --git a/package.json b/package.json
index 0e0db07..892b75a 100644
--- a/package.json
+++ b/package.json
@@ -8,6 +8,7 @@
"nprogress": "^0.2.0",
"vue": "^3.3.4",
"vue-router": "^4.5.0",
+ "vuedraggable": "^4.1.0",
"vuex": "^4.0.2"
},
"devDependencies": {
diff --git a/src/utils/request.js b/src/utils/request.js
index 5d06938..2bd4d83 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -3,7 +3,10 @@ import { message } from 'ant-design-vue'
const request = axios.create({
baseURL: 'http://127.0.0.1:8000',
- timeout: 5000
+ timeout: 5000,
+ headers: {
+ 'Content-Type': 'application/json'
+ }
})
// 请求拦截器
@@ -13,6 +16,12 @@ request.interceptors.request.use(
if (token) {
config.headers.authorization = `Bearer ${token}`
}
+
+ // 处理文件上传
+ if (config.data instanceof FormData) {
+ delete config.headers['Content-Type']
+ }
+
return config
},
error => {
@@ -23,7 +32,13 @@ request.interceptors.request.use(
// 响应拦截器
request.interceptors.response.use(
response => {
- return response.data
+ const res = response.data
+ if (res.code === 200) {
+ return res
+ } else {
+ message.error(res.message || '请求失败')
+ return Promise.reject(new Error(res.message || '请求失败'))
+ }
},
error => {
message.error(error.response?.data?.message || '请求失败')
diff --git a/src/views/merchant/List.vue b/src/views/merchant/List.vue
index 68091b0..ad02b6f 100644
--- a/src/views/merchant/List.vue
+++ b/src/views/merchant/List.vue
@@ -42,10 +42,49 @@
-
+
+
+
+
+
+
+
+
![]()
+
+
+
+
+
+
+
@@ -126,22 +165,6 @@
/>
-
-
-
-
-
-
@@ -160,15 +183,19 @@