Skip to content
common.service.ts 2.28 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import {Injectable} from "@angular/core";
wangqinghua's avatar
wangqinghua committed
import {AlertController, ToastController} from "ionic-angular";
wangqinghua's avatar
wangqinghua committed

@Injectable()

export class CommonService{
wangqinghua's avatar
wangqinghua committed
    constructor(public toastCtrl:ToastController,public alertCtrl:AlertController){}
wangqinghua's avatar
wangqinghua committed

    /**
     * JSON格式数据转化为字符串 接口调用
     * @param data  json格式的数据
     * @returns {string}
     */
    static 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格式对象转为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;
    }
wangqinghua's avatar
wangqinghua committed

    /**
     * 提示信息 位置:居中,延时2s
     * @param message  提示文字
     * @param callback  提示信息之后执行的方法
     */
    toast(message, callback?) {
        let toast = this.toastCtrl.create({
            message: message,
            duration: 2000,
            position:'middle',
            dismissOnPageChange: true,
        });
        toast.present();
        if (callback) {
            callback();
        }
    }

    /**
     * alert弹窗
     * @param message  弹窗内的文字
     * @param callback  如果有回调方法 就有确定、取消两个按钮,没有回调方法 则只有确认一个按钮
     */
    alert(message, callback?) {
        if (callback) {
            let alert = this.alertCtrl.create({
                title: '提示',
                message: message,
                buttons: ['取消', {
                    text: "确定",
                    handler: data => {
                        callback();
                    }
                }]
            });
            alert.present();
        } else {
            let alert = this.alertCtrl.create({
                title: '提示',
                message: message,
                buttons: ["确定"]
            });
            alert.present();
        }
    }
wangqinghua's avatar
wangqinghua committed
}