Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
H
horse
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
向伟
horse
Commits
f5908581
Commit
f5908581
authored
Nov 11, 2021
by
罗超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
17b724aa
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
121 additions
and
186 deletions
+121
-186
axios.ts
src/api/axios.ts
+113
-111
customerField.vue
src/pages/customer/components/customerField.vue
+8
-75
No files found.
src/api/axios.ts
View file @
f5908581
...
...
@@ -6,66 +6,66 @@ import { Notify } from 'quasar'
/**
* get status code
* @param {AxiosResponse} response Axios
response object
* @param {AxiosResponse} response Axios response object
*/
const
getErrorCode2text
=
(
response
:
AxiosResponse
):
string
=>
{
/** http status code */
const
code
=
response
.
status
/** notice text */
let
message
=
'Request Error'
switch
(
code
)
{
case
400
:
message
=
'Request Error'
break
case
401
:
message
=
'Unauthorized, please login'
break
case
403
:
message
=
'拒绝访问'
break
case
404
:
message
=
'访问资源不存在'
break
case
408
:
message
=
'请求超时'
break
case
500
:
message
=
'位置错误'
break
case
501
:
message
=
'承载服务未实现'
break
case
502
:
message
=
'网关错误'
break
case
503
:
message
=
'服务暂不可用'
break
case
504
:
message
=
'网关超时'
break
case
505
:
message
=
'暂不支持的 HTTP 版本'
break
default
:
message
=
'位置错误'
}
return
message
/** http status code */
const
code
=
response
.
status
/** notice text */
let
message
=
'Request Error'
switch
(
code
)
{
case
400
:
message
=
'Request Error'
break
case
401
:
message
=
'Unauthorized, please login'
break
case
403
:
message
=
'拒绝访问'
break
case
404
:
message
=
'访问资源不存在'
break
case
408
:
message
=
'请求超时'
break
case
500
:
message
=
'位置错误'
break
case
501
:
message
=
'承载服务未实现'
break
case
502
:
message
=
'网关错误'
break
case
503
:
message
=
'服务暂不可用'
break
case
504
:
message
=
'网关超时'
break
case
505
:
message
=
'暂不支持的 HTTP 版本'
break
default
:
message
=
'位置错误'
}
return
message
}
/**
* @returns
{AxiosResponse} result
* @returns {AxiosResponse} result
* @tutorial see more:https://github.com/onlyling/some-demo/tree/master/typescript-width-axios
* @example
* service.get<{data: string; code: number}>('/test').then(({data}) => { console.log(data.code) })
*/
const
service
=
Axios
.
create
({
baseURL
:
process
.
env
.
BASE_APP_API
,
timeout
:
10000
,
headers
:
{
'User-Type'
:
'bus'
,
'Content-Type'
:
'application/json;charset=UTF-8'
}
baseURL
:
process
.
env
.
BASE_APP_API
,
timeout
:
10000
,
headers
:
{
'User-Type'
:
'bus'
,
'Content-Type'
:
'application/json;charset=UTF-8'
}
})
/**
...
...
@@ -73,32 +73,32 @@ const service = Axios.create({
* @returns {AxiosRequestConfig} config
*/
service
.
interceptors
.
request
.
use
(
async
(
config
:
AxiosRequestConfig
)
=>
{
//
如果是获取token接口:
if
(
config
.
url
===
'/auth/oauth/token'
)
{
//TODO:用户登录的特殊处理,
}
else
{
// 如果保存有token,则取,否则不添加Authorization
if
(
localStorage
.
vuex
&&
JSON
.
parse
(
localStorage
.
vuex
).
user
?.
token
)
{
//TODO:Access_TOKEN 的获取,需要根据实际业务情况进行调整
const
token
=
Store
.
state
.
user
?.
token
// const tokenType = token.token_type
const
accessToken
=
token
.
access_token
config
.
headers
.
Token
=
`
${
accessToken
}
`
}
async
(
config
:
AxiosRequestConfig
)
=>
{
//
如果是获取token接口:
if
(
config
.
url
===
'/auth/oauth/token'
)
{
//TODO:用户登录的特殊处理,
}
else
{
// 如果保存有token,则取,否则不添加Authorization
if
(
localStorage
.
vuex
&&
JSON
.
parse
(
localStorage
.
vuex
).
user
?.
token
)
{
//TODO:Access_TOKEN 的获取,需要根据实际业务情况进行调整
const
token
=
Store
.
state
.
user
?.
token
// const tokenType = token.token_type
const
accessToken
=
token
.
access_token
config
.
headers
.
Token
=
`
${
accessToken
}
`
}
//TODO:包装一层MSG,但是微服务应该去掉此步骤
config
.
data
=
{
Msg
:
config
.
data
}
}
//TODO:包装一层MSG,但是微服务应该去掉此步骤
config
.
data
=
{
Msg
:
config
.
data
}
}
return
config
},
error
=>
{
//TODO:
新增网络请求异常处理业务
return
Promise
.
reject
(
error
)
}
return
config
},
error
=>
{
//TODO:
新增网络请求异常处理业务
return
Promise
.
reject
(
error
)
}
)
/**
...
...
@@ -106,46 +106,48 @@ service.interceptors.request.use(
* @returns {}
*/
service
.
interceptors
.
response
.
use
(
/** 请求有响应 */
async
(
response
:
AxiosResponse
)
=>
{
if
(
response
.
status
===
200
)
{
return
Promise
.
resolve
(
response
)
}
else
{
const
__text
=
getErrorCode2text
(
response
)
return
Promise
.
reject
(
new
Error
(
__text
))
}
},
/** 请求无响应 */
(
error
:
AxiosError
)
=>
{
let
__emsg
:
string
=
error
.
message
||
''
/** 请求有响应 */
async
(
response
:
AxiosResponse
)
=>
{
if
(
response
.
status
===
200
)
{
if
(
response
.
data
.
Code
===
1
)
{
return
Promise
.
resolve
(
response
)
}
}
else
{
const
__text
=
getErrorCode2text
(
response
)
return
Promise
.
reject
(
new
Error
(
__text
))
}
},
/** 请求无响应 */
(
error
:
AxiosError
)
=>
{
let
__emsg
:
string
=
error
.
message
||
''
if
(
error
.
message
)
{
__emsg
=
error
.
message
}
if
(
error
.
message
)
{
__emsg
=
error
.
message
}
if
(
error
.
response
)
{
__emsg
=
error
.
response
.
data
.
message
?
error
.
response
.
data
.
message
:
error
.
response
.
data
.
data
}
// timeout
if
(
__emsg
.
indexOf
(
'timeout'
)
>=
0
)
{
__emsg
=
'timeout'
}
if
(
error
.
response
)
{
__emsg
=
error
.
response
.
data
.
message
?
error
.
response
.
data
.
message
:
error
.
response
.
data
.
data
}
// timeout
if
(
__emsg
.
indexOf
(
'timeout'
)
>=
0
)
{
__emsg
=
'timeout'
}
//TODO: 结合接口实际情况进行权限判断
if
(
error
?.
response
?.
status
===
401
)
{
if
(
router
.
currentRoute
.
value
.
path
!==
'/entry/login'
)
{
Notify
.
create
({
message
:
'登录凭证已过期,请重新登录'
,
color
:
'warning'
,
textColor
:
'dark'
,
icon
:
'announcement'
})
router
.
push
(
'/entry/login'
)
}
return
Promise
.
reject
(
new
Error
(
'401'
))
}
return
Promise
.
reject
(
new
Error
(
__emsg
))
}
//TODO: 结合接口实际情况进行权限判断
if
(
error
?.
response
?.
status
===
401
)
{
if
(
router
.
currentRoute
.
value
.
path
!==
'/entry/login'
)
{
Notify
.
create
({
message
:
'登录凭证已过期,请重新登录'
,
color
:
'warning'
,
textColor
:
'dark'
,
icon
:
'announcement'
})
router
.
push
(
'/entry/login'
)
}
return
Promise
.
reject
(
new
Error
(
'401'
))
}
return
Promise
.
reject
(
new
Error
(
__emsg
))
}
)
export
default
service
src/pages/customer/components/customerField.vue
View file @
f5908581
...
...
@@ -16,7 +16,7 @@
<tr
v-if=
"data && data.length==0"
>
<td
:colspan=
"8"
align=
"center"
>
暂无数据
</td>
</tr>
<draggable
v-model=
"data"
tag=
"tbody"
item-key=
"Id"
@
update=
"datadragEnd"
>
<draggable
v-model=
"data"
tag=
"tbody"
item-key=
"Id"
@
update=
"datadragEnd"
:clone=
"cloneFun"
>
<template
#
item=
"
{ element }">
<tr>
<td><span>
{{
element
.
Name
}}
</span></td>
...
...
@@ -57,88 +57,21 @@
</div>
</template>
<
script
lang=
"ts"
>
import
{
defineComponent
,
onMounted
}
from
'vue'
import
{
defineComponent
,
ref
,
onMounted
}
from
'vue'
import
customerService
from
'@/api/customer'
import
draggable
from
"vuedraggable"
;
export
default
defineComponent
({
components
:
{
draggable
},
setup
()
{
const
data
=
[{
DeptId
:
0
,
DeptName
:
"-"
,
Digits
:
0
,
Enable
:
1
,
Id
:
21
,
InputType
:
"2"
,
IsDefault
:
0
,
IsLock
:
0
,
IsSystem
:
0
,
Name
:
"姓名"
,
Options
:
"[
\
r
\n
{
\
r
\n
\"
Id
\"
: 0,
\
r
\n
\"
Name
\"
:
\"\"
\
r
\n
}
\
r
\n
]"
,
OptionsList
:
[{
Id
:
0
,
Name
:
""
}],
Required
:
1
,
Sort
:
1
,
Type
:
1
,
TypeName
:
"单行文本"
,
UpdateBy
:
1
,
UpdateByName
:
"管理员"
,
UpdateTime
:
"2021-09-28 11:06:00"
,
WordNum
:
11
,
},
{
DeptId
:
0
,
DeptName
:
"-"
,
Digits
:
0
,
Enable
:
1
,
Id
:
15
,
InputType
:
"1"
,
IsDefault
:
0
,
IsLock
:
0
,
IsSystem
:
0
,
Name
:
"性别"
,
Options
:
"[
\
r
\n
{
\
r
\n
\"
Id
\"
: 1,
\
r
\n
\"
Name
\"
:
\"
男
\"
\
r
\n
},
\
r
\n
{
\
r
\n
\"
Id
\"
: 2,
\
r
\n
\"
Name
\"
:
\"
女
\"
\
r
\n
}
\
r
\n
]"
,
OptionsList
:
[{
Id
:
1
,
Name
:
"男"
},
{
Id
:
2
,
Name
:
"女"
}],
Required
:
1
,
Sort
:
5
,
Type
:
3
,
TypeName
:
"单选"
,
UpdateBy
:
1
,
UpdateByName
:
"管理员"
,
UpdateTime
:
"2021-09-28 11:08:19"
,
WordNum
:
1
,
},{
DeptId
:
0
,
DeptName
:
"-"
,
Digits
:
0
,
Enable
:
1
,
Id
:
13
,
InputType
:
"1"
,
IsDefault
:
0
,
IsLock
:
0
,
IsSystem
:
0
,
Name
:
"性别2"
,
Options
:
"[
\
r
\n
{
\
r
\n
\"
Id
\"
: 1,
\
r
\n
\"
Name
\"
:
\"
男
\"
\
r
\n
},
\
r
\n
{
\
r
\n
\"
Id
\"
: 2,
\
r
\n
\"
Name
\"
:
\"
女
\"
\
r
\n
}
\
r
\n
]"
,
OptionsList
:
[{
Id
:
1
,
Name
:
"男"
},
{
Id
:
2
,
Name
:
"女"
}],
Required
:
1
,
Sort
:
5
,
Type
:
3
,
TypeName
:
"单选2"
,
UpdateBy
:
1
,
UpdateByName
:
"管理员2"
,
UpdateTime
:
"2021-09-28 11:08:19"
,
WordNum
:
1
,
}];
const
data
=
ref
([]);
const
changePage
=
()
=>
{
customerService
.
getCustomerFiledList
({
Enable
:
-
1
}).
then
((
res
)
=>
{
console
.
log
(
res
)
console
.
log
(
132
,
res
)
data
.
value
=
res
.
data
.
Data
})
}
// const getdata = (e) => {
// console.log(e,'拖动中的元素')
// }
const
datadragEnd
=
()
=>
{
console
.
log
(
'拖动结束'
)
const
datadragEnd
=
(
e
:
any
)
=>
{
console
.
log
(
'拖动结束'
,
e
)
}
onMounted
(()
=>
{
...
...
@@ -148,7 +81,7 @@
return
{
data
,
changePage
,
datadragEnd
datadragEnd
,
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment