adMaterial.ts 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  1. import { request } from 'umi';
  2. import { api } from '../api'
  3. /**查询标签 */
  4. export async function getLabelsApi(params: {pageNum: string | number, pageSize: string | number}) {
  5. return request(api + '/ads/labels/list', {
  6. method: 'POST',
  7. data: params,
  8. });
  9. }
  10. /**新增标签 */
  11. export async function addLabel(params: {label: string}) {
  12. return request(api + '/ads/labels', {
  13. method: 'POST',
  14. data: params,
  15. });
  16. }
  17. /**修改标签 */
  18. export async function editLabel(params: {label: string, id: number}) {
  19. const {id, ...param} = params
  20. return request(api + `/ads/labels/${id}`, {
  21. method: 'PUT',
  22. data: param,
  23. });
  24. }
  25. /**删除标签 */
  26. export async function delLabelApi(params: {id: number}) {
  27. const {id} = params
  28. return request(api + `/ads/labels/${id}`, {
  29. method: 'DELETE'
  30. });
  31. }
  32. // 标题,文案
  33. /** 分页查询广告标题、文案 */
  34. export interface ContentIF {
  35. begainDate?: string, //
  36. endDate?: string,
  37. pageNum: string | number,
  38. pageSize: string | number,
  39. content?: string, // 广告标题文案
  40. type: number, // 1标题,2文案
  41. novels?: string, // 小说
  42. labels?: number, // 标签
  43. collect: string, // 全部:all,收藏:collect
  44. upOrder: boolean, // true升序,false倒序
  45. sortRule?: string, // 上传时间(create_time),采用次数(click_times)
  46. dataType: string, // 数据类型
  47. }
  48. export async function getContentListApi(params: ContentIF) {
  49. return request(api + '/ads/contents/list', {
  50. method: 'POST',
  51. data: params,
  52. });
  53. }
  54. /** 新增广告、标题文案 */
  55. export interface addContentIF {
  56. content: string,
  57. type: number,
  58. labels: string,
  59. dataType: string
  60. }
  61. export async function addContentsAjax(params: addContentIF) {
  62. return request(api + '/ads/contents', {
  63. method: 'POST',
  64. data: params,
  65. });
  66. }
  67. /** 删除 标题 文案 */
  68. export async function delContentsAjax(params: {ids: string}) {
  69. let { ids } = params
  70. return request(api + `/ads/contents/delByIds/${ids}`, {
  71. method: 'DELETE'
  72. });
  73. }
  74. /** 修改 */
  75. export interface editContentIF extends addContentIF {
  76. id: number
  77. }
  78. export async function editContentsAjax(params: editContentIF) {
  79. let {id, ...param} = params
  80. return request(api + `/ads/contents/${id}`, {
  81. method: 'PUT',
  82. data: param,
  83. });
  84. }
  85. /** 新增 收藏接口 */
  86. //"收藏类型,1广告创意收藏,2广告图片收藏,3广告视频收藏,4广告标题收藏,5广告文案收藏"
  87. export async function collectsApi(params: {contentIds: string, type: number,name?:string}) {
  88. return request(api + `/ads/${params?.name ? params?.name : 'medias'}/collect/${params?.contentIds}/${true}`, {
  89. method: 'PUT',
  90. });
  91. }
  92. /** 取消 收藏接口 */
  93. //"收藏类型,1广告创意收藏,2广告图片收藏,3广告视频收藏,4广告标题收藏,5广告文案收藏"
  94. export async function collectsCancelApi(params: {contentIds: string, type: number,name?:string}) {
  95. return request(api + `/ads/${params?.name ? params?.name : 'medias'}/collect/${params?.contentIds}/${false}`, {
  96. method: 'PUT',
  97. });
  98. }
  99. ///// 图片、视频////// bantchAdds
  100. /** 新增图片/视频素材 */
  101. export interface addMediasIF extends addContentIF {
  102. channel: string, // "投放渠道:朋友圈信息流,公众平台流量,广点通,小程序,头条,抖音"
  103. singleImg: boolean, //是否单图
  104. id?: number,
  105. width?: number,
  106. height?: number,
  107. mediaSize?: number,
  108. mediaFormat?: string
  109. }
  110. export async function addMediasAjax(params: addMediasIF) {
  111. return request(api + '/ads/medias', {
  112. method: 'POST',
  113. data: params,
  114. });
  115. }
  116. /** 修改 */
  117. export async function editMediasAjax(params: addMediasIF) {
  118. let { id, ...param} = params
  119. return request(api + `/ads/medias/${id}`, {
  120. method: 'PUT',
  121. data: param,
  122. });
  123. }
  124. /** 获取图片/视频列表 */
  125. export interface getMediasIF extends ContentIF {
  126. channel: string, // "投放渠道:朋友圈信息流,公众平台流量,广点通,小程序,头条,抖音"
  127. singleImg: boolean, //是否单图
  128. minWidth?: string, //最小宽度
  129. maxWidth?: string, //最大宽度
  130. minHeight?: string, //最小高度
  131. maxHeight?: string, //最大高度
  132. minMediaSize?: number, // 最小媒体大小
  133. maxMediaSize?: number, // 最大媒体大小
  134. minVideoLength?: number, // 最小视频时长
  135. maxVideoLength?: number, // 最大视频时长
  136. minVideoBitRate?: number, // 最小视频比特率
  137. maxVideoBitRate?: number, // 最大视频比特率
  138. }
  139. export async function getMediasListApi(params: getMediasIF) {
  140. return request(api + '/ads/medias/list', {
  141. method: 'POST',
  142. data: params,
  143. });
  144. }
  145. /** 删除 图片/视频 */
  146. export async function delMediasAjax(params: {ids: string}) {
  147. let { ids } = params
  148. return request(api + `/ads/medias/delByIds/${ids}`, {
  149. method: 'DELETE'
  150. });
  151. }
  152. //// 创意 /////
  153. /** 获取创意 */
  154. export async function getIdeasListApi(params: getMediasIF) {
  155. return request(api + '/ads/ideas/list', {
  156. method: 'POST',
  157. data: params,
  158. });
  159. }
  160. /** 删除创意 */
  161. export async function delIdeasAjax(params: {ids: string}) {
  162. let { ids } = params
  163. return request(api + `/ads/ideas/${ids}`, {
  164. method: 'DELETE'
  165. });
  166. }
  167. /** 新增创意 */
  168. export interface addIdeasIF extends addMediasIF {
  169. title: string, // 标题
  170. article: string // 文案
  171. }
  172. export async function addIdeasAjax(params: addIdeasIF) {
  173. return request(api + '/ads/ideas', {
  174. method: 'POST',
  175. data: params,
  176. });
  177. }
  178. /** 修改 */
  179. export async function editIdeasAjax(params: addIdeasIF) {
  180. let { id, ...param} = params
  181. return request(api + `/ads/ideas/${id}`, {
  182. method: 'PUT',
  183. data: param,
  184. });
  185. }
  186. /** 详情 */
  187. export async function getScDetailApi(id: number) {
  188. console.log(id)
  189. return request(api + `/ads/medias/${id}`, {
  190. method: 'GET'
  191. });
  192. }
  193. /** 批量修改标签本地 图片/视频 */
  194. export async function setBatchMediasApi(params: {mediaIds: string, labelIds: string}) {
  195. let { mediaIds, labelIds } = params
  196. return request(api + `/ads/medias/batch/${mediaIds}/${labelIds}`, {
  197. method: 'PUT'
  198. });
  199. }
  200. /** 批量修改标签本地 标题/文案 */
  201. export async function setBatchContentsApi(params: {mediaIds: string, labelIds: string}) {
  202. let { mediaIds, labelIds } = params
  203. return request(api + `/ads/contents/batch/${mediaIds}/${labelIds}`, {
  204. method: 'PUT'
  205. });
  206. }
  207. /** 批量修改标签云 创意 */
  208. export async function setTagIdeaApi(params: {mediaIds: string, labelIds: string}) {
  209. let { mediaIds, labelIds } = params
  210. return request(api + `/ads/dataMaterial/tagIdea/${labelIds}`, {
  211. method: 'PUT',
  212. params: {dataMaterialIds: mediaIds}
  213. });
  214. }
  215. /** 批量修改标签云 图片/视频 */
  216. export async function setTagMediaApi(params: {mediaIds: string, labelIds: string}) {
  217. let { mediaIds, labelIds } = params
  218. return request(api + `/ads/dataMaterial/tagMedia/${labelIds}`, {
  219. method: 'PUT',
  220. params: {dataMaterialIds: mediaIds}
  221. });
  222. }
  223. /** 批量修改标签云 标题/文案 */
  224. export async function setTagContentApi(params: {mediaIds: string, labelIds: string}) {
  225. let { mediaIds, labelIds } = params
  226. return request(api + `/ads/dataMaterial/tagContent/${labelIds}`, {
  227. method: 'PUT',
  228. params: {dataMaterialIds: mediaIds}
  229. });
  230. }