
import { session } from '/@/utils/Memory';
import { defHttp } from '/@/utils/http/axios';

enum Api {
    Login = '/callProvider'
}

const interfaceType = { apiUrl2: true };

/**
 * @description:地图，场景，文件，组件集成列表处理接口
 */
export function MSFAList(p, callback) {
    const formData = new FormData();
    formData.append('interfaceName', 'antu.space.provider.sservicebase.ServiceBaseMetaDataViewProvider');
    formData.append('methodName', 'getResourcePagedList');
    formData.append('args[]', session.getItem('tokenV2'));
    var obj = { type: p.type, pageIndex: p.page || 1, pageSize: p.pageSize || 10 }
    if (p.tagValue) obj.tagValue = p.tagValue;
    if (p.filterValue) obj.filterValue = p.filterValue;
    if (p.status != null && p.status != undefined && !isNaN(p.status)) {
        obj.status = p.status
    } else {
        delete obj.status
    }
    formData.append("args[]", JSON.stringify(obj));
    return new Promise<void>((resolve) => {
        defHttp.post({ url: Api.Login, params: formData, ...interfaceType })
            .then((r) => {
                let result = r.result === '' ? [] : JSON.parse(r.result)
                if (result?.items) {
                    result.items.forEach((item, index) => {
                        item['xh'] = index + 1
                    })
                }
                result.total = result.totalItems;
                console.log(p.type + "资源列表:", result);
                callback && callback(result.totalItems)
                resolve(result);
            })
    })
}

/**
 * @description:数据管理页面，获取地图资源列表
 */
export function mapList(p) {
    p.type = 'MR';
    return MSFAList(p, null)
}

/**
 * @description:数据管理页面，获取场景资源列表
 */
export function sceneList(p) {
    p.type = 'ER';
    return MSFAList(p, null)
}

/**
 * @description:数据管理页面，获取文件资源列表
 */
export function fileList(p) {
    p.type = 'DR';
    return MSFAList(p, null)
}

/**
 * @description:数据管理页面，获取地图资源列表
 */
export function assList(p) {
    p.status = Number(p.status);
    p.type = 'SR';
    return MSFAList(p, null)
}

/**
 * @description:资源查看页面，的数据统计
 */
export function MEDSTotal(p, id) {
    MSFAList(p, (e) => {
        var dom = document.getElementById(id);
        if (dom) dom.innerHTML = e;
    })
}