1、ajax es6

master
wangbing 6 years ago
parent 219cbb7fa5
commit 00617c7a8c

@ -656,6 +656,7 @@ public class SpringBootCallable implements Callable {
{//js文件 {//js文件
freeMarkerManager.outputTemp(new File(js.getAbsolutePath(), "ajax.js"), option + "/resources/static/js/ajax.js", ctx); freeMarkerManager.outputTemp(new File(js.getAbsolutePath(), "ajax.js"), option + "/resources/static/js/ajax.js", ctx);
freeMarkerManager.outputTemp(new File(js.getAbsolutePath(), "ajax_es6.js"), option + "/resources/static/js/ajax_es6.js", ctx);
} }
{//img {//img
Tool.outputResource(option + "/resources/static/img/logo.png", new File(img.getAbsolutePath(), "logo.png")); Tool.outputResource(option + "/resources/static/img/logo.png", new File(img.getAbsolutePath(), "logo.png"));

@ -1,164 +1,159 @@
import axios from 'axios' import axios from 'axios'
//创建axios实例 // 创建axios实例
const instance = axios.create({ const service = axios.create({
method: 'post', baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url
timeout: 30000, withCredentials: true, // send cookies when cross-domain requests
}); method: 'post', // request method
timeout: 5000 // request timeout
})
// 添加请求拦截器 // 添加请求拦截器
instance.interceptors.request.use(function (config) { service.interceptors.request.use(config => {
// 在发送请求之前做些什么 // 在发送请求之前做些什么
if (config.url == '/upload') { if (config.url === '/upload') {
console.log()
} else { } else {
console.log()
} }
return config; return config
}, function (error) { }, error => {
// 对请求错误做些什么 // 对请求错误做些什么
return Promise.reject(error); return Promise.reject(error)
}); })
// 添加响应拦截器 // 添加响应拦截器
instance.interceptors.response.use(function (response) { service.interceptors.response.use(response => {
// 对响应数据做点什么 // 对响应数据做点什么
try {//确保服务器正确返回Json return response
if(response.data.errors.length > 0){ }, error => {
console.error(response.data.errors) // 对响应错误做点什么
} const rsp = { errors: [] }
}catch (e){ if (!error.response) {
response.data = {errors: [{message: '服务器错误'}]}; rsp.errors.push({ message: error.message })
} else {
switch (error.response.status) {
case 401:
rsp.errors.push({ message: '未授权,请登录(401)' })
break
case 403:
rsp.errors.push({ message: '拒绝访问(403)' })
break
case 404:
rsp.errors.push({ message: '请求地址错误(404)' })
break
case 408:
rsp.errors.push({ message: '请求超时(408)' })
break
case 500:
rsp.errors.push({ message: '服务器内部错误(500)' })
break
case 501:
rsp.errors.push({ message: '服务未实现(501)' })
break
default:
rsp.errors.push({ message: '请求错误(' + error.response.status + ')' })
break
} }
return response; }
}, function (error) { return Promise.reject(rsp)
// 对响应错误做点什么,保准化返回结果 })
const rsp = {errors: []}; export function jsonRequest(config) {
if (!error.response) { return service.request({
rsp.errors.push({message: error.message}); params: {
} else { method: config.method
switch (error.response.status) { },
case 401: url: '/ajax',
rsp.errors.push({message: "未授权,请登录(401)"}); headers: { 'Content-Type': 'text/plain' },
break data: config.data
case 403: }).then(response => {
rsp.errors.push({message: "拒绝访问(403)"}); return Promise.resolve(response.data)
break }, response => {
case 404: return Promise.resolve(response)
rsp.errors.push({message: "请求地址错误(404)"}); })
break }
case 408: export function fileRequest(config) {
rsp.errors.push({message: "请求超时(408)"}); return service.request({
break url: '/upload',
case 500: data: config.data,
rsp.errors.push({message: "服务器内部错误(500)"}); headers: { 'Content-Type': 'multipart/form-data' },
break onUploadProgress: progressEvent => {
case 501: console.log((progressEvent.loaded / progressEvent.total * 100 | 0) + '%')
rsp.errors.push({message: "服务未实现(501)"});
break
default:
rsp.errors.push({message: "请求错误(" + error.response.status + ")"});
break
}
} }
return Promise.reject(rsp); }).then(response => {
}); return Promise.resolve(response.data)
let jsonRequest = function (config) { }, response => {
return instance.request({ return Promise.resolve(response)
params: { })
method: config.method }
},
url: '${contextPath?default("")}/ajax', const ajax = {
headers: {'Content-Type': 'text/plain'}, example: data => {
data: config.data return jsonRequest({
}).then(function (response) { method: 'ajax.example.example',
return Promise.resolve(response.data); data: data
}, function (response) {
return Promise.resolve(response);
}) })
}; },
let fileRequest = function (config) { fileUpload: file => {
return instance.request({ const fd = new FormData()
url: '${contextPath?default("")}/upload', fd.append('file', file)
data: config.data, return fileRequest({
headers: {'Content-Type': 'multipart/form-data'}, data: fd
onUploadProgress: function (progressEvent) {
var complete = (progressEvent.loaded / progressEvent.total * 100 | 0) + '%'
nav.tip.show("上传中(" + complete + ")")
}
}).then(function (response) {
return Promise.resolve(response.data);
}, function (response) {
return Promise.resolve(response);
}) })
}; },
let ajax = {
example: function (data) {
return jsonRequest({
method: "ajax.example.example",
data: data
})
},
fileUpload: function (file) {
var fd = new FormData();
fd.append("file", file);
return fileRequest({
data: fd
})
},
<#list modules as db> <#list modules as db>
<#list db.tables as table> <#list db.tables as table>
<#if table.getCreate()> <#if table.getCreate()>
${table.getFName()}Create: function (data) { ${table.getFName()}Create: data => {
return jsonRequest({ return jsonRequest({
method:"ajax.${db.moduleName}.${table.getLName()}.create", method:'ajax.${db.moduleName}.${table.getLName()}.create',
data: JSON.stringify(data), data: JSON.stringify(data),
}) })
}, },
</#if> </#if>
<#if table.getDelete()> <#if table.getDelete()>
${table.getFName()}Delete: function (data) { ${table.getFName()}Delete: data => {
return jsonRequest({ return jsonRequest({
method:"ajax.${db.moduleName}.${table.getLName()}.delete", method:'ajax.${db.moduleName}.${table.getLName()}.delete',
data: JSON.stringify(data), data: JSON.stringify(data),
}) })
}, },
</#if> </#if>
<#if table.getUpdate()> <#if table.getUpdate()>
${table.getFName()}Update: function (data) { ${table.getFName()}Update: data => {
return jsonRequest({ return jsonRequest({
method:"ajax.${db.moduleName}.${table.getLName()}.update", method:'ajax.${db.moduleName}.${table.getLName()}.update',
data: JSON.stringify(data), data: JSON.stringify(data),
}) })
}, },
</#if> </#if>
<#if table.getFind()> <#if table.getFind()>
${table.getFName()}Find: function (data) { ${table.getFName()}Find: data => {
return jsonRequest({ return jsonRequest({
method:"ajax.${db.moduleName}.${table.getLName()}.find", method:'ajax.${db.moduleName}.${table.getLName()}.find',
data: JSON.stringify(data), data: JSON.stringify(data),
}) })
}, },
</#if> </#if>
<#if table.getGet()> <#if table.getGet()>
${table.getFName()}Get: function(data) { ${table.getFName()}Get: data => {
return jsonRequest({ return jsonRequest({
method:"ajax.${db.moduleName}.${table.getLName()}.get", method:'ajax.${db.moduleName}.${table.getLName()}.get',
data: JSON.stringify(data), data: JSON.stringify(data),
}) })
}, },
</#if> </#if>
<#if table.getSearch()> <#if table.getSearch()>
${table.getFName()}Search: function (data) { ${table.getFName()}Search: data => {
return jsonRequest({ return jsonRequest({
method:"ajax.${db.moduleName}.${table.getLName()}.search", method:'ajax.${db.moduleName}.${table.getLName()}.search',
data: JSON.stringify(data), data: JSON.stringify(data),
}) })
}, },
</#if> </#if>
<#if table.getGetAll()> <#if table.getGetAll()>
${table.getFName()}GetAll: function (data) { ${table.getFName()}GetAll: data => {
return jsonRequest({ return jsonRequest({
method:"ajax.${db.moduleName}.${table.getLName()}.get.all", method:'ajax.${db.moduleName}.${table.getLName()}.get.all',
data: JSON.stringify(data), data: JSON.stringify(data),
}) })
}, },

Loading…
Cancel
Save

Powered by TurnKey Linux.