Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
Z
zxn-adputin
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
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lijin
zxn-adputin
Commits
9b91b1e4
Commit
9b91b1e4
authored
Jul 08, 2025
by
huangzhenglong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 处理接入tiktok广告相关逻辑
parent
61762daf
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
114 additions
and
2 deletions
+114
-2
CampaignTaskManage.vue
src/views/campaignTask/CampaignTaskManage.vue
+12
-0
CampaignTemplateManage.vue
src/views/campaignTemplate/CampaignTemplateManage.vue
+67
-1
AccountManagement.vue
src/views/promotionManagement/AccountManagement.vue
+35
-1
No files found.
src/views/campaignTask/CampaignTaskManage.vue
View file @
9b91b1e4
...
@@ -903,6 +903,15 @@ export default {
...
@@ -903,6 +903,15 @@ export default {
target_roas
:
this
.
form
.
target_roas
,
target_roas
:
this
.
form
.
target_roas
,
}
}
// 根据模板类型传递不同的字段
if
(
this
.
form
.
templateType
===
1
)
{
// 使用现有模板
taskData
.
campaignTemplateId
=
this
.
form
.
campaignTemplateId
;
}
else
{
// 使用临时模板
taskData
.
tempTemplateName
=
this
.
form
.
tempTemplateName
;
}
// 将应用列表数据转换为接口所需格式
// 将应用列表数据转换为接口所需格式
taskData
.
apps
=
this
.
appListData
.
map
(
app
=>
({
taskData
.
apps
=
this
.
appListData
.
map
(
app
=>
({
pkg
:
app
.
appId
,
pkg
:
app
.
appId
,
...
@@ -1031,6 +1040,9 @@ export default {
...
@@ -1031,6 +1040,9 @@ export default {
return
return
}
}
// 确保模板ID被设置到form中
this
.
form
.
campaignTemplateId
=
templateId
try
{
try
{
const
response
=
await
getCampaignTemplateById
(
templateId
)
const
response
=
await
getCampaignTemplateById
(
templateId
)
console
.
log
(
'模板详情响应:'
,
response
)
console
.
log
(
'模板详情响应:'
,
response
)
...
...
src/views/campaignTemplate/CampaignTemplateManage.vue
View file @
9b91b1e4
...
@@ -67,6 +67,13 @@
...
@@ -67,6 +67,13 @@
v-loading=
"loading"
>
v-loading=
"loading"
>
<el-table-column
prop=
"id"
label=
"ID"
width=
"80"
></el-table-column>
<el-table-column
prop=
"id"
label=
"ID"
width=
"80"
></el-table-column>
<el-table-column
prop=
"name"
label=
"模板名称"
width=
"250"
></el-table-column>
<el-table-column
prop=
"name"
label=
"模板名称"
width=
"250"
></el-table-column>
<el-table-column
label=
"平台"
width=
"120"
align=
"center"
>
<template
slot-scope=
"scope"
>
<el-tag
:type=
"getPlatformTagType(scope.row.platform)"
>
{{
getPlatformName
(
scope
.
row
.
platform
)
}}
</el-tag>
</
template
>
</el-table-column>
<el-table-column
prop=
"daily_budget"
label=
"日预算($)"
width=
"120"
>
<el-table-column
prop=
"daily_budget"
label=
"日预算($)"
width=
"120"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
daily_budget
}}
{{
scope
.
row
.
daily_budget
}}
...
@@ -166,6 +173,14 @@
...
@@ -166,6 +173,14 @@
<el-input
v-model=
"form.name"
></el-input>
<el-input
v-model=
"form.name"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"平台"
prop=
"platform"
>
<el-select
v-model=
"form.platform"
placeholder=
"请选择平台"
@
change=
"handlePlatformChange"
>
<el-option
label=
"Google"
:value=
"1"
></el-option>
<el-option
label=
"TikTok"
:value=
"2"
></el-option>
<el-option
label=
"Facebook"
:value=
"3"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"广告系列类型"
prop=
"campaign_type"
>
<el-form-item
label=
"广告系列类型"
prop=
"campaign_type"
>
<el-select
v-model=
"form.campaign_type"
placeholder=
"请选择"
>
<el-select
v-model=
"form.campaign_type"
placeholder=
"请选择"
>
<el-option
label=
"应用安装"
:value=
"1"
></el-option>
<el-option
label=
"应用安装"
:value=
"1"
></el-option>
...
@@ -262,6 +277,7 @@ export default {
...
@@ -262,6 +277,7 @@ export default {
dialogTitle
:
''
,
dialogTitle
:
''
,
form
:
{
form
:
{
name
:
''
,
name
:
''
,
platform
:
1
,
campaign_type
:
1
,
campaign_type
:
1
,
appStore
:
3
,
appStore
:
3
,
daily_budget
:
0
,
daily_budget
:
0
,
...
@@ -277,6 +293,9 @@ export default {
...
@@ -277,6 +293,9 @@ export default {
name
:
[
name
:
[
{
required
:
true
,
message
:
'请输入模板名称'
,
trigger
:
'blur'
}
{
required
:
true
,
message
:
'请输入模板名称'
,
trigger
:
'blur'
}
],
],
platform
:
[
{
required
:
true
,
message
:
'请选择平台'
,
trigger
:
'change'
}
],
campaign_type
:
[
campaign_type
:
[
{
required
:
true
,
message
:
'请选择广告系列类型'
,
trigger
:
'change'
}
{
required
:
true
,
message
:
'请选择广告系列类型'
,
trigger
:
'change'
}
],
],
...
@@ -284,7 +303,17 @@ export default {
...
@@ -284,7 +303,17 @@ export default {
{
required
:
true
,
message
:
'请选择移动应用平台'
,
trigger
:
'change'
}
{
required
:
true
,
message
:
'请选择移动应用平台'
,
trigger
:
'change'
}
],
],
daily_budget
:
[
daily_budget
:
[
{
required
:
true
,
message
:
'请输入日预算'
,
trigger
:
'blur'
}
{
required
:
true
,
message
:
'请输入日预算'
,
trigger
:
'blur'
},
{
validator
:
(
rule
,
value
,
callback
)
=>
{
if
(
this
.
form
.
platform
===
2
&&
value
<
50
)
{
callback
(
new
Error
(
'TikTok平台日预算必须大于等于50'
))
}
else
{
callback
()
}
},
trigger
:
'blur'
}
],
],
bidding_type
:
[
bidding_type
:
[
{
required
:
true
,
message
:
'请选择转化目标'
,
trigger
:
'change'
}
{
required
:
true
,
message
:
'请选择转化目标'
,
trigger
:
'change'
}
...
@@ -362,6 +391,34 @@ export default {
...
@@ -362,6 +391,34 @@ export default {
return
this
.
groupNameMaps
.
description
.
get
(
id
)
||
id
return
this
.
groupNameMaps
.
description
.
get
(
id
)
||
id
},
},
// 根据平台类型获取标签类型
getPlatformTagType
(
type
)
{
switch
(
type
)
{
case
1
:
return
'success'
case
2
:
return
'warning'
case
3
:
return
'info'
default
:
return
'default'
}
},
// 根据平台类型获取平台名称
getPlatformName
(
type
)
{
switch
(
type
)
{
case
1
:
return
'Google'
case
2
:
return
'TikTok'
case
3
:
return
'Facebook'
default
:
return
'未知'
}
},
handleSizeChange
(
val
)
{
handleSizeChange
(
val
)
{
this
.
pageSize
=
val
this
.
pageSize
=
val
this
.
currentPage
=
1
this
.
currentPage
=
1
...
@@ -377,6 +434,7 @@ export default {
...
@@ -377,6 +434,7 @@ export default {
this
.
dialogTitle
=
'新增模板'
this
.
dialogTitle
=
'新增模板'
this
.
form
=
{
this
.
form
=
{
name
:
''
,
name
:
''
,
platform
:
1
,
campaign_type
:
1
,
campaign_type
:
1
,
appStore
:
3
,
appStore
:
3
,
daily_budget
:
0
,
daily_budget
:
0
,
...
@@ -474,6 +532,14 @@ export default {
...
@@ -474,6 +532,14 @@ export default {
},
},
handleDescriptionGroupChange
()
{
handleDescriptionGroupChange
()
{
this
.
fetchData
()
this
.
fetchData
()
},
// 平台变化时重新验证日预算
handlePlatformChange
()
{
// 当平台改变时,重新验证日预算字段
this
.
$nextTick
(()
=>
{
this
.
$refs
.
form
.
validateField
(
'daily_budget'
)
})
}
}
}
}
}
}
...
...
src/views/promotionManagement/AccountManagement.vue
View file @
9b91b1e4
...
@@ -52,7 +52,13 @@
...
@@ -52,7 +52,13 @@
<el-table-column
prop=
"id"
label=
"ID"
width=
"60"
align=
"center"
/>
<el-table-column
prop=
"id"
label=
"ID"
width=
"60"
align=
"center"
/>
<el-table-column
prop=
"username"
label=
"账号名称"
align=
"center"
/>
<el-table-column
prop=
"username"
label=
"账号名称"
align=
"center"
/>
<el-table-column
prop=
"email"
label=
"账号邮箱"
align=
"center"
/>
<el-table-column
prop=
"email"
label=
"账号邮箱"
align=
"center"
/>
<!--
<el-table-column
prop=
"platformName"
label=
"平台"
align=
"center"
/>
-->
<el-table-column
label=
"平台"
align=
"center"
>
<template
slot-scope=
"scope"
>
<el-tag
:type=
"getPlatformTagType(scope.row.type)"
>
{{
getPlatformName
(
scope
.
row
.
type
)
}}
</el-tag>
</
template
>
</el-table-column>
<!-- <el-table-column label="授权状态" align="center">-->
<!-- <el-table-column label="授权状态" align="center">-->
<!-- <template slot-scope="scope">-->
<!-- <template slot-scope="scope">-->
<!-- <el-tag :type="scope.row.status === 1 ? 'success' : 'danger'">-->
<!-- <el-tag :type="scope.row.status === 1 ? 'success' : 'danger'">-->
...
@@ -208,6 +214,34 @@ export default {
...
@@ -208,6 +214,34 @@ export default {
// 取消删除
// 取消删除
})
})
},
},
// 根据平台类型获取标签类型
getPlatformTagType
(
type
)
{
switch
(
type
)
{
case
1
:
return
'success'
case
2
:
return
'warning'
case
3
:
return
'info'
default
:
return
'default'
}
},
// 根据平台类型获取平台名称
getPlatformName
(
type
)
{
switch
(
type
)
{
case
1
:
return
'Google'
case
2
:
return
'TikTok'
case
3
:
return
'Facebook'
default
:
return
'未知'
}
}
}
}
}
}
</
script
>
</
script
>
...
...
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