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
b8947a5e
Commit
b8947a5e
authored
Jul 19, 2021
by
wanli
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
✨
feat(应用管理模块): 增加上架、下架按钮,源码编辑
应用管理增加上架下架功能,同时提供在线源码编辑
parent
a61e7b5f
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
267 additions
and
57 deletions
+267
-57
tools/build_out/application/signal_manager.py
tools/build_out/application/signal_manager.py
+3
-1
tools/build_out/controllers/__init__.py
tools/build_out/controllers/__init__.py
+4
-1
tools/build_out/controllers/api.py
tools/build_out/controllers/api.py
+20
-1
tools/build_out/controllers/app.py
tools/build_out/controllers/app.py
+1
-2
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
-1
tools/build_out/views/app.py
tools/build_out/views/app.py
+2
-0
tools/build_out/views/openapi.py
tools/build_out/views/openapi.py
+99
-0
tools/frontend/src/api/openapi.js
tools/frontend/src/api/openapi.js
+10
-1
tools/frontend/src/views/Application/Index.vue
tools/frontend/src/views/Application/Index.vue
+118
-43
tools/frontend/src/views/Application/Manager.vue
tools/frontend/src/views/Application/Manager.vue
+5
-6
No files found.
tools/build_out/application/signal_manager.py
View file @
b8947a5e
'''
'''
Author: your name
Author: your name
Date: 2021-06-30 18:03:41
Date: 2021-06-30 18:03:41
LastEditTime: 2021-07-1
7 21:24:19
LastEditTime: 2021-07-1
9 14:28:10
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
...
@@ -63,6 +63,8 @@ class SignalManager(object):
...
@@ -63,6 +63,8 @@ class SignalManager(object):
actionPostFileCreate
=
PySignal
()
actionPostFileCreate
=
PySignal
()
actionPostFileCreateDir
=
PySignal
()
actionPostFileCreateDir
=
PySignal
()
actionPostFilePaste
=
PySignal
()
actionPostFilePaste
=
PySignal
()
# api
actionPostAppReview
=
PySignal
()
def
__init__
(
self
):
def
__init__
(
self
):
super
()
.
__init__
()
super
()
.
__init__
()
...
...
tools/build_out/controllers/__init__.py
View file @
b8947a5e
'''
'''
Author: your name
Author: your name
Date: 2021-06-30 17:43:46
Date: 2021-06-30 17:43:46
LastEditTime: 2021-07-1
7 21:25:21
LastEditTime: 2021-07-1
9 14:29:10
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
...
@@ -11,6 +11,7 @@ FilePath: \evm-store\tools\build_out\controllers\__init__.py
...
@@ -11,6 +11,7 @@ FilePath: \evm-store\tools\build_out\controllers\__init__.py
from
application.signal_manager
import
signalManager
from
application.signal_manager
import
signalManager
from
.area
import
areaManager
from
.area
import
areaManager
from
.api
import
appReview
from
.app
import
appManager
from
.app
import
appManager
from
.package
import
packageManager
from
.package
import
packageManager
from
.user
import
userManager
from
.user
import
userManager
...
@@ -76,3 +77,5 @@ def initConnect():
...
@@ -76,3 +77,5 @@ def initConnect():
signalManager
.
actionPostFileCreate
.
connect
(
fileManager
.
create_file
)
signalManager
.
actionPostFileCreate
.
connect
(
fileManager
.
create_file
)
signalManager
.
actionPostFileCreateDir
.
connect
(
fileManager
.
create_dir
)
signalManager
.
actionPostFileCreateDir
.
connect
(
fileManager
.
create_dir
)
signalManager
.
actionPostFilePaste
.
connect
(
fileManager
.
paste
)
signalManager
.
actionPostFilePaste
.
connect
(
fileManager
.
paste
)
# api
signalManager
.
actionPostAppReview
.
connect
(
appReview
.
post
)
tools/build_out/controllers/api.py
View file @
b8947a5e
'''
'''
Author: your name
Author: your name
Date: 2021-07-12 11:14:48
Date: 2021-07-12 11:14:48
LastEditTime: 2021-07-1
5 17:43:48
LastEditTime: 2021-07-1
9 15:19:26
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
\a
ppi.py
FilePath:
\
evm-store
\t
ools
\b
uild_out
\
controllers
\a
ppi.py
...
@@ -98,4 +98,23 @@ class BuildAppResource(object):
...
@@ -98,4 +98,23 @@ class BuildAppResource(object):
buildAppResource
=
BuildAppResource
()
buildAppResource
=
BuildAppResource
()
class
AppReview
(
object
):
def
__init__
(
self
):
super
()
.
__init__
()
def
post
(
self
,
app
,
review
,
jwt
=
{}):
user
=
UserModel
.
query
.
filter
(
UserModel
.
uuid
==
jwt
.
get
(
"uuid"
))
.
one_or_none
()
if
not
user
:
return
None
,
ResponseCode
.
USER_NOT_EXISTS
app
=
AppModel
.
query
.
filter
(
AppModel
.
uuid
==
app
)
.
one_or_none
()
if
not
app
:
return
None
,
ResponseCode
.
APPLICATION_NOT_EXISTS
app
.
app_review
=
review
app
.
update_at
=
datetime
.
now
()
app
.
update_by
=
user
.
id
db
.
session
.
commit
()
return
True
,
ResponseCode
.
HTTP_SUCCESS
appReview
=
AppReview
()
\ No newline at end of file
tools/build_out/controllers/app.py
View file @
b8947a5e
...
@@ -122,7 +122,7 @@ class AppResource(object):
...
@@ -122,7 +122,7 @@ class AppResource(object):
else
:
else
:
filters
.
append
(
AppModel
.
create_by
==
user
.
id
)
filters
.
append
(
AppModel
.
create_by
==
user
.
id
)
temp
.
update
({
"create_by"
:
user
.
id
,
"is_delete"
:
False
})
temp
.
update
({
"create_by"
:
user
.
id
,
"is_delete"
:
False
})
logger
.
info
(
params
)
if
"scope"
in
params
and
params
.
get
(
"scope"
)
==
"list"
:
if
"scope"
in
params
and
params
.
get
(
"scope"
)
==
"list"
:
result
=
AppModel
.
query
.
filter_by
(
**
temp
)
.
order_by
(
AppModel
.
create_at
.
desc
())
result
=
AppModel
.
query
.
filter_by
(
**
temp
)
.
order_by
(
AppModel
.
create_at
.
desc
())
temp
=
[]
temp
=
[]
...
@@ -148,7 +148,6 @@ class AppResource(object):
...
@@ -148,7 +148,6 @@ class AppResource(object):
if
result
.
total
and
len
(
result
.
items
):
if
result
.
total
and
len
(
result
.
items
):
return
result
,
ResponseCode
.
HTTP_SUCCESS
return
result
,
ResponseCode
.
HTTP_SUCCESS
return
None
,
ResponseCode
.
HTTP_NOT_FOUND
return
None
,
ResponseCode
.
HTTP_NOT_FOUND
def
post
(
self
,
params
,
jwt
=
{}):
def
post
(
self
,
params
,
jwt
=
{}):
...
...
tools/build_out/result.json
View file @
b8947a5e
{
"directories"
:
[{
"basename"
:
"
\u
6d4b
\u
8bd59-1.0.9-6-20210717135613"
,
"dirname"
:
"."
,
"path"
:
"
\u
6d4b
\u
8bd59-1.0.9-6-20210717135613"
,
"timestamp"
:
1626501373
,
"type"
:
"dir"
}],
"files"
:
[]}
{
"directories"
:
[{
"basename"
:
"src"
,
"dirname"
:
"
\u
6d4b
\u
8bd58-1.0.8-6-20210717140706"
,
"path"
:
"
\u
6d4b
\u
8bd58-1.0.8-6-20210717140706/src"
,
"timestamp"
:
1626502026
,
"type"
:
"dir"
}],
"files"
:
[{
"basename"
:
"epk.json"
,
"dirname"
:
"
\u
6d4b
\u
8bd58-1.0.8-6-20210717140706"
,
"extension"
:
"json"
,
"filename"
:
"epk"
,
"path"
:
"
\u
6d4b
\u
8bd58-1.0.8-6-20210717140706/epk.json"
,
"size"
:
437
,
"timestamp"
:
1626502026
,
"type"
:
"file"
},
{
"basename"
:
"
\u
6d4b
\u
8bd58.epk"
,
"dirname"
:
"
\u
6d4b
\u
8bd58-1.0.8-6-20210717140706"
,
"extension"
:
"epk"
,
"filename"
:
"
\u
6d4b
\u
8bd58"
,
"path"
:
"
\u
6d4b
\u
8bd58-1.0.8-6-20210717140706/
\u
6d4b
\u
8bd58.epk"
,
"size"
:
2848
,
"timestamp"
:
1626502026
,
"type"
:
"file"
}]}
\ No newline at end of file
\ No newline at end of file
tools/build_out/views/__init__.py
View file @
b8947a5e
'''
'''
Author: your name
Author: your name
Date: 2021-07-15 03:22:19
Date: 2021-07-15 03:22:19
LastEditTime: 2021-07-1
7 21:49:04
LastEditTime: 2021-07-1
9 14:39:33
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
...
@@ -12,6 +12,7 @@ FilePath: \evm-store\tools\build_out\views\__init__.py
...
@@ -12,6 +12,7 @@ FilePath: \evm-store\tools\build_out\views\__init__.py
from
flask
import
Blueprint
from
flask
import
Blueprint
from
flask_restful
import
Api
from
flask_restful
import
Api
from
.
import
area
from
.
import
area
from
.
import
openapi
from
.
import
app
from
.
import
app
from
.
import
package
from
.
import
package
from
.
import
user
from
.
import
user
...
@@ -36,6 +37,8 @@ api.add_resource(area.AreaResourceList, '/area')
...
@@ -36,6 +37,8 @@ api.add_resource(area.AreaResourceList, '/area')
api
.
add_resource
(
app
.
AppResource
,
'/app/<string:uuid>'
)
api
.
add_resource
(
app
.
AppResource
,
'/app/<string:uuid>'
)
api
.
add_resource
(
app
.
AppResourceList
,
'/app'
)
api
.
add_resource
(
app
.
AppResourceList
,
'/app'
)
api
.
add_resource
(
openapi
.
AppReviewResource
,
'/api/app-review'
)
api
.
add_resource
(
package
.
PackageResource
,
'/package/<string:uuid>'
)
api
.
add_resource
(
package
.
PackageResource
,
'/package/<string:uuid>'
)
api
.
add_resource
(
package
.
PackageResourceList
,
'/package'
)
api
.
add_resource
(
package
.
PackageResourceList
,
'/package'
)
...
...
tools/build_out/views/app.py
View file @
b8947a5e
...
@@ -49,6 +49,8 @@ class AppResourceList(Resource):
...
@@ -49,6 +49,8 @@ class AppResourceList(Resource):
return
response_result
(
ResponseCode
.
HTTP_SUCCESS
,
data
=
json_dumps
)
return
response_result
(
ResponseCode
.
HTTP_SUCCESS
,
data
=
json_dumps
)
else
:
else
:
json_dumps
=
getListAppsSchema
.
dump
(
result
.
items
)
json_dumps
=
getListAppsSchema
.
dump
(
result
.
items
)
for
item
in
json_dumps
:
item
[
'file_dir'
]
=
os
.
path
.
dirname
(
item
[
'download_url'
])
return
response_result
(
ResponseCode
.
HTTP_SUCCESS
,
data
=
json_dumps
,
total
=
result
.
total
,
pageSize
=
args
.
pageSize
)
return
response_result
(
ResponseCode
.
HTTP_SUCCESS
,
data
=
json_dumps
,
total
=
result
.
total
,
pageSize
=
args
.
pageSize
)
return
response_result
(
message
)
return
response_result
(
message
)
except
Exception
as
e
:
except
Exception
as
e
:
...
...
tools/build_out/views/openapi.py
0 → 100644
View file @
b8947a5e
'''
Author: your name
Date: 2021-07-19 14:29:33
LastEditTime: 2021-07-19 15:31:33
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath:
\
evm-store
\t
ools
\b
uild_out
\v
iews
\a
pi.py
'''
#!/usr/bin/env python
# -*- coding: utf_8 -*-
import
os
from
flask
import
current_app
,
jsonify
,
request
from
flask_restful
import
Resource
from
flask_restful.reqparse
import
RequestParser
from
flask_jwt_extended
import
(
jwt_required
,
get_jwt_identity
)
from
marshmallow.exceptions
import
ValidationError
from
application.signal_manager
import
signalManager
from
models.login
import
postLoginSchema
,
getListLoginSchema
,
getListLoginsSchema
,
getLoginSchema
from
webcreator.log
import
logger
from
webcreator.response
import
ResponseCode
,
response_result
class
AppReviewResource
(
Resource
):
def
__init__
(
self
):
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
self
.
parser
=
RequestParser
()
def
get
(
self
):
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
# self.parser.add_argument("page", type=int, location="args", default=1)
# self.parser.add_argument("pageSize", type=int, location="args", default=15)
# args = self.parser.parse_args()
try
:
json_payload
=
request
.
json
logger
.
warn
(
json_payload
)
data
=
getListLoginSchema
.
load
(
json_payload
)
result
,
message
=
signalManager
.
actionGetListLogin
.
emit
(
data
)
json_dumps
=
getListLoginSchema
.
dump
(
result
)
if
result
:
json_dumps
=
getListLoginsSchema
.
dump
(
result
.
items
)
return
response_result
(
message
,
data
=
json_dumps
,
count
=
result
.
total
)
return
response_result
(
message
)
except
ValidationError
as
e
:
return
response_result
(
ResponseCode
.
HTTP_INVAILD_REQUEST
,
data
=
e
.
messages
)
except
Exception
as
e
:
data
=
None
if
hasattr
(
e
,
'args'
):
data
=
e
.
args
current_app
.
logger
.
error
(
e
)
return
response_result
(
ResponseCode
.
HTTP_SERVER_ERROR
,
data
=
data
)
@
jwt_required
(
locations
=
[
"headers"
])
def
post
(
self
):
self
.
parser
.
add_argument
(
"review"
,
type
=
int
,
location
=
"json"
,
default
=
0
,
required
=
True
)
self
.
parser
.
add_argument
(
"app"
,
type
=
str
,
location
=
"json"
,
required
=
False
)
args
=
self
.
parser
.
parse_args
()
try
:
jwt
=
get_jwt_identity
()
result
,
message
=
signalManager
.
actionPostAppReview
.
emit
(
args
.
app
,
args
.
review
,
jwt
)
if
result
:
return
response_result
(
message
,
data
=
result
)
return
response_result
(
message
)
except
ValidationError
as
e
:
return
response_result
(
ResponseCode
.
HTTP_INVAILD_REQUEST
,
data
=
e
.
messages
)
except
Exception
as
e
:
data
=
None
if
hasattr
(
e
,
'args'
):
data
=
e
.
args
current_app
.
logger
.
error
(
e
)
return
response_result
(
ResponseCode
.
HTTP_SERVER_ERROR
,
data
=
data
)
class
BuildAppResource
(
Resource
):
def
__init__
(
self
):
pass
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
# self.parser = RequestParser()
@
jwt_required
(
locations
=
[
"headers"
])
def
get
(
self
,
uuid
):
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
# self.parser.add_argument("page", type=int, location="args", default=1)
# self.parser.add_argument("pageSize", type=int, location="args", default=15)
# args = self.parser.parse_args()
try
:
json_payload
=
request
.
json
print
(
"========>"
,
uuid
,
json_payload
)
data
=
getLoginSchema
.
load
(
json_payload
)
result
,
message
=
signalManager
.
actionGetLogin
.
emit
(
uuid
,
data
)
if
result
:
json_dumps
=
getLoginSchema
.
dump
(
result
)
return
response_result
(
message
,
data
=
json_dumps
)
return
response_result
(
message
)
except
Exception
as
e
:
current_app
.
logger
.
error
(
e
)
return
response_result
(
ResponseCode
.
HTTP_SERVER_ERROR
)
tools/frontend/src/api/openapi.js
View file @
b8947a5e
/*
/*
* @Author: your name
* @Author: your name
* @Date: 2021-07-15 09:33:39
* @Date: 2021-07-15 09:33:39
* @LastEditTime: 2021-07-1
6 20:19:01
* @LastEditTime: 2021-07-1
9 14:58:18
* @LastEditors: Please set LastEditors
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @Description: In User Settings Edit
* @FilePath: \evm-store\tools\frontend\src\api\openapi.js
* @FilePath: \evm-store\tools\frontend\src\api\openapi.js
...
@@ -61,3 +61,12 @@ export function getPackageList(params) {
...
@@ -61,3 +61,12 @@ export function getPackageList(params) {
params
params
})
})
}
}
export
function
updateReview
(
params
)
{
return
request
({
url
:
"
/api/v1/api/app-review
"
,
method
:
"
post
"
,
data
:
params
})
}
tools/frontend/src/views/Application/Index.vue
View file @
b8947a5e
This diff is collapsed.
Click to expand it.
tools/frontend/src/views/Application/Manager.vue
View file @
b8947a5e
...
@@ -103,9 +103,9 @@
...
@@ -103,9 +103,9 @@
</a-row>
</a-row>
</
template
>
</
template
>
<
template
slot=
"action"
slot-scope=
"text, record"
>
<
template
slot=
"action"
slot-scope=
"text, record"
>
<a
href=
"javascript:;"
@
click=
"
e
dit(record)"
>
编辑源文件
</a>
<a
href=
"javascript:;"
@
click=
"
hadnleE
dit(record)"
>
编辑源文件
</a>
<a-divider
type=
"vertical"
/>
<a-divider
type=
"vertical"
/>
<a
href=
"javascript:;"
@
click=
"
d
ownload(record)"
>
下载EPK
</a>
<a
href=
"javascript:;"
@
click=
"
handleD
ownload(record)"
>
下载EPK
</a>
</
template
>
</
template
>
</a-table>
</a-table>
</div>
</div>
...
@@ -230,8 +230,7 @@ export default {
...
@@ -230,8 +230,7 @@ export default {
ARangePicker
:
DatePicker
.
RangePicker
,
ARangePicker
:
DatePicker
.
RangePicker
,
},
},
methods
:
{
methods
:
{
download
(
record
)
{
handleDownload
(
record
)
{
console
.
log
(
record
);
download
(
`
${
record
.
app_name
}
_
${
record
.
app_version
}
.epk`
,
record
.
file_path
)
download
(
`
${
record
.
app_name
}
_
${
record
.
app_version
}
.epk`
,
record
.
file_path
)
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
message
.
success
(
res
.
msg
);
message
.
success
(
res
.
msg
);
...
@@ -240,8 +239,8 @@ export default {
...
@@ -240,8 +239,8 @@ export default {
message
.
error
(
err
.
msg
);
message
.
error
(
err
.
msg
);
});
});
},
},
e
dit
(
record
)
{
hadnleE
dit
(
record
)
{
this
.
$router
.
push
({
name
:
"
FileManager
"
,
params
:
{
directory
:
record
.
file_dir
,
disk
:
"
upload
s
"
}
})
this
.
$router
.
push
({
name
:
"
FileManager
"
,
params
:
{
directory
:
record
.
file_dir
,
disk
:
"
epk
s
"
}
})
},
},
resetForm
()
{
resetForm
()
{
this
.
query
=
{
this
.
query
=
{
...
...
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