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
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
Description: In User Settings Edit
FilePath:
\
evm-store
\t
ools
\b
uild_out
\a
pplication
\
signal_manager.py
...
...
@@ -63,6 +63,8 @@ class SignalManager(object):
actionPostFileCreate
=
PySignal
()
actionPostFileCreateDir
=
PySignal
()
actionPostFilePaste
=
PySignal
()
# api
actionPostAppReview
=
PySignal
()
def
__init__
(
self
):
super
()
.
__init__
()
...
...
tools/build_out/controllers/__init__.py
View file @
b8947a5e
'''
Author: your name
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
Description: In User Settings Edit
FilePath:
\
evm-store
\t
ools
\b
uild_out
\
controllers
\
__init__.py
...
...
@@ -11,6 +11,7 @@ FilePath: \evm-store\tools\build_out\controllers\__init__.py
from
application.signal_manager
import
signalManager
from
.area
import
areaManager
from
.api
import
appReview
from
.app
import
appManager
from
.package
import
packageManager
from
.user
import
userManager
...
...
@@ -76,3 +77,5 @@ def initConnect():
signalManager
.
actionPostFileCreate
.
connect
(
fileManager
.
create_file
)
signalManager
.
actionPostFileCreateDir
.
connect
(
fileManager
.
create_dir
)
signalManager
.
actionPostFilePaste
.
connect
(
fileManager
.
paste
)
# api
signalManager
.
actionPostAppReview
.
connect
(
appReview
.
post
)
tools/build_out/controllers/api.py
View file @
b8947a5e
'''
Author: your name
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
Description: In User Settings Edit
FilePath:
\
evm-store
\t
ools
\b
uild_out
\
controllers
\a
ppi.py
...
...
@@ -98,4 +98,23 @@ class BuildAppResource(object):
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):
else
:
filters
.
append
(
AppModel
.
create_by
==
user
.
id
)
temp
.
update
({
"create_by"
:
user
.
id
,
"is_delete"
:
False
})
logger
.
info
(
params
)
if
"scope"
in
params
and
params
.
get
(
"scope"
)
==
"list"
:
result
=
AppModel
.
query
.
filter_by
(
**
temp
)
.
order_by
(
AppModel
.
create_at
.
desc
())
temp
=
[]
...
...
@@ -148,7 +148,6 @@ class AppResource(object):
if
result
.
total
and
len
(
result
.
items
):
return
result
,
ResponseCode
.
HTTP_SUCCESS
return
None
,
ResponseCode
.
HTTP_NOT_FOUND
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"
:
[]}
\ No newline at end of file
{
"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
tools/build_out/views/__init__.py
View file @
b8947a5e
'''
Author: your name
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
Description: In User Settings Edit
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
from
flask
import
Blueprint
from
flask_restful
import
Api
from
.
import
area
from
.
import
openapi
from
.
import
app
from
.
import
package
from
.
import
user
...
...
@@ -36,6 +37,8 @@ api.add_resource(area.AreaResourceList, '/area')
api
.
add_resource
(
app
.
AppResource
,
'/app/<string:uuid>'
)
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
.
PackageResourceList
,
'/package'
)
...
...
tools/build_out/views/app.py
View file @
b8947a5e
...
...
@@ -49,6 +49,8 @@ class AppResourceList(Resource):
return
response_result
(
ResponseCode
.
HTTP_SUCCESS
,
data
=
json_dumps
)
else
:
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
(
message
)
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
* @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
* @Description: In User Settings Edit
* @FilePath: \evm-store\tools\frontend\src\api\openapi.js
...
...
@@ -61,3 +61,12 @@ export function getPackageList(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 @@
</a-row>
</
template
>
<
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
href=
"javascript:;"
@
click=
"
d
ownload(record)"
>
下载EPK
</a>
<a
href=
"javascript:;"
@
click=
"
handleD
ownload(record)"
>
下载EPK
</a>
</
template
>
</a-table>
</div>
...
...
@@ -230,8 +230,7 @@ export default {
ARangePicker
:
DatePicker
.
RangePicker
,
},
methods
:
{
download
(
record
)
{
console
.
log
(
record
);
handleDownload
(
record
)
{
download
(
`
${
record
.
app_name
}
_
${
record
.
app_version
}
.epk`
,
record
.
file_path
)
.
then
((
res
)
=>
{
message
.
success
(
res
.
msg
);
...
...
@@ -240,8 +239,8 @@ export default {
message
.
error
(
err
.
msg
);
});
},
e
dit
(
record
)
{
this
.
$router
.
push
({
name
:
"
FileManager
"
,
params
:
{
directory
:
record
.
file_dir
,
disk
:
"
upload
s
"
}
})
hadnleE
dit
(
record
)
{
this
.
$router
.
push
({
name
:
"
FileManager
"
,
params
:
{
directory
:
record
.
file_dir
,
disk
:
"
epk
s
"
}
})
},
resetForm
()
{
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