Commit f5908581 authored by 罗超's avatar 罗超

1

parent 17b724aa
......@@ -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
......@@ -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,
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment