import http from '@/http/http' import { ElMessage } from "element-plus"; /**推广目标类型 */ export async function getPromotedObjectType() { const res: any = await http.get('/api/adcreatives/promotedObjectType', {}) if (res.errNo == 0 && Array.isArray(res.rst)) { return res.rst } else { return [] } } /** 场景定向标签下拉列表 */ interface ISceneSpecTags { type: 'WECHAT_POSITION' | 'OFFICIAL_ACCOUNT_MEDIA_CATEGORY' | 'MINI_PROGRAM_AND_MINI_GAME' | 'PAY_SCENE' } export async function getSceneSpecTags(params: ISceneSpecTags) { const res: any = await http.get('/api/ad/getSceneSpecTags', params) if (res.errNo == 0 && Array.isArray(res.rst)) { let data = res.rst; data.forEach((item)=>{ item.id = String(item.id) }) return data } else { return [] } } /** 优化目标下拉列表 */ interface IOptimizationGoal { site_set: string[], promoted_object_type: string } export function getOptimizationGoal(params: IOptimizationGoal) { return new Promise( async (resolve, reject)=>{ const res: any = await http.get('/api/ad/getOptimizationGoal', params) if (res.errNo == 0 && Array.isArray(res.rst)) { // let arr:Array<{label:string, value: string}> = []; // res.rst.forEach((item)=>{ // arr.push({label: item.name, value: item.goal}) // }) resolve(res.rst) } else { reject() } }) } /** 优化目标-更多 * 1优化目标/助攻行为 * 2深度优化转化目标 * 3深度优化roi目标 */ interface IMoreOptimizationGoal { type: number, } export function moreOptimizationGoal(params: IMoreOptimizationGoal) { return new Promise( async (resolve, reject)=>{ const res: any = await http.get('api/ad/moreOptimizationGoal', params) if (res.errNo == 0 && res.rst) { let arr:Array<{label:string, value: string}> = []; for(let key in res.rst){ arr.push({label: res.rst[key], value: key}) } resolve(arr) } else { reject() } }) } /**通配符 */ export async function getWildcard() { const res: any = await http.get('/api/ad/getWildcard') if (res.errNo == 0) { return res.rst; } else { return [] } } /**广告基础信息预存 */ export async function adPresetsSet(params){ const res: any = await http.post('/api/ad/adPresetsSet',params) if (res.errNo == 0) { return res.rst; } else { ElMessage.error(res.errMsg) return {} } } /**广告预存信息获取 */ export async function getAdPresets(params){ const res: any = await http.get('/api/ad/adPresetsInfo',params) if (res.errNo == 0) { return res.rst; } else { return {} } } /**客户人群获取 */ interface IcustomAudiencesGet { 'account_id': string, 'type': 'CUSTOMER_FILE' | 'CUSTOMER_FILE' } export async function customAudiencesGet(params:IcustomAudiencesGet) { const res: any = await http.get('/api/ad/customAudiencesGet',params) if (res.errNo == 0) { return res.rst; } else { return [] } } /**行为数据源获取 */ export async function userActionSetsGet(params: {account_id: string}) { const res: any = await http.get('/api/ad/userActionSetsGet',params) if (res.errNo == 0) { return res.rst; } else { return [] } } /**优量汇流量包获取 */ export async function unionPositionPackagesGet(params: {account_id: string, type: 1 | 2}) { const res: any = await http.get('/api/ad/unionPositionPackagesGet',params) if (res.errNo == 0) { return res.rst; } else { return [] } } /** 获取推广目标列表(视频号)*/ export function adcreativesGetObjects(params: {account_ids: string[], promoted_object_type: string}) { return new Promise(async (resolve,reject)=>{ const res: any = await http.get('/api/adcreatives/getObjects',params) if (res.errNo == 0) { resolve(res.rst) } else { reject() ElMessage.warning(res.errMsg) } }) }