diff --git a/src/assets/icon/icon-home.png b/src/assets/icon/icon-home.png new file mode 100644 index 0000000..0381304 Binary files /dev/null and b/src/assets/icon/icon-home.png differ diff --git a/src/assets/icon/icon-shang.png b/src/assets/icon/icon-shang.png new file mode 100644 index 0000000..a02abec Binary files /dev/null and b/src/assets/icon/icon-shang.png differ diff --git a/src/assets/icon/icon-xia.png b/src/assets/icon/icon-xia.png new file mode 100644 index 0000000..255d7a0 Binary files /dev/null and b/src/assets/icon/icon-xia.png differ diff --git a/src/router/index.js b/src/router/index.js index 3676b82..23c13b9 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -68,12 +68,26 @@ const routes = [ name: 'editPosition-chatgpt', component: () => import("../views/model/editPosition-chatgpt"), }, - // 编辑位置new + // 下载预览视频页 { path: '/videoDownload', name: 'videoDownload', component: () => import("../views/videoDownload/videoDownload"), - }, + } + , + //视频生成中页 + { + path: '/videoCreate', + name: 'videoCreate', + component: () => import("../views/model/videoCreate"), + }, + , + //视频生成失败 + { + path: '/videoFail', + name: 'videoFail', + component: () => import("../views/model/videoFail"), + }, // 聊天首页new { path: '/chat', diff --git a/src/views/login/login.vue b/src/views/login/login.vue index d3b3cef..3e319a9 100644 --- a/src/views/login/login.vue +++ b/src/views/login/login.vue @@ -45,6 +45,10 @@ 没有账号? 立即注册 +
+ + 回到首页 +
@@ -533,7 +537,16 @@ export default { // 有邀请码直接前往我的页面 } else if (status == 1) { Toast.success('登录成功!'); - this.$router.push('/myPage'); + if (this.$route.query.modelId) { + this.$router.push({ + path: '/editModel', + query: { + modelId: this.$route.query.modelId + } + }); + } else { + this.$router.push('/myPage'); + } } } catch (error) { console.log(error, 'error'); @@ -554,7 +567,16 @@ export default { const res = await doUpdateInviteCode(inviteCodeData); console.log(res, '更新邀请码数据'); Toast.success('登录成功!'); - this.$router.push('/myPage'); + if (this.$route.query.modelId) { + this.$router.push({ + path: '/editModel', + query: { + modelId: this.$route.query.modelId + } + }); + } else { + this.$router.push('/myPage'); + } } catch (error) { console.log(error, 'error'); Toast.fail(error.message); @@ -575,6 +597,21 @@ export default { diff --git a/src/views/model/videoFail.vue b/src/views/model/videoFail.vue new file mode 100644 index 0000000..3479c54 --- /dev/null +++ b/src/views/model/videoFail.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/views/myPage/myPage.vue b/src/views/myPage/myPage.vue index 626eef4..6347d16 100644 --- a/src/views/myPage/myPage.vue +++ b/src/views/myPage/myPage.vue @@ -27,7 +27,7 @@
暂无数据
- +
@@ -40,15 +40,25 @@
视频容量:{{ bytesToSize(item.videoSize) }}
创建时间:{{ changeTime(item.createDate, 'YYYY-MM-DD hh:mm:ss') }}
- -
+ +
+
草稿
-
视频生成中
+
视频生成中
视频生成失败
-
+ +
+ + +
+ +
+
复制
+
删除
@@ -72,8 +82,8 @@
{{ item.title || '无标题' }}
-
视频时长:{{ formatSeconds(item.videoTime) }}
-
视频容量:{{ bytesToSize(item.videoSize) }}
+ +
创建时间:{{ changeTime(item.createDate, 'YYYY-MM-DD hh:mm:ss') }}
@@ -140,6 +150,7 @@ export default { }, data() { return { + clickAction: -1, //右上角下拉 hasToken: null, // 判断有没有token来判断有没有登录 showLoading: true, // 加载处理 waterfallBug: true, // 解决瀑布流不显示bug @@ -168,6 +179,24 @@ export default { methods: { ...mapActions(['setCharacters']), + // 复制 + copyModel(id) { + this.$router.push({ + path: '/editModel', + query: { + id: id, + copy: true + } + }); + }, + // 点击右上角 + copyAndDel(id) { + if (this.clickAction == id) { + this.clickAction = -1; + } else { + this.clickAction = id; + } + }, // 草稿箱切换 draftChange(type) { this.listActive = type; @@ -239,12 +268,13 @@ export default { }); } //生成中 - else if (status == 1) { + else if ([1, 2, 4, 6].includes(status)) { Toast.fail('视频生成中'); + this.$router.push('/videoCreate'); return; } // 成功 - else if ([2, 4, 5, 6].includes(status)) { + else if ([5].includes(status)) { const url = item.videoPathUri + item.videoPath; this.$router.push({ // path: '/downloadVideo', @@ -259,13 +289,9 @@ export default { // 失败 else if (status == 3) { this.$router.push({ - path: '/editModel', + path: '/videoFail', query: { - id: item.id, - imgUrl: item.id, - modelId: item.id, - mouldSmId: item.id, - modify: true + id: item.id } }); } @@ -298,16 +324,24 @@ export default { this.showLoading = true; this.waterfallBug = false; // 根据listActive判断是不是看的草稿箱 - let videoStatuss = this.listActive == 1 ? [2, 4, 5, 6] : [0, 1, 3]; + // let videoStatuss = this.listActive == 1 ? [2, 4, 5, 6] : [0, 1, 3]; + let videoStatuss = this.listActive == 1 ? [1, 2, 3, 4, 5, 6] : [0]; const res = await getVideoList(pageNum, pageSize, videoType, videoStatuss); console.log(res, '获取作品列表'); this.videoList = res.data.list; + console.log(this.videoList); + this.waterfallBug = true; + console.log(this.waterfallBug); + this.total = res.data.total; + console.log(this.total); + this.showLoading = false; + console.log(this.showLoading); } catch (error) { console.log(error, 'error'); - // Toast.fail(error.message) + // Toast.fail(error.message); } }, @@ -369,19 +403,18 @@ export default { } }, - mounted() { + async mounted() { this.inPage = true; scrollToID('top'); - }, - - async created() { - if (!this.hasToken) { - this.hasToken = localStorage.getItem('AccessToken'); - this.showLoading = false; - } if (this.hasToken) { await this.loadVideoList(1, this.pageSize, this.videoType); + } else { + this.showLoading = false; } + }, + + created() { + this.hasToken = localStorage.getItem('AccessToken'); } }; @@ -472,18 +505,18 @@ export default { margin-bottom: 20px; .videoPrv { - width: 150px; + width: 140px; height: 100px; // background-color: #979797; img { position: absolute; - width: 150px; + width: 140px; height: 100px; border-radius: 6px; } .cover { position: absolute; - width: 150px; + width: 140px; height: 100px; line-height: 100px; background-color: #00000034; @@ -494,7 +527,7 @@ export default { } .videoInfo { flex: 1; - margin-left: 12px; + margin-left: 5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; @@ -617,6 +650,7 @@ export default { display: flex; justify-content: space-around; align-items: center; + z-index: 9999; img { width: 60%; height: 60%; @@ -740,8 +774,14 @@ export default { position: absolute; top: 0px; left: 0px; - padding: 7.5px; - border-radius: 0 0 12px 0; + width: 100%; + height: 100%; + // padding: 7.5px; + border-radius: 12px; + display: flex; + justify-content: center; + align-items: center; + text-align: center; color: #f7dcdc; background-color: rgba(0, 0, 0, 0.3); } @@ -758,6 +798,29 @@ export default { height: 15px; width: 15px; } + z-index: 999; + } + .copyAndDelBox { + position: absolute; + top: 0px; + left: 0px; + width: 100%; + height: 100%; + // padding: 7.5px; + border-radius: 12px; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + text-align: center; + color: #f7dcdc; + background-color: rgba(0, 0, 0, 0.5); + z-index: 99; + transition: opacity 0.3s ease-out; + div { + font-size: 15px; + margin-bottom: 20px; + } } } }