import { HttpModule, Http, Response, RequestOptions, Headers } from '@angular/http'; //系统变量 var SYSTEM = { SERVER_URL: "http://school.cool1024.com", } //参数方法 var PARSE = { jsonToQueryParams: function (json: any) { var key: any; var query: string[] = []; for (key in json) { query.push(key + "=" + json[key]); } return query.join('&'); } } //本地存储 var Storage = { insertToken(data?: any): any { var data = data || {}; data.account = localStorage.getItem('account'); data.password = localStorage.getItem('password'); return data; }, updateToken(data?: any): void { localStorage.setItem('account', data.account); localStorage.setItem('password', data.token); }, check(): boolean { var account = localStorage.getItem('account'); var password = localStorage.getItem('password'); return (account && password) ? true : false; }, clean(): void { localStorage.removeItem('account'); localStorage.removeItem('password'); } } export { SYSTEM, Storage } //用户模块 export class News { list(http: Http, success: Function, final?: Function): void { var final: Function = final || function () { }; http.get(SYSTEM.SERVER_URL + "/manager/news/list").subscribe((res: Response) => { success(res.json()); final() }, function (res: Response) { alert("请求失败!"); final(); }); } delete(id: string, http: Http, success: Function, final?: Function): void { var final: Function = final || function () { }; http.post(SYSTEM.SERVER_URL + "/manager/news/delete", { id: id }).subscribe((res: Response) => { success(res.json()); final() }, function (res: Response) { alert("请求失败!"); final(); }); } } export class Member { list(http: Http, success: Function, final?: Function): void { var final: Function = final || function () { }; http.get(SYSTEM.SERVER_URL + "/manager/member/list").subscribe((res: Response) => { success(res.json()); final() }, function (res: Response) { alert("请求失败!"); final(); }); } } export class Goods { constructor(private http?: Http) { if (http) this.http = http }; list(success: Function, final?: Function): void { var final: Function = final || function () { }; this.http.post(SYSTEM.SERVER_URL + '/market/list',{}).subscribe((res: Response) => { success(res.json()); final() }, function (res: Response) { alert("请求失败!"); final(); }); } delete(id:string,success: Function, final?: Function): void { var final: Function = final || function () { }; this.http.post(SYSTEM.SERVER_URL + '/market/delete',{id:id}).subscribe((res: Response) => { success(res.json()); final() }, function (res: Response) { alert("请求失败!"); final(); }); } } export class Active{ constructor(private http?:Http){} list(success: Function, final?: Function): void { var final: Function = final || function () { }; this.http.get(SYSTEM.SERVER_URL + '/member/active/list').subscribe((res: Response) => { success(res.json()); final() }, function (res: Response) { alert("请求失败!"); final(); }); } delete(id:string,success: Function, final?: Function): void { var final: Function = final || function () { }; this.http.post(SYSTEM.SERVER_URL + '/member/active/delete',{id:id}).subscribe((res: Response) => { success(res.json()); final() }, function (res: Response) { alert("请求失败!"); final(); }); } } export class FileUpload { read(file: any, callback: Function) { var reader = new FileReader(); reader.onload = function () { callback(reader.result); } reader.readAsDataURL(file); } reads(files: any[], callback: Function, doing: Function) { var read: Function = this.read; var cx = 0; for (var i = 0; i < files.length; i++) { read(files[i], (result: string) => { doing(result); if (++cx >= files.length) { callback(); } }); } } up(file, url, suc: Function, fal: Function) { var http = new XMLHttpRequest(); var formData = new FormData(); formData.append('image', file); formData.append('account', Storage.insertToken().account); formData.append('token', Storage.insertToken().token); formData.append('checkkey', Storage.insertToken().checkkey); http.open("post", url, true); http.onload = function (data) { (http.readyState == 4 && http.status == 200) ? suc(JSON.parse(http.responseText)) : fal(); } http.onerror = function () { fal() } http.send(formData); } ups(files, url, doing, callback: Function) { var up: Function = this.up; var scx = 0; var fcx = 0; for (var i = 0; i < files.length; i++) { up(files[i], url, (result: JSON) => { doing(result); if (++scx > files.length) callback(scx, fcx); }, () => { if (++fcx > files.length) callback(scx, fcx); }); } } } export class HtmlPost { method: string; url: string; suc: Function; err: Function; formData = new FormData(); constructor(method: string, url: string, suc: Function, err: Function) { this.url = url; this.method = method; this.suc = suc; this.err = err; } append(key, value) { this.formData.append(key, value); } files(key, files) { for (var i = 0; i < files.length; i++) { this.append(key + i, files[i]); } this.append(key, files.length); } send() { var http = new XMLHttpRequest(); var suc = this.suc; var err = this.err; http.open(this.method, this.url, true); http.onload = function (data) { (http.readyState == 4 || http.status == 200) ? suc(http.responseText) : err(); } http.onerror = function () { err() }; http.send(this.formData); } }