openioctopus/octopus:master
into master
2 years ago
@@ -15,6 +15,11 @@ import '../theme/index.css' | |||
import '@/styles/dot.scss' | |||
import globalVariable from '@/api/globalVariable.js' | |||
import install from './preventReClick' | |||
import { parseTime } from "@/utils/index" | |||
//设置为全局过滤器,避免冗余代码 | |||
Vue.filter('parseTime', parseTime) | |||
Vue.prototype.GLOBAL = globalVariable | |||
/** | |||
* If you don't want to use mock-server | |||
@@ -6,6 +6,7 @@ | |||
<div class="login-container"> | |||
<div class="grid-content"> | |||
<el-form | |||
@submit.native.prevent | |||
ref="loginForm" | |||
:model="loginForm" | |||
:rules="rules" | |||
@@ -33,7 +34,7 @@ | |||
</el-form-item> | |||
<!-- <el-checkbox v-model="checked" class="rememberme">记住密码</el-checkbox> --> | |||
<el-form-item style="width:100%;"> | |||
<el-button type="primary" style="width:100%;" :loading="logining" @click="handleLogin"> | |||
<el-button type="primary" style="width:100%;" native-type='submit' :loading="logining" @click="handleLogin"> | |||
登录 | |||
</el-button> | |||
</el-form-item> | |||
@@ -31,7 +31,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createTime) }}</span> | |||
<span>{{ scope.row.createTime | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
</el-table> | |||
@@ -53,7 +53,6 @@ | |||
</div> | |||
</template> | |||
<script> | |||
import { parseTime } from '@/utils/index' | |||
import { getErrorMsg } from '@/error/index' | |||
import { getCloudTrainJobList } from "@/api/cloudInterconnection" | |||
export default { | |||
@@ -102,9 +101,6 @@ export default { | |||
this.searchData.pageIndex = val | |||
this.getCloudTrainJobList(this.searchData) | |||
}, | |||
parseTime(val) { | |||
return parseTime(val) | |||
}, | |||
getErrorMsg(code) { | |||
return getErrorMsg(code) | |||
}, | |||
@@ -16,7 +16,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间" props="desc"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="状态"> | |||
@@ -60,7 +60,6 @@ | |||
<script> | |||
import { getVersionList, deleteDatasetVersion } from "@/api/dataManager" | |||
import { parseTime } from '@/utils/index' | |||
import preview from './preview.vue' | |||
import reuploadDataset from "./reuploadDataset.vue" | |||
import { getErrorMsg } from '@/error/index' | |||
@@ -201,10 +200,6 @@ | |||
}, | |||
confirm(val) { | |||
this.myDatasetVisible = val | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
} | |||
} | |||
} | |||
@@ -31,7 +31,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="数据集描述" :show-overflow-tooltip="true"> | |||
@@ -68,7 +68,6 @@ | |||
import dataSetEdite from "./components/dataSetEdite.vue"; | |||
import searchForm from '@/components/search/index.vue' | |||
import { deleteDataset, getPresetDatasetList } from "@/api/dataManager" | |||
import { parseTime } from '@/utils/index' | |||
import { getErrorMsg } from '@/error/index' | |||
export default { | |||
name: "TemplateList", | |||
@@ -206,10 +205,6 @@ | |||
this.versionListVisible = true; | |||
this.versionListType = this.typeChange | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
}, | |||
handleEdite(val) { | |||
this.editeDataSet = true | |||
this.data = val | |||
@@ -43,7 +43,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="操作"> | |||
@@ -67,7 +67,6 @@ | |||
import versionList from "./components/versionList.vue" | |||
import searchForm from '@/components/search/index.vue' | |||
import { getUserDatasetList } from "@/api/dataManager" | |||
import { parseTime } from '@/utils/index' | |||
import { getErrorMsg } from '@/error/index' | |||
export default { | |||
name: "UserList", | |||
@@ -145,11 +144,7 @@ | |||
this.row = row; | |||
this.versionListVisible = true; | |||
this.versionListType = this.typeChange | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
} | |||
} | |||
} | |||
} | |||
</script> | |||
@@ -35,7 +35,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="操作"> | |||
@@ -68,7 +68,6 @@ | |||
import preAlgorithmVersionCreation from "./preAlgorithmVersionCreation.vue" | |||
import preAlgorithmCreation from './preAlgorithmCreation.vue' | |||
import searchForm from '@/components/search/index.vue' | |||
import { parseTime } from '@/utils/index' | |||
import { getErrorMsg } from '@/error/index' | |||
import algotithmEdite from "./algotithmEdite.vue"; | |||
export default { | |||
@@ -205,10 +204,6 @@ | |||
} | |||
}) | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
}, | |||
handleEdite(val) { | |||
this.editeAlgorithm = true | |||
this.row = val | |||
@@ -40,7 +40,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="群组"> | |||
@@ -84,7 +84,6 @@ | |||
import { getUserAlgorithmList } from "@/api/modelDev" | |||
import versionList from "./versionList.vue" | |||
import searchForm from '@/components/search/index.vue' | |||
import { parseTime } from '@/utils/index' | |||
import { getErrorMsg } from '@/error/index' | |||
export default { | |||
name: "UserList", | |||
@@ -158,10 +157,6 @@ export default { | |||
close(val) { | |||
this.versionListVisible = val | |||
this.getAlgorithmList(this.searchData); | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
} | |||
} | |||
} | |||
@@ -20,7 +20,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="算法状态"> | |||
@@ -65,7 +65,6 @@ | |||
<script> | |||
import { getAlgorithmVersionList, queryAlgorithmVersion, compressAlgorithm, downloadAlgorithmVersion, deletePreAlgorithmVersion } from "@/api/modelDev"; | |||
import { parseTime } from '@/utils/index' | |||
import reuploadAlgorithm from "./reuploadAlgorithm.vue" | |||
import { getErrorMsg } from '@/error/index' | |||
import store from '@/store' | |||
@@ -276,10 +275,6 @@ | |||
}, | |||
confirm(val) { | |||
this.myAlgorithmVisible = val | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
} | |||
} | |||
@@ -4,7 +4,7 @@ | |||
:header-cell-style="{'text-align':'left','color':'black'}" :cell-style="{'text-align':'left'}"> | |||
<el-table-column label="时间"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.time) }}</span> | |||
<span>{{ scope.row.time | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="事件类型"> | |||
@@ -30,7 +30,6 @@ | |||
<script> | |||
import { getNotebookEventRecord } from "@/api/modelDev"; | |||
import { getErrorMsg } from '@/error/index' | |||
import { parseTime } from '@/utils/index' | |||
export default { | |||
name: 'notebookEventRecord', | |||
props: { | |||
@@ -94,9 +93,6 @@ | |||
this.pageIndex = val | |||
this.getNotebookEventRecord() | |||
}, | |||
parseTime(val) { | |||
return parseTime(val) | |||
}, | |||
getErrorMsg(code) { | |||
return getErrorMsg(code) | |||
} | |||
@@ -47,7 +47,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="操作"> | |||
@@ -97,7 +97,6 @@ | |||
import detailDialog from "./detailDialog.vue" | |||
import searchForm from '@/components/search/index.vue' | |||
import { getNotebookList, stopNotebook } from "@/api/modelDev" | |||
import { parseTime } from '@/utils/index' | |||
import { getErrorMsg } from '@/error/index' | |||
export default { | |||
name: "NotebookList", | |||
@@ -221,10 +220,6 @@ export default { | |||
confirm(val) { | |||
this.detailVisible = val; | |||
this.getNotebookList(this.searchData); | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
} | |||
} | |||
} | |||
@@ -42,7 +42,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间" align="center"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="状态" align="center"> | |||
@@ -78,7 +78,6 @@ | |||
import { getUserImage, getPreImage, deletePreImage, editePreImage } from '@/api/imageManager.js' | |||
// import { groupDetail } from '@/api/userManager.js' | |||
import searchForm from '@/components/search/index.vue' | |||
import { parseTime } from '@/utils/index' | |||
import { getErrorMsg } from '@/error/index' | |||
import store from '@/store' | |||
export default { | |||
@@ -240,10 +239,6 @@ | |||
this.searchData = Object.assign(val, this.searchData) | |||
this.getImage(this.searchData) | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
}, | |||
// 镜像状态 | |||
imageStatus(value) { | |||
switch (value) { | |||
@@ -20,7 +20,7 @@ | |||
<el-table-column v-if="modelTabType===1" prop="userName" label="提供者" /> | |||
<el-table-column label="创建时间"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="操作"> | |||
@@ -50,7 +50,6 @@ | |||
import versionList from './components/versionList.vue' | |||
import createDialog from './components/createDialog.vue' | |||
import { getMyModel, getPreModel, deletePreModel } from '@/api/modelManager.js' | |||
import { parseTime } from '@/utils/index' | |||
import searchForm from '@/components/search/index.vue' | |||
import { getErrorMsg } from '@/error/index' | |||
export default { | |||
@@ -186,10 +185,6 @@ | |||
this.CreateVisible = true | |||
this.row = val | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
}, | |||
// 删除确认 | |||
open(val) { | |||
this.$confirm('此操作将永久删除该预置模型, 是否继续?', '提示', { | |||
@@ -8,7 +8,7 @@ | |||
<el-table-column property="size" label="模型大小" /> | |||
<el-table-column label="最后修改时间"> | |||
<template slot-scope="scope"> | |||
<span style="margin-left: 10px">{{ parseTime(scope.row.lastModified) }}</span> | |||
<span style="margin-left: 10px">{{ scope.row.lastModified | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
</el-table> | |||
@@ -18,7 +18,6 @@ | |||
<script> | |||
import { preview } from '@/api/modelManager.js' | |||
import { parseTime } from '@/utils/index' | |||
import { getErrorMsg } from '@/error/index' | |||
export default { | |||
name: "PreviewDialog", | |||
@@ -59,12 +58,7 @@ | |||
}, | |||
handleDialogClose() { | |||
this.$emit('close', false) | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
} | |||
} | |||
} | |||
</script> | |||
@@ -15,7 +15,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间"> | |||
<template slot-scope="scope"> | |||
{{ parseTime(scope.row.createdAt) }}</span> | |||
{{ scope.row.createdAt | parseTime }} | |||
</template> | |||
</el-table-column> | |||
@@ -64,7 +64,6 @@ | |||
import previewDialog from './previewDialog.vue' | |||
import { getModelList, downloadModel, deletePreModelVersion } from '@/api/modelManager.js' | |||
import { parseTime } from '@/utils/index' | |||
import { getErrorMsg } from '@/error/index' | |||
import reupload from './reupload.vue' | |||
import store from '@/store' | |||
@@ -229,9 +228,6 @@ | |||
message: '已取消删除' | |||
}); | |||
}); | |||
}, // 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
}, | |||
// 版本列表状态 | |||
fileStatus(val) { | |||
@@ -88,6 +88,8 @@ export default { | |||
if (response.success) { | |||
if (response.data !== null && response.data.resourcePools !== null) { | |||
this.resourcePools = response.data.resourcePools | |||
// 判断平台资源是否存在于获取的资源池列表中;若存在,则设为默认展示;若不存在,默认展示为空。 | |||
this.ruleForm.resourcePool = this.resourcePools.indexOf(this.platformDetail.resourcePool) ? this.platformDetail.resourcePool : '' | |||
} | |||
else { | |||
this.resourcePools = [] | |||
@@ -26,7 +26,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="操作"> | |||
@@ -72,7 +72,6 @@ | |||
import storageConfigCreation from "./storageConfigCreation.vue" | |||
import storageConfigDetails from "./storageConfigDetails.vue" | |||
import { getErrorMsg } from '@/error/index' | |||
import { parseTime } from '@/utils/index' | |||
import { getStorageConfigList, deleteStorageConfig } from "@/api/platformManager" | |||
export default { | |||
name: "storageConfigList", | |||
@@ -198,10 +197,7 @@ export default { | |||
}) | |||
} | |||
}) | |||
}, | |||
parseTime(val) { | |||
return parseTime(val) | |||
}, | |||
} | |||
} | |||
} | |||
</script> | |||
@@ -26,7 +26,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间" align="center"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="操作" align="center"> | |||
@@ -96,7 +96,6 @@ import editDialog from "./components/editDialog.vue" | |||
import platformConfig from "./components/platformConfig.vue" | |||
import storageConfigList from "./components/storageConfigList.vue" | |||
import { getPlatformList } from "@/api/platformManager" | |||
import { parseTime } from '@/utils/index' | |||
import { getErrorMsg } from '@/error/index' | |||
export default { | |||
name: "platformList", | |||
@@ -191,10 +190,6 @@ export default { | |||
showStorageConfigList(row) { | |||
this.platformDetail = row | |||
this.storageConfigListVisible = true | |||
}, | |||
//时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
} | |||
} | |||
} | |||
@@ -29,7 +29,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间" align="center"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
</el-table> | |||
@@ -51,7 +51,6 @@ | |||
<script> | |||
import searchForm from '@/components/search/index.vue' | |||
import { getPlatformTrainingTaskList } from "@/api/platformManager" | |||
import { parseTime } from '@/utils/index' | |||
import { getErrorMsg } from '@/error/index' | |||
export default { | |||
name: "platformTrainingTaskList", | |||
@@ -103,10 +102,6 @@ export default { | |||
handleCurrentChange(val) { | |||
this.searchData.pageIndex = val | |||
this.getPlatformTrainingTaskList(this.searchData) | |||
}, | |||
//时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
} | |||
} | |||
} | |||
@@ -18,12 +18,12 @@ | |||
</el-table-column> | |||
<el-table-column label="开始时间" align="center"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="结束时间" align="center"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.endedAt) }}</span> | |||
<span>{{ scope.row.endedAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="类型" align="center" v-if="type=='user'"> | |||
@@ -43,7 +43,6 @@ | |||
import { getUserPay, getGroupPay } from '@/api/machineManager.js' | |||
import searchForm from '@/components/search/index.vue' | |||
import { getErrorMsg } from '@/error/index' | |||
import { parseTime, formatDuring } from '@/utils/index' | |||
export default { | |||
name: "UserMachineTime", | |||
components: { | |||
@@ -125,11 +124,6 @@ | |||
}) | |||
} | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
}, | |||
getSearchData(val) { | |||
let data = {} | |||
data = Object.assign(val, { pageIndex: this.pageIndex, pageSize: this.pageSize }) | |||
@@ -17,7 +17,7 @@ | |||
</el-table-column> | |||
<el-table-column label="充值时间" align="center"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="title" label="充值说明"> </el-table-column> | |||
@@ -33,7 +33,6 @@ | |||
import { getUserRecharge, getGroupRecharge } from '@/api/machineManager.js' | |||
import searchForm from '@/components/search/index.vue' | |||
import { getErrorMsg } from '@/error/index' | |||
import { parseTime, formatDuring } from '@/utils/index' | |||
export default { | |||
name: "UserMachineTime", | |||
components: { | |||
@@ -111,10 +110,6 @@ | |||
}) | |||
} | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
}, | |||
getSearchData(val) { | |||
let data = {} | |||
data = Object.assign(val, { pageIndex: this.pageIndex, pageSize: this.pageSize }) | |||
@@ -40,7 +40,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="运行时长" align="center"> | |||
@@ -80,7 +80,7 @@ | |||
<script> | |||
import detailDialog from "./components/index.vue"; | |||
import { getTraining, stopTraining, trainingDetail } from '@/api/trainingManager.js' | |||
import { parseTime, formatDuring } from '@/utils/index' | |||
import { formatDuring } from '@/utils/index' | |||
import searchForm from '@/components/search/index.vue' | |||
import { getErrorMsg } from '@/error/index' | |||
export default { | |||
@@ -212,9 +212,6 @@ | |||
this.getTraining(this.searchData) | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
}, | |||
formatDuring(val) { | |||
return formatDuring(val) | |||
} | |||
@@ -35,12 +35,12 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间" align="center"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="修改时间" align="center"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.updatedAt) }}</span> | |||
<span>{{ scope.row.updatedAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="操作" align="center"> | |||
@@ -91,7 +91,6 @@ | |||
<script> | |||
import { getUserList, groupList, freeze, activation, deleteGroup, userDetail, groupDetail } from '@/api/userManager.js' | |||
import { getUserConfigKey, getUserConfig } from '@/api/userManager.js' | |||
import { parseTime } from '@/utils/index' | |||
import operateDialog from "./components/operateDialog.vue"; | |||
import addDialog from "./components/addDialog.vue"; | |||
import userConfig from "./components/userConfig.vue"; | |||
@@ -318,10 +317,6 @@ | |||
this.searchData = Object.assign(val, this.searchData) | |||
this.getList(this.searchData) | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
}, | |||
// 获取用户配置信息 | |||
getUserConfigKey(row) { | |||
getUserConfigKey().then(response => { | |||
@@ -38,14 +38,14 @@ module.exports = { | |||
}, | |||
proxy: { | |||
[process.env.VUE_APP_BASE_API]: { | |||
target: 'http://192.168.202.72/', | |||
target: 'http://192.168.202.73/', | |||
changeOrigin: true, | |||
pathRewrite: { | |||
['^' + process.env.VUE_APP_BASE_API]: '/adminserver' | |||
} | |||
}, | |||
[process.env.VUE_APP_BASE_API2]: { | |||
target: 'http://192.168.202.72/', | |||
target: 'http://192.168.202.73/', | |||
changeOrigin: true, | |||
pathRewrite: { | |||
['^' + process.env.VUE_APP_BASE_API]: '' | |||
@@ -13,7 +13,7 @@ export default { | |||
data() { | |||
return { | |||
isShow: false, | |||
ainColor: curColor | |||
mainColor: curColor | |||
} | |||
}, | |||
created() { | |||
@@ -22,6 +22,11 @@ import directives from './directives' | |||
import install from './preventReClick' | |||
import './styles/element-variables.scss' | |||
import { initThemeColor } from './utils/themeColorClient' | |||
import { parseTime } from "@/utils/index" | |||
//设置为全局过滤器,避免冗余代码 | |||
Vue.filter('parseTime', parseTime) | |||
Vue.prototype.GLOBAL = globalVariable | |||
initThemeColor() | |||
@@ -36,12 +36,12 @@ | |||
</el-table-column> | |||
<el-table-column label="开始时间" align="center" prop="startTime"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.startedAt) }}</span> | |||
<span>{{ scope.row.startedAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="结束时间" align="center" prop="endTime"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.endedAt) }}</span> | |||
<span>{{ scope.row.endedAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
</div> | |||
@@ -53,7 +53,7 @@ | |||
</el-table-column> | |||
<el-table-column label="充值时间" align="center" prop="rechargeTime"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.updatedAt) }}</span> | |||
<span>{{ scope.row.updatedAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="充值机时(h)" align="center" prop="rechargeHour"> | |||
@@ -74,7 +74,6 @@ | |||
</template> | |||
<script> | |||
import { parseTime } from '@/utils/index' | |||
import { getUserConsumptionRecord, getGroupConsumptionRecord, getUserRechargeRecord, getGroupRechargeRecord } from "@/api/generalView"; | |||
import { getErrorMsg } from '@/error/index' | |||
export default { | |||
@@ -189,10 +188,6 @@ | |||
}, | |||
handleDialogClose() { | |||
this.$emit("close", false); | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
} | |||
} | |||
}; | |||
@@ -8,6 +8,7 @@ | |||
<div class="login-container"> | |||
<div class="grid-content"> | |||
<el-form | |||
@submit.native.prevent | |||
ref="loginForm" | |||
:model="loginForm" | |||
:rules="rules" | |||
@@ -35,7 +36,7 @@ | |||
/> | |||
</el-form-item> | |||
<el-form-item style="width:100%;"> | |||
<el-button type="primary" style="width:100%;" :style="{'background':colorChange,'border-color':colorChange}" :loading="logining" @click="handleLogin"> | |||
<el-button type="primary" style="width:100%;" native-type='submit' :style="{'background':colorChange,'border-color':colorChange}" :loading="logining" @click="handleLogin"> | |||
登录 | |||
</el-button> | |||
</el-form-item> | |||
@@ -34,7 +34,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createTime) }}</span> | |||
<span>{{ scope.row.createTime | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="操作"> | |||
@@ -75,7 +75,6 @@ | |||
</div> | |||
</template> | |||
<script> | |||
import { parseTime } from '@/utils/index' | |||
import { getErrorMsg } from '@/error/index' | |||
import trainingTaskCreate from './trainingTaskCreate.vue' | |||
import { getCloudTrainJobList, stopCloudTrainJob } from "@/api/cloudInterconnection" | |||
@@ -172,9 +171,6 @@ export default { | |||
this.createVisible = val | |||
this.getCloudTrainJobList(this.searchData) | |||
}, | |||
parseTime(val) { | |||
return parseTime(val) | |||
}, | |||
getErrorMsg(code) { | |||
return getErrorMsg(code) | |||
}, | |||
@@ -16,7 +16,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间" props="createdAt"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="数据集状态" v-if="typeChange===1"> | |||
@@ -64,7 +64,6 @@ | |||
<script> | |||
import { shareDatasetVersion, cancelShareDatasetVersion, deleteDatasetVersion, getVersionList } from "@/api/datasetManager"; | |||
import { parseTime } from '@/utils/index' | |||
import preview from './preview.vue' | |||
import reuploadDataset from "./reuploadDataset.vue" | |||
import { getErrorMsg } from '@/error/index' | |||
@@ -281,10 +280,6 @@ | |||
this.loading = false | |||
} | |||
}) | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
} | |||
} | |||
}; | |||
@@ -36,7 +36,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="操作"> | |||
@@ -74,7 +74,6 @@ | |||
import dataSetEdite from "./components/dataSetEdite.vue"; | |||
import searchForm from '@/components/search/index.vue' | |||
import { deleteDataset, getMyDatasetList } from "@/api/datasetManager"; | |||
import { parseTime } from '@/utils/index' | |||
import { getErrorMsg } from '@/error/index' | |||
export default { | |||
name: "MyList", | |||
@@ -223,10 +222,6 @@ | |||
} | |||
}) | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
}, | |||
handleEdite(val) { | |||
this.editeDataSet = true | |||
this.data = val | |||
@@ -42,7 +42,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="操作"> | |||
@@ -81,7 +81,6 @@ | |||
import versionList from "./components/versionList.vue"; | |||
import searchForm from '@/components/search/index.vue' | |||
import { getPresetDatasetList } from "@/api/datasetManager"; | |||
import { parseTime } from '@/utils/index' | |||
import { getErrorMsg } from '@/error/index' | |||
export default { | |||
name: "PresetList", | |||
@@ -170,10 +169,6 @@ | |||
this.versionListVisible = val; | |||
this.getDataList(this.searchData) | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
} | |||
} | |||
}; | |||
</script> | |||
@@ -38,7 +38,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="操作"> | |||
@@ -65,7 +65,6 @@ | |||
import versionList from "./components/versionList.vue"; | |||
import searchForm from '@/components/search/index.vue' | |||
import { getPublicDatasetList } from "@/api/datasetManager"; | |||
import { parseTime } from '@/utils/index' | |||
import { getErrorMsg } from '@/error/index' | |||
export default { | |||
name: "PublicList", | |||
@@ -153,10 +152,6 @@ | |||
close(val) { | |||
this.versionListVisible = val; | |||
this.getDataList(this.searchData) | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
} | |||
} | |||
}; | |||
@@ -28,7 +28,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间" align="center"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column v-if="imageTabType==3" label="提供者" align="center"> | |||
@@ -83,7 +83,6 @@ | |||
import searchForm from '@/components/search/index.vue' | |||
import dialogForm from "./components/dialogForm.vue"; | |||
import { getMyImage, getPublicImage, getPreImage, deleteImage, shareImage, editeImage, cancelImage } from '@/api/imageManager.js' | |||
import { parseTime } from '@/utils/index' | |||
import { getErrorMsg } from '@/error/index' | |||
import store from '@/store' | |||
export default { | |||
@@ -318,10 +317,6 @@ | |||
this.searchData = Object.assign(val, this.searchData) | |||
this.getImage(this.searchData) | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
}, | |||
// 修改描述 | |||
open(val) { | |||
const data = val | |||
@@ -35,7 +35,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="操作" width="350"> | |||
@@ -70,7 +70,6 @@ | |||
import myAlgorithmCreation from "./myAlgorithmCreation.vue" | |||
import searchForm from '@/components/search/index.vue' | |||
import { getMyAlgorithmList, deleteMyAlgorithm } from "@/api/modelDev" | |||
import { parseTime } from '@/utils/index' | |||
import { getErrorMsg } from '@/error/index' | |||
import algotithmEdite from "./algotithmEdite.vue"; | |||
export default { | |||
@@ -224,10 +223,6 @@ | |||
} | |||
}) | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
}, | |||
handleEdite(val) { | |||
this.editeAlgorithm = true | |||
this.row = val | |||
@@ -40,7 +40,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="操作"> | |||
@@ -84,7 +84,6 @@ import algorithmCopy from "./algorithmCopy.vue"; | |||
import versionList from "./versionList.vue"; | |||
import searchForm from '@/components/search/index.vue' | |||
import { getPresetAlgorithmList } from "@/api/modelDev" | |||
import { parseTime } from '@/utils/index' | |||
import { getErrorMsg } from '@/error/index' | |||
export default { | |||
name: "PresetList", | |||
@@ -174,10 +173,6 @@ export default { | |||
confirm(val) { | |||
this.algorithmCopyVisible = val | |||
this.getAlgorithmList(this.searchData) | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
} | |||
} | |||
} | |||
@@ -40,7 +40,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="提供者"> | |||
@@ -89,7 +89,6 @@ import algorithmCopy from "./algorithmCopy.vue"; | |||
import versionList from "./versionList.vue"; | |||
import searchForm from '@/components/search/index.vue' | |||
import { getPublicAlgorithmList } from "@/api/modelDev" | |||
import { parseTime } from '@/utils/index' | |||
import { getErrorMsg } from '@/error/index' | |||
export default { | |||
name: "PublicList", | |||
@@ -179,10 +178,6 @@ export default { | |||
confirm(val) { | |||
this.algorithmCopyVisible = val | |||
this.getAlgorithmList(this.searchData) | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
} | |||
} | |||
} | |||
@@ -15,7 +15,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column v-if="algorithmTabType === 1 ? false :true" label="提供者"> | |||
@@ -73,7 +73,6 @@ | |||
<script> | |||
import { getPubAlgorithmVersionList, getAlgorithmVersionList, queryAlgorithmVersion, compressAlgorithm, downloadAlgorithm, shareAlgorithmVersion, cancelShareAlgorithmVersion, deleteAlgorithmVersion } from "@/api/modelDev" | |||
import { parseTime } from '@/utils/index' | |||
import reuploadAlgorithm from './reuploadAlgorithm.vue' | |||
import { getErrorMsg } from '@/error/index' | |||
import store from '@/store' | |||
@@ -356,10 +355,6 @@ | |||
} | |||
}) | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
}, | |||
// 创建训练任务 | |||
createTask(row) { | |||
const data = row | |||
@@ -4,7 +4,7 @@ | |||
:header-cell-style="{'text-align':'left','color':'black'}" :cell-style="{'text-align':'left'}"> | |||
<el-table-column label="时间"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.time) }}</span> | |||
<span>{{ scope.row.time | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="事件类型"> | |||
@@ -30,7 +30,6 @@ | |||
<script> | |||
import { getNotebookEventRecord } from "@/api/modelDev"; | |||
import { getErrorMsg } from '@/error/index' | |||
import { parseTime } from '@/utils/index' | |||
export default { | |||
name: 'notebookEventRecord', | |||
props: { | |||
@@ -94,9 +93,6 @@ | |||
this.pageIndex = val | |||
this.getNotebookEventRecord() | |||
}, | |||
parseTime(val) { | |||
return parseTime(val) | |||
}, | |||
getErrorMsg(code) { | |||
return getErrorMsg(code) | |||
} | |||
@@ -41,7 +41,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="操作"> | |||
@@ -96,7 +96,6 @@ | |||
import searchForm from '@/components/search/index.vue' | |||
import saveDialog from "./saveDialog.vue" | |||
import { getNotebookList, stopNotebook, deleteNotebook, startNotebook } from "@/api/modelDev"; | |||
import { parseTime } from '@/utils/index' | |||
import { getResourceList } from "@/api/trainingManager" | |||
import { getErrorMsg } from '@/error/index' | |||
export default { | |||
@@ -292,10 +291,6 @@ | |||
} | |||
}) | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
}, | |||
create() { | |||
this.notebookVisible = true; | |||
}, | |||
@@ -13,7 +13,7 @@ | |||
<el-table-column prop="modelDescript" label="模型描述" align="center" /> | |||
<el-table-column label="创建时间" align="center"> | |||
<template slot-scope="scope"> | |||
<span style="margin-left: 10px">{{ parseTime(scope.row.createdAt) }}</span> | |||
<span style="margin-left: 10px">{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="操作" align="center"> | |||
@@ -39,7 +39,6 @@ | |||
<script> | |||
import versionList from './components/versionList.vue' | |||
import { getMyModel, getPreModel, getPublicModel, deleteMyModel } from '@/api/modelManager.js' | |||
import { parseTime } from '@/utils/index' | |||
import searchForm from '@/components/search/index.vue' | |||
import { getErrorMsg } from '@/error/index' | |||
export default { | |||
@@ -178,10 +177,6 @@ | |||
this.searchData = Object.assign(val, this.searchData) | |||
this.getModel(this.searchData) | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
}, | |||
// 删除确认 | |||
open(val) { | |||
this.$confirm('此操作将永久删除该模型(如该模型已分享,则分享模型也会被删除),是否继续?', '提示', { | |||
@@ -12,7 +12,7 @@ | |||
<el-table-column property="size" label="大小" /> | |||
<el-table-column label="最后修改时间"> | |||
<template slot-scope="scope"> | |||
<span style="margin-left: 10px">{{ parseTime(scope.row.lastModified) }}</span> | |||
<span style="margin-left: 10px">{{ scope.row.lastModified | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
</el-table> | |||
@@ -22,7 +22,6 @@ | |||
<script> | |||
import { preview } from '@/api/modelManager.js' | |||
import { parseTime } from '@/utils/index' | |||
import { getErrorMsg } from '@/error/index' | |||
export default { | |||
name: "PreviewDialog", | |||
@@ -63,12 +62,7 @@ | |||
}); | |||
} | |||
}) | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
} | |||
} | |||
} | |||
</script> | |||
@@ -18,7 +18,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间" align="center"> | |||
<template slot-scope="scope"> | |||
<span style="margin-left: 10px">{{ parseTime(scope.row.createdAt) }}</span> | |||
<span style="margin-left: 10px">{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="操作" align="center" width="300px"> | |||
@@ -63,7 +63,6 @@ | |||
<script> | |||
import previewDialog from './previewDialog.vue' | |||
import { getPublicList, getNoPublicList, downloadModel, deleteModelVersion, shareModel, cancelShareModel } from '@/api/modelManager.js' | |||
import { parseTime } from '@/utils/index' | |||
import { getErrorMsg } from '@/error/index' | |||
export default { | |||
name: "VersionList", | |||
@@ -229,9 +228,6 @@ | |||
} | |||
}) | |||
} | |||
}, // 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
}, | |||
// 版本列表状态 | |||
fileStatus(val) { | |||
@@ -28,7 +28,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间" align="center"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="操作" width="250"> | |||
@@ -72,7 +72,6 @@ | |||
import createDialog from "./components/createDialog/index.vue"; | |||
import editeDialog from "./components/editeDialog/index.vue"; | |||
import searchForm from '@/components/search/index.vue' | |||
import { parseTime } from '@/utils/index' | |||
import { getErrorMsg } from '@/error/index' | |||
export default { | |||
name: "PreImage", | |||
@@ -275,10 +274,6 @@ | |||
this.searchData = Object.assign(val, this.searchData) | |||
this.getTemplate(this.searchData) | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
}, | |||
// 删除确认 | |||
open(val) { | |||
let message = '' | |||
@@ -47,7 +47,7 @@ | |||
</el-table-column> | |||
<el-table-column label="创建时间" align="center"> | |||
<template slot-scope="scope"> | |||
<span>{{ parseTime(scope.row.createdAt) }}</span> | |||
<span>{{ scope.row.createdAt | parseTime }}</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="运行时长" align="center"> | |||
@@ -97,7 +97,7 @@ | |||
import detailDialog from "./components/detailDialog/index.vue"; | |||
import { getList, stop, Delete, getTraningDetail } from '@/api/trainingManager' | |||
import searchForm from '@/components/search/index.vue' | |||
import { parseTime, formatDuring } from '@/utils/index' | |||
import { formatDuring } from '@/utils/index' | |||
import { getErrorMsg } from '@/error/index' | |||
export default { | |||
name: "TraningTask", | |||
@@ -298,10 +298,6 @@ | |||
this.searchData = Object.assign(val, this.searchData) | |||
this.getList(this.searchData) | |||
}, | |||
// 时间戳转换日期 | |||
parseTime(val) { | |||
return parseTime(val) | |||
}, | |||
formatDuring(val) { | |||
return formatDuring(val) | |||
}, | |||
@@ -305,11 +305,13 @@ func (s *ImageService) AddImage(ctx context.Context, req *pb.AddImageRequest) (* | |||
IsPrefab: imageAdd.IsPrefab, | |||
} | |||
imageAdd.ImageAddr = s.generateImageRepositoryPath(&im) | |||
imageAdd.Status = int32(pb.ImageStatus_IMAGE_STATUS_NO_MADE) | |||
} else if req.SourceType == pb.ImageSourceType_IMAGE_SOURCE_TYPE_REMOTE { | |||
// 远程镜像类型,无需上传,保存镜像地址 | |||
if imageAdd.ImageAddr == "" { | |||
return nil, errors.Errorf(nil, errors.ErrorInvalidRequestParameter) | |||
} | |||
imageAdd.Status = int32(pb.ImageStatus_IMAGE_STATUS_MADE) | |||
} else if req.SourceType == pb.ImageSourceType_IMAGE_SOURCE_TYPE_SAVED { | |||
im := model.Image{ | |||
SpaceId: imageAdd.SpaceId, | |||
@@ -319,11 +321,11 @@ func (s *ImageService) AddImage(ctx context.Context, req *pb.AddImageRequest) (* | |||
IsPrefab: imageAdd.IsPrefab, | |||
} | |||
imageAdd.ImageAddr = s.generateImageRepositoryPath(&im) | |||
imageAdd.Status = int32(pb.ImageStatus_IMAGE_STATUS_NO_MADE) | |||
} else { | |||
return nil, errors.Errorf(nil, errors.ErrorImageSourceType) | |||
} | |||
imageAdd.Status = int32(pb.ImageStatus_IMAGE_STATUS_NO_MADE) | |||
image, err := s.data.ImageDao.Add(ctx, imageAdd) | |||
if err != nil { | |||
return nil, err | |||
Dear OpenI User
Thank you for your continuous support to the Openl Qizhi Community AI Collaboration Platform. In order to protect your usage rights and ensure network security, we updated the Openl Qizhi Community AI Collaboration Platform Usage Agreement in January 2024. The updated agreement specifies that users are prohibited from using intranet penetration tools. After you click "Agree and continue", you can continue to use our services. Thank you for your cooperation and understanding.
For more agreement content, please refer to the《Openl Qizhi Community AI Collaboration Platform Usage Agreement》