program.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. import request, { tenantRequest } from '@/utils/request'
  2. import store from '@/store'
  3. import {
  4. add,
  5. update,
  6. del,
  7. messageSend,
  8. addTenant,
  9. addTenantAndOrg,
  10. addUser
  11. } from './base'
  12. export function addProgramDraft (data) {
  13. return add({
  14. url: '/item/origin/add',
  15. method: 'POST',
  16. data: addTenantAndOrg(data)
  17. }, tenantRequest)
  18. }
  19. export function getProgramDrafts (query) {
  20. const { pageNum: currentPage, pageSize: pageCount, ...params } = query
  21. return tenantRequest({
  22. url: '/item/origin/listByPage',
  23. method: 'POST',
  24. data: addUser({
  25. currentPage, pageCount,
  26. ...params
  27. })
  28. })
  29. }
  30. export function getTemplateType () {
  31. return tenantRequest({
  32. url: '/device/resolutionRatio',
  33. method: 'GET',
  34. params: addTenant({})
  35. }).then(({ data }) => {
  36. return {
  37. data: Object.keys(data).map(key => {
  38. return {
  39. value: key,
  40. label: key
  41. }
  42. })
  43. }
  44. })
  45. }
  46. // 获取模板数据
  47. export function getProgramTemplate (query) {
  48. const { pageNum: currentPage, pageSize: pageCount, ...params } = query
  49. return tenantRequest({
  50. url: '/item/template/listByPage',
  51. method: 'POST',
  52. data: addTenant({
  53. currentPage, pageCount,
  54. ...params
  55. })
  56. })
  57. }
  58. export function deleteProgramDraft ({ id, name }) {
  59. return del({
  60. url: '/item/origin/delete',
  61. method: 'DELETE',
  62. params: { id }
  63. }, name)
  64. }
  65. export function updateProgramDraft ({ id, name, duration, itemJsonStr, keyNameList, base64, generate }) {
  66. const formData = new FormData()
  67. const result = /^data:(.+);base64,(.+)$/.exec(base64)
  68. if (result) {
  69. const binaryString = atob(result[2])
  70. const length = binaryString.length
  71. const mine = new Uint8Array(length)
  72. for (let i = 0; i < length; i++) {
  73. mine[i] = binaryString.charCodeAt(i)
  74. }
  75. formData.append('file', new Blob([mine], { type: result[1] }))
  76. }
  77. formData.append('id', id)
  78. formData.append('duration', duration)
  79. formData.append('itemJsonStr', itemJsonStr)
  80. name && formData.append('name', name)
  81. generate && formData.append('keyNameList', JSON.stringify(keyNameList))
  82. formData.append('generate', generate)
  83. console.log('formdata;;;;:', formData)
  84. return request({
  85. url: '/item/origin/update',
  86. method: 'POST',
  87. data: formData,
  88. timeout: 0,
  89. custom: true
  90. }).then(({ data }) => data)
  91. }
  92. // 保存模板
  93. export function saveTemplate ({ name, duration, resolutionRatio, itemJsonStr, keyNameList, base64, generate }) {
  94. console.log('name', name)
  95. console.log('duration', duration)
  96. console.log('resolutionRatio', resolutionRatio)
  97. console.log('itemJsonStr', itemJsonStr)
  98. console.log('keyNameList', keyNameList)
  99. console.log('base64', base64)
  100. console.log('generate', generate)
  101. const formData = new FormData()
  102. const result = /^data:(.+);base64,(.+)$/.exec(base64)
  103. if (result) {
  104. const binaryString = atob(result[2])
  105. const length = binaryString.length
  106. const mine = new Uint8Array(length)
  107. for (let i = 0; i < length; i++) {
  108. mine[i] = binaryString.charCodeAt(i)
  109. }
  110. formData.append('file', new Blob([mine], { type: result[1] }))
  111. }
  112. formData.append('userId', store.getters.userId)
  113. formData.append('duration', duration)
  114. formData.append('resolutionRatio', resolutionRatio)
  115. formData.append('itemJsonStr', itemJsonStr)
  116. formData.append('tenant', store.getters.tenant)
  117. formData.append('org', store.getters.org)
  118. name && formData.append('name', name)
  119. generate && formData.append('keyNameList', JSON.stringify(keyNameList))
  120. console.log('formdata;;;;:', formData)
  121. return request({
  122. url: '/item/template/2item',
  123. method: 'POST',
  124. data: formData,
  125. timeout: 0,
  126. custom: true
  127. }).then(({ data }) => data)
  128. }
  129. export function updateProgramDraftName (data) {
  130. return update({
  131. url: '/item/origin/updateItemName',
  132. method: 'POST',
  133. data
  134. })
  135. }
  136. export function getProgramDraft (id, options) {
  137. return request({
  138. url: `/item/origin/getById/${id}`,
  139. method: 'GET',
  140. ...options
  141. })
  142. }
  143. export function copyProgramDraft (programDraft) {
  144. return messageSend({
  145. url: '/item/origin/copy',
  146. method: 'POST',
  147. data: addTenantAndOrg(programDraft)
  148. }, '复制', tenantRequest)
  149. }
  150. export function copyProgram (program) {
  151. return messageSend({
  152. url: '/item/copy',
  153. method: 'POST',
  154. data: addTenantAndOrg(program)
  155. }, '复制', tenantRequest)
  156. }
  157. export function getPrograms (query) {
  158. const { pageNum: currentPage, pageSize: pageCount, ...params } = query
  159. return tenantRequest({
  160. url: '/item/listByPage',
  161. method: 'POST',
  162. data: addTenant({
  163. currentPage, pageCount,
  164. ...params
  165. })
  166. })
  167. }
  168. export function getProgram (id, options) {
  169. return request({
  170. url: `/item/getById/${id}`,
  171. method: 'GET',
  172. ...options
  173. })
  174. }
  175. // 节目模板详情
  176. export function getTemplateProgram (id, options) {
  177. return request({
  178. url: `/item/template/getById/${id}`,
  179. method: 'GET',
  180. ...options
  181. })
  182. }
  183. export function deleteProgram ({ id, name }) {
  184. return del({
  185. url: '/item/delete',
  186. method: 'DELETE',
  187. params: { id }
  188. }, name)
  189. }
  190. export function updateProgramName (data) {
  191. return update({
  192. url: '/item/updateItemName',
  193. method: 'POST',
  194. data
  195. })
  196. }