/**
 * 请求封装
 */
const request = (url = '', type = 'GET', param = {}, Loading) => {
    const oa_user_id = uni.getStorageSync('oa_user_id') || '';
    const oa_skey = uni.getStorageSync('oa_skey') || '';

    var params = Object.assign(param, {
        is_mobile: 1
    });

    //是否启动加载
    if (Loading) {
        uni.showLoading({
            mask: true
        });
    }

    const header = {
        "Content-Type": "application/json; charset=utf-8",
        "source": 'pc',
        "oa-user-id": oa_user_id,
        "oa-skey": oa_skey
    };

    return new Promise((resolve, reject) => {
        uni.request({
            method: type,
            url: url,
            data: params,
            header: header,
            dataType: 'json',
        }).then((response) => {
            let [error, res] = response;
            if (res.data.code == 101) {
                uni.navigateTo({
                    url: '/pages/mine/login'
                })
                return false;
            }
            resolve(res.data);
            if (Loading) {
                uni.hideLoading();
            }
        }).catch(error => {
            uni.showToast({
                title: '网络出现问题',
                icon: 'error'
            });
            let [err, res] = error;
            reject(err);
        })
    });
}


/**
 * 平台判断
 */
const getPlatform = () => {
    let platform = uni.getSystemInfoSync().platform;
    if (platform == 'ios') {
        platform = 'ios';
    } else if (platform == 'android') {
        platform = 'android';
    }

    return platform;

}

/**
 * 来创建指定长度且所有元素都被初始化为 false 的数组
 */
const createArray = (length, value) => {
    return Array(length).fill(value);
}




module.exports = {
    request,
    getPlatform,
    createArray
}