medtap_core_wx.js 3.47 KB
Newer Older
1 2 3 4 5 6 7 8 9 10
define(['zepto', 'md5'], function($, md5) {
	/*
	 *微信服务号通用方法
	 */

	//设置请求头
	var setHeader = function() {
		var headers = {};
		headers['apptype'] = 'wechat_lung';
		headers['user-os'] = 'wechat';
11
		headers['token'] = localStorage.wxLungToken;
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
		return headers;
	}

	//获取url上的参数
	var getRequest = function(strParame) {
		var args = new Object();
		var query = window.location.search.substring(1);
		var pairs = query.split("&");
		for (var i = 0; i < pairs.length; i++) {
			var pos = pairs[i].indexOf('=');
			if (pos == -1) continue;
			var argname = pairs[i].substring(0, pos);
			var value = pairs[i].substring(pos + 1);
			value = decodeURIComponent(value);
			args[argname] = value;
		}
		args[strParame] = args[strParame] || "";
		return args[strParame];
	}

	//页面跳转
	var pushWindow = function(urlParame) {
		var ts = new Date().getTime(); //时间戳
		if (urlParame.indexOf('?') == -1) {
			window.location.href = urlParame + '?ts=' + ts;
		} else {
			window.location.href = urlParame + '&ts=' + ts;
		}
	}

	//loading效果
	var loading = function(isOpen) {
44 45 46 47 48 49 50 51 52
		var a = $('.mod');
		if (a.attr("has")) {
			if (isOpen == 1) {
				$('.mod').show();
			} else {
				setTimeout(function() {
					$('.mod').hide();
				}, 1000)
			}
53
		} else {
54 55 56 57 58 59 60 61 62
			var html = '<div class="mod" has="true"><div class="cssload-spin-box"></div></div>';
			$('body').append(html);
			if (isOpen == 1) {
				$('.mod').show();
			} else {
				setTimeout(function() {
					$('.mod').hide();
				}, 1000)
			}
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
		}
	}

	//toast 提示
	var toast = function(msgParame) {
		//设置消息框提示时间
		var time = msgParame.time;
		if (time == undefined || time == '') {
			time = 2000;
		}
		//初始化消息框元素
		var el = document.createElement("div");
		el.setAttribute("class", "web-toast");
		el.innerHTML = msgParame.message;
		document.body.appendChild(el);
		el.classList.add("fadeIn");
		setTimeout(function() {
			el.classList.remove("fadeIn");
			el.classList.add("fadeOut");
			/* 监听动画结束,移除提示信息元素 */
			el.addEventListener("animationend", function() {
				document.body.removeChild(el);
			});
			el.addEventListener("webkitAnimationEnd", function() {
				document.body.removeChild(el);
			});
		}, time);
	}

92 93 94 95 96 97 98 99 100 101 102
	//pop提示
	var winPop = function(msg) { //用于pop提示效果的方法,提示文字为参数如$.winPop("加载失败");
		var b = $("body");
		b.append("<div class='winPop'>" + msg + "</div>");
		var a = setTimeout(function() {
			var a = $(".winPop");
			a.remove();
			clearTimeout(a);
		}, 3000);
	}

103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
	//请求函数
	var submitAjax = function(opts) {
		//请求参数
		var ajaxParame = opts.data || '';
		var params = {};
		if (ajaxParame != "") {
			for (var i in ajaxParame) {
				params[i] = ajaxParame[i];
			}
		}
		//是否异步请求
		var async = true;
		if (opts.async != undefined) {
			async = opts.async;
		}
		//设置contentType
		var type = "application/x-www-form-urlencoded";
		if (opts.contentType == "application/json") {
			type = "application/json";
			params = JSON.stringify(params);
		}
		$.ajax({
			url: opts.url,
			type: opts.type,
			headers: setHeader(),
			async: opts.async,
			contentType: type,
			data: params,
			success: function(res) {
				opts.success(res);
			},
			error: function(res) {
				opts.error(res);
			}
		})
	}
139

140 141 142 143 144 145 146 147

	//模块暴露
	return {
		setHeader: setHeader,
		getRequest: getRequest,
		pushWindow: pushWindow,
		loading: loading,
		toast: toast,
148
		winPop: winPop,
149 150 151
		submitAjax: submitAjax
	}
})