From e060a8863f67dd42589c76bcee373ce8f8013ec3 Mon Sep 17 00:00:00 2001 From: ZZJ <zzjdsg2300@163.com> Date: 星期二, 14 十二月 2021 16:37:59 +0800 Subject: [PATCH] 登录配置化 --- /dev/null | 12 ------------ public/apps/loginData/background.png | 0 src/pages/index/App.vue | 10 +++++----- public/apps/loginData/leftImg.png | 0 src/pages/login/App.vue | 19 +++++++++++++------ public/apps/loginData/LOGO.png | 0 public/apps/loginData/login.json | 5 +++++ 7 files changed, 23 insertions(+), 23 deletions(-) diff --git a/public/images/loginImg/LOGO.png b/public/apps/loginData/LOGO.png similarity index 100% rename from public/images/loginImg/LOGO.png rename to public/apps/loginData/LOGO.png Binary files differ diff --git a/public/images/loginImg/background.png b/public/apps/loginData/background.png similarity index 100% rename from public/images/loginImg/background.png rename to public/apps/loginData/background.png Binary files differ diff --git a/public/images/loginImg/OS.png b/public/apps/loginData/leftImg.png similarity index 100% rename from public/images/loginImg/OS.png rename to public/apps/loginData/leftImg.png Binary files differ diff --git a/public/apps/loginData/login.json b/public/apps/loginData/login.json new file mode 100644 index 0000000..deddd30 --- /dev/null +++ b/public/apps/loginData/login.json @@ -0,0 +1,5 @@ +{ + "title_firstLine" : "Smart AI", + "title_secondLine":"浜哄伐鏅鸿兘鎿嶄綔绯荤粺", + "website":"www.smartai.com" +} \ No newline at end of file diff --git a/src/pages/ai_c/index/App.vue b/src/pages/ai_c/index/App.vue deleted file mode 100644 index e0a36c1..0000000 --- a/src/pages/ai_c/index/App.vue +++ /dev/null @@ -1,2775 +0,0 @@ -<template> - <div class="s-task-manage"> - <div style="height: 100%"> - <div class="flex-box task-manage"> - <div class="installModel" v-if="isInstall"> - <div class="progress-bar"> - <div class="inner-bar"></div> - </div> - </div> - <!-- 瓒呯骇绠$悊鍛樺彲瑙� --> - <div class="super"> - <div class="left-box"> - <el-tabs - v-model="activeName" - type="border-card" - style="height: calc(100% - 20px)" - > - <el-tab-pane label="宸叉縺娲�" name="myAlgorithm"> - <div - class="width-new-line task-list" - v-show="activeName === 'myAlgorithm'" - > - <p class="src-title">绠楁硶杞欢</p> - <div class="flex-list"> - <div - class="wrap-box" - v-for="item in installedList" - :key="item.id" - > - <div class="list-choose-item-left"> - <div class="list-complete-item-handle"> - <div - class="svg-wrap" - :class="{ willUpGrade: item.isUpgrade }" - v-loading="item.upgradeLoading" - :element-loading-text="item.progressMsg" - element-loading-background="rgba(0,0,0,.8)" - > - <img - class="update-icon" - v-if="item.isUpgrade" - src="../../../assets/img/鏇存柊鎻愮ず.png" - alt="" - /> - <div - class="mask" - v-if="!item.isDefault || item.isUpgrade" - > - <div class="left-top"> - <div>褰撳墠鐗堟湰:{{ item.version }}</div> - <div v-if="item.remoteVersion"> - 鏈�鏂扮増鏈�:{{ item.remoteVersion }} - </div> - </div> - <div - class="info-onmask" - @click="checkDetail(item, 'active')" - > - 鏌ョ湅璇︽儏 - </div> - <div class="mask-btn"> - <el-button - @click="unLoadSdk(item)" - type="primary" - size="small" - class="bot-btn" - >鍗歌浇</el-button - > - <el-button - v-if="item.isUpgrade" - @click="donwload(item, 0)" - type="warning" - size="small" - class="bot-btn" - >鍗囩骇</el-button - > - </div> - </div> - <img - v-if="item.iconBlob" - class="baseImg" - :src=" - item.iconBlob.indexOf(',') > 0 - ? item.iconBlob - : `data:image/png;base64,${item.iconBlob}` - " - alt - /> - <img v-else class="baseImg" :src="item.icon" alt /> - </div> - <div class="alg-name"> - <div style="padding: 0px 10px 0px 10px"> - <span v-if="!item.isEdit"> - {{ item.sdk_name }} - </span> - - <el-input - size="small" - v-model="item.sdk_name" - v-if="item.isEdit" - v-focus - :maxlength="15" - @blur="inputBlur(item)" - ></el-input> - </div> - </div> - </div> - </div> - </div> - <div - class="wrap-box" - v-for="item in notInstalledList" - :key="item.id" - > - <div - class="list-choose-item-left list-choose-item-left-uninstal" - v-loading="downloading && downloadItem == item.id" - > - <div class="mask"> - <div class="left-top"> - <div v-if="item.installed"> - 褰撳墠鐗堟湰:{{ item.version }} - </div> - <div v-if="item.remoteVersion"> - 鏈�鏂扮増鏈�:{{ item.remoteVersion }} - </div> - </div> - <div - class="info-onmask" - @click="checkDetail(item, 'activeNotInstall')" - > - 鏌ョ湅璇︽儏 - </div> - <div class="mask-btn"> - <el-button - @click="donwload(item, 1)" - type="primary" - class="bot-btn" - >瀹夎</el-button - > - </div> - </div> - <div class="click-download" title="涓嬭浇"> - <span class="iconfont iconxiazai1"></span> - </div> - <div class="list-complete-item-handle"> - <div - class="svg-wrap" - v-loading=" - item.installLoading || item.upgradeLoading - " - :element-loading-text="item.progressMsg" - element-loading-background="rgba(0,0,0,.8)" - > - <img - v-if="item.iconBlob" - class="baseImg" - :src=" - item.iconBlob.indexOf(',') > 0 - ? item.iconBlob - : `data:image/png;base64,${item.iconBlob}` - " - alt - /> - <img v-else class="baseImg" :src="item.icon" alt /> - </div> - <div class="alg-name"> - <div style="padding: 0px 10px 0px 10px"> - <span class="list-choose-item-left-uninstal"> - {{ item.sdk_name }} - </span> - </div> - </div> - </div> - </div> - </div> - </div> - <p class="src-title">搴旂敤杞欢</p> - <div class="flex-list"> - <div - class="wrap-box" - v-for="item in installedApps" - :key="item.id" - > - <div class="list-choose-item-left"> - <div class="list-complete-item-handle"> - <div - class="svg-wrap" - :class="{ willUpGrade: item.isUpgrade }" - v-loading=" - item.unloadLoading || item.upgradeLoading - " - :element-loading-text="item.progressMsg" - element-loading-background="rgba(0,0,0,.8)" - > - <img - class="update-icon" - v-if="item.isUpgrade" - src="../../../assets/img/鏇存柊鎻愮ず.png" - alt="" - /> - - <div class="mask"> - <div class="left-top"> - <div>褰撳墠鐗堟湰:{{ item.version }}</div> - <div v-if="item.remoteVersion"> - 鏈�鏂扮増鏈�:{{ item.remoteVersion }} - </div> - </div> - <div - class="info-onmask" - @click="checkDetail(item, 'active')" - > - 鏌ョ湅璇︽儏 - </div> - <div class="mask-btn"> - <el-button - v-show="!item.isDefault" - @click="unLoad(item)" - type="primary" - size="small" - class="bot-btn" - >鍗歌浇</el-button - > - <el-button - v-if="item.isUpgrade" - @click="downloadApp(item, 'upgrade')" - type="warning" - size="small" - class="bot-btn" - >鍗囩骇</el-button - > - </div> - </div> - <img - v-if="item.iconBlob" - class="baseImg" - :src=" - item.iconBlob.indexOf(',') > 0 - ? item.iconBlob - : `data:image/png;base64,${item.iconBlob}` - " - alt - /> - <img v-else class="baseImg" :src="item.icon" alt /> - </div> - <div class="alg-name" style="color: grey"> - <div style="padding: 0px 10px 0px 10px"> - <span v-if="!item.isEdit">{{ item.name }}</span> - <el-input - size="small" - v-model="item.sdk_name" - v-if="item.isEdit" - v-focus - :maxlength="15" - @blur="inputBlur(item)" - ></el-input> - </div> - </div> - </div> - </div> - </div> - <div - class="wrap-box" - v-for="item in storeApps" - :key="item.id" - > - <div class="list-choose-item-left"> - <div class="list-complete-item-handle uninstall"> - <div - class="svg-wrap" - v-loading=" - item.installLoading || item.upgradeLoading - " - :element-loading-text="item.progressMsg" - element-loading-background="rgba(0,0,0,.8)" - > - <div class="mask"> - <div class="left-top"> - <div v-if="item.remoteVersion"> - 鏈�鏂扮増鏈�:{{ item.remoteVersion }} - </div> - </div> - <div - class="info-onmask" - @click="checkDetail(item, 'activeNotInstall')" - > - 鏌ョ湅璇︽儏 - </div> - <div class="mask-btn"> - <el-button - @click="downloadApp(item)" - type="primary" - size="small" - class="bot-btn" - >瀹夎</el-button - > - </div> - </div> - <img - v-if="item.iconBlob" - class="baseImg" - :src=" - item.iconBlob.indexOf(',') > 0 - ? item.iconBlob - : `data:image/png;base64,${item.iconBlob}` - " - alt - /> - <img v-else class="baseImg" :src="item.icon" alt /> - </div> - <div class="alg-name"> - <div style="padding: 0px 10px 0px 10px"> - <span v-if="!item.isEdit">{{ item.name }}</span> - <el-input - size="small" - v-model="item.name" - v-if="item.isEdit" - v-focus - :maxlength="15" - @blur="inputBlur(item)" - ></el-input> - </div> - </div> - </div> - </div> - </div> - </div> - </div> - </el-tab-pane> - - <el-tab-pane - label="绂荤嚎鍗囩骇/瀹夎" - name="upgradeOrInstallation" - v-if="isShow('algorithmManage:insOffLine')" - > - <div class="tab-content"> - <div class="action-bar"> - <FileUploader - single - tip - tipWords="涓婁紶绠楁硶" - uploadPlaceholder="涓婁紶瀹夎杞欢" - url="/data/api-v/sdk/upload" - @complete="onFileUpload" - @file-added="onFileAdded" - /> - </div> - </div> - </el-tab-pane> - <el-tab-pane - label="搴旂敤涓績" - name="algorithmMall" - v-if="isShow('algorithmManage:buy')" - > - <div class="tab-content"> - <div class="flex-title"> - <p class="src-title">绠楁硶杞欢</p> - </div> - <div class="store-list flex-list"> - <div v-if="!unActivedSDKList.length" class="empty-tip"> - 鏆傛棤鏁版嵁 - </div> - - <div - class="wrap-box" - v-for="item in unActivedSDKList" - :key="item.id" - > - <div class="list-choose-item-left"> - <div class="list-complete-item-handle"> - <div class="alg-icon svg-wrap"> - <div - class="mask" - v-if="!item.isDefault || item.isUpgrade" - > - <div class="left-top"> - <div>褰撳墠鐗堟湰:{{ item.version }}</div> - <div v-if="item.remoteVersion"> - 鏈�鏂扮増鏈�:{{ item.remoteVersion }} - </div> - </div> - <div - class="info-onmask" - @click="actSdkOrApp(item)" - > - 鏌ョ湅璇︽儏 - </div> - <div class="mask-btn"> - <el-button - @click="actSdkOrApp(item)" - type="primary" - size="small" - class="bot-btn" - >婵�娲�</el-button - > - </div> - </div> - <img - v-if="item.iconBlob" - class="baseImg" - :src=" - item.iconBlob.indexOf(',') > 0 - ? item.iconBlob - : `data:image/png;base64,${item.iconBlob}` - " - alt - /> - <img v-else class="baseImg" :src="item.icon" alt /> - </div> - <div class="alg-name"> - <div style="padding: 0px 10px 0px 10px"> - <span v-if="!item.isEdit"> - {{ item.sdk_name }} - </span> - <el-input - size="small" - v-model="item.sdk_name" - v-if="item.isEdit" - v-focus - :maxlength="15" - @blur="inputBlur(item)" - ></el-input> - </div> - </div> - </div> - </div> - </div> - </div> - <p class="src-title">搴旂敤杞欢</p> - <div class="app-list flex-list"> - <div v-if="!unActivedAppList.length" class="empty-tip"> - 鏆傛棤鏁版嵁 - </div> - <div - class="wrap-box" - v-for="item in unActivedAppList" - :key="item.id" - > - <div class="list-choose-item-left"> - <div class="list-complete-item-handle"> - <div class="alg-icon svg-wrap"> - <div - class="mask" - v-if="!item.isDefault || item.isUpgrade" - > - <div class="left-top"> - <div>褰撳墠鐗堟湰:{{ item.version }}</div> - <div v-if="item.remoteVersion"> - 鏈�鏂扮増鏈�:{{ item.remoteVersion }} - </div> - </div> - <div - class="info-onmask" - @click="actSdkOrApp(item, 'app')" - > - 鏌ョ湅璇︽儏 - </div> - <div class="mask-btn"> - <el-button - @click="actSdkOrApp(item, 'app')" - type="primary" - size="small" - class="bot-btn" - >婵�娲�</el-button - > - </div> - </div> - <img - v-if="item.iconBlob" - class="baseImg" - :src=" - item.iconBlob.indexOf(',') > 0 - ? item.iconBlob - : `data:image/png;base64,${item.iconBlob}` - " - alt - /> - <img v-else class="baseImg" :src="item.icon" alt /> - </div> - <div class="alg-name"> - <div style="padding: 0px 10px 0px 10px"> - <span v-if="!item.isEdit">{{ item.name }}</span> - <el-input - size="small" - v-model="item.name" - v-if="item.isEdit" - v-focus - :maxlength="15" - @blur="inputBlur(item)" - ></el-input> - </div> - </div> - </div> - </div> - </div> - </div> - </div> - </el-tab-pane> - <el-tab-pane name="update" label="鏇存柊"> - <span slot="label"> - <el-badge - class="update-badge" - :value="updateNum" - :hidden="updateNum == 0" - >鏇存柊</el-badge - > - </span> - <div class="task-list"> - <div class="flex-title"> - <p class="src-title">绠楁硶杞欢</p> - <el-button - @click="batchUpdate('sdk')" - v-if="hasNewVersionSdk.length != 0" - size="mini" - type="primary" - >鏇存柊鍏ㄩ儴</el-button - > - </div> - <div class="flex-list"> - <div v-if="hasNewVersionSdk.length == 0" class="empty-tip"> - 鏆傛棤鏁版嵁 - </div> - <div - class="wrap-box" - v-for="item in hasNewVersionSdk" - :key="item.id" - > - <div class="list-choose-item-left"> - <div class="list-complete-item-handle"> - <div - class="svg-wrap" - :class="{ willUpGrade: item.isUpgrade }" - v-loading="item.upgradeLoading" - :element-loading-text="item.progressMsg" - element-loading-background="rgba(0,0,0,.8)" - > - <img - class="update-icon" - v-if="item.isUpgrade" - src="../../../assets/img/鏇存柊鎻愮ず.png" - alt="" - /> - - <div - class="mask" - v-if="!item.isDefault || item.isUpgrade" - > - <div class="left-top"> - <div>褰撳墠鐗堟湰:{{ item.version }}</div> - <div v-if="item.remoteVersion"> - 鏈�鏂扮増鏈�:{{ item.remoteVersion }} - </div> - </div> - <div - class="info-onmask" - @click="checkDetail(item, 'active')" - > - 鏌ョ湅璇︽儏 - </div> - <div class="mask-btn"> - <el-button - @click="unLoadSdk(item)" - type="primary" - size="small" - class="bot-btn" - >鍗歌浇</el-button - > - <el-button - v-if="item.isUpgrade" - @click="donwload(item, 0)" - type="warning" - size="small" - class="bot-btn" - >鍗囩骇</el-button - > - </div> - </div> - <img - v-if="item.iconBlob" - class="baseImg" - :src=" - item.iconBlob.indexOf(',') > 0 - ? item.iconBlob - : `data:image/png;base64,${item.iconBlob}` - " - alt - /> - <img v-else class="baseImg" :src="item.icon" alt /> - </div> - <div class="alg-name"> - <div style="padding: 0px 10px 0px 10px"> - <span v-if="!item.isEdit"> - {{ item.sdk_name }} - </span> - </div> - </div> - </div> - </div> - </div> - </div> - <div class="flex-title"> - <p class="src-title">搴旂敤杞欢</p> - <el-button - @click="batchUpdate('app')" - v-if="hasNewVersionApp.length" - type="primary" - size="mini" - >鏇存柊鍏ㄩ儴</el-button - > - </div> - <div class="flex-list"> - <div v-if="!hasNewVersionApp.length" class="empty-tip"> - 鏆傛棤鏁版嵁 - </div> - <div - class="wrap-box" - v-for="item in hasNewVersionApp" - :key="item.id" - > - <div class="list-choose-item-left"> - <div class="list-complete-item-handle"> - <div - class="svg-wrap" - :class="{ willUpGrade: item.isUpgrade }" - v-loading=" - item.unloadLoading || item.upgradeLoading - " - :element-loading-text="item.progressMsg" - element-loading-background="rgba(0,0,0,.8)" - > - <img - class="update-icon" - v-if="item.isUpgrade" - src="../../../assets/img/鏇存柊鎻愮ず.png" - alt="" - /> - - <div class="mask"> - <div class="left-top"> - <div>褰撳墠鐗堟湰:{{ item.version }}</div> - <div v-if="item.remoteVersion"> - 鏈�鏂扮増鏈�:{{ item.remoteVersion }} - </div> - </div> - <div - class="info-onmask" - @click="checkDetail(item, 'active')" - > - 鏌ョ湅璇︽儏 - </div> - <div class="mask-btn"> - <el-button - v-if="!item.isDefault" - @click="unLoad(item)" - type="primary" - size="small" - class="bot-btn" - >鍗歌浇</el-button - > - <el-button - v-if="item.isUpgrade" - @click="downloadApp(item, 'upgrade')" - type="warning" - size="small" - class="bot-btn" - >鍗囩骇</el-button - > - </div> - </div> - <img - v-if="item.iconBlob" - class="baseImg" - :src=" - item.iconBlob.indexOf(',') > 0 - ? item.iconBlob - : `data:image/png;base64,${item.iconBlob}` - " - alt - /> - <img v-else class="baseImg" :src="item.icon" alt /> - </div> - <div class="alg-name"> - <div style="padding: 0px 10px 0px 10px"> - <span v-if="!item.isEdit">{{ item.name }}</span> - <el-input - size="small" - v-model="item.sdk_name" - v-if="item.isEdit" - v-focus - :maxlength="15" - @blur="inputBlur(item)" - ></el-input> - </div> - </div> - </div> - </div> - </div> - </div> - </div> - </el-tab-pane> - </el-tabs> - </div> - </div> - </div> - </div> - <el-dialog - title="瀹夎鍖呬俊鎭�" - :visible.sync="installDialogVisible" - width="40%" - :close-on-click-modal="false" - > - <div class="installInfo"> - <template v-if="installAppPackage != null"> - <div> - <div> - <span>瀹夎鍖呭悕绉帮細</span> - <span>{{ installAppPackage.productName }}</span> - </div> - <div> - <span>瀹夎鐗堟湰锛�</span> - <span>{{ installAppPackage.version }}</span> - </div> - <div> - <span>鏇存柊鍐呭锛�</span> - <span>{{ installAppPackage.installContent }}</span> - </div> - </div> - </template> - <template v-if="installSdkPackage != null"> - <div> - <div> - <span>瀹夎鍖呭悕绉帮細</span> - <span>{{ installSdkPackage.productName }}</span> - </div> - <div> - <span>瀹夎鐗堟湰锛�</span> - <span>{{ installSdkPackage.version }}</span> - </div> - <div> - <span>鏇存柊鍐呭锛�</span> - <span>{{ installSdkPackage.installContent }}</span> - </div> - </div> - </template> - <p>纭畾瀹夎锛�</p> - </div> - <div slot="footer" class="dialog-footer"> - <el-button @click="installDialogVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="offlineInstall">瀹� 瑁�</el-button> - </div> - </el-dialog> - <el-dialog - class="product-detail-dialog" - :visible="productDetailVisible" - @close="closeDial" - > - <div class="button-group" v-show="!backDisable || !forwardDisable"> - <el-button size="small" @click="backwards" :disabled="backDisable"> - <span><</span> - </el-button> - <el-button size="small" @click="forwards" :disabled="forwardDisable" - >></el-button - > - </div> - <div class="dialog-title" slot="title"> - {{ isSDKDialog ? "绠楁硶璇︽儏" : "搴旂敤璇︽儏" }} - </div> - <div class="dialog-content"> - <div class="box-top"> - <div class="top-left"> - <div class="banner"> - <el-carousel - ref="carousel" - :autoplay="false" - indicator-position="none" - :arrow=" - productDetail.pics !== undefined - ? productDetail.pics.length > 1 - ? 'always' - : 'never' - : 'never' - " - @change="changeHandle" - > - <el-carousel-item - v-for="(item, index) in productDetail.pics" - :key="index" - > - <div class="imgwrap"> - <img - v-if="item.type != 'video'" - :src="'/httpImage/' + item.url" - class="cursor-pointer" - preview - /> - <video - v-if="item.type == 'video'" - :src="'/httpImage/' + item.url" - controls - ></video> - </div> - </el-carousel-item> - </el-carousel> - </div> - </div> - <div class="top-right"> - <div class="summary"> - <div class="icon"> - <img - v-if="productDetail.iconBlob" - class="baseImg" - :src=" - productDetail.iconBlob.indexOf(',') > 0 - ? productDetail.iconBlob - : `data:image/png;base64,${productDetail.iconBlob}` - " - alt - /> - </div> - <div class="right-desc"> - <div class="name"> - <el-tooltip - class - effect="dark" - :content="productDetail.productName" - placement="right-start" - > - <span>{{ productDetail.productName }}</span> - </el-tooltip> - </div> - <div class="tags"> - <el-tag - type="info" - size="small" - color="#fff" - v-if="!isSDKDialog" - >搴旂敤</el-tag - > - <el-tag - type="info" - size="small" - color="#fff" - v-if="isSDKDialog" - >绠楁硶</el-tag - > - </div> - <div class="btns"> - <el-button - size="small" - type="warning" - v-if="needToUpgradeInWin || productDetail.isUpgrade" - @click="upgradeSDKinWin" - > - {{ isUpgrading ? "鍗囩骇涓�.." : "鍗囩骇" }} - </el-button> - <el-button - size="small" - type="primary" - v-if="isActive && !isDefaultApp" - @click="unloadSDKinWin" - >鍗歌浇</el-button - > - <el-button - size="small" - type="primary" - v-if="!isActive && !showInstallNotActive" - @click="showInputCode = !showInputCode" - >婵�娲�</el-button - > - <el-button - size="small" - type="primary" - v-if="!isActive && showInstallNotActive" - @click="downloadSdkInSide" - >{{ isUpgrading ? "瀹夎涓�.." : "瀹夎" }}</el-button - > - <el-button - size="small" - type="success" - v-if="!isSDKDialog && isActive" - @click="openApp" - >鎵撳紑</el-button - > - </div> - </div> - </div> - <div class="jihuo-input" v-if="showInputCode"> - <el-input - size="small" - v-model="activeCode" - placeholder="00000-00000-00000-00000-00000" - ></el-input> - <el-button type="primary" size="small" @click="actived" - >婵�娲�</el-button - > - <el-button type="primary" size="small" @click="cancelActivate" - >鍙栨秷</el-button - > - </div> - <div class="product-intruduction"> - <div class="part-title" v-if="!showInputCode">绠�浠�</div> - <div class="text"> - <div class="single-desc"> - <div>鐗堟湰锛�</div> - <div> - {{ - productDetail.productVersion === "" - ? "鏆傛棤" - : productDetail.productVersion - }} - </div> - </div> - <div class="single-desc"> - <div>姒傝堪锛�</div> - <div> - {{ - productDetail.description === "" - ? "鏆傛棤" - : productDetail.description - }} - </div> - </div> - <div class="single-desc"> - <div>璇﹁堪锛�</div> - <div> - {{ - productDetail.summary === "" - ? "鏆傛棤" - : productDetail.summary - }} - </div> - </div> - </div> - </div> - </div> - </div> - <div class="box-bottom"> - <div class="bot-left"> - <div class="part-title"> - {{ isSDKDialog ? "搴旂敤鍦烘櫙" : "鍔熻兘鐗圭偣" }} - </div> - <div class="list-zone"> - <div - class="list-item" - v-for="(item, index) in productDetail.funcInfo" - :key="index" - > - <el-tag type size="small" effect="dark">{{ - item.title === "" ? "鏆傛棤鏁版嵁" : item.title - }}</el-tag> - <div class="desc"> - {{ item.desc === "" ? "鏆傛棤鏁版嵁" : item.desc }} - </div> - </div> - </div> - </div> - <div class="bot-right"> - <div class="part-title">鎺ㄨ崘绠楁硶</div> - <div class="item-zone"> - <div - class="item" - v-for="(item, index) in otherProducts" - :key="index" - > - <el-tag type="info" color="inherit" size="small"> - {{ - item.productTypeName === "" - ? "鏆傛棤鏁版嵁" - : item.productTypeName - }} - </el-tag> - <div class="icon"> - <img - v-if="item.iconBlob" - class="baseImg" - :src=" - item.iconBlob.indexOf(',') > 0 - ? item.iconBlob - : `data:image/png;base64,${item.iconBlob}` - " - alt - /> - <div class="icon-name"> - <el-tooltip - class - effect="dark" - :content="item.name === '' ? '鏆傛棤鏁版嵁' : item.name" - placement="top-start" - > - <span>{{ - item.name === "" ? "鏆傛棤鏁版嵁" : item.name - }}</span> - </el-tooltip> - </div> - </div> - <div class="look-button"> - <el-button - type="primary" - size="mini" - @click="checkInWindow(item)" - >鏌ョ湅</el-button - > - </div> - </div> - </div> - </div> - </div> - </div> - </el-dialog> - <el-dialog - :visible.sync="showActivateSuccess" - title="婵�娲绘垚鍔燂紒" - width="30%" - class="active-Dial" - :before-close="handleClose" - > - <div class="dialog-active"> - <ul class="desc"> - <li> - <label>婵�娲荤爜:</label> - <span>{{ activedSdkOrApp.activateCode }}</span> - </li> - <li> - <label>浜у搧鍚嶇О:</label> - <span>{{ activedSdkOrApp.productName }}</span> - </li> - <li> - <label>閰嶇疆璇︽儏:</label> - <span>{{ activedSdkOrApp.setting }}</span> - </li> - <li> - <label>鏈嶅姟鍒版湡鏃�:</label> - <span>{{ activedSdkOrApp.expireTime }}</span> - </li> - <li> - <label>璁稿彲璇�:</label> - <span>{{ activedSdkOrApp.licence }}</span> - </li> - </ul> - <div class="text-right"> - <el-button type="primary" @click="checkMyAlgorith">纭畾</el-button> - <p class="tip">鎻愮ず锛氳鍦ㄢ�滃凡婵�娲烩�濅腑鏌ョ湅骞跺畨瑁呯畻娉�</p> - </div> - </div> - </el-dialog> - </div> -</template> -<script> -import { - findAllSdk, - downloadSdk, - installSdk, - getInstallInfo, - removeSdk, -} from "./api"; -import { - getApps, - installApp, - getAppDetail, - removeApp, - getUnActivedSdk, - actPageAlg, - getUnActivedApp, - actApp, -} from "@/api/app"; -import { getUrlKey } from "@/api/utils"; -import FileUploader from "@/components/subComponents/FileUpload/index"; -export default { - name: "algorithmManage_old", - components: { - FileUploader, - }, - computed: { - updateNum() { - return this.hasNewVersionApp.length + this.hasNewVersionSdk.length; - }, - isAdmin() { - if ( - sessionStorage.getItem("userInfo") && - sessionStorage.getItem("userInfo") !== "" - ) { - let loginName = JSON.parse(sessionStorage.getItem("userInfo")).username; - return loginName === "superadmin" || loginName === "basic"; - } - - return false; - }, - }, - data() { - return { - installedList: [], - hasNewVersionSdk: [], - hasNewVersionApp: [], - notInstalledList: [], - buttonAuthority: sessionStorage.getItem("buttonAuthoritys") || [], - activeName: "myAlgorithm", - patchUpdateStatus: "", - downloadItem: "", - downloading: false, - actStep: 0, - showActivateSuccess: false, - activeCode: "", - isInstall: false, - installDialogVisible: false, - installAppPackage: null, - installSdkPackage: null, - isActive: true, - isDefaultApp: false, - unActivedSDKList: [], - unActivedAppList: [], - isSDKDialog: true, - actType: "", - actId: "", - activedSdkOrApp: { - activateCode: "", - productName: "", - setting: "", - expireTime: "", - licence: "", - devIds: "", - }, - installedApps: [], - storeApps: [], - installFile: {}, - appUpgreading: true, - sdkUpgreading: true, - autoRefresh: true, - productDetailVisible: false, - isUpgrading: false, - productDetail: {}, - otherProducts: [], - backStack: [], - forwardStack: [], - backDisable: true, - forwardDisable: true, - showInputCode: false, - needToUpgradeInWin: false, - showInstallNotActive: false, - }; - }, - directives: { - focus: { - inserted: function (el) { - el.querySelector("input").focus(); - }, - }, - }, - mounted() { - const name = getUrlKey("activeName"); - if (name) { - this.activeName = name; - } - this.autoRefreshAppAndSdkState(); - this.getUnActivedList(); - this.getUnActivedAppList(); - }, - beforeDestroy() { - this.autoRefresh = false; - }, - methods: { - isShow(authority) { - return ( - this.isAdmin || this.buttonAuthority.indexOf("," + authority + ",") > -1 - ); - }, - batchUpdate(type) { - if (type == "sdk") { - this.hasNewVersionSdk.forEach((sdk) => { - this.donwload(sdk, 0); - }); - } else { - this.hasNewVersionApp.forEach((app) => { - this.downloadApp(app, "upgrade"); - }); - } - }, - closeDial() { - this.productDetailVisible = false; - this.productDetail = {}; - this.otherProducts = []; - }, - checkDetail(item, type) { - if (type == "inactive") { - this.isActive = false; - this.showInstallNotActive = false; - this.showInputCode = false; - } else if (type == "active") { - this.showInputCode = false; - this.showInstallNotActive = false; - this.isActive = true; - } else if (type == "activeNotInstall") { - debugger; - this.showInputCode = false; - this.isActive = false; - this.showInstallNotActive = true; - } - this.checkIsDefOrNot(item.id); - this.needToUpgradeInWin = item.isUpgrade ? true : false; - this.resetStack(); - if (item.sdk_type === undefined) { - this.isSDKDialog = false; - } else { - this.isSDKDialog = true; - } - this.productDetailVisible = true; - let _this = this; - getAppDetail({ id: item.id }).then((res) => { - _this.productDetail = res.data.detail; - _this.productDetail.isUpgrade = item.isUpgrade; - _this.productDetail.iconBlob = item.iconBlob; - - _this.otherProducts = res.data.randoms; - }); - }, - resetStack() { - this.forwardStack = []; - this.backStack = []; - this.backDisable = true; - this.forwardDisable = true; - }, - checkInWindow(item) { - this.backStack.push([this.productDetail, this.otherProducts]); - this.backDisable = false; - this.checkIsDefOrNot(item.id); - - let _this = this; - getAppDetail({ id: item.id }).then((res) => { - _this.productDetail = res.data.detail; - _this.productDetail.iconBlob = item.iconBlob; - this.actId = _this.productDetail.productBaseId; - let flag = false; - const allNeedToNew = [ - ...this.hasNewVersionSdk, - ...this.hasNewVersionApp, - ]; - for (let i = 0; i < allNeedToNew.length; i++) { - const item = allNeedToNew[i]; - if (item.id == _this.productDetail.productBaseId) { - flag = true; - } - } - this.needToUpgradeInWin = flag; - _this.productDetail.isUpgrade = flag; - - _this.otherProducts = res.data.randoms; - }); - }, - checkIsDefOrNot(id) { - if (id.length > 10) { - this.isDefaultApp = false; - } else { - this.isDefaultApp = true; - } - }, - backwards() { - if (this.backStack.length == 0) { - this.backDisable = true; - return; - } - this.forwardStack.push([this.productDetail, this.otherProducts]); - let item = this.backStack.pop(); - this.productDetail = item[0]; - this.checkIsDefOrNot(this.productDetail.productBaseId); - this.otherProducts = item[1]; - this.forwardDisable = false; - if (this.backStack.length == 0) { - this.backDisable = true; - } - }, - forwards() { - if (this.forwardStack.length == 0) { - this.forwardDisable = true; - return; - } - - this.backStack.push([this.productDetail, this.otherProducts]); - this.backDisable = false; - let item = this.forwardStack.pop(); - - this.productDetail = item[0]; - this.otherProducts = item[1]; - if (this.forwardStack.length == 0) { - this.forwardDisable = true; - } - }, - //绂荤嚎瀹夎 - offlineInstall() { - this.installDialogVisible = false; - this.isInstall = true; - //瀹夎 - installSdk(this.installFile) - .then((res) => { - if (res.success) { - this.isInstall = false; - this.$message({ - type: "success", - message: "瀹夎鎴愬姛,灏嗚烦杞嚦鈥滃凡婵�娲烩�濅腑鏌ョ湅", - }); - setTimeout(() => { - this.getAllSdk(); - window.parent.postMessage( - { - msg: "AppUpdate", - }, - "*" - ); - this.activeName = "myAlgorithm"; - }, 3000); - } - }) - .catch((e) => { - this.isInstall = false; - this.$message({ - type: "error", - message: e.data, - }); - }); - }, - downloadApp(app, action) { - if (action == "upgrade") { - app.upgradeLoading = true; - } else { - app.installLoading = true; - } - let _this = this; - - installApp({ path: app.id }) - .then((res) => { - if (res && res.success) { - _this.$notify({ - title: "鎴愬姛", - message: "瀹夎搴旂敤鎴愬姛", - type: "success", - }); - setTimeout(() => { - if (action == "upgrade") { - app.upgradeLoading = false; - } else { - app.installLoading = false; - } - window.parent.postMessage( - { - msg: "AppUpdate", - }, - "*" - ); - }, 3000); - } else { - } - }) - .catch((e) => { - _this.$notify({ - title: "瀹夎澶辫触", - message: e.data, - type: "warning", - }); - if (action == "upgrade") { - app.upgradeLoading = false; - } else { - app.installLoading = false; - } - }); - - // 寮�鍚嚜鍔ㄥ埛鏂� - this.appUpgreading = true; - }, - async getAllApps() { - let iArry = []; - let sArry = []; - let nArry = []; - let rsp = await getApps(); - if (rsp && rsp.success) { - // 閬嶅巻app鐨勮繃绋嬮噸缃� - this.appUpgreading = false; - - rsp.data.forEach((item) => { - let obj = Object.assign( - { unloadLoading: false, upgradeLoading: false }, - item - ); - if (obj.progressMsg !== "" && obj.progressMsg !== "宸插畨瑁�") { - obj.upgradeLoading = true; - - this.appUpgreading = true; - } - - if (obj.upgradeDone) { - this.$notify({ - type: "success", - message: 1 ? "绠楁硶瀹夎鎴愬姛" : "绠楁硶鍗囩骇鎴愬姛", - }); - } - - item.installed ? iArry.push(obj) : sArry.push(obj); - item.isUpgrade && nArry.push(obj); - }); - } - this.installedApps = iArry; - this.storeApps = sArry; - this.hasNewVersionApp = nArry; - }, - unLoad(app) { - let _this = this; - this.$confirm("纭畾瑕佸嵏杞借搴旂敤鍚�?", "鎻愮ず") - .then(() => { - _this.productDetailVisible = false; - - app.unloadLoading = true; - removeApp({ appId: app.id }) - .then((res) => { - if (res && res.success) { - app.unloadLoading = false; - _this.getAllApps(); - window.parent.postMessage( - { - msg: "AppUpdate", - }, - "*" - ); - _this.$notify({ - title: "鎴愬姛", - message: "鍗歌浇搴旂敤鎴愬姛", - type: "success", - }); - } - }) - .catch((e) => { - app.unloadLoading = false; - }); - }) - .catch((e) => {}); - }, - - actSdkOrApp(item, type = "sdk") { - this.checkDetail(item, "inactive"); - this.actType = type; - this.actId = item.id; - this.actStep = 0; - this.activeCode = ""; - this.activedSdkOrApp = this.newActInfo(); - }, - cancelActivate() { - this.showInputCode = false; - this.activeCode = ""; - }, - newActInfo() { - return { - activateCode: "", - productName: "", - setting: "", - expireTime: "", - licence: "", - devIds: "", - }; - }, - getUnActivedList() { - getUnActivedSdk().then((res) => { - if (res.code == 200) { - this.unActivedSDKList = res.data; - } - }); - }, - getUnActivedAppList() { - getUnActivedApp().then((res) => { - if (res.code == 200) { - this.unActivedAppList = res.data; - } - }); - }, - actived() { - let _this = this; - if (this.activeCode.trim() == "") { - this.$notify({ - type: "error", - message: "婵�娲荤爜涓嶈兘涓虹┖", - }); - return; - } - if (this.actType == "sdk") { - //婵�娲荤畻娉� - actPageAlg(this.actId, this.activeCode) - .then((res) => { - if (res.data.isSuccess) { - this.productDetailVisible = false; - _this.activedSdkOrApp = res.data.successMsg; - this.showActivateSuccess = true; - _this.actStep++; - _this.getUnActivedList(); - _this.getAllSdk(); - } else { - _this.$notify({ - type: "error", - message: res.data.failMsg.failMsg, - }); - } - }) - .catch((e) => { - console.log(e); - }); - } else if (this.actType == "app") { - //婵�娲诲簲鐢� - actApp(this.actId, this.activeCode) - .then((res) => { - if (res.data.isSuccess) { - this.productDetailVisible = false; - _this.activedSdkOrApp = res.data.successMsg; - this.showActivateSuccess = true; - _this.actStep++; - _this.getUnActivedAppList(); - _this.getAllApps(); - } else { - _this.$notify({ - type: "error", - message: res.data.failMsg.failMsg, - }); - } - }) - .catch((e) => { - console.log(e); - }); - } - }, - checkMyAlgorith() { - this.showActivateSuccess = false; - this.activeName = "myAlgorithm"; - }, - onFileUpload(file) { - this.patchFile = { ...file }; - this.fileAdded = true; - const h = this.$createElement; - //涓婁紶瀹屾垚鑾峰彇瀹夎淇℃伅 - let _this = this; - getInstallInfo(file) - .then((res) => { - _this.installFile = file; - if (res.success) { - _this.installDialogVisible = true; - if (res.data.apps.length > 0) { - _this.installAppPackage = { - appId: res.data.apps[0].appId, - version: res.data.apps[0].version, - productName: res.data.productName, - installContent: res.data.apps[0].installContent, - }; - } - if (res.data.sdks.length > 0) { - _this.installSdkPackage = { - appId: res.data.sdks[0].sdkId, - version: res.data.sdks[0].version, - productName: res.data.productName, - installContent: res.data.sdks[0].installContent, - }; - } - } else { - this.$message({ - type: "error", - message: res.msg, - }); - } - }) - .catch((e) => { - this.$message({ - type: "error", - message: e.msg, - }); - }); - }, - openApp() { - let message = "toOpenApp?" + this.productDetail.productBaseId; - window.parent.postMessage( - { - msg: message, - }, - "*" - ); - }, - onFileAdded(f) { - this.patchUpdateStatus = ""; - }, - async getAllSdk() { - let installedList = []; - let unInstalledList = []; - let hasNewVersionList = []; - let res = await findAllSdk(); - if (res && res.success) { - this.sdkUpgreading = false; - - res.data.forEach((item) => { - let obj = Object.assign( - { unloadLoading: false, upgradeLoading: false }, - item - ); - if (obj.progressMsg !== "" && obj.progressMsg !== "宸插畨瑁�") { - obj.upgradeLoading = true; - - this.sdkUpgreading = true; - } - - //绠楁硶杞欢 宸插畨瑁呭叾涓寘鍚緟鍗囩骇 鏈畨瑁� - item.installed ? installedList.push(obj) : unInstalledList.push(obj); - item.isUpgrade ? hasNewVersionList.push(obj) : null; - }); - } - this.installedList = installedList; - this.notInstalledList = unInstalledList; - this.hasNewVersionSdk = hasNewVersionList; - }, - unloadSDKinWin() { - let appToUnload; - let sdkToUnload; - if (this.productDetail.productTypeName == "搴旂敤") { - appToUnload = this.installedApps.find((item) => { - return item.id == this.productDetail.productBaseId; - }); - this.unLoad(appToUnload); - } else { - sdkToUnload = this.installedList.find((item) => { - return item.id == this.productDetail.productBaseId; - }); - this.unLoadSdk(sdkToUnload); - } - }, - //鍗歌浇绠楁硶 - unLoadSdk(sdk) { - let _this = this; - this.$confirm("纭畾瑕佸嵏杞借绠楁硶鍚�?", "鎻愮ず") - .then(() => { - _this.productDetailVisible = false; - sdk.unloadLoading = true; - removeSdk({ sdkId: sdk.id }) - .then((res) => { - if (res && res.success) { - sdk.unloadLoading = false; - this.$notify({ - title: "鎴愬姛", - message: "鍗歌浇瀹屾垚", - type: "success", - }); - _this.getAllSdk(); - window.parent.postMessage( - { - msg: "AppUpdate", - }, - "*" - ); - } - }) - .catch((e) => { - sdk.unloadLoading = false; - }); - }) - .catch((e) => {}); - }, - upgradeSDKinWin() { - this.isUpgrading = !this.isUpgrading; - let _this = this; - if (this.productDetail.productTypeName == "搴旂敤") { - debugger; - installApp({ path: this.productDetail.productBaseId }) - .then((res) => { - if (res && res.success) { - this.$notify({ - title: "鎴愬姛", - message: "鍗囩骇瀹屾垚", - type: "success", - }); - this.needToUpgradeInWin = false; - this.productDetail.isUpgrade = false; - this.isUpgrading = !this.isUpgrading; - } - }) - .catch((e) => { - _this.$notify({ - title: "鍗囩骇澶辫触", - message: e.data, - type: "warning", - }); - this.isUpgrading = !this.isUpgrading; - }); - - // 寮�鍚嚜鍔ㄥ埛鏂� - this.appUpgreading = true; - } else { - debugger; - downloadSdk({ path: this.productDetail.productBaseId }) - .then((res) => { - this.needToUpgradeInWin = false; - this.productDetail.isUpgrade = false; - this.isUpgrading = !this.isUpgrading; - this.$notify({ - title: "鎴愬姛", - message: "鍗囩骇瀹屾垚", - type: "success", - }); - }) - .catch((err) => { - this.$notify({ - title: "鍗囩骇澶辫触", - message: err.data, - type: "warning", - }); - this.isUpgrading = !this.isUpgrading; - }); - this.sdkUpgreading = true; - } - }, - downloadSdkInSide() { - this.downloadItem = this.productDetail.productBaseId; - this.isUpgrading = true; - downloadSdk({ path: this.productDetail.productBaseId }) - .then((rsp) => { - this.productDetailVisible = false; - this.downloadItem = ""; - this.$notify({ - type: "success", - message: "绠楁硶宸插畨瑁�", - }); - this.isUpgrading = false; - }) - .catch((err) => { - this.$notify({ - type: "warning", - message: err.data, - }); - this.downloadItem = ""; - this.isUpgrading = false; - }); - // 寮�鍚嚜鍔ㄥ埛鏂� - this.sdkUpgreading = true; - }, - donwload(item, typ) { - item.upgradeLoading = true; - this.downloadItem = item.id; - downloadSdk({ path: item.id }) - .then((rsp) => { - item.upgradeLoading = false; - this.downloadItem = ""; - window.parent.postMessage( - { - msg: "AppUpdate", - }, - "*" - ); - }) - .catch((err) => { - this.$notify({ - type: "warning", - message: err.data, - }); - item.upgradeLoading = false; - this.downloadItem = ""; - }); - // 寮�鍚嚜鍔ㄥ埛鏂� - this.sdkUpgreading = true; - }, - inputBlur(item) { - this.$set(item, "isEdit", false); - }, - autoRefreshAppAndSdkState() { - // 鍏抽棴鍚庨��鍑� - if (!this.autoRefresh) { - return; - } - if (this.appUpgreading) { - this.getAllApps(); - } - if (this.sdkUpgreading) { - this.getAllSdk(); - } - let _this = this; - setTimeout(() => { - _this.autoRefreshAppAndSdkState(); - }, 500); - }, - }, -}; -</script> -<style lang="scss"> -.s-task-manage { - width: 100% !important; - height: 100%; - box-sizing: border-box; - text-align: left; - min-width: 1106px; -background-color: #fff; - .el-tabs { - height: calc(100% - 50px); - } - .el-tabs--border-card > .el-tabs__header { - border: none; - } - .el-tabs__item.is-top { - height: 50px; - padding: 5px 50px !important; - font-size: 15px; - border: none !important; - } - .el-tabs__item.is-top.is-active { - font-weight: bold; - } - .el-tabs__content { - width: 100%; - height: calc(100% - 34px); - box-sizing: border-box; - } - .el-tab-pane { - width: 100%; - height: 100%; - } - .product-detail-dialog { - .dialog-title { - font-size: 13px; - } - .el-dialog { - width: 50%; - min-width: 920px; - position: relative; - } - .el-dialog__header { - text-align: center; - padding: 6px; - - .el-dialog__headerbtn { - position: absolute; - top: 5px; - - right: 20px; - padding: 0; - background: transparent; - outline: none; - cursor: pointer; - font-size: 20px; - } - } - .el-dialog__body { - background-color: rgba(222, 225, 230, 1); - padding: 8px 3px; - .button-group { - position: absolute; - top: 3px; - - left: 6px; - left: 10px; - .el-button--small { - padding: 5px 12px; - } - button { - font-size: 18px; - line-height: 12px; - } - } - } - - .dialog-content { - .box-top { - height: 330px; - .top-left { - float: left; - width: 55%; - background-color: rgba(253, 253, 253, 1); - margin: 0 0.5%; - height: 330px; - border-radius: 2px; - .banner { - text-align: center; - margin-top: 3px; - video { - margin: 0px auto; - margin-top: 23px; - - width: 443px; - height: 277px; - } - img { - max-width: 90%; - margin-top: 28px; - } - } - } - .top-right { - float: left; - width: 43%; - margin: 0 0.5%; - height: 330px; - background-color: rgba(253, 253, 253, 1); - position: relative; - border-radius: 2px; - overflow: hidden; - .summary { - height: 120px; - margin: 5px 5px 0 5px; - .icon { - margin: 0 10px; - margin-top: 8px; - float: left; - .baseImg { - max-width: 106px; - max-height: 106px; - } - } - - .right-desc { - float: left; - position: absolute; - left: 140px; - .name { - font-size: 28px; - - margin-bottom: 5px; - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; - width: 250px; - } - .tags { - margin-bottom: 10px; - .el-tag { - margin-right: 10px; - } - } - } - } - .jihuo-input { - margin-left: 10px; - margin-bottom: 10px; - .el-input { - float: left; - width: 63%; - margin-bottom: 8px; - margin-right: 10px; - } - el-button { - float: left; - } - } - .product-intruduction { - height: 200px; - margin-top: 3px; - - .part-title { - display: block; - line-height: 20px; - - font-size: 16px; - margin-left: 24px; - border-bottom: 3px solid #3d68e1; - width: fit-content; - height: 26px; - margin-bottom: 8px; - } - .text { - height: 156px; - overflow: auto; - padding: 0 15px 0px 15px; - - .single-desc { - margin-bottom: 10px; - font-size: 13px; - } - } - } - } - } - .box-bottom { - margin-top: 8px; - - height: 240px; - .bot-left { - width: 49%; - height: 240px; - background-color: rgba(253, 253, 253, 1); - margin: 0 0.5%; - border-radius: 2px; - float: left; - .part-title { - display: block; - line-height: 35px; - font-size: 16px; - margin-left: 24px; - border-bottom: 3px solid #3d68e1; - width: fit-content; - margin-bottom: 10px; - - height: 33px; - } - .list-zone { - overflow: auto; - height: 190px; - padding: 0 20px; - .list-item { - .desc { - background-color: rgba(242, 242, 242, 1.3); - margin: 5px 12px 0 12px; - font-size: 12px; - line-height: 18px; - } - margin-bottom: 12px; - } - } - } - .bot-right { - height: 240px; - float: left; - background-color: rgba(253, 253, 253, 1); - width: 49%; - margin: 0 0.5%; - border-radius: 2px; - - .part-title { - display: block; - line-height: 35px; - font-size: 16px; - margin-left: 24px; - border-bottom: 3px solid #3d68e1; - width: fit-content; - margin-bottom: 5px; - height: 33px; - } - .item-zone { - overflow: auto; - height: 225px; - padding: 0px 12px; - - .item { - height: 165px; - width: 130px; - float: left; - border-radius: 10px; - box-shadow: 0px 5px 14px rgba(0, 0, 0, 0.0666666666666667); - position: relative; - - .el-tag { - float: right; - margin: 8px; - } - .icon { - margin: 0 auto; - img { - max-width: 60px; - max-height: 60px; - position: absolute; - top: 20%; - left: 26%; - } - .icon-name { - text-align: center; - position: absolute; - top: 61%; - left: 12%; - width: 100px; - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; - font-size: 13px; - } - } - .look-button { - position: absolute; - left: 30%; - - top: 76%; - } - } - } - } - } - } - } -} -.flex-title { - display: flex; - justify-content: space-between; - align-items: center; -} - -.el-loading-mask .el-loading-spinner { - top: 40px !important; -} -.el-loading-mask .el-loading-spinner svg { - transform: none !important; - top: 20px !important; - left: 40% !important; -} -.el-loading-mask .el-loading-spinner p.el-loading-text { - display: block !important; - text-align: center !important; - bottom: 10px !important; - top: 80px !important; - right: 0 !important; - color: #78adf7; -} -.el-loading-mask .el-loading-spinner .path { - stroke: #78adf7; -} -.installInfo { - text-indent: 2em; - font-size: 14px; - line-height: 26px; - p { - text-align: center; - } -} -.src-title { - color: #bbcee8; - font-family: "PingFangSC-Semibold", "PingFang SC Semibold", "PingFang SC"; - font-weight: 650; - font-style: normal; - height: 36px; - font-size: 15px; - padding-left: 25px; -} -.update-badge .el-badge__content.is-fixed { - top: 10px; - right: 4px; -} -.empty-tip { - padding-left: 25px; - color: #ccc; - margin-bottom: 18%; -} -.task-manage { - height: 100%; - .installModel { - width: 100%; - height: 100%; - background-color: rgba(0, 0, 0, 0.7); - position: fixed; - top: 0; - left: 0; - z-index: 100; - .progress-bar { - width: 70%; - height: 17px; - border-radius: 3px; - background-color: rgb(227, 229, 231); - position: absolute; - top: 50%; - left: 50%; - background: url("/images/algo/green.gif"); - overflow: hidden; - transform: translate(-50%, -50%); - .inner-bar { - position: absolute; - top: 0; - left: 0; - width: 0; - height: 100%; - transition: width 3s; - background-color: #3d68e1; - } - } - } - .el-tab-pane { - height: auto !important; - } - .el-tabs--border-card > .el-tabs__content { - padding: 0 !important; - overflow: auto !important; - background-color: #fff; - } - .el-tabs__content { - padding: 0 !important; - overflow: auto !important; - } - - .super { - width: 100%; - height: 100%; - .title { - margin-bottom: 10px; - line-height: 30px; - font-family: PingFangSC-Medium; - font-size: 16px; - color: #222222; - } - .left-box { - height: 100%; - box-sizing: border-box; - .el-drawer__header { - border-bottom: 2px solid #eee; - padding-bottom: 10px; - font-size: 16px; - margin-bottom: 0px; - span { - outline: none !important; - } - } - .action-bar { - margin-bottom: 30px; - .el-input { - width: 100%; - } - } - .task-list { - background: #fff; - padding: 20px; - box-sizing: border-box; - - .flex-list { - display: flex; - flex-direction: row; - flex-wrap: wrap; - min-height: 200px; - .wrap-box { - width: 11%; - } - .list-choose-item-left { - width: 80%; - height: auto; - margin: auto; - margin-bottom: 30px; - max-width: 150px; - .mask { - width: 100%; - - .el-button + .el-button { - margin-left: 0 !important; - } - } - } - } - } - .store-list, - .app-list { - display: flex; - flex-wrap: wrap; - .wrap-box { - width: 11%; - margin-bottom: 30px; - .list-choose-item-left { - width: 80%; - height: auto; - margin: auto; - margin-bottom: 30px; - max-width: 150px; - } - .inner { - width: 80%; - box-sizing: border-box; - position: relative; - font-size: 14px; - padding-bottom: 10px; - transition: all 1s; - background: #ffffff; - border: 1px solid #e2e2e2; - box-shadow: 0 5px 12px 0 rgba(0, 0, 0, 0.07); - border-radius: 4px; - margin: auto; - .alg-icon { - position: relative; - width: 80%; - margin: auto; - padding-top: 80%; - svg { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - } - } - .alg-name { - height: 20px; - text-align: center; - line-height: 20px; - } - .mask { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: rgba(0, 0, 0, 0.65); - backdrop-filter: blur(1px) brightness(100%); - text-align: center; - z-index: 1; - border-radius: 3px; - display: none; - svg { - position: absolute; - top: 49%; - left: 50%; - transform: translate(-50%, -50%); - z-index: 33; - } - } - &:hover { - .mask { - display: block; - } - } - } - } - } - .drawer-content { - font-family: "PingFangSC-Regular"; - .el-step__title.is-process { - border-color: #3d68e1 !important; - color: #3d68e1 !important; - font-family: Tahoma, Helvetica, Arial, "\5B8B\4F53", sans-serif; - } - .el-step__head.is-process { - border-color: #3d68e1 !important; - color: #3d68e1 !important; - font-family: Tahoma, Helvetica, Arial, "\5B8B\4F53", sans-serif; - } - .el-input { - width: 100%; - margin-bottom: 30px; - } - .current-step { - margin: 40px 30px 30px; - } - .act-code { - padding: 0 30px; - p { - font-size: 15px; - margin-bottom: 16px; - } - } - .desc { - padding: 0 30px; - margin-bottom: 30px; - li { - border-bottom: 1px solid #eee; - height: 45px; - line-height: 45px; - font-size: 14px; - &:last-child { - border-bottom: none; - } - label { - display: inline-block; - width: 90px; - padding-left: 14px; - font-weight: bold; - } - } - } - .text-right { - padding-right: 30px; - text-align: right; - .tip { - color: #999; - line-height: 38px; - } - } - } - .tab-content { - padding: 20px 20px; - } - } - .mask { - position: absolute; - width: 100%; - height: 100%; - background: rgba(0, 0, 0, 0.65); - backdrop-filter: blur(1px) brightness(100%); - text-align: center; - z-index: 1; - border-radius: 3px; - display: none; - .info-onmask { - color: #fff; - } - .left-top { - position: absolute; - left: 5px; - top: 5px; - font-size: 12px; - color: #90d6ff; - } - .mask-btn { - width: 100%; - display: flex; - } - i { - color: #fff; - position: relative; - top: 40%; - display: contents; - } - i:hover { - color: rgba(255, 255, 255, 0.685); - } - } - - .text-css { - width: 100%; - overflow: hidden; - text-overflow: ellipsis; - } - .move-hear { - margin: 10px 0 0 0; - font-size: 5rem; - } - .list-choose-item { - cursor: pointer; - position: relative; - font-size: 14px; - display: inline-block; - @media screen and(min-width: 1640px) { - margin: 30px 20px 20px 20px; - } - @media screen and(min-width: 1460px) and(max-width: 1640px) { - margin: 30px 20px 20px 10px; - } - @media screen and(max-width: 1460px) { - margin: 30px 10px 20px 10px; - } - min-width: 126px; - height: 120px; - transition: all 1s; - background: #fff; - border: 1px solid #e2e2e2; - box-shadow: 0 5px 12px 0 rgba(0, 0, 0, 0.07); - border-radius: 4px; - } - .list-choose-item:hover { - .mask { - display: block; - } - } - - .alg-shadow { - -webkit-box-shadow: 0px 0px 10px 3px rgba(0, 0, 0, 0.3); - -moz-box-shadow: 0px 0px 10px 3px rgba(0, 0, 0, 0.3); - box-shadow: 0px 0px 10px 3px rgba(0, 0, 0, 0.3); - } - .select-color { - margin-top: 16px; - text-align: center; - line-height: 28px; - } - .list-choose-item-left { - cursor: pointer; - position: relative; - font-size: 14px; - - transition: all 1s; - border-radius: 4px; - p { - display: none; - text-align: right; - width: 100%; - position: absolute; - right: 10px; - top: 5px; - } - .click-download { - position: absolute; - left: 80%; - top: 5%; - } - } - .list-choose-item-left:hover { - .mask { - display: flex; - align-items: flex-end; - flex-wrap: wrap; - justify-content: center; - top: 0; - - .bot-btn { - flex: 1; - } - &.flex-center { - align-items: center; - justify-content: center; - } - } - } - .list-choose-item-left-uninstal { - color: gray; - filter: grayscale(100%); - } - .list-complete-item.sortable-chosen { - background: #4ab7bd; - } - .list-choose-item.sortable-ghost { - background: #30b08f; - } - .width-new-line { - word-wrap: break-word; - word-break: break-all; - } - .dndList-list { - max-width: 40%; - } - .dic-border { - width: 98%; - min-height: 170px; - background: #fff; - padding: 10px 10px 10px 20px; - } - .min-h { - min-height: 130px; - } - .parent-div { - border-right: 1px solid rgba(24, 28, 33, 0.5); - max-width: 140px; - position: relative; - } - .list-choose-header { - position: relative; - width: 74px; - height: 74px; - background-image: linear-gradient(-137deg, #7076f2 0%, #3d63e1 100%); - box-shadow: 0 5px 12px 0 rgba(0, 0, 0, 0.07); - border-radius: 37px; - margin: 10px 25px; - } - - .task-name-div { - font-family: PingFangSC-Medium; - font-size: 15px; - color: #4b68e6; - text-align: center; - margin-top: 6px; - max-width: 120px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - } - .border-dash { - height: 30px; - width: 96%; - margin-bottom: 10px; - border: 1px dashed rgba(24, 28, 33, 0.5); - } - .i-setting { - position: absolute; - font-size: 28px; - margin-top: -25px; - margin-left: -30px; - } - .i-delete { - position: absolute; - font-size: 28px; - margin-top: -25px; - margin-left: -8px; - color: red; - } - .i-bell { - float: left; - position: relative; - left: 10px; - top: 10px; - font-size: 24px; - color: red; - } - .task-msg { - padding-left: 10px; - } - .b-top { - width: 100%; - padding-top: 10px; - } - .b-bottom { - width: 100%; - border-bottom: 1px solid rgba(24, 28, 33, 0.5); - } - .i-set-right { - position: absolute; - left: 80px; - top: -11px; - font-size: 24px; - } - .i-remove-right { - position: absolute; - right: -1px; - top: -11px; - font-size: 24px; - color: red; - } - .alg-t { - line-height: 31px; - font-family: PingFangSC-Medium; - font-size: 14px; - color: #222222; - } - .alg-name { - line-height: 20px; - font-family: PingFangSC-Regular; - font-size: 14px; - letter-spacing: 0.05em; - color: #333; - .el-input { - position: relative; - font-size: 14px; - display: inline-block; - width: 100%; - } - } - .unit-class { - margin-left: 10px; - text-align: center; - line-height: 38px; - } - .el-input { - position: relative; - font-size: 14px; - display: inline-block; - width: 80%; - } - .list-complete-item-handle { - height: 100%; - text-align: center; - .svg-wrap { - width: 100%; - margin: auto; - padding-top: 80%; - padding-top: 100%; - position: relative; - box-shadow: 0 5px 12px 0 rgba(0, 0, 0, 0.07); - border-radius: 25px; - svg { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - } - .baseImg { - width: 100%; - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - max-height: 150px; - } - } - .willUpGrade { - .update-icon { - position: absolute; - top: -8px; - right: -8px; - z-index: 999; - } - .iconupdate { - color: #01e667; - position: absolute; - top: 5px; - right: 5px; - font-weight: 550; - font-size: 26px; - z-index: 999; - } - } - &.uninstall { - .svg-wrap { - filter: grayscale(100%); - } - .alg-name { - color: grey; - } - } - } - .dragAreaR { - height: 100%; - } - .drag-info { - min-width: 126px; - height: 120px; - border: 1px dashed #3d68e1; - box-shadow: 0 5px 12px 0 rgba(0, 0, 0, 0.07); - border-radius: 4px; - margin: 30px 10px 20px 10px; - } - .drag-info-text { - letter-spacing: 3px; - line-height: 20px; - width: 80px; - height: 42px; - font-family: PingFangSC-Regular; - font-size: 13px; - color: #3d68e1; - text-align: center; - } - .task-edit { - font-size: 26px; - position: relative; - bottom: -6px; - } - .el-button--cancle { - background: #eaeaea; - border-radius: 2px; - border-color: #eaeaea; - font-family: PingFangSC-Medium; - font-size: 13px; - color: #222222; - margin-right: 12px; - } - .click-changeImg { - cursor: pointer; - display: none; - background: rgba(0, 0, 0, 0.35); - width: 74px; - line-height: 20px; - color: rgb(255, 255, 255); - font-size: 14px; - opacity: 1; - border-radius: 6px; - } - - .task-name-google { - position: relative; - top: 30px; - width: 126px; - height: 120px; - border: 1px solid #fff; - background: #fff; - border-radius: 4px; - cursor: pointer; - .set-task { - display: none; - cursor: pointer; - } - - .el-switch__core { - width: 27px !important; - height: 14px; - } - .el-switch__core:after { - width: 10px; - height: 10px; - } - .el-switch.is-checked .el-switch__core::after { - left: 100%; - margin-left: -11px; - } - } - .task-name-google:hover { - .mask { - display: block; - } - } - } -} -.active-Dial { - .el-dialog { - min-width: 400px; - } - - .dialog-active { - .desc { - padding: 0 30px; - margin-bottom: 30px; - li { - border-bottom: 1px solid #eee; - height: 45px; - line-height: 45px; - font-size: 14px; - &:last-child { - border-bottom: none; - } - label { - display: inline-block; - width: 90px; - padding-left: 14px; - font-weight: bold; - } - } - } - .text-right { - padding-right: 30px; - text-align: right; - .tip { - color: #999; - line-height: 38px; - } - } - } -} -</style> - diff --git a/src/pages/ai_c/index/api.ts b/src/pages/ai_c/index/api.ts deleted file mode 100644 index 7232d34..0000000 --- a/src/pages/ai_c/index/api.ts +++ /dev/null @@ -1,161 +0,0 @@ -import request from '@/scripts/httpRequest' -import qs from "qs"; - -// 鏌ヨ鎵�鏈夌畻娉� -export const findAllSdk = (query: any) => { - return request({ - url: "/data/api-v/sdk/findAllSdk", - method: "get", - params: query - }); -}; - -// 鏌ユ壘鎵�鏈変换鍔★紝鍖呭惈浠诲姟淇℃伅鍜屽搴旂殑绠楁硶淇℃伅 -export const findAll = (query: any) => { - return request({ - url: "/data/api-v/task/findAll", - method: "get", - params: query - }); -}; - -// 缁欎换鍔℃坊鍔犵畻娉� -export const addTaskSdk = (query: any) => { - return request({ - url: "/data/api-v/task/addTaskSdk", - method: "post", - data: query - }) -} - -// 缁欎换鍔″垹闄ょ畻娉� -export const delTaskSdk = (query: any) => { - return request({ - url: "/data/api-v/task/delTaskSdk", - method: 'get', - params: query - }) -} - -// 鍒犻櫎浠诲姟 -export const deleteTask = (query: any) => { - return request({ - url: '/data/api-v/task/delete', - method: 'get', - params: query - }) -} - -// 鏇存柊浠诲姟鐘舵�� -export const updateTaskStatus = (query: any) => { - return request({ - url: '/data/api-v/task/updateTaskStatus', - method: 'post', - data: query - }) -} - -// 鏇存柊浠诲姟鍚嶇О -export const updateTaskName = (query: any) => { - return request({ - url: '/data/api-v/task/updateTaskName', - method: 'post', - data: qs.stringify(query) - }) -} - -// 鑾峰彇绠楁硶鍙傛暟 -export const getSdkArgs = (query: any) => { - return request({ - url: '/data/api-v/sdkArg/getSdkArgs', - method: 'get', - params: query - }) -} - -// 绠楁硶鍙傛暟淇濆瓨 -export const saveTaskSdkRule = (query: any) => { - return request({ - url: '/data/api-v/task/saveTaskSdkRule', - method: 'post', - data: query - }) -} - -// 娣诲姞浠诲姟 -export const addTask = (query: any) => { - return request({ - url: '/data/api-v/task/addTask', - method: 'post', - data: query - }) -} - -// 鏌ヨ绠楁硶瑙勫垯 -export const getRulesByTaskSdk = (query: any) => { - return request({ - url: '/data/api-v/task/getRulesByTaskSdk', - method: 'get', - params: query - }) -} - -// 鎭㈠榛樿 -export const deleteTaskSdkRule = (query: any) => { - return request({ - url: '/data/api-v/task/deleteTaskSdkRule', - method: 'post', - data: qs.stringify(query) - }) -} - -// 鏍规嵁绫诲瀷鏌ユ壘瀛楀吀 -export const findByType = (query: any) => { - return request({ - url: '/data/api-v/dictionary/findByType', - method: "get", - params: query - }) -} - -// 鏌ヨ妫�绱㈡爣绛� -export const getTagList = (query: any) => { - return request({ - url: '/data/api-v/es/tagList', - method: 'post', - data: query - }) -} -//瀹夎绠楁硶 -export const downloadSdk = (query: any) => { - return request({ - url: '/data/api-v/sdk/sdkDownload', - method: 'get', - params: query - }) -} -//涓婁紶瀹屾垚鑾峰彇瀹夎淇℃伅 -export const getInstallInfo = (data: any) => { - return request({ - url: '/data/api-v/sdk/showInstallInfo', - method: 'post', - params: data - }) -} -//瀹夎宸蹭笂浼犵殑绠楁硶鎺ュ彛 -export const installSdk = (file: any) => { - return request({ - url: '/data/api-v/sdk/install', - method: 'post', - params: file - }) -} - -//鍗歌浇宸插畨瑁呯畻娉� -export const removeSdk = (sdk: any) => { - return request({ - url: '/data/api-v/sdk/unInstall', - method: 'post', - data: sdk - }) -} \ No newline at end of file diff --git a/src/pages/ai_c/index/main.ts b/src/pages/ai_c/index/main.ts deleted file mode 100644 index 8ddab5a..0000000 --- a/src/pages/ai_c/index/main.ts +++ /dev/null @@ -1,12 +0,0 @@ -import Vue from 'vue'; -import App from './App.vue'; - -import ElementUI from 'element-ui'; -import 'element-ui/lib/theme-chalk/index.css'; -import "@/assets/css/element-variables.scss"; -Vue.use(ElementUI) - -new Vue({ - el: '#app', - render: h => h(App) -}) diff --git a/src/pages/index/App.vue b/src/pages/index/App.vue index 4751673..31a6107 100644 --- a/src/pages/index/App.vue +++ b/src/pages/index/App.vue @@ -83,10 +83,10 @@ } else { //缃戠粶鏂綉鏁堟灉鍥惧嚭鏉ュ悗锛屽皢姝ゅ湴鏀逛负璺宠浆璺緞鍒版晥鏋滃浘涓� message = "鏈厤缃綉缁�"; + this.$notify({ + message: message, + }); } - this.$notify({ - message: message, - }); }); }, data() { @@ -114,7 +114,7 @@ if (this.active == 2) { const data = this.$refs[`form${this.active}`].getFormData(); await saveRegInfo(data); - location.assign("/view/login"); + location.assign("/login"); return; } @@ -211,7 +211,7 @@ } if (res.data.initPwd && res.data.initRegInfo) { - location.assign("/view/login"); + location.assign("/login"); return; } diff --git a/src/pages/login/App.vue b/src/pages/login/App.vue index 8571737..e623efb 100644 --- a/src/pages/login/App.vue +++ b/src/pages/login/App.vue @@ -59,13 +59,13 @@ </div> --> <div class="login"> <div class="title"> - <div class="en">Smart AI</div> - <div class="ch">浜哄伐鏅鸿兘鎿嶄綔绯荤粺</div> + <div class="en">{{ data.title_firstLine }}</div> + <div class="ch">{{ data.title_secondLine }}</div> </div> <div class="left_footer"> - <img class="logo" src="/images/loginImg/LOGO.png" alt="" /> - <div class="web">www.smartai.com</div> + <img class="logo" src="/apps/loginData/LOGO.png" alt="" /> + <div class="web">{{ data.website }}</div> </div> <div @@ -73,7 +73,7 @@ :style="{ background: backgroundColor }" :class="{ empty: !user.loginName && !user.password }" > - <img class="logo" src="/images/loginImg/OS.png" alt="" /> + <img class="logo" src="/apps/loginData/leftImg.png" alt="" /> <el-form :model="user" @@ -118,6 +118,7 @@ import Licence from "@/components/licence"; import LangSelect from "@/components/langSelect"; import { getMenuListData } from "@/api/utils"; +import loginData from "../../../public/apps/loginData/login.json"; export default { name: "login-pgae", @@ -150,6 +151,7 @@ }, }, data: () => ({ + data: {}, serverTitle: "", user: { loginName: "", @@ -176,6 +178,7 @@ created() { this.getServerName(); this.getScreenHeight(); + this.data = loginData; this.backgroundColor = this.backgroundList[ Math.floor(Math.random() * this.backgroundList.length) @@ -325,10 +328,14 @@ }; </script> <style lang="scss"> +html, +body, .login { height: 100%; + min-width: 1646px; + min-height: 811px; position: relative; - background-image: url("/images/loginImg/background.png"); + background-image: url("/apps/loginData/background.png"); .title { position: absolute; -- Gitblit v1.8.0