import {Injectable} from "@angular/core";

/**
 * 数据格式化
 */

@Injectable()

export class DataFormatService {
    constructor() {
    }

    /**
     * JSON格式对象转为form表单的格式，用来接口传递数据
     * @param json   需要转化的json
     * @returns {FormData}   formData数据
     */
    toFormData(json) {
        let formData = new FormData();
        for (let k in json) {
            formData.append(k, json[k])
        }
        return formData;
    }

    /**
     * JSON格式数据转化为字符串 接口调用
     * @param data  json格式的数据
     * @returns {string}
     */
    toQuery(data) {
        let str = '?';
        for (let key in data) {
            if (data.hasOwnProperty(key)) {
                const value = data[key];
                str += key + '=' + value + '&';
            }
        }
        str = str.substring(0, str.length - 1);
        return str;
    }

    /**
     * JSON格式数据转化为字符串 接口调用
     * @param data  json格式的数据
     * @returns {string}
     */
    xxxFormData(data) {
        let str = '';
        for (let key in data) {
            if (data.hasOwnProperty(key)) {
                const value = data[key];
                str += key + '=' + value + '&';
            }
        }
        str = str.substring(0, str.length - 1);
        return str;
    }
}
