Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
E
evm-store
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
wanli
evm-store
Commits
0aa0cd91
Commit
0aa0cd91
authored
Jul 17, 2021
by
wanli
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
🐞
fix(文件管理模块): 修复文件编辑器显示JSON异常问题
parent
03c95fdf
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
92 additions
and
27 deletions
+92
-27
tools/build_out/application/signal_manager.py
tools/build_out/application/signal_manager.py
+3
-2
tools/build_out/controllers/__init__.py
tools/build_out/controllers/__init__.py
+3
-1
tools/build_out/controllers/file.py
tools/build_out/controllers/file.py
+20
-3
tools/build_out/result.json
tools/build_out/result.json
+1
-1
tools/build_out/views/__init__.py
tools/build_out/views/__init__.py
+4
-2
tools/build_out/views/file.py
tools/build_out/views/file.py
+56
-9
tools/frontend/src/views/FileManager/FileManager.vue
tools/frontend/src/views/FileManager/FileManager.vue
+2
-2
tools/frontend/src/views/FileManager/components/modals/views/TextEdit.vue
...rc/views/FileManager/components/modals/views/TextEdit.vue
+1
-5
tools/frontend/vue.config.js
tools/frontend/vue.config.js
+2
-2
No files found.
tools/build_out/application/signal_manager.py
View file @
0aa0cd91
'''
'''
Author: your name
Author: your name
Date: 2021-06-30 18:03:41
Date: 2021-06-30 18:03:41
LastEditTime: 2021-07-1
5 17:10:43
LastEditTime: 2021-07-1
7 17:50:02
LastEditors: Please set LastEditors
LastEditors: Please set LastEditors
Description: In User Settings Edit
Description: In User Settings Edit
FilePath:
\
evm-store
\t
ools
\b
uild_out
\a
pplication
\
signal_manager.py
FilePath:
\
evm-store
\t
ools
\b
uild_out
\a
pplication
\
signal_manager.py
...
@@ -57,7 +57,8 @@ class SignalManager(object):
...
@@ -57,7 +57,8 @@ class SignalManager(object):
actionGetFileDisk
=
PySignal
()
actionGetFileDisk
=
PySignal
()
actionGetFileDown
=
PySignal
()
actionGetFileDown
=
PySignal
()
actionGetFilePreview
=
PySignal
()
actionGetFilePreview
=
PySignal
()
actionPostFileUpdate
=
PySignal
()
actionPostFileUpload
=
PySignal
()
def
__init__
(
self
):
def
__init__
(
self
):
super
()
.
__init__
()
super
()
.
__init__
()
...
...
tools/build_out/controllers/__init__.py
View file @
0aa0cd91
'''
'''
Author: your name
Author: your name
Date: 2021-06-30 17:43:46
Date: 2021-06-30 17:43:46
LastEditTime: 2021-07-1
5 17:10:33
LastEditTime: 2021-07-1
7 17:54:09
LastEditors: Please set LastEditors
LastEditors: Please set LastEditors
Description: In User Settings Edit
Description: In User Settings Edit
FilePath:
\
evm-store
\t
ools
\b
uild_out
\
controllers
\
__init__.py
FilePath:
\
evm-store
\t
ools
\b
uild_out
\
controllers
\
__init__.py
...
@@ -70,3 +70,5 @@ def initConnect():
...
@@ -70,3 +70,5 @@ def initConnect():
signalManager
.
actionGetFileInit
.
connect
(
fileManager
.
initialize
)
signalManager
.
actionGetFileInit
.
connect
(
fileManager
.
initialize
)
signalManager
.
actionGetFilePreview
.
connect
(
fileManager
.
preview
)
signalManager
.
actionGetFilePreview
.
connect
(
fileManager
.
preview
)
signalManager
.
actionGetFileTree
.
connect
(
fileManager
.
tree
)
signalManager
.
actionGetFileTree
.
connect
(
fileManager
.
tree
)
signalManager
.
actionPostFileUpdate
.
connect
(
fileManager
.
update_file
)
signalManager
.
actionPostFileUpload
.
connect
(
fileManager
.
upload
)
tools/build_out/controllers/file.py
View file @
0aa0cd91
...
@@ -9,8 +9,6 @@ from webcreator.response import ResponseCode
...
@@ -9,8 +9,6 @@ from webcreator.response import ResponseCode
disk_root
=
config
.
UPLOAD_ROOT_DIR
disk_root
=
config
.
UPLOAD_ROOT_DIR
logger
.
info
(
disk_root
)
class
FileManager
(
object
):
class
FileManager
(
object
):
def
__init__
(
self
)
->
None
:
def
__init__
(
self
)
->
None
:
pass
pass
...
@@ -185,8 +183,24 @@ class FileManager(object):
...
@@ -185,8 +183,24 @@ class FileManager(object):
logger
.
info
(
disk
)
logger
.
info
(
disk
)
return
True
,
ResponseCode
.
HTTP_SUCCESS
return
True
,
ResponseCode
.
HTTP_SUCCESS
def
update_file
(
self
,
disk
,
path
,
file
):
# update file
# 判断文件是否存在
target_dir
=
Path
(
disk_root
)
.
joinpath
(
disk
)
.
joinpath
(
path
)
if
not
target_dir
.
is_dir
():
return
False
,
ResponseCode
.
HTTP_INVAILD_REQUEST
if
not
target_dir
.
exists
():
target_dir
.
mkdir
()
target_file
=
target_dir
.
joinpath
(
file
.
filename
)
if
target_file
.
exists
():
if
not
target_file
.
is_file
():
return
False
,
ResponseCode
.
HTTP_INVAILD_REQUEST
target_file
.
unlink
()
file
.
save
(
target_file
.
resolve
()
.
as_posix
())
return
True
,
ResponseCode
.
HTTP_SUCCESS
def
upload
(
self
,
disk
):
def
upload
(
self
,
disk
):
#
select-disks
#
upload
logger
.
info
(
disk
)
logger
.
info
(
disk
)
return
True
,
ResponseCode
.
HTTP_SUCCESS
return
True
,
ResponseCode
.
HTTP_SUCCESS
...
@@ -237,6 +251,9 @@ class FileManager(object):
...
@@ -237,6 +251,9 @@ class FileManager(object):
mime
=
mimetypes
.
guess_type
(
target_file
.
resolve
()
.
as_posix
())[
0
]
mime
=
mimetypes
.
guess_type
(
target_file
.
resolve
()
.
as_posix
())[
0
]
content
=
target_file
.
read_text
(
encoding
=
"utf-8"
)
content
=
target_file
.
read_text
(
encoding
=
"utf-8"
)
if
mime
==
"application/json"
:
content
=
json
.
dumps
(
content
)
return
(
content
,
mime
),
ResponseCode
.
HTTP_SUCCESS
return
(
content
,
mime
),
ResponseCode
.
HTTP_SUCCESS
def
preview
(
self
,
disk
,
target_file
):
def
preview
(
self
,
disk
,
target_file
):
...
...
tools/build_out/result.json
View file @
0aa0cd91
{
"directories"
:
[{
"basename"
:
"evueapps"
,
"dirname"
:
"."
,
"path"
:
"evueapps"
,
"timestamp"
:
1618901644
,
"type"
:
"dir"
}],
"files"
:
[{
"basename"
:
"appjs.c"
,
"dirname"
:
"."
,
"extension"
:
"c"
,
"filename"
:
"appjs"
,
"path"
:
"appjs.c"
,
"size"
:
2145
,
"timestamp"
:
1625480571
,
"type"
:
"file"
},
{
"basename"
:
"result.json"
,
"dirname"
:
"."
,
"extension"
:
"json"
,
"filename"
:
"result"
,
"path"
:
"result.json"
,
"size"
:
394
,
"timestamp"
:
1624420270
,
"type"
:
"file"
}]}
{
"directories"
:
[{
"basename"
:
"evueapps"
,
"dirname"
:
"."
,
"path"
:
"evueapps"
,
"timestamp"
:
1618901644
,
"type"
:
"dir"
}],
"files"
:
[{
"basename"
:
"appjs.c"
,
"dirname"
:
"."
,
"extension"
:
"c"
,
"filename"
:
"appjs"
,
"path"
:
"appjs.c"
,
"size"
:
2145
,
"timestamp"
:
1625480571
,
"type"
:
"file"
},
{
"basename"
:
"codefresh-build-3.yaml"
,
"dirname"
:
"."
,
"extension"
:
"yaml"
,
"filename"
:
"codefresh-build-3"
,
"path"
:
"codefresh-build-3.yaml"
,
"size"
:
268
,
"timestamp"
:
1626516235
,
"type"
:
"file"
},
{
"basename"
:
"result -
\u
526f
\u
672c.json"
,
"dirname"
:
"."
,
"extension"
:
"json"
,
"filename"
:
"result -
\u
526f
\u
672c"
,
"path"
:
"result -
\u
526f
\u
672c.json"
,
"size"
:
302
,
"timestamp"
:
1626518687
,
"type"
:
"file"
},
{
"basename"
:
"result.json"
,
"dirname"
:
"."
,
"extension"
:
"json"
,
"filename"
:
"result"
,
"path"
:
"result.json"
,
"size"
:
407
,
"timestamp"
:
1626520437
,
"type"
:
"file"
}]}
\ No newline at end of file
\ No newline at end of file
tools/build_out/views/__init__.py
View file @
0aa0cd91
'''
'''
Author: your name
Author: your name
Date: 2021-07-15 03:22:19
Date: 2021-07-15 03:22:19
LastEditTime: 2021-07-1
5 17:45:32
LastEditTime: 2021-07-1
7 17:54:50
LastEditors: Please set LastEditors
LastEditors: Please set LastEditors
Description: In User Settings Edit
Description: In User Settings Edit
FilePath:
\
evm-store
\t
ools
\b
uild_out
\v
iews
\
__init__.py
FilePath:
\
evm-store
\t
ools
\b
uild_out
\v
iews
\
__init__.py
...
@@ -53,8 +53,10 @@ api.add_resource(annex.AnnexResourceList, '/annex')
...
@@ -53,8 +53,10 @@ api.add_resource(annex.AnnexResourceList, '/annex')
api
.
add_resource
(
file
.
FileInit
,
"/file-manager/initialize"
)
api
.
add_resource
(
file
.
FileInit
,
"/file-manager/initialize"
)
api
.
add_resource
(
file
.
FileContent
,
"/file-manager/content"
)
api
.
add_resource
(
file
.
FileContent
,
"/file-manager/content"
)
api
.
add_resource
(
file
.
FileDisk
,
"/file-manager/disk"
)
api
.
add_resource
(
file
.
FileDisk
,
"/file-manager/
select-
disk"
)
api
.
add_resource
(
file
.
FileTree
,
"/file-manager/tree"
)
api
.
add_resource
(
file
.
FileTree
,
"/file-manager/tree"
)
api
.
add_resource
(
file
.
FileUpdate
,
"/file-manager/update-file"
)
api
.
add_resource
(
file
.
FileUpload
,
"/file-manager/upload"
)
api
.
add_resource
(
file
.
FileDownload
,
"/file-manager/download"
)
api
.
add_resource
(
file
.
FileDownload
,
"/file-manager/download"
)
api
.
add_resource
(
file
.
FilePrview
,
"/file-manager/preview"
)
api
.
add_resource
(
file
.
FilePrview
,
"/file-manager/preview"
)
...
...
tools/build_out/views/file.py
View file @
0aa0cd91
'''
'''
Author: your name
Author: your name
Date: 2021-07-09 12:39:40
Date: 2021-07-09 12:39:40
LastEditTime: 2021-07-17 1
6:25:4
4
LastEditTime: 2021-07-17 1
9:56:0
4
LastEditors: Please set LastEditors
LastEditors: Please set LastEditors
Description: In User Settings Edit
Description: In User Settings Edit
FilePath:
\
evm-store
\t
ools
\b
uild_out
\v
iews
\f
ile.py
FilePath:
\
evm-store
\t
ools
\b
uild_out
\v
iews
\f
ile.py
'''
'''
import
traceback
import
traceback
from
pathlib
import
Path
from
flask
import
current_app
,
jsonify
,
request
,
make_response
,
Response
from
flask
import
current_app
,
jsonify
,
request
,
make_response
,
Response
from
flask_restful
import
Resource
from
flask_restful
import
Resource
from
werkzeug.datastructures
import
FileStorage
from
flask_restful.reqparse
import
RequestParser
from
flask_restful.reqparse
import
RequestParser
from
flask_jwt_extended
import
(
jwt_required
,
get_jwt_identity
)
from
flask_jwt_extended
import
(
jwt_required
,
get_jwt_identity
)
from
application.signal_manager
import
signalManager
from
application.signal_manager
import
signalManager
...
@@ -30,7 +32,7 @@ class FileInit(Resource):
...
@@ -30,7 +32,7 @@ class FileInit(Resource):
result
,
message
=
signalManager
.
actionGetFileInit
.
emit
()
result
,
message
=
signalManager
.
actionGetFileInit
.
emit
()
if
result
:
if
result
:
return
{
'config'
:
result
,
'result'
:
{
'message'
:
None
,
'status'
:
"success"
}
}
return
{
'config'
:
result
,
'result'
:
{
'message'
:
None
,
'status'
:
"success"
}
}
return
response_result
(
message
)
return
{
'information'
:
list
(
message
),
'result'
:
{
'message'
:
"no data"
,
'status'
:
"fail"
}
}
except
Exception
as
e
:
except
Exception
as
e
:
current_app
.
logger
.
error
(
e
)
current_app
.
logger
.
error
(
e
)
return
response_result
(
ResponseCode
.
HTTP_SERVER_ERROR
)
return
response_result
(
ResponseCode
.
HTTP_SERVER_ERROR
)
...
@@ -54,7 +56,7 @@ class FileContent(Resource):
...
@@ -54,7 +56,7 @@ class FileContent(Resource):
response
=
{
'result'
:
{
'message'
:
None
,
'status'
:
"success"
}
}
response
=
{
'result'
:
{
'message'
:
None
,
'status'
:
"success"
}
}
response
.
update
(
result
)
response
.
update
(
result
)
return
response
return
response
return
response_result
(
message
)
return
{
'information'
:
list
(
message
),
'result'
:
{
'message'
:
"no data"
,
'status'
:
"fail"
}
}
except
Exception
as
e
:
except
Exception
as
e
:
traceback
.
print_exc
()
traceback
.
print_exc
()
current_app
.
logger
.
error
(
e
)
current_app
.
logger
.
error
(
e
)
...
@@ -78,7 +80,7 @@ class FileTree(Resource):
...
@@ -78,7 +80,7 @@ class FileTree(Resource):
response
=
{
'result'
:
{
'message'
:
None
,
'status'
:
"success"
},
'directories'
:
None
}
response
=
{
'result'
:
{
'message'
:
None
,
'status'
:
"success"
},
'directories'
:
None
}
response
.
update
({
'directories'
:
result
})
response
.
update
({
'directories'
:
result
})
return
response
return
response
return
response_result
(
message
)
return
{
'information'
:
list
(
message
),
'result'
:
{
'message'
:
"no data"
,
'status'
:
"fail"
}
}
except
Exception
as
e
:
except
Exception
as
e
:
traceback
.
print_exc
()
traceback
.
print_exc
()
current_app
.
logger
.
error
(
e
)
current_app
.
logger
.
error
(
e
)
...
@@ -91,15 +93,58 @@ class FileDisk(Resource):
...
@@ -91,15 +93,58 @@ class FileDisk(Resource):
def
get
(
self
):
def
get
(
self
):
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
self
.
parser
.
add_argument
(
"disk"
,
type
=
str
,
location
=
"args"
,
required
=
True
)
self
.
parser
.
add_argument
(
"path"
,
type
=
str
,
location
=
"args"
,
required
=
False
)
args
=
self
.
parser
.
parse_args
()
try
:
result
,
message
=
signalManager
.
actionGetFileDisk
.
emit
(
args
.
disk
)
if
result
:
return
{
'information'
:
list
(
message
),
'result'
:
{
'message'
:
"Disk selected!"
,
'status'
:
"success"
}
}
return
{
'information'
:
list
(
message
),
'result'
:
{
'message'
:
"no data"
,
'status'
:
"fail"
}
}
except
Exception
as
e
:
current_app
.
logger
.
error
(
e
)
return
response_result
(
ResponseCode
.
HTTP_SERVER_ERROR
)
class
FileUpdate
(
Resource
):
def
__init__
(
self
):
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
self
.
parser
=
RequestParser
()
def
post
(
self
):
self
.
parser
.
add_argument
(
"disk"
,
type
=
str
,
location
=
"args"
,
required
=
True
)
self
.
parser
.
add_argument
(
"path"
,
type
=
str
,
location
=
"args"
,
required
=
True
)
self
.
parser
.
add_argument
(
"file"
,
type
=
FileStorage
,
location
=
"files"
,
required
=
True
)
args
=
self
.
parser
.
parse_args
()
try
:
file
=
request
.
files
.
get
(
"file"
)
# args.get('file')
result
,
message
=
signalManager
.
actionPostFileUpdate
.
emit
(
args
.
disk
,
args
.
path
,
file
)
if
result
:
return
{
'config'
:
result
,
'result'
:
{
'message'
:
None
,
'status'
:
"success"
}
}
return
{
'information'
:
list
(
message
),
'result'
:
{
'message'
:
"no data"
,
'status'
:
"fail"
}
}
except
Exception
as
e
:
current_app
.
logger
.
error
(
e
)
return
response_result
(
ResponseCode
.
HTTP_SERVER_ERROR
)
class
FileUpload
(
Resource
):
def
__init__
(
self
):
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
self
.
parser
=
RequestParser
()
def
get
(
self
):
self
.
parser
.
add_argument
(
"disk"
,
type
=
str
,
location
=
"args"
,
required
=
True
)
self
.
parser
.
add_argument
(
"disk"
,
type
=
str
,
location
=
"args"
,
required
=
True
)
self
.
parser
.
add_argument
(
"path"
,
type
=
str
,
location
=
"args"
,
required
=
True
)
self
.
parser
.
add_argument
(
"path"
,
type
=
str
,
location
=
"args"
,
required
=
True
)
self
.
parser
.
add_argument
(
"overwrite"
,
type
=
int
,
location
=
"args"
,
default
=
0
,
required
=
True
)
self
.
parser
.
add_argument
(
"files"
,
type
=
FileStorage
,
location
=
"files"
,
required
=
True
)
args
=
self
.
parser
.
parse_args
()
args
=
self
.
parser
.
parse_args
()
try
:
try
:
result
,
message
=
signalManager
.
actionGetFileDisk
.
emit
(
args
.
disk
,
args
.
path
)
fileList
=
request
.
files
.
getlist
(
'fileList'
)
result
,
message
=
signalManager
.
actionPostFileUpload
.
emit
()
if
result
:
if
result
:
return
response_result
(
ResponseCode
.
HTTP_SUCCESS
,
data
=
result
)
return
{
'config'
:
result
,
'result'
:
{
'message'
:
None
,
'status'
:
"success"
}
}
return
response_result
(
message
)
return
{
'information'
:
list
(
message
),
'result'
:
{
'message'
:
"no data"
,
'status'
:
"fail"
}
}
except
Exception
as
e
:
except
Exception
as
e
:
current_app
.
logger
.
error
(
e
)
current_app
.
logger
.
error
(
e
)
return
response_result
(
ResponseCode
.
HTTP_SERVER_ERROR
)
return
response_result
(
ResponseCode
.
HTTP_SERVER_ERROR
)
...
@@ -116,13 +161,15 @@ class FileDownload(Resource):
...
@@ -116,13 +161,15 @@ class FileDownload(Resource):
args
=
self
.
parser
.
parse_args
()
args
=
self
.
parser
.
parse_args
()
try
:
try
:
logger
.
info
(
args
.
path
)
result
,
message
=
signalManager
.
actionGetFileDown
.
emit
(
args
.
disk
,
args
.
path
)
result
,
message
=
signalManager
.
actionGetFileDown
.
emit
(
args
.
disk
,
args
.
path
)
if
result
:
if
result
:
resp
,
mime
=
result
resp
,
mime
=
result
# return Response(resp, mimetype='text/xml')
# return Response(resp, mimetype='text/xml')
return
Response
(
resp
,
content_type
=
'{}; charset=utf-8'
.
format
(
mime
))
return
Response
(
resp
,
content_type
=
'{}; charset=utf-8'
.
format
(
mime
))
return
response_result
(
message
)
return
{
'information'
:
list
(
message
),
'result'
:
{
'message'
:
"no data"
,
'status'
:
"fail"
}
}
except
Exception
as
e
:
except
Exception
as
e
:
traceback
.
print_exc
()
current_app
.
logger
.
error
(
e
)
current_app
.
logger
.
error
(
e
)
return
response_result
(
ResponseCode
.
HTTP_SERVER_ERROR
)
return
response_result
(
ResponseCode
.
HTTP_SERVER_ERROR
)
...
@@ -146,7 +193,7 @@ class FilePrview(Resource):
...
@@ -146,7 +193,7 @@ class FilePrview(Resource):
resp
=
make_response
(
content
)
resp
=
make_response
(
content
)
resp
.
mimetype
=
mime
resp
.
mimetype
=
mime
return
resp
return
resp
return
response_result
(
message
)
return
{
'information'
:
list
(
message
),
'result'
:
{
'message'
:
"no data"
,
'status'
:
"fail"
}
}
except
Exception
as
e
:
except
Exception
as
e
:
traceback
.
print_exc
()
traceback
.
print_exc
()
current_app
.
logger
.
error
(
e
)
current_app
.
logger
.
error
(
e
)
...
...
tools/frontend/src/views/FileManager/FileManager.vue
View file @
0aa0cd91
...
@@ -75,9 +75,9 @@ export default {
...
@@ -75,9 +75,9 @@ export default {
settings
:
{
settings
:
{
headers
:
{
// axios headers
headers
:
{
// axios headers
"
X-Requested-With
"
:
"
XMLHttpRequest
"
,
"
X-Requested-With
"
:
"
XMLHttpRequest
"
,
// Authorization: `Bearer ${window.localStorage.getItem("user-toke
n")}`,
Authorization
:
`Bearer
${
window
.
sessionStorage
.
getItem
(
"
Authorizatio
n
"
)}
`
,
},
},
baseUrl
:
"
/file-manager/
"
,
// overwrite base url Axios
baseUrl
:
"
/
api/v1/
file-manager/
"
,
// overwrite base url Axios
windowsConfig
:
2
,
// overwrite config
windowsConfig
:
2
,
// overwrite config
lang
:
"
zh_CN
"
,
// set language
lang
:
"
zh_CN
"
,
// set language
},
},
...
...
tools/frontend/src/views/FileManager/components/modals/views/TextEdit.vue
View file @
0aa0cd91
...
@@ -60,11 +60,7 @@ export default {
...
@@ -60,11 +60,7 @@ export default {
path
:
this
.
selectedItem
.
path
,
path
:
this
.
selectedItem
.
path
,
}).
then
((
response
)
=>
{
}).
then
((
response
)
=>
{
// add code
// add code
if
(
this
.
selectedItem
.
extension
===
'
json
'
)
{
this
.
code
=
response
.
data
;
this
.
code
=
JSON
.
stringify
(
response
.
data
,
null
,
4
);
}
else
{
this
.
code
=
response
.
data
;
}
// set size
// set size
this
.
$refs
.
fmCodeEditor
.
codemirror
.
setSize
(
null
,
this
.
editorHeight
);
this
.
$refs
.
fmCodeEditor
.
codemirror
.
setSize
(
null
,
this
.
editorHeight
);
...
...
tools/frontend/vue.config.js
View file @
0aa0cd91
/*
/*
* @Author: your name
* @Author: your name
* @Date: 2021-07-15 09:33:39
* @Date: 2021-07-15 09:33:39
* @LastEditTime: 2021-07-1
5 18:29
:06
* @LastEditTime: 2021-07-1
7 16:45
:06
* @LastEditors:
your name
* @LastEditors:
Please set LastEditors
* @Description: In User Settings Edit
* @Description: In User Settings Edit
* @FilePath: \evm-store\tools\frontend\vue.config.js
* @FilePath: \evm-store\tools\frontend\vue.config.js
*/
*/
...
...
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