| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344 |
- import request, { tenantRequest } from '@/utils/request'
- import { State } from '@/constant'
- import {
- getAssetThumb,
- getAssetDiff
- } from '@/utils'
- import {
- send,
- add,
- del,
- update,
- submit,
- resolve,
- messageSend,
- confirmAndSend,
- addStatus,
- addTenant
- } from './base'
- export function addAsset (data) {
- return add({
- url: '/minio-data',
- method: 'POST',
- data: addTenant(data)
- }, tenantRequest)
- }
- export function getAsset (keyName) {
- return send({
- url: '/minio-data/queryById',
- method: 'GET',
- params: { keyName }
- })
- }
- export function getAssetsByQuery (query) {
- const { pageNum: currentPage, pageSize: pageCount, type, ...params } = query
- return request({
- url: '/minio-data/listByPage',
- method: 'POST',
- data: addStatus({
- currentPage,
- pageCount,
- typeList: type ? [type] : void 0,
- ...params
- })
- }).then(({ data, totalCount }) => {
- data.forEach(asset => {
- if (asset.status !== State.DRAFT) {
- const tag = asset.tag
- asset.file = {
- type: asset.type,
- url: asset.keyName,
- thumb: getAssetThumb(asset),
- files: asset.childrenData?.length
- ? asset.childrenData.map(({ type, keyName, size, md5, sort }) => {
- // 仅会为图片
- return { tag, type, keyName, size, md5, sort }
- })
- : null
- }
- }
- asset.diff = getAssetDiff(asset)
- })
- return { data, totalCount }
- })
- }
- export function updateAsset (data) {
- return update({
- url: '/minio-data/update',
- method: 'POST',
- data
- })
- }
- export function deleteAsset ({ keyName, originalName }) {
- return del({
- url: '/minio-data/delete',
- method: 'DELETE',
- params: { keyName }
- }, originalName)
- }
- export function deleteAssets (keyNames) {
- return del({
- url: '/minio-data/batchDelete',
- method: 'POST',
- data: keyNames
- }, '所选资源')
- }
- export function getAssetUrl (keyName) {
- return `${process.env.VUE_APP_MINIO}/${keyName}`
- }
- const LIMIT_SIZE = 1024 * 1024
- export function getThumbnailUrl (item, option) {
- let url
- if (item && typeof item === 'object') {
- const { size, keyName } = item
- if (size <= LIMIT_SIZE) {
- return getAssetUrl(keyName)
- }
- url = getAssetUrl(keyName)
- option = getImageProxyOption(option, size)
- } else {
- url = getAssetUrl(item)
- option = getImageProxyOption(option)
- }
- if (url.charAt(0) === '/') {
- url = `${process.env.VUE_APP_THUMBNAIL_ORIGIN || location.origin}${url}`
- }
- return `${process.env.VUE_APP_THUMBNAIL}/${option}/${url}`
- }
- function getImageProxyOption (option, size) {
- switch (option) {
- case 'size':
- return size ? `q${Math.ceil(LIMIT_SIZE * 100 / size)}` : 'q60'
- default:
- return option || 'x0.2,q30'
- }
- }
- export function submitAsset ({ keyName, originalName }) {
- return submit({
- url: '/minio-data/submit',
- method: 'GET',
- params: { keyName }
- }, originalName)
- }
- export function resolveAsset ({ keyName, originalName }) {
- return resolve({
- url: '/minio-data/reviewed',
- method: 'GET',
- params: { keyName }
- }, originalName)
- }
- export function rejectAsset ({ keyName }, remark) {
- return messageSend({
- url: '/minio-data/reject',
- method: 'POST',
- data: { keyName, remark }
- }, '驳回')
- }
- export function getAssetSubTags () {
- return tenantRequest({
- url: '/minio-data/subtag/queryList',
- method: 'GET',
- params: addTenant({})
- })
- }
- export function getAssetSubTagsByTenant (query) {
- const { pageNum: pageIndex, pageSize, ...params } = query
- return tenantRequest({
- url: '/minio-data/subtag/queryListPage',
- method: 'GET',
- params: addTenant({
- pageIndex, pageSize,
- ...params
- })
- })
- }
- export function addAssetSubTag (data) {
- return add({
- url: '/minio-data/subtag/add',
- method: 'POST',
- data: addTenant(data)
- }, tenantRequest)
- }
- export function updateAssetSubTag (data) {
- return update({
- url: '/minio-data/subtag/modify',
- method: 'PUT',
- data
- })
- }
- export function deleteAssetSubTag ({ id, name }) {
- return del({
- url: '/minio-data/subtag/delBatchByIds',
- method: 'POST',
- data: [id]
- }, name)
- }
- export function deleteAssetSubTags (ids) {
- return del({
- url: '/minio-data/subtag/delBatchByIds',
- method: 'POST',
- data: ids
- }, '所选标签')
- }
- export function getDatasets (query) {
- const { pageNum: pageIndex, pageSize, ...params } = query
- return tenantRequest({
- url: '/media/dataset/pageQuery',
- method: 'GET',
- params: addTenant({
- pageIndex, pageSize,
- ...params
- })
- })
- }
- export function addDataset (data) {
- return add({
- url: '/media/dataset',
- method: 'POST',
- data: addTenant(data)
- }, tenantRequest)
- }
- export function updateDataset (data) {
- return update({
- url: '/media/dataset',
- method: 'PUT',
- data
- })
- }
- export function getFillDataset (id) {
- return request({
- url: `/media/dataset/${id}`,
- params: {
- type: 0,
- flag: 1
- }
- })
- }
- export function getCommonDataset (id) {
- return request({
- url: '/media/dataset/order',
- params: {
- id,
- flag: 1
- }
- })
- }
- export function deleteDataset ({ id, name }) {
- return del({
- url: `/media/dataset/${id}`,
- method: 'DELETE'
- }, name)
- }
- export function bindAssetsToDataset (datasetId, assets) {
- return messageSend({
- url: '/media/dataset/batchBindAsset',
- method: 'POST',
- data: assets.map(item => {
- return {
- datasetId,
- ...item
- }
- })
- }, '添加')
- }
- export function updateDatasetAssets (datasetId, assets) {
- return update({
- url: '/media/dataset/orderBindAsset',
- method: 'POST',
- data: {
- id: datasetId,
- relationList: assets
- }
- })
- }
- export function getDevicesByDataset (query) {
- const { pageNum: pageIndex, pageSize, ...params } = query
- return request({
- url: '/media/dataset/pageQueryDevice',
- method: 'GET',
- params: {
- pageIndex, pageSize,
- ...params
- }
- })
- }
- export function getDatasetByDevice (id) {
- return request({
- url: `/media/dataset/${id}`,
- params: {
- type: 1,
- flag: 1
- }
- })
- }
- export function bindDatasetToDevice (data) {
- return messageSend({
- url: '/media/dataset/bindDevice',
- method: 'POST',
- data
- }, '绑定')
- }
- export function unbindDatasetByDevice ({ id, name }) {
- return confirmAndSend('解绑', name, {
- url: '/media/dataset/batchUnbindDevice',
- method: 'POST',
- data: [id]
- })
- }
- export function unbindDatasetByDevices (ids) {
- return confirmAndSend('解绑', '所选设备', {
- url: '/media/dataset/batchUnbindDevice',
- method: 'POST',
- data: ids
- })
- }
- export function unbindAssetsFromDataset (datasetId, keyNames) {
- return messageSend({
- url: `/media/dataset/batchUnbindAsset/${datasetId}`,
- method: 'POST',
- data: keyNames
- }, '移除')
- }
- export function updateDatasetAssetDuration (relationId, adDuration) {
- return update({
- url: '/media/dataset/assetChangDuration',
- method: 'POST',
- data: {
- relationId,
- adDuration
- }
- })
- }
|