Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yaoai-video
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
姚珂
yaoai-video
Commits
3db44894
Commit
3db44894
authored
May 27, 2026
by
yaoke.yk
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/main'
parents
cda0db1d
07a22029
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
484 additions
and
83 deletions
+484
-83
package-lock.json
doc/h5/package-lock.json
+26
-0
package.json
doc/h5/package.json
+1
-0
Aside.vue
doc/h5/src/components/Aside.vue
+0
-0
Header.vue
doc/h5/src/components/Header.vue
+63
-8
UploadSingleFile.vue
doc/h5/src/components/UploadSingleFile.vue
+25
-17
UploadSingleImg.vue
doc/h5/src/components/UploadSingleImg.vue
+82
-0
index.ts
doc/h5/src/router/index.ts
+4
-4
Home.vue
doc/h5/src/views/Home.vue
+7
-30
project.vue
doc/h5/src/views/enterprise/project.vue
+0
-6
team.vue
doc/h5/src/views/enterprise/team.vue
+143
-0
usage.vue
doc/h5/src/views/enterprise/usage.vue
+0
-0
watermark.vue
doc/h5/src/views/enterprise/watermark.vue
+49
-4
asset.vue
doc/h5/src/views/project/asset.vue
+70
-4
LocalUploadModal.vue
doc/h5/src/views/project/components/LocalUploadModal.vue
+8
-5
StepOne.vue
doc/h5/src/views/project/components/StepOne.vue
+1
-1
StepTwo.vue
doc/h5/src/views/project/components/StepTwo.vue
+3
-2
projectlist.vue
doc/h5/src/views/project/projectlist.vue
+2
-2
No files found.
doc/h5/package-lock.json
View file @
3db44894
...
...
@@ -9,6 +9,7 @@
"version"
:
"0.0.1"
,
"dependencies"
:
{
"axios"
:
"^1.5.0"
,
"echarts"
:
"^6.1.0"
,
"element-plus"
:
"^2.14.0"
,
"nprogress"
:
"^0.2.0"
,
"vue"
:
"^3.4.0"
,
...
...
@@ -1240,6 +1241,16 @@
"node"
:
">= 0.4"
}
},
"node_modules/echarts"
:
{
"version"
:
"6.1.0"
,
"resolved"
:
"https://registry.npmmirror.com/echarts/-/echarts-6.1.0.tgz"
,
"integrity"
:
"sha512-q0yaFPggC9FUdsWH4blavRWFmxdrIodbkoKNAjJudAI6CA9gNPxHtV2RcZNEepZVlk4yvBYkOkbk6HIVpIyHZA=="
,
"license"
:
"Apache-2.0"
,
"dependencies"
:
{
"tslib"
:
"2.3.0"
,
"zrender"
:
"6.1.0"
}
},
"node_modules/element-plus"
:
{
"version"
:
"2.14.0"
,
"resolved"
:
"https://registry.npmmirror.com/element-plus/-/element-plus-2.14.0.tgz"
,
...
...
@@ -1849,6 +1860,12 @@
"node"
:
">=0.10.0"
}
},
"node_modules/tslib"
:
{
"version"
:
"2.3.0"
,
"resolved"
:
"https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz"
,
"integrity"
:
"sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
,
"license"
:
"0BSD"
},
"node_modules/typescript"
:
{
"version"
:
"5.9.3"
,
"resolved"
:
"https://registry.npmmirror.com/typescript/-/typescript-5.9.3.tgz"
,
...
...
@@ -2008,6 +2025,15 @@
"peerDependencies"
:
{
"vue"
:
"^3.0.1"
}
},
"node_modules/zrender"
:
{
"version"
:
"6.1.0"
,
"resolved"
:
"https://registry.npmmirror.com/zrender/-/zrender-6.1.0.tgz"
,
"integrity"
:
"sha512-oEGMDB6pOP2S6OwRR4PdVv610zrjnA3Bh+JnSG12fYJlBKjtNAoEb5fSUoCOOINlH96I2fU38/A2UpRKs67xYQ=="
,
"license"
:
"BSD-3-Clause"
,
"dependencies"
:
{
"tslib"
:
"2.3.0"
}
}
}
}
doc/h5/package.json
View file @
3db44894
...
...
@@ -11,6 +11,7 @@
},
"dependencies"
:
{
"axios"
:
"^1.5.0"
,
"echarts"
:
"^6.1.0"
,
"element-plus"
:
"^2.14.0"
,
"nprogress"
:
"^0.2.0"
,
"vue"
:
"^3.4.0"
,
...
...
doc/h5/src/components/Aside.vue
View file @
3db44894
This diff is collapsed.
Click to expand it.
doc/h5/src/components/Header.vue
View file @
3db44894
...
...
@@ -7,17 +7,26 @@
<img
src=
"@/static/imgs/logo.png"
class=
"w-130 h-26 mb-2 cursor-pointer"
alt=
"Logo"
@
click=
"router.push('/')"
>
</div>
<div
class=
"flex gap-26"
>
<el-input
v-model=
"search"
class=
"responsive-input"
placeholder=
"搜索产品和文档"
:prefix-icon=
"Search"
/>
<el-input
v-model=
"searchVal"
class=
"responsive-input"
placeholder=
"搜索产品和文档"
:prefix-icon=
"Search"
/>
<el-popover
placement=
"bottom"
:width=
"180"
trigger=
"click"
:show-arrow=
"false"
>
<template
#
reference
>
<el-button
type=
"primary"
class=
"nav-button"
>
<span
class=
"pt-2"
>
企业
</span><el-icon
class=
"el-icon--right"
size=
"12"
>
<ArrowDownBold
/>
</el-icon>
</el-button>
</
template
>
<div
class=
""
>
<div
v-for=
"(item, index) in poverMenus"
:key=
"index"
class=
" py-6 cursor-pointer mt-4 menuhover"
@
click=
"router.push(item.path)"
>
{{ item.name }}
</div>
</div>
</el-popover>
<!-- <el-button type="primary" class="nav-button">
<span class="pt-2">企业</span><el-icon class="el-icon--right" size="12">
<ArrowDownBold />
</el-icon>
</el-button> -->
<el-button
type=
"primary"
class=
"nav-button"
>
<span
class=
"pt-2"
>
工具
</span><el-icon
class=
"el-icon--right"
size=
"12"
>
<ArrowDownBold
/>
...
...
@@ -36,7 +45,9 @@
<el-button
type=
"primary"
class=
"nav-button pt-2"
>
备案
</el-button>
<el-button
type=
"primary"
class=
"nav-button pt-2"
>
文档
</el-button>
<el-badge
:value=
"12"
class=
"mt-6 cursor-pointer"
>
<el-icon
size=
"18"
><Bell
/></el-icon>
<el-icon
size=
"18"
>
<Bell
/>
</el-icon>
</el-badge>
<el-button
type=
"primary"
link
class=
"nav-button fw-bold color"
>
中文
</el-button>
<div
class=
"w-30 h-30 flex-center rounded-circle headimg fs-12 mt-2"
>
黄
</div>
...
...
@@ -51,7 +62,34 @@ import { ArrowDownBold, Bell, Search } from '@element-plus/icons-vue'
import
{
useRouter
}
from
'vue-router'
;
const
router
=
useRouter
();
const
search
=
ref
(
''
);
const
searchVal
=
ref
(
''
);
const
poverMenus
=
ref
([
{
name
:
'企业组织'
,
path
:
''
,
value
:
1
},
{
name
:
'云身份中心'
,
path
:
''
,
value
:
2
},
{
name
:
'访问控制'
,
path
:
''
,
value
:
3
},
{
name
:
'资源管理'
,
path
:
''
,
value
:
4
},
{
name
:
'操作审计(云审计)'
,
path
:
''
,
value
:
5
}
])
</
script
>
<
style
scoped
lang=
"scss"
>
...
...
@@ -59,17 +97,20 @@ const search = ref('');
box-shadow
:
0
3px
5px
#eee
;
z-index
:
1
;
}
.responsive-input
{
width
:
240px
;
height
:
36px
;
border-radius
:
8px
!
important
;
border
:
1px
solid
#E5E7EB
;
overflow
:
hidden
;
:deep
(
.el-input__wrapper
)
{
box-shadow
:
none
!
important
;
background-color
:
#F9FAFB
;
}
}
.headimg
{
background-color
:
#EFF6FF
;
border
:
1px
solid
#DBEAFE
;
...
...
@@ -90,6 +131,7 @@ const search = ref('');
.pt-2
{
padding-top
:
2px
;
}
.color
{
color
:
#155DFC
;
}
...
...
@@ -102,4 +144,17 @@ const search = ref('');
.active
{
color
:
#409eff
;
}
.menuhover
{
&
:hover
{
background-color
:
#F0F2F5
;
border-radius
:
4px
;
}
}
</
style
>
<
style
lang=
"scss"
>
.el-popover
{
&
.el-popper
{
padding
:
4px
10px
!
important
;
}
}
</
style
>
doc/h5/src/components/UploadFile.vue
→
doc/h5/src/components/Upload
Single
File.vue
View file @
3db44894
<
template
>
<div>
<div>
</div>
<el-upload
class=
"upload-demo"
:multiple=
"multiple"
:show-file-list=
"false"
:limit=
"limit"
:accept=
"accept"
:style=
"
{
'border': borderColor ? `1px dashed ${borderColor}` : 'none',
<div
class=
"upload-demo"
:style=
"
{
'border': `1px dashed ${borderColor}`,
'background-color': `${backgroundColor}`
}" drag action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15">
}">
<div
class=
"h-200 flex-center flex-col"
v-if=
"fileList.length > 0"
>
<div
class=
"flex-align-center rounded-6 px-10 py-6 file"
>
<el-icon
size=
"36"
color=
"#3461f3"
><Document
/></el-icon>
<div
class=
"ml-4"
>
<div>
文件名文件名文件名
</div>
<div
class=
"text-999 fs-12 mt-6"
>
pdf
</div>
</div>
</div>
<el-button
class=
"mt-20"
round
:icon=
"Upload"
@
click=
"fileList=[]"
>
重新上传
</el-button>
</div>
<el-upload
v-else
:show-file-list=
"false"
:accept=
"accept"
drag
action=
"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
>
<slot
/>
</el-upload>
</div>
</
template
>
<
script
setup
lang=
"ts"
>
import
{
ref
}
from
'vue'
;
import
{
Document
,
Upload
}
from
'@element-plus/icons-vue'
const
emit
=
defineEmits
([
'changeFiles'
])
const
props
=
defineProps
({
borderColor
:
{
type
:
String
,
...
...
@@ -24,24 +33,18 @@ const props = defineProps({
type
:
String
,
default
:
'#fff'
},
multiple
:
{
type
:
Boolean
,
default
:
false
},
showFileList
:
{
type
:
Boolean
,
default
:
false
},
limit
:
{
type
:
Number
,
default
:
1
},
accept
:
{
type
:
String
,
default
:
'img'
}
})
const
fileList
=
ref
([])
</
script
>
<
style
scoped
lang=
"scss"
>
.upload-demo
{
...
...
@@ -49,7 +52,7 @@ const props = defineProps({
transition
:
all
0
.2s
;
&
:hover
{
border-color
:
#5337C7
;
border-color
:
#5337C7
!
important
;
}
:deep
(
.el-upload-dragger
)
{
...
...
@@ -60,5 +63,9 @@ const props = defineProps({
.el-upload__text
{
color
:
#000000
63
;
}
.file
{
border
:
1px
solid
#eee
;
background-color
:
#f9f9f9
;
}
}
</
style
>
\ No newline at end of file
doc/h5/src/components/UploadSingleImg.vue
0 → 100644
View file @
3db44894
<
template
>
<div
class=
"upload-demo"
:style=
"
{
'border': `1px dashed ${borderColor}`,
'background-color': `${backgroundColor}`
}">
<div
class=
"flex-center flex-col relative"
style=
"height: 270px;"
v-if=
"fileList.length == 0"
>
<div
class=
"h-b100 overflow-hidden"
>
<img
src=
"https://res.volccdn.com/obj/volc-console-fe/dramart/static/image/PIC3.22e42366.png"
class=
"w-b100 h-b100 object-cover"
/>
</div>
<div
class=
"absolute bottom-0 left-0 top-0 w-b100 flex-center rounded-14 bg-099"
>
<el-button
class=
"mt-20"
round
:icon=
"Upload"
@
click=
"fileList=[]"
>
重新上传
</el-button>
</div>
</div>
<el-upload
v-else
:show-file-list=
"false"
:accept=
"accept"
drag
action=
"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
>
<slot
/>
</el-upload>
</div>
</
template
>
<
script
setup
lang=
"ts"
>
import
{
ref
}
from
'vue'
;
import
{
Upload
}
from
'@element-plus/icons-vue'
const
emit
=
defineEmits
([
'changeFiles'
])
const
props
=
defineProps
({
borderColor
:
{
type
:
String
,
default
:
'#ddd'
},
backgroundColor
:
{
type
:
String
,
default
:
'#fff'
},
showFileList
:
{
type
:
Boolean
,
default
:
false
},
accept
:
{
type
:
String
,
default
:
'img'
}
})
const
fileList
=
ref
([])
</
script
>
<
style
scoped
lang=
"scss"
>
.upload-demo
{
border-radius
:
16px
;
transition
:
all
0
.2s
;
:deep
(
.el-upload
)
{
border
:
2px
dashed
#ddd
;
width
:
100%
;
height
:
240px
;
border-radius
:
6px
;
cursor
:
pointer
;
position
:
relative
;
overflow
:
hidden
;
transition
:
all
0
.3s
;
&
:hover
{
border-color
:
#c5c5c5
;
}
}
:deep
(
.el-upload-dragger
)
{
background-color
:
transparent
;
border
:
none
;
}
.el-upload__text
{
color
:
#000000
63
;
}
.bg-099
{
background-color
:
#000000
20
;
}
}
</
style
>
\ No newline at end of file
doc/h5/src/router/index.ts
View file @
3db44894
...
...
@@ -9,7 +9,7 @@ const Login = () => import('@/views/Login.vue');
const
NotFound
=
()
=>
import
(
'@/views/NotFound.vue'
);
const
Projectlist
=
()
=>
import
(
'@/views/project/projectlist.vue'
);
const
Asset
=
()
=>
import
(
'@/views/project/asset.vue'
);
const
Enterprise
Project
=
()
=>
import
(
'@/views/enterprise/project
.vue'
);
const
Enterprise
Team
=
()
=>
import
(
'@/views/enterprise/team
.vue'
);
const
EnterpriseUsage
=
()
=>
import
(
'@/views/enterprise/usage.vue'
);
const
EnterpriseWatermark
=
()
=>
import
(
'@/views/enterprise/watermark.vue'
);
const
Drama
=
()
=>
import
(
'@/views/project/drama.vue'
);
...
...
@@ -44,9 +44,9 @@ const routes = [
meta
:
{
authRequired
:
true
}
},
{
path
:
'/enterprise/
project
'
,
name
:
'Enterprise
Project
'
,
component
:
Enterprise
Project
,
path
:
'/enterprise/
team
'
,
name
:
'Enterprise
Team
'
,
component
:
Enterprise
Team
,
meta
:
{
authRequired
:
true
}
},
{
...
...
doc/h5/src/views/Home.vue
View file @
3db44894
...
...
@@ -27,19 +27,12 @@
<div
class=
"flex-center fs-40 pt-82"
>
翻开剧本,创作
<span
class=
"c-5337C7"
>
精品短剧
</span></div>
<section
class=
"card mt-44 bg-fff rounded-20 p-12"
>
<!--
<el-upload
class=
"upload-demo"
drag
action=
"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
:on-change=
"handleChange"
:show-file-list=
"false"
accept=
".doc,.docx,.pdf,.txt,.md"
>
<UploadSingleFile
backgroundColor=
"#F8F9FC"
accept=
".doc,.docx,.pdf,.txt,.md"
@
changeFiles=
"changeFiles"
>
<img
src=
"@/static/imgs/fileupload.png"
class=
"w-120"
alt=
""
>
<div
class=
"el-upload__text mt-24"
>
点击或拖拽剧本文件到这里,支持 doc、docx、txt、pdf、md,大小不超过 20M;也可以先跳过,下一页手动输入刷本
</div>
</el-upload>
-->
<UploadFile
backgroundColor=
"#F8F9FC"
accept=
".doc,.docx,.pdf,.txt,.md"
>
<img
src=
"@/static/imgs/fileupload.png"
class=
"w-120"
alt=
""
>
<div
class=
"el-upload__text mt-24"
>
点击或拖拽剧本文件到这里,支持 doc、docx、txt、pdf、md,大小不超过 20M;也可以先跳过,下一页手动输入刷本
</div>
</UploadFile>
</UploadSingleFile>
<section
class=
"mt-12"
>
<el-dropdown>
...
...
@@ -164,7 +157,7 @@ import { ref } from 'vue';
import
{
useRouter
}
from
'vue-router'
;
import
{
ElMessage
}
from
'element-plus'
import
{
ArrowDownBold
,
SwitchFilled
}
from
'@element-plus/icons-vue'
import
Upload
File
from
'@/components/Upload
File.vue'
import
Upload
SingleFile
from
'@/components/UploadSingle
File.vue'
const
router
=
useRouter
();
...
...
@@ -184,6 +177,10 @@ const handleChange = (uploadFile: any, uploadFiles: any) => {
console
.
log
(
11
,
uploadFile
,
uploadFiles
)
}
const
changeFiles
=
(
file
:
any
)
=>
{
}
</
script
>
<
style
scoped
lang=
"scss"
>
...
...
@@ -197,26 +194,6 @@ const handleChange = (uploadFile: any, uploadFiles: any) => {
.card
{
width
:
800px
;
.upload-demo
{
background-color
:
#F8F9FC
;
border
:
1px
dashed
#ddd
;
border-radius
:
16px
;
transition
:
all
0
.2s
;
&
:hover
{
border-color
:
#5337C7
;
}
:deep
(
.el-upload-dragger
)
{
background-color
:
transparent
;
border
:
none
;
}
.el-upload__text
{
color
:
#000000
63
;
}
}
}
.btnjb
{
...
...
doc/h5/src/views/enterprise/project.vue
deleted
100644 → 0
View file @
cda0db1d
<
template
>
<div></div>
</
template
>
<
script
setup
lang=
"ts"
></
script
>
<
style
lang=
"scss"
scoped
></
style
>
\ No newline at end of file
doc/h5/src/views/enterprise/team.vue
0 → 100644
View file @
3db44894
<
template
>
<section
class=
"px-64 flex flex-col gap-20 h-b100"
>
<div>
<div
class=
"flex gap-30 fs-18 pt-30 pb-10 bg-F8F9FA"
>
<a
v-for=
"(item, index) in tabs"
:key=
"index"
class=
"cursor-pointer aa"
:class=
"indexTab === index ? 'active' : ''"
@
click=
"changeTab(index)"
>
{{
item
}}
</a>
</div>
<div
v-if=
"isShowtip"
class=
"hint flex-between-center px-20 py-10 my-20"
>
<div
class=
"flex-align-center"
>
<el-icon
color=
"#5252ff"
size=
"16"
>
<WarningFilled
/>
</el-icon>
<span
class=
"ml-4"
>
需要授权账号登录权限且将其加入到团队中,子账号才可以登陆到短剧平台。
</span>
</div>
<div
class=
"flex gap-20"
>
<div>
已授权
<span
class=
"fw-bold"
style=
"color: darkgreen;"
>
0
</span></div>
<span
style=
"color: #ccc;"
>
|
</span>
<div>
未授权
<span>
2
</span></div>
</div>
</div>
<div
class=
"flex-center gap-10 mt-10"
>
<el-input
v-model=
"searchValue"
placeholder=
"搜索"
:prefix-icon=
"Search"
/>
<el-select
v-model=
"selectValue"
placeholder=
"Select"
style=
"width: 240px"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
<el-button
type=
"primary"
:dark=
"true"
:icon=
"Plus"
>
<span
class=
"ml-4"
>
新建子账号
</span>
</el-button>
</div>
</div>
<el-table
:data=
"tableData"
>
<el-table-column
type=
"selection"
:selectable=
"selectable"
width=
"55"
/>
<el-table-column
prop=
"name"
label=
"用户名"
width=
"180"
/>
<el-table-column
prop=
"name"
label=
"备注"
width=
"180"
/>
<el-table-column
prop=
"name"
label=
"隶属团队"
/>
<el-table-column
prop=
"name"
label=
"授权登录状态"
/>
<el-table-column
prop=
"name"
label=
"操作"
width=
"180"
>
<template
#
default=
"scope"
>
<el-button
link
type=
"primary"
size=
"small"
>
编辑
</el-button>
<el-button
link
type=
"danger"
size=
"small"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
</section>
</template>
<
script
setup
lang=
"ts"
>
import
{
ref
}
from
'vue'
import
{
Search
,
Plus
,
WarningFilled
}
from
'@element-plus/icons-vue'
const
searchValue
=
ref
(
''
);
const
isShowtip
=
ref
(
true
)
const
selectValue
=
ref
(
1
);
const
options
=
[
{
value
:
1
,
label
:
'所有授权'
,
},
{
value
:
2
,
label
:
'已授权'
,
},
{
value
:
3
,
label
:
'未授权'
,
},
]
const
tabs
=
ref
([
'子账号管理'
,
'团队管理'
])
const
indexTab
=
ref
(
0
)
const
changeTab
=
ref
((
index
:
number
)
=>
{
indexTab
.
value
=
index
})
// 表格
const
tableData
=
[
{
date
:
'2016-05-03'
,
name
:
'Tom'
,
address
:
'No. 189, Grove St, Los Angeles'
,
},
{
date
:
'2016-05-02'
,
name
:
'Tom'
,
address
:
'No. 189, Grove St, Los Angeles'
,
},
{
date
:
'2016-05-04'
,
name
:
'Tom'
,
address
:
'No. 189, Grove St, Los Angeles'
,
},
{
date
:
'2016-05-01'
,
name
:
'Tom'
,
address
:
'No. 189, Grove St, Los Angeles'
,
},
]
const
selectable
=
(
row
:
any
,
index
:
number
)
=>
{
return
row
.
name
!==
'Tom'
}
</
script
>
<
style
lang=
"scss"
>
:root
{
--el-color-primary
:
#5272ff
;
/* 修改主色 */
}
</
style
>
<
style
lang=
"scss"
scoped
>
.hint
{
border
:
1px
solid
#e5e7eb
;
background-color
:
#f5f7ff
;
border-radius
:
8px
;
}
.bg-F8F9FA
{
background-color
:
#f8f9fa
;
.aa
{
text-decoration
:
none
;
color
:
#888
;
outline
:
none
;
&
.active
{
color
:
#333
;
}
}
}
:deep
(
.el-table
)
{
border
:
1px
solid
#eee
;
border-radius
:
8px
;
border-bottom
:
none
;
th
{
padding-top
:
10px
;
padding-bottom
:
10px
;
background-color
:
rgba
(
28
,
106
,
224
,
0
.027
);
}
}
</
style
>
\ No newline at end of file
doc/h5/src/views/enterprise/usage.vue
View file @
3db44894
This diff is collapsed.
Click to expand it.
doc/h5/src/views/enterprise/watermark.vue
View file @
3db44894
<
template
>
<div></div>
<section
class=
"px-64 h-b100 overflow-y-auto pb-20 min-w-800"
>
<section
class=
"mt-36"
>
<div
class=
"fs-18"
>
去除水印管理
</div>
<div
v-if=
"isShowtip"
class=
"hint flex-between-center px-16 py-16 mt-18"
>
<div
class=
"flex gap-10"
>
<el-icon
color=
"#5252ff"
size=
"18"
class=
"mt-2"
>
<WarningFilled
/>
</el-icon>
<span
class=
"ml-4 line-h22"
style=
"font-size: 13px;"
>
根据法律法规要求,火山剧创平台(“平台”)提供AI生成合成服务,可能导致公众混淆或者误认的,平台应当在AI生成合成内容上添加显式标识(即“AI生成”明水印),向公众进行提示。经过您的申请,平台可以向您提供未添加显式标识的AI生成合成内容。如您后续使用网络信息内容传播服务发布AI生成合成内容,请注意您还需主动声明并使用传播平台提供的标识功能进行标识。您理解并承诺,如您未按照法律法规要求在AI生成合成内容上添加显式标识,导致公众混淆或者误认,因此所发生的后果和责任均由您自行承担。
</span>
</div>
</div>
<div
class=
"card1 rounded-16 p-16 mt-16 bg-fff"
>
<div
class=
""
>
子账号余量
</div>
<div
class=
"flex-between-center"
>
<div
class=
"text-666 fs-12 mt-10"
>
<div>
打开去除水印开关后,您使用火山剧创平台前述账号所创作、生成的AI生成合成内容将不再添加“Al生成”明水印。
</div>
<div
class=
"mt-2"
>
打开开关,代表您已确认充分了解上述情况并同意
</div>
</div>
<el-switch
v-model=
"switchVal"
class=
"ml-2"
@
change=
"change"
style=
"--el-switch-on-color: #5272ff; --el-switch-off-color: #ddd"
/>
</div>
</div>
</section>
</section>
</
template
>
<
script
setup
lang=
"ts"
></
script
>
<
style
lang=
"scss"
scoped
></
style
>
\ No newline at end of file
<
script
setup
lang=
"ts"
>
import
{
ref
}
from
'vue'
import
{
WarningFilled
}
from
'@element-plus/icons-vue'
import
{
ElMessage
}
from
'element-plus'
const
isShowtip
=
ref
(
true
)
const
switchVal
=
ref
(
false
)
const
change
=
()
=>
{
ElMessage
.
success
(
'设置成功'
)
}
</
script
>
<
style
lang=
"scss"
scoped
>
.hint
{
background-color
:
#edf1ff
;
border-radius
:
12px
;
}
.card1
{
border
:
1px
solid
#eaebee
;
}
</
style
>
\ No newline at end of file
doc/h5/src/views/project/asset.vue
View file @
3db44894
<
template
>
<div></div>
<section
class=
"px-64 flex flex-col gap-20 h-b100"
>
<div>
<div
class=
"h-36 flex gap-8 rounded-8 p-2 cursor-pointer mt-36"
style=
"width: 260px;background-color: #f1f2f9;"
>
<div
class=
"flex-1 flex-center"
:class=
"typeVal === 1 ? 'active1' : ''"
@
click=
"typeVal = 1"
>
个人资产
</div>
<div
class=
"flex-1 flex-center"
:class=
"typeVal === 2 ? 'active1' : ''"
@
click=
"typeVal = 2"
>
团队资产
</div>
<div
class=
"flex-1 flex-center"
:class=
"typeVal === 3 ? 'active1' : ''"
@
click=
"typeVal = 3"
>
写实人像库
</div>
</div>
<div
class=
"flex gap-30 fs-18 pt-30 pb-10 bg-F8F9FA"
>
<a
v-for=
"(item, index) in tabs"
:key=
"index"
class=
"cursor-pointer aa"
:class=
"indexTab === index ? 'active' : ''"
:href=
"'#' + item"
@
click=
"changeTab(index)"
>
{{
item
}}
</a>
</div>
<div
class=
"flex-center gap-10 mt-10"
>
<el-input
v-model=
"searchValue"
placeholder=
"搜索短剧项目名称"
:prefix-icon=
"Search"
/>
<el-button
type=
"primary"
color=
"#785BE5"
:dark=
"true"
:icon=
"Plus"
>
<span
class=
"ml-4"
>
上传角色
</span>
</el-button>
</div>
</div>
<section
class=
"flex-1"
>
<div
class=
"min-h-400"
>
<div
class=
"h-400 flex-center flex-col"
>
<svg
t=
"1779342435411"
class=
"icon"
viewBox=
"0 0 1024 1024"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
p-id=
"25486"
width=
"64"
height=
"64"
>
<path
d=
"M625.777778 0l341.333333 307.2v648.931556c0 37.432889-33.792 67.868444-75.320889 67.868444H132.209778C90.680889 1024 56.888889 993.564444 56.888889 956.131556V67.868444C56.888889 30.435556 90.680889 0 132.209778 0H625.777778zM476.728889 747.52h-11.491556a52.337778 52.337778 0 0 0-51.768889 52.906667c0 29.240889 23.153778 52.906667 51.768889 52.906666h11.548445a52.337778 52.337778 0 0 0 51.768889-52.906666 52.337778 52.337778 0 0 0-51.768889-52.906667zM459.377778 341.333333c-30.151111 0-57.287111 4.892444-80.497778 14.620445a147.342222 147.342222 0 0 0-55.694222 39.879111c-45.795556 53.134222-38.684444 122.026667-37.717334 129.706667a47.616 47.616 0 0 0 53.020445 41.927111 48.241778 48.241778 0 0 0 41.073778-54.215111c0-0.284444-2.844444-32.881778 14.791111-53.361778 12.401778-14.392889 34.304-21.617778 65.024-21.617778 34.702222 0 57.059556 8.817778 66.503111 26.225778a44.600889 44.600889 0 0 1-3.982222 47.616l-93.184 125.383111a49.152 49.152 0 0 0 9.102222 67.868444 46.535111 46.535111 0 0 0 66.446222-9.272889l93.184-125.383111a143.246222 143.246222 0 0 0 11.377778-153.144889C590.051556 382.805333 548.807111 341.333333 459.377778 341.333333z"
fill=
"#e6e6e6"
p-id=
"25487"
></path>
<path
d=
"M941.852444 276.48L628.280889 0v217.941333c0 32.711111 29.354667 58.481778 62.236444 58.481778l251.335111 0.056889z"
fill=
"#e6e6e6"
fill-opacity=
".5"
p-id=
"25488"
></path>
</svg>
<div
class=
"text-888 mt-10"
>
暂无数据
</div>
</div>
</div>
</section>
</section>
</
template
>
<
script
setup
lang=
"ts"
></
script
>
<
style
lang=
"scss"
scoped
></
style
>
\ No newline at end of file
<
script
setup
lang=
"ts"
>
import
{
ref
}
from
'vue'
import
{
Search
,
Plus
}
from
'@element-plus/icons-vue'
const
typeVal
=
ref
(
1
)
const
searchValue
=
ref
(
''
);
const
tabs
=
ref
([
'角色'
,
'场景'
,
'道具'
])
const
indexTab
=
ref
(
0
)
const
changeTab
=
ref
((
index
:
number
)
=>
{
indexTab
.
value
=
index
})
</
script
>
<
style
lang=
"scss"
scoped
>
.active1
{
background
:
#fff
;
border-radius
:
8px
;
box-shadow
:
0
0
3px
#ddd
;
}
.bg-F8F9FA
{
background-color
:
#f8f9fa
;
.aa
{
text-decoration
:
none
;
color
:
#888
;
outline
:
none
;
&
.active
{
color
:
#333
;
}
}
}
</
style
>
\ No newline at end of file
doc/h5/src/views/project/components/LocalUploadModal.vue
View file @
3db44894
...
...
@@ -14,10 +14,8 @@
<el-button
type=
"primary"
@
click=
"close"
>
确定
</el-button>
</div>
</
template
>
<el-upload
class=
"avatar-uploader mt-20"
action=
"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
:show-file-list=
"false"
>
<img
v-if=
"imageUrl"
:src=
"imageUrl"
class=
"avatar"
/>
<div
v-else
class=
"flex-center flex-col line-h24 fs-12"
>
<UploadSingleImg
@
changeFiles=
"changeFiles"
>
<div
class=
"flex-center flex-col line-h24 fs-12"
>
<el-icon
size=
"20"
>
<Plus
/>
</el-icon>
...
...
@@ -25,7 +23,7 @@
<span>
仅支持 JPG, PNG 格式
</span>
<span>
最大文件限制在 20MB 内
</span>
</div>
</
el-upload
>
</
UploadSingleImg
>
<div
class=
"text-center mt-20 mb-40"
>
支持 JPG、PNG 格式,单个文件不超过 20MB
</div>
</el-dialog>
</template>
...
...
@@ -34,6 +32,7 @@
import
{
ref
}
from
'vue'
import
{
Plus
}
from
'@element-plus/icons-vue'
import
IconType
from
'./IconType.vue'
;
import
UploadSingleImg
from
'@/components/UploadSingleImg.vue'
;
const
props
=
defineProps
({
title
:
{
...
...
@@ -53,6 +52,10 @@ const close = () => {
visible
.
value
=
false
}
defineExpose
({
open
})
const
changeFiles
=
(
val
:
any
)
=>
{
}
</
script
>
<
style
lang=
"scss"
scoped
>
.cirir
{
...
...
doc/h5/src/views/project/components/StepOne.vue
View file @
3db44894
...
...
@@ -137,7 +137,7 @@ import { ref } from 'vue';
const
list
=
ref
([
1
]);
const
tags
=
ref
([
'悬疑'
,
'古装'
,
'奇幻'
,
'爱情'
,
'都市'
]);
const
colors
=
[
'#5337C7'
,
'#12d9d2'
,
'#DD8330'
,
'#C9397E'
,
'#53B06C'
,
'#155DFC'
]
const
loading
=
ref
(
tru
e
)
const
loading
=
ref
(
fals
e
)
// 根据colors数组长度生成随机颜色
const
randomColor
=
(
index
:
number
)
=>
{
return
colors
[
index
];
...
...
doc/h5/src/views/project/components/StepTwo.vue
View file @
3db44894
...
...
@@ -299,7 +299,7 @@
</section>
</section>
<div
class=
"fixed bottom-30 btnfooter w-140 h-54 flex-center rounded-200 text-fff cursor-pointer"
@
click=
"
$
emit('next', 2)"
>
@
click=
"emit('next', 2)"
>
<img
src=
"@/static/imgs/icon1.png"
alt=
""
>
<span
class=
"ml-10"
>
进入下一步
</span>
</div>
...
...
@@ -312,13 +312,14 @@
</template>
<
script
setup
lang=
"ts"
>
import
{
ref
}
from
'vue'
;
import
{
CloseBold
,
Plus
,
DocumentCopy
,
MagicStick
,
FolderAdd
,
Download
,
MoreFilled
,
Delete
}
from
'@element-plus/icons-vue'
import
{
CloseBold
,
Plus
,
MagicStick
,
FolderAdd
,
Download
,
MoreFilled
,
Delete
}
from
'@element-plus/icons-vue'
import
EditModal
from
'./EditModal.vue'
;
// 新增'角色', '场景', '道具'
import
BatchModal
from
'./BatchModal.vue'
;
// 批量生成
import
DepotModal
from
'./DepotModal.vue'
;
// 从库中选择
import
LocalUploadModal
from
'./LocalUploadModal.vue'
;
// 本地上传
import
AiEditModal
from
'./AiEditModal.vue'
;
const
emit
=
defineEmits
([
'next'
])
const
isShowtip
=
ref
(
true
)
const
indexTab
=
ref
(
0
)
...
...
doc/h5/src/views/project/projectlist.vue
View file @
3db44894
...
...
@@ -7,7 +7,7 @@
<el-select
v-model=
"selectValue"
placeholder=
"Select"
style=
"width: 240px"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
<el-button
type=
"primary"
color=
"#785BE5"
:dark=
"true"
>
<el-button
type=
"primary"
color=
"#785BE5"
:dark=
"true"
@
click=
"router.push('/')"
>
<img
src=
"@/static/imgs/icon1.png"
alt=
""
>
<span
class=
"ml-4"
>
创建项目
</span>
</el-button>
...
...
@@ -25,7 +25,7 @@
<div
class=
"flex-between-center mt-14"
>
<div
class=
"text-999 fs-12"
>
2020-10-22 13:20:30 创建
</div>
<el-dropdown>
<el-button
text
:icon=
"MoreFilled"
class=
"morebtn"
/>
<el-button
text
:icon=
"MoreFilled"
class=
"morebtn"
@
click
.
stop
/>
<template
#
dropdown
>
<el-dropdown-menu>
<el-dropdown-item
@
click=
"openModal(item, '1')"
>
编辑名称
</el-dropdown-item>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment