Commit fda4f68c authored by liaozan's avatar liaozan 🏀

chore: add loading

parent c88197bd
...@@ -21,5 +21,4 @@ pnpm-debug.log* ...@@ -21,5 +21,4 @@ pnpm-debug.log*
*.ntvs* *.ntvs*
*.njsproj *.njsproj
*.sln *.sln
*.sw? *.sw?
package-lock.json \ No newline at end of file
\ No newline at end of file
<template> <template>
<div class="form"> <div id="form" class="form">
<p class="form-title">项目初始代码生成</p> <p class="form-title">项目初始代码生成</p>
<div class="form-div "> <div class="form-div">
<label class="form-label" for="input-packageName">GitlabUrl</label> <label class="form-label" for="input-packageName">GitlabUrl</label>
<input id="input-gitlabUrl" v-model="form.gitlabUrl" class="form-input" type="text"> <input id="input-gitlabUrl" v-model="form.gitlabUrl" class="form-input" type="text">
</div> </div>
<div class="form-div "> <div class="form-div">
<label class="form-label" for="input-group">Group</label> <label class="form-label" for="input-group">Group</label>
<input id="input-group" v-model="form.group" class="form-input" type="text"> <input id="input-group" v-model="form.group" class="form-input" type="text">
</div> </div>
<div class="form-div "> <div class="form-div">
<label class="form-label" for="input-artifact">Artifact</label> <label class="form-label" for="input-artifact">Artifact</label>
<input id="input-artifact" v-model="form.artifact" class="form-input" type="text"> <input id="input-artifact" v-model="form.artifact" class="form-input" type="text">
</div> </div>
<div class="form-div "> <div class="form-div">
<label class="form-label" for="input-projectName">Project Name</label> <label class="form-label" for="input-projectName">Project Name</label>
<input id="input-projectName" v-model="form.projectName" class="form-input" type="text"> <input id="input-projectName" v-model="form.projectName" class="form-input" type="text">
</div> </div>
<div class="form-div "> <div class="form-div">
<label class="form-label" for="input-packageName">Package name</label> <label class="form-label" for="input-packageName">Package name</label>
<input id="input-packageName" v-model="form.packageName" class="form-input" type="text"> <input id="input-packageName" v-model="form.packageName" class="form-input" type="text">
</div> </div>
...@@ -67,7 +67,7 @@ export default { ...@@ -67,7 +67,7 @@ export default {
window.URL.revokeObjectURL(link.href); window.URL.revokeObjectURL(link.href);
document.body.removeChild(link); document.body.removeChild(link);
}, error => { }, error => {
var reader = new FileReader(); const reader = new FileReader();
reader.readAsText(error.data, 'utf-8'); reader.readAsText(error.data, 'utf-8');
reader.onload = function (e) { reader.onload = function (e) {
alert(reader.result) alert(reader.result)
......
import {createApp} from 'vue' import {createApp} from 'vue'
import ElementPlus from 'element-plus' import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import vRouter from './router' import vRouter from './router'
import App from './App.vue' import App from './App.vue'
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* 当调用一次showLoading,则次数+1;当次数为0时,则显示loading * 当调用一次showLoading,则次数+1;当次数为0时,则显示loading
* 当调用一次hideLoading,则次数-1; 当次数为0时,则结束loading * 当调用一次hideLoading,则次数-1; 当次数为0时,则结束loading
*/ */
import { ElLoading } from 'element-plus'; import {ElLoading} from 'element-plus';
// 定义一个请求次数的变量,用来记录当前页面总共请求的次数 // 定义一个请求次数的变量,用来记录当前页面总共请求的次数
let loadingRequestCount = 0; let loadingRequestCount = 0;
...@@ -11,11 +11,9 @@ let loadingRequestCount = 0; ...@@ -11,11 +11,9 @@ let loadingRequestCount = 0;
let loadingInstance; let loadingInstance;
// 编写一个显示loading的函数 并且记录请求次数 ++ // 编写一个显示loading的函数 并且记录请求次数 ++
const showLoading = (target) => { const showLoading = () => {
if (loadingRequestCount === 0) { if (loadingRequestCount === 0) {
// element的服务方式 target 我这边取的是表格class loadingInstance = ElLoading.service({});
// 类似整个表格loading和在表格配置v-loading一样的效果,这么做是全局实现了,不用每个页面单独去v-loading
loadingInstance = ElLoading.service({ target });
} }
loadingRequestCount++ loadingRequestCount++
} }
......
import axios from 'axios'; import axios from 'axios';
import { showLoading, hideLoading } from './loading' import {hideLoading, showLoading} from './loading'
axios.defaults.baseURL = 'http://localhost:8080' axios.defaults.baseURL = 'http://localhost:8080'
axios.defaults.timeout = 10000 axios.defaults.timeout = 10000
...@@ -13,14 +13,12 @@ service.interceptors.request.use(config => { ...@@ -13,14 +13,12 @@ service.interceptors.request.use(config => {
service.interceptors.response.use(response => { service.interceptors.response.use(response => {
hideLoading() hideLoading()
if (response.data.type == 'application/json') { if (response.data.type === 'application/json') {
if (response.data.code != 200) { if (response.data.code !== 200) {
return Promise.reject(response); return Promise.reject(response);
} }
} }
return response return response
}, error => {
}) })
export default service export default service
\ No newline at end of file
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