Newer
Older
import {LoadingController, AlertController, ToastController} from 'ionic-angular';
import {Injectable} from '@angular/core';
import {Http, Headers} from '@angular/http';
import {Observable} from "rxjs";
@Injectable()
export class AppGlobal {
//缓存key的配置
static cache: any = {
slides: "_dress_slides",
categories: "_dress_categories",
products: "_dress_products"
static domain = "http://180.168.156.212:2931"; //测试环境
// static domain = ""; //本地环境
// static picture = AppGlobal.domain + "/wisdomgroup/manager/getIcon/"; //正式地址
static picture = AppGlobal.domain + "/wisdomgroup/manager/getIcon/"; //测试
// static pictureNotice = AppGlobal.domain; //正式地址
static pictureNotice = AppGlobal.domain; //测试
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
//接口地址
static API: any = {
getCategories: '/api/ionic3/getCategories',
getLogin: '/app/loginpost',
getDetails: '/api/ionic3/details'
};
}
@Injectable()
export class AppService {
constructor(public http: Http,
public loadingCtrl: LoadingController,
private alertCtrl: AlertController,
private toastCtrl: ToastController,) {
}
// 对参数进行编码
encode(params, flag) {
var str = '';
if (params) {
if (flag == 'get') { //get /a/b
for (var key in params) {
if (params.hasOwnProperty(key)) {
var value = params[key];
str += value + '/';
}
}
str = '/' + str.substring(0, str.length - 1);
}
if (flag == 'post') { //post a=b&c=d
for (var key in params) {
if (params.hasOwnProperty(key)) {
var value = params[key];
str += key + '=' + value + '&';
}
}
str = str.substring(0, str.length - 1);
}
}
return str;
}
//get请求
ObserverHttpGet(url, params): Observable<any> {
return this.http.get(AppGlobal.domain + url + this.encode(params, "get")) //app
}
//get请求
ObserverHttpGetAdd(url, params): Observable<any> {
}
//get请求带?的
ObserverHttpGetOption(url, params): Observable<any> {
return this.http.get(AppGlobal.domain + url, {params: params}); //app
return this.http.post(AppGlobal.domain + url + params,null, { //本地
params:body,
headers: new Headers({
// "Accept": "application/json",
"Content-Type": "application/json"
// 'Content-Type':'application/x-www-form-urlencoded,charset=UTF-8'
})
})
}
//delete
ObserverHttpDetelete(url, params): Observable<any> {
return this.http.delete(AppGlobal.domain + url + this.encode(params, "get")) //app
}
//delete
ObserverHttpDeteleteOption(url, params): Observable<any> {
ObserverHttpDeteleteData(url, params, data): Observable<any> {
return this.http.delete(AppGlobal.domain + url + params, { //app
params: this.encode(data, 'post'),
headers: new Headers({
"Content-Type": "application/json"
})
}) //本地
}
ObserverHttpPostData(url, params) {
headers: new Headers({
"Content-Type": "application/json"
})
})
}
ObserverHttpPostAdd(url, params) {
headers: new Headers({
"Content-Type": "application/json"
})
})
}
ObserverHttpPostOption(url, data) {
return this.http.post(AppGlobal.domain + url, null, { //app
params: data,
headers: new Headers({
'Content-Type': 'application/x-www-form-urlencoded,charset=UTF-8'
})
});
}
//post请求
ObserverHttpForm(url, params,body) {
return this.http.post(AppGlobal.domain+url + params,null,{
params:body,
headers: new Headers({
// "Accept": "application/json",
// "Content-Type": "application/json"
'Content-Type':'application/x-www-form-urlencoded;charset=UTF-8'
params: params,
headers: new Headers({
'Content-Type': 'application/x-www-form-urlencoded,charset=UTF-8'
})
})
}
//post请求
ObserverHttpPost(url, params) {
params: this.encode(params, 'post'),
headers: new Headers({
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
})
})
}
//post请求
ObserverHttpNoForm(url, params) {
return this.http.post(AppGlobal.domain + url, null, { //app
params: params,
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
return this.http.post(AppGlobal.domain + url + params, data, { //app
headers: new Headers({
"Content-Type": "application/json"
})
})
}
//put请求
ObserverHttpPut(url, params, data) {
return this.http.put(AppGlobal.domain + url + params, data, { //app
headers: new Headers({
"Content-Type": "application/json"
})
})
}
private handleError(error: Response | any) {
let msg = '';
if (error.status == 400) {
msg = '请求无效(code:404)';
console.log('请检查参数类型是否匹配');
}
if (error.status == 404) {
msg = '请求资源不存在(code:404)';
console.error(msg + ',请检查路径是否正确');
}
if (error.status == 500) {
msg = '服务器发生错误(code:500)';
console.error(msg + ',请检查路径是否正确');
}
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
if (msg != '') {
this.toast(msg);
}
}
toast(message, callback?) {
let toast = this.toastCtrl.create({
message: message,
duration: 2000,
dismissOnPageChange: true,
});
toast.present();
if (callback) {
callback();
}
}
//position:top, bottom and middle
popToastView(message: string, position: string, duration: number) {
this.toastCtrl.create({
message: message,
position: position,
duration: duration,
}).present();
}
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();
}
}
}