material.ts 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376
  1. import { queryStr } from '@/utils/query';
  2. import { request } from 'umi';
  3. import { api } from '../api'
  4. export interface AddTag {
  5. id?: string,
  6. tagName: string,
  7. type: string
  8. }
  9. export interface MediaList {
  10. describeInfo?: string,
  11. groupId?: string,
  12. id?: string,
  13. mediaAuthor?: string,
  14. mediaContent?: string,
  15. mediaContentSourceUrl?: string,
  16. mediaDigest?: string,
  17. mediaTagIds?: string | string[],
  18. mediaThumbMediaId?: string,
  19. mediaType?: string,
  20. title?: string,
  21. url?: string
  22. }
  23. export interface GetMediaList {
  24. mediaTagId?: string,
  25. pageNum: string,
  26. pageSize: string,
  27. mediaType: string,
  28. tagIds?: string | string[],
  29. groupId?: string,
  30. }
  31. export interface CreateGraphic {
  32. groupId: number,
  33. mediaTagIds: number[],
  34. sysMediaGraphics: {
  35. author: string,
  36. content: string,
  37. contentSourceUrl?: string,
  38. digest?: string,
  39. needOpenComment?: boolean,
  40. onlyFansCanComment?: boolean,
  41. showCoverPic?: boolean,
  42. title: string,
  43. url: string
  44. }[]
  45. }
  46. export interface EditGraphic extends CreateGraphic {
  47. id: string,
  48. appId: string
  49. }
  50. export interface GetGraphicList {
  51. mediaType?: string,
  52. groupId?: string,
  53. pageNum: number,
  54. pageSize: number,
  55. tagIds?: number[]
  56. }
  57. // export interface GetWeChatData {
  58. // appId: string,
  59. // count: string | number,
  60. // offset: string
  61. // }
  62. export interface GetWeChatData {
  63. mpId: number,
  64. mediaType: string,
  65. pageNum: number,
  66. pageSize: number
  67. }
  68. export interface GetWeChatITData {
  69. appId: string,
  70. count: string | number,
  71. offset: string,
  72. type: string
  73. }
  74. // export async function getGzhData() {
  75. // return request('/api/data/gzhsc');
  76. // }
  77. /**获取上传接口 */
  78. export async function getFileUrl(params: { type: string }) {
  79. return request(`${api}/system/oss/ossUpload?type=${params.type}`);
  80. }
  81. /*************************标签**********************************/
  82. /**新增标签 */
  83. export async function addTag(params?: AddTag) {
  84. return request(api + '/system/mediaTag/create', {
  85. method: 'POST',
  86. data: params,
  87. });
  88. }
  89. /**编辑标签 */
  90. export async function editTag(params?: AddTag) {
  91. return request(api + '/system/mediaTag/edit', {
  92. method: 'POST',
  93. data: params,
  94. });
  95. }
  96. /**删除标签 */
  97. export async function delTag(params: { id: string }) {
  98. return request(`${api}/system/mediaTag/${params.id}`, {
  99. method: 'DELETE',
  100. });
  101. }
  102. /**获取标签列表*/
  103. export async function getTagList(params: { type: string }) {
  104. return request(`${api}/system/mediaTag/list?type=${params.type}`);
  105. }
  106. /*************************分类**********************************/
  107. /**新增标签 */
  108. export async function addClass(params?: { groupName: string }) {
  109. return request(api + '/system/sysMediaGroup/create', {
  110. method: 'POST',
  111. data: params,
  112. });
  113. }
  114. /**编辑标签 */
  115. export async function editClass(params?: { groupName: string, id: string }) {
  116. return request(api + '/system/sysMediaGroup/edit', {
  117. method: 'POST',
  118. data: params,
  119. });
  120. }
  121. /**删除标签 */
  122. export async function delClass(params: { id: string }) {
  123. return request(`${api}/system/sysMediaGroup/${params.id}`, {
  124. method: 'DELETE',
  125. });
  126. }
  127. /**获取标签列表*/
  128. export async function getClass(params: any) {
  129. return request(`${api}/system/sysMediaGroup?type=${params?.type}`);
  130. }
  131. /*************************素材**********************************/
  132. /** 新增非图文本地素材*/
  133. export async function addMediaList(params?: MediaList) {
  134. return request(api + '/system/SysMedia/create', {
  135. method: 'POST',
  136. data: params,
  137. });
  138. }
  139. /** 编辑非图文本地素材*/
  140. export async function editMediaList(params?: MediaList) {
  141. return request(api + '/system/SysMedia/edit', {
  142. method: 'POST',
  143. data: params,
  144. });
  145. }
  146. /** 新增图文本地素材*/
  147. export async function createGraphic(params: CreateGraphic) {
  148. return request(api + '/system/SysMedia/createGraphic', {
  149. method: 'POST',
  150. data: params,
  151. });
  152. }
  153. /** 新增图文微信素材*/
  154. export async function createGraphicMaterial(params: CreateGraphic) {
  155. return request(api + '/system/SysMedia/addWxGraphicMaterial', {
  156. method: 'POST',
  157. data: params,
  158. });
  159. }
  160. /** 编辑图文本地素材*/
  161. export async function editGraphic(params: EditGraphic) {
  162. return request(api + '/system/SysMedia/editGraphic', {
  163. method: 'POST',
  164. data: params,
  165. });
  166. }
  167. /** 编辑图文微信素材*/
  168. export async function editGraphicWxMaterial(params: EditGraphic) {
  169. return request(api + '/system/SysMedia/updateWxMaterial', {
  170. method: 'POST',
  171. data: params,
  172. });
  173. }
  174. /** 获取图文素材*/
  175. export async function getGraphicList(params: GetGraphicList) {
  176. return request(`${api}/system/SysMedia/graphicList${queryStr(params)}`);
  177. }
  178. /** 获取本地素材*/
  179. export async function getMediaList(params: GetMediaList) {
  180. return request(`${api}/system/SysMedia/list${queryStr(params)}`);
  181. }
  182. /** 删除本地素材*/
  183. export async function delMediaList(params: { id: string }) {
  184. return request(`${api}/system/SysMedia/${params.id}`, {
  185. method: 'DELETE',
  186. });
  187. }
  188. /**同步本地图文素材 */
  189. export async function syncPermanentGraphicMedias(params: { appId: string[], mediaId: string }) {
  190. return request(api + '/system/SysMedia/syncPermanentGraphicMaterial', {
  191. method: 'POST',
  192. data: params,
  193. });
  194. }
  195. /**同步本地非图文素材 */
  196. export async function syncMedias(params: { appId: string[], mediaId: string }) {
  197. return request(api + '/system/SysMedia/syncPermanent', {
  198. method: 'POST',
  199. data: params,
  200. });
  201. }
  202. /**获取微信图文素材 */
  203. export async function getWeChatITData(params: GetWeChatITData) {
  204. return request(`${api}/system/SysMedia/batchGetMaterialNews${queryStr(params)}`);
  205. }
  206. // /**获取微信非图文素材 */
  207. // export async function getWeChatData(params: GetWeChatData) {
  208. // return request(`${api}/system/SysMedia/batchGetMateria${queryStr(params)}`);
  209. // }
  210. /**获取微信非图文素材 */
  211. export async function getWeChatData(params: GetWeChatData) {
  212. let { mpId, ...param } = params
  213. return request(`${api}/system/mp/media/list/${mpId}`, {
  214. method: 'POST',
  215. data: param,
  216. });
  217. }
  218. /**更新公众号下素材*/
  219. export async function updateMediaCache(params: { mpId: number, mediaType: string }) {
  220. let { mpId, mediaType } = params
  221. return request(`${api}/system/mp/media/syncMedia/${mpId}/${mediaType}`, {
  222. method: 'PUT'
  223. })
  224. }
  225. /** 删除微信素材*/
  226. export async function delMediawx(id: number) {
  227. return request(`${api}/system/mp/media/${id}`, {
  228. method: 'DELETE',
  229. });
  230. }
  231. /**微信素材详情*/
  232. export async function getWxMediaInfo(params: { id: number, isCon?: boolean }) {
  233. let { id, isCon = true } = params
  234. return request(`${api}/system/mp/media/${id}/${isCon}`);
  235. }
  236. /**导入文章 */
  237. export async function exportMediaByUrl(params: { url: string }) {
  238. return request(`${api}/system/SysMedia/exportMediaByUrl${queryStr(params)}`);
  239. }
  240. export async function exportMediaByUrl1(url: string) {
  241. return fetch(`${api}/system/mp/media/parseWxNewsByUrl?url=${url}`, {
  242. headers: { ['Authorization']: 'Bearer ' + sessionStorage.getItem('Admin-Token') },
  243. });
  244. }
  245. /**本地素材详情*/
  246. export async function getGraphicDetail(params: { id: string }) {
  247. return request(`${api}/system/SysMedia/graphicDetail/${params.id}`);
  248. }
  249. /**查询图文同步结果 */
  250. export async function syncResult(params: any) {
  251. return request(api + '/system/SysMedia/syncResult', {
  252. method: 'POST',
  253. data: params,
  254. });
  255. }
  256. /**批量上传非图文素材 */
  257. export async function bantchAdd(params: any) {
  258. return request(`${api}/system/SysMedia/bantchAdd`, {
  259. method: 'PUT',
  260. data: params
  261. })
  262. }
  263. /**oss删除 */
  264. export async function delOss(params: any) {
  265. return request(`${api}/system/oss/${params}`, {
  266. method: 'DELETE',
  267. // data: params
  268. });
  269. }
  270. //=========================新接口===================
  271. // belongUser 0 公共 1 个人
  272. /**获取本地素材列表 */
  273. export async function bdSysMediaList(params: { parentId?: any, belongUser: 0 | 1, pageNum: number, pageSize: number, fileType: "image" | "news" | "voice" | "video" }) {
  274. const { belongUser, ...param } = params
  275. return request(api + `/system/SysMedia/list/${belongUser}`, {
  276. method: 'POST',
  277. data: param,
  278. });
  279. }
  280. /**修改本地素材 */
  281. export async function bdSysMediaEdit(params: { belongUser: 0 | 1, sysMediaId: number, fileType: "image" | "news" | "voice" | "video" }) {
  282. const { belongUser, sysMediaId, ...param } = params
  283. return request(api + `/system/SysMedia/${belongUser}/${sysMediaId}`, {
  284. method: 'PUT',
  285. data: param
  286. });
  287. }
  288. /**新增本地素材 */
  289. export async function bdSysMediaAdd(params: { belongUser: 0 | 1, parentId: number, fileType: "image" | "news" | "voice" | "video" }) {
  290. const { belongUser, ...param } = params
  291. return request(api + `/system/SysMedia/${belongUser}`, {
  292. method: 'POST',
  293. data: param,
  294. });
  295. }
  296. /**新增微信素材*/
  297. export async function wxSysMediaAdd(params: { mediaType: "image" | "news" | "voice" | "video", localMediaId: number, mpId: number, news: any }) {
  298. return request(api + `/system/mp/media`, {
  299. method: 'POST',
  300. data: params,
  301. });
  302. }
  303. /**删除本地素材 */
  304. export async function delMedia(sysMediaId: any) {
  305. return request(`${api}/system/SysMedia/${sysMediaId}`, {
  306. method: 'DELETE',
  307. });
  308. }
  309. /**获取本地素材详情*/
  310. export async function getMedia(sysMediaId: any) {
  311. return request(`${api}/system/SysMedia/${sysMediaId}`, {
  312. method: 'GET',
  313. });
  314. }
  315. /**同步素材 */
  316. export async function syncMedia(params: { sysMediaId: number, mpIds: number }) {
  317. const { mpIds, sysMediaId } = params
  318. return request(api + `/system/SysMedia/syncToMp/${sysMediaId}/${mpIds}`, {
  319. method: 'PUT',
  320. });
  321. }
  322. /**返回微信媒体ID的同步接口 */
  323. export async function syncForSend(params: { sysMediaId: number, mpIds: number }) {
  324. const { mpIds, sysMediaId } = params
  325. return request(api + `/system/SysMedia/syncForSend/${sysMediaId}/${mpIds}`, {
  326. method: 'PUT',
  327. });
  328. }
  329. /**获取素材管理的公众号*/
  330. export async function getWxlist(sysMediaId: number) {
  331. return request(api + `/system/SysMedia/getBindMps/${sysMediaId}`, {
  332. method: 'GET'
  333. })
  334. }
  335. /**编辑素材关联的公众号 */
  336. export async function editWxlist(params: { sysMediaId: number, mpIds: any }) {
  337. const { sysMediaId, mpIds } = params
  338. return request(api + `/system/SysMedia/bindMediaMps/${sysMediaId}`, {
  339. method: 'POST',
  340. data: mpIds
  341. })
  342. }
  343. /**获取素材文件夹目录树*/
  344. export async function getFolderTree(props: { belongUser: any, fileType: any }) {
  345. let { belongUser, fileType } = props
  346. return request(api + `/system/SysMedia/folderTree/${belongUser}/${fileType}`, {
  347. method: 'GET'
  348. })
  349. }
  350. /*改变文件位置*/
  351. export async function editMediaFolder(params: { sysMediaId: number, folderId: number }) {
  352. const { folderId, sysMediaId } = params
  353. return request(api + `/system/SysMedia/configMediaFolder/${folderId}/${sysMediaId}`, {
  354. method: 'PUT',
  355. });
  356. }
  357. /** 排序 */
  358. export async function configSortApi({ sysMediaId, sort }: { sysMediaId: number, sort: number }) {
  359. return request(api + `/system/SysMedia/configMediaSort/${sysMediaId}/${sort}`, {
  360. method: 'PUT'
  361. });
  362. }