Commit c9c1da41 authored by wanli's avatar wanli

update

parent 6b224db5
...@@ -67,6 +67,13 @@ class SignalManager(object): ...@@ -67,6 +67,13 @@ class SignalManager(object):
actionGetDownloadList = PySignal() actionGetDownloadList = PySignal()
actionUpdateDownload = PySignal() actionUpdateDownload = PySignal()
# 应用打包日志
actionAddAppLogs = PySignal()
actionDeleteAppLogs = PySignal()
actionGetAppLogs = PySignal()
actionGetAppLogsList = PySignal()
actionUpdateAppLogs = PySignal()
# 系统菜单 # 系统菜单
actionAddMenu = PySignal() actionAddMenu = PySignal()
actionDeleteMenu = PySignal() actionDeleteMenu = PySignal()
......
...@@ -13,6 +13,7 @@ from .apps_manager import appsManager ...@@ -13,6 +13,7 @@ from .apps_manager import appsManager
from .menu_manager import menuManager from .menu_manager import menuManager
from .device_manager import deviceManager from .device_manager import deviceManager
from .download_manager import downloadManager from .download_manager import downloadManager
from .app_logs_manager import appLogsManager
from .build_logs_manager import buildLogsManager from .build_logs_manager import buildLogsManager
logger = logging.getLogger("controller") logger = logging.getLogger("controller")
...@@ -69,6 +70,13 @@ def initConnect(): ...@@ -69,6 +70,13 @@ def initConnect():
signalManager.actionGetDownloadList.connect(downloadManager.getList) signalManager.actionGetDownloadList.connect(downloadManager.getList)
signalManager.actionUpdateDownload.connect(downloadManager.update) signalManager.actionUpdateDownload.connect(downloadManager.update)
# 应用打包日志
signalManager.actionAddAppLogs.connect(appLogsManager.add)
signalManager.actionDeleteAppLogs.connect(appLogsManager.delete)
signalManager.actionGetAppLogs.connect(appLogsManager.get)
signalManager.actionGetAppLogsList.connect(appLogsManager.getList)
signalManager.actionUpdateAppLogs.connect(appLogsManager.update)
# 系统菜单 # 系统菜单
signalManager.actionAddMenu.connect(menuManager.add) signalManager.actionAddMenu.connect(menuManager.add)
signalManager.actionDeleteMenu.connect(menuManager.delete) signalManager.actionDeleteMenu.connect(menuManager.delete)
......
...@@ -17,6 +17,7 @@ from model import fullStackDB ...@@ -17,6 +17,7 @@ from model import fullStackDB
from model.annex import Annex from model.annex import Annex
from model.apps import Apps from model.apps import Apps
from model.user import User from model.user import User
from model.app_logs import AppLogs
from model.build_logs import BuildLogs from model.build_logs import BuildLogs
from utils import sql_filter, ThreadMaker from utils import sql_filter, ThreadMaker
from utils.tools_epk import EpkApp from utils.tools_epk import EpkApp
...@@ -93,6 +94,8 @@ class AppsManager(object): ...@@ -93,6 +94,8 @@ class AppsManager(object):
result = BuildLogs(app=app, app_path=epk_filename, app_info=app_info, create_by=editor, create_at=datetime.now(), update_by=editor, update_at=datetime.now()) result = BuildLogs(app=app, app_path=epk_filename, app_info=app_info, create_by=editor, create_at=datetime.now(), update_by=editor, update_at=datetime.now())
commit() commit()
AppLogs(app_name=app.app_name, app_path=epk_filename, app_version=data.get("app_version"), app_info=app_info, create_by=editor, create_at=datetime.now())
commit()
return result, "add app {}.".format("success" if result else "fail") return result, "add app {}.".format("success" if result else "fail")
......
...@@ -30,6 +30,7 @@ class User(db.Entity): ...@@ -30,6 +30,7 @@ class User(db.Entity):
is_delete = Required(bool, default=False) is_delete = Required(bool, default=False)
sort = Optional(int, size=32, default=0) sort = Optional(int, size=32, default=0)
remarks = Optional(str, max_len=255, default="", nullable=True) remarks = Optional(str, max_len=255, default="", nullable=True)
app_logs_creater = Set('AppLogs', reverse='create_by')
annex_creator = Set('Annex', reverse='create_by') annex_creator = Set('Annex', reverse='create_by')
annex_updater = Set('Annex', reverse='update_by') annex_updater = Set('Annex', reverse='update_by')
annex_deleter = Set('Annex', reverse='delete_by') annex_deleter = Set('Annex', reverse='delete_by')
......
...@@ -14,6 +14,7 @@ from .annex import annex_api ...@@ -14,6 +14,7 @@ from .annex import annex_api
from .apps import apps_api from .apps import apps_api
from .device import device_api from .device import device_api
from .download import download_api from .download import download_api
from .app_logs import appLogs_api
from .ws import NotifyHandler, ThreadNotifyHandler from .ws import NotifyHandler, ThreadNotifyHandler
from model import fullStackDB from model import fullStackDB
from fullstack.response import ResponseCode, response_result from fullstack.response import ResponseCode, response_result
...@@ -46,6 +47,7 @@ def create_app(): ...@@ -46,6 +47,7 @@ def create_app():
app.register_blueprint(apps_api) app.register_blueprint(apps_api)
app.register_blueprint(download_api) app.register_blueprint(download_api)
app.register_blueprint(device_api) app.register_blueprint(device_api)
app.register_blueprint(appLogs_api)
@app.errorhandler(InternalServerError) @app.errorhandler(InternalServerError)
def handle_500(e): def handle_500(e):
......
...@@ -223,3 +223,35 @@ export function doRegister(params) { ...@@ -223,3 +223,35 @@ export function doRegister(params) {
data: params, data: params,
}); });
} }
export function addAppLogs(params) {
return request({
url: "/api/v1/evm_store/appLogs/add",
method: "post",
data: params,
});
}
export function deleteAppLogs(params) {
return request({
url: "/api/v1/evm_store/appLogs/delete",
method: "post",
data: params,
});
}
export function getAppLogsList(params) {
return request({
url: "/api/v1/evm_store/appLogs/list",
method: "post",
data: params,
});
}
export function updateAppLogs(params) {
return request({
url: "/api/v1/evm_store/appLogs/update",
method: "post",
data: params,
});
}
...@@ -29,17 +29,19 @@ ...@@ -29,17 +29,19 @@
highlight-current-row highlight-current-row
> >
<el-table-column <el-table-column
prop="app.app_name" prop="app_name"
label="应用名称" label="应用名称"
min-width="180" min-width="180"
show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
prop="app.app_url" prop="app_path"
label="应用路径" label="应用路径"
min-width="180" min-width="180"
show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
prop="app.app_version" prop="app_version"
label="应用版本" label="应用版本"
min-width="180" min-width="180"
></el-table-column> ></el-table-column>
...@@ -79,7 +81,7 @@ ...@@ -79,7 +81,7 @@
</div> </div>
</template> </template>
<script> <script>
import { getBuildLogsList } from "@/api/app-store"; import { getAppLogsList } from "@/api/app-store";
import { mapTrim } from "@/utils/index"; import { mapTrim } from "@/utils/index";
export default { export default {
...@@ -124,13 +126,10 @@ export default { ...@@ -124,13 +126,10 @@ export default {
methods: { methods: {
fetchData(params) { fetchData(params) {
this.isLoading = true; this.isLoading = true;
getBuildLogsList(params) getAppLogsList(params)
.then((res) => { .then((res) => {
this.total = res.count; this.total = res.count;
this.list = res.data.map(item => { this.list = res.data;
item.build_text = JSON.stringify(item.app_info)
return item
});
}) })
.catch((err) => { .catch((err) => {
// this.$message.error(err.message) // this.$message.error(err.message)
...@@ -141,7 +140,7 @@ export default { ...@@ -141,7 +140,7 @@ export default {
}); });
}, },
fetchSelectData() { fetchSelectData() {
getBuildLogsList({ scope_type: "list" }) getAppLogsList({ scope_type: "list" })
.then((res) => { .then((res) => {
if (res.code == 200) this.roles = res.data; if (res.code == 200) this.roles = res.data;
}) })
......
<template> <template>
<div class="container"> <div class="container">
<iframe src="https://www.yuque.com/tumzg5/mndtts" height="100%" width="100%" name="demo" scrolling="auto" frameborder="0"></iframe> <iframe src="https://www.yuque.com/books/share/07c6dc3d-5343-45dd-a7d2-fd5ccaa05825" height="100%" width="100%" name="demo" scrolling="auto" frameborder="0"></iframe>
</div> </div>
</template> </template>
<script> <script>
......
<template> <template>
<div class="container-wrapper"> <div class="container-wrapper">
<github-corner class="github-corner" />
<img class="qr-code" v-show="showIndex == 1" src="../../assets/images/evm-mp.jpg" /> <img class="qr-code" v-show="showIndex == 1" src="../../assets/images/evm-mp.jpg" />
<img class="qr-code" v-show="showIndex == 2" src="../../assets/images/evm-qq-group.png" /> <img class="qr-code" v-show="showIndex == 2" src="../../assets/images/evm-qq-group.png" />
<div :class="['container', isActive ? 'right-panel-active' : '']"> <div :class="['container', isActive ? 'right-panel-active' : '']">
...@@ -58,17 +59,21 @@ ...@@ -58,17 +59,21 @@
</div> </div>
</div> </div>
</div> </div>
<p style="position: absolute;bottom: 0px;text-align: center;">Copyright © 武汉市字节码科技有限公司</p>
</div> </div>
</template> </template>
<script> <script>
import { doLogin, getUser, doRegister } from "@/api/app-store"; import GithubCorner from '@/components/GithubCorner'
import { strTrim } from "@/utils/index"; import { doLogin, getUser, doRegister } from "@/api/app-store"
import { strTrim } from "@/utils/index"
let loading = null; let loading = null;
export default { export default {
name: "Login", name: "Login",
components: {}, components: {
GithubCorner
},
data() { data() {
return { return {
isActive: false, isActive: false,
......
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