Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
schbrain-archetype-initializer
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Incidents
Environments
Packages & Registries
Packages & Registries
Package Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
tools
schbrain-archetype-initializer
Commits
770a7258
Commit
770a7258
authored
Mar 20, 2022
by
zhangdd
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:接口请求处理
Signed-off-by:
zhangdd
<
86431843@qq.com
>
parent
032e8317
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
57 additions
and
2 deletions
+57
-2
initializer-ui/.gitignore
initializer-ui/.gitignore
+2
-1
initializer-ui/package.json
initializer-ui/package.json
+2
-1
initializer-ui/src/components/BackendStarter.vue
initializer-ui/src/components/BackendStarter.vue
+6
-0
initializer-ui/src/main.js
initializer-ui/src/main.js
+2
-0
initializer-ui/src/util/loading.js
initializer-ui/src/util/loading.js
+35
-0
initializer-ui/src/util/request.js
initializer-ui/src/util/request.js
+10
-0
No files found.
initializer-ui/.gitignore
View file @
770a7258
...
...
@@ -22,3 +22,4 @@ pnpm-debug.log*
*.njsproj
*.sln
*.sw?
package-lock.json
\ No newline at end of file
initializer-ui/package.json
View file @
770a7258
...
...
@@ -11,6 +11,7 @@
"axios"
:
"^0.26.1"
,
"core-js"
:
"^3.21.1"
,
"vue"
:
"^3.2.31"
,
"element-plus"
:
"^2.1.4"
,
"vue-router"
:
"^4.0.14"
},
"devDependencies"
:
{
...
...
initializer-ui/src/components/BackendStarter.vue
View file @
770a7258
...
...
@@ -63,6 +63,12 @@ export default {
link
.
click
();
window
.
URL
.
revokeObjectURL
(
link
.
href
);
document
.
body
.
removeChild
(
link
);
},
error
=>
{
var
reader
=
new
FileReader
();
reader
.
readAsText
(
error
.
data
,
'
utf-8
'
);
reader
.
onload
=
function
(
e
)
{
alert
(
reader
.
result
)
}
})
}
}
...
...
initializer-ui/src/main.js
View file @
770a7258
import
{
createApp
}
from
'
vue
'
import
ElementPlus
from
'
element-plus
'
import
vRouter
from
'
./router
'
import
App
from
'
./App.vue
'
const
app
=
createApp
(
App
)
app
.
use
(
vRouter
)
app
.
use
(
ElementPlus
)
app
.
mount
(
'
#app
'
)
\ No newline at end of file
initializer-ui/src/util/loading.js
0 → 100644
View file @
770a7258
/**
* 全局loading效果:合并多次loading请求,避免重复请求
* 当调用一次showLoading,则次数+1;当次数为0时,则显示loading
* 当调用一次hideLoading,则次数-1; 当次数为0时,则结束loading
*/
import
{
ElLoading
}
from
'
element-plus
'
;
// 定义一个请求次数的变量,用来记录当前页面总共请求的次数
let
loadingRequestCount
=
0
;
// 初始化loading
let
loadingInstance
;
// 编写一个显示loading的函数 并且记录请求次数 ++
const
showLoading
=
(
target
)
=>
{
if
(
loadingRequestCount
===
0
)
{
// element的服务方式 target 我这边取的是表格class
// 类似整个表格loading和在表格配置v-loading一样的效果,这么做是全局实现了,不用每个页面单独去v-loading
loadingInstance
=
ElLoading
.
service
({
target
});
}
loadingRequestCount
++
}
// 编写一个隐藏loading的函数,并且记录请求次数 --
const
hideLoading
=
()
=>
{
if
(
loadingRequestCount
<=
0
)
return
loadingRequestCount
--
if
(
loadingRequestCount
===
0
)
{
loadingInstance
.
close
();
}
}
export
{
showLoading
,
hideLoading
}
\ No newline at end of file
initializer-ui/src/util/request.js
View file @
770a7258
import
axios
from
'
axios
'
;
import
{
showLoading
,
hideLoading
}
from
'
./loading
'
axios
.
defaults
.
baseURL
=
'
http://localhost:8080
'
axios
.
defaults
.
timeout
=
10000
...
...
@@ -6,11 +7,20 @@ axios.defaults.timeout = 10000
const
service
=
axios
.
create
()
service
.
interceptors
.
request
.
use
(
config
=>
{
showLoading
()
return
config
})
service
.
interceptors
.
response
.
use
(
response
=>
{
hideLoading
()
if
(
response
.
data
.
type
==
'
application/json
'
)
{
if
(
response
.
data
.
code
!=
200
)
{
return
Promise
.
reject
(
response
);
}
}
return
response
},
error
=>
{
})
export
default
service
\ No newline at end of file
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