f9cd3bb6
liuqimichale
初始化项目
|
1
2
3
4
|
/*
state
*/
var appState = {
|
9931d316
liuqimichale
格式化代码
|
5
6
7
8
9
|
defaultTime: 120,//默认2分钟倒计时
countDownTime_timer: null,//支付倒计时
codeNullTip: "微信授权失败,请您尝试重新扫码 !",//code获取失败提示语
expandField_1: null,//扩展字段1-备用
expandObj_1: null,//扩展字段1-备用
|
f9cd3bb6
liuqimichale
初始化项目
|
10
11
12
13
|
}
/*自定义异步请求*/
function ajax() {
|
9931d316
liuqimichale
格式化代码
|
14
15
16
17
18
19
20
21
22
23
24
25
|
var ajaxData = {
type: (arguments[0].type || "GET").toUpperCase(),
url: arguments[0].url || "",
async: arguments[0].async || "true",
data: arguments[0].data || null,
dataType: arguments[0].dataType || "json",
contentType: arguments[0].contentType || "application/json; charset=utf-8",
beforeSend: arguments[0].beforeSend || function () {
},
success: arguments[0].success || function () {
},
error: arguments[0].error || function () {
|
f9cd3bb6
liuqimichale
初始化项目
|
26
|
}
|
9931d316
liuqimichale
格式化代码
|
27
|
}
|
f9cd3bb6
liuqimichale
初始化项目
|
28
|
|
9931d316
liuqimichale
格式化代码
|
29
30
31
|
ajaxData.beforeSend()
var xhr = createxmlHttpRequest();
xhr.responseType = ajaxData.dataType;
|
f9cd3bb6
liuqimichale
初始化项目
|
32
|
|
9931d316
liuqimichale
格式化代码
|
33
34
35
|
xhr.open(ajaxData.type, ajaxData.url, ajaxData.async);
xhr.setRequestHeader("Content-Type", ajaxData.contentType);
xhr.send(convertData(ajaxData.data));
|
f9cd3bb6
liuqimichale
初始化项目
|
36
|
|
9931d316
liuqimichale
格式化代码
|
37
38
39
40
41
42
43
|
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
ajaxData.success(xhr.response)
} else {
ajaxData.error()
}
|
f9cd3bb6
liuqimichale
初始化项目
|
44
|
}
|
9931d316
liuqimichale
格式化代码
|
45
|
}
|
f9cd3bb6
liuqimichale
初始化项目
|
46
47
48
|
}
function createxmlHttpRequest() {
|
9931d316
liuqimichale
格式化代码
|
49
50
51
52
53
|
if (window.ActiveXObject) {
return new ActiveXObject("Microsoft.XMLHTTP");
} else if (window.XMLHttpRequest) {
return new XMLHttpRequest();
}
|
f9cd3bb6
liuqimichale
初始化项目
|
54
55
56
|
}
function convertData(data) {
|
9931d316
liuqimichale
格式化代码
|
57
58
59
60
|
if (typeof data === 'object') {
var convertResult = "";
for (var c in data) {
convertResult += c + "=" + data[c] + "&";
|
f9cd3bb6
liuqimichale
初始化项目
|
61
|
}
|
9931d316
liuqimichale
格式化代码
|
62
63
64
65
66
|
convertResult = convertResult.substring(0, convertResult.length - 1)
return convertResult;
} else {
return data;
}
|
f9cd3bb6
liuqimichale
初始化项目
|
67
|
}
|
9931d316
liuqimichale
格式化代码
|
68
|
|
f9cd3bb6
liuqimichale
初始化项目
|
69
70
71
72
73
74
75
76
77
78
79
|
////////////////////////////////demo
//ajax({
// type: "POST",
// url: "ajax.php",
// dataType: "json",
// data: {
// "name": "abc",
// "age": 123,
// "id": "456"
// },
// beforeSend: function () {
|
afc9e308
liuqimichale
银联支付
|
80
|
// //some js code
|
f9cd3bb6
liuqimichale
初始化项目
|
81
82
83
84
85
86
87
88
89
|
// },
// success: function (msg) {
// console.log(msg)
// },
// error: function () {
// console.log("error")
// }
//})
/*******common*********/
|
9931d316
liuqimichale
格式化代码
|
90
|
|
f9cd3bb6
liuqimichale
初始化项目
|
91
|
/*统一请求接口*/
|
9931d316
liuqimichale
格式化代码
|
92
93
94
95
96
97
98
99
100
101
102
103
104
|
function postRequest(url, params, successCallback, errorCallback) {
ajax({
type: "POST",
url: url,
dataType: "json",
data: JSON.stringify(params),
beforeSend: function () {
//some js code
},
success: function (msg) {
successCallback(msg);
//var res = msg;
//if (res.code == 0) {//进场
|
f9cd3bb6
liuqimichale
初始化项目
|
105
|
|
9931d316
liuqimichale
格式化代码
|
106
107
108
109
110
111
112
113
114
|
//} else {//其他情况如【该卡号场内已存在】
// console.log(res.message);
//}
},
error: function (err) {
errorCallback(err);
//console.log("网络地址出错...")
}
})
|
f9cd3bb6
liuqimichale
初始化项目
|
115
116
117
118
|
}
/*获取URL?参数*/
function getQueryString(location) {
|
9931d316
liuqimichale
格式化代码
|
119
120
121
122
123
124
125
126
|
//var url = location.search; //获取url中"?"符后的字串
var url = location.search;
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for (var i = 0; i < strs.length; i++) {
theRequest[strs[i].split("=")[0]] = decodeURIComponent(strs[i].split("=")[1]);
|
f9cd3bb6
liuqimichale
初始化项目
|
127
|
}
|
9931d316
liuqimichale
格式化代码
|
128
129
130
131
|
} else {
theRequest = null;
}
return theRequest;
|
f9cd3bb6
liuqimichale
初始化项目
|
132
133
134
135
|
}
/*统一提示信息*/
window.alertMsg = function (txt) {
|
9931d316
liuqimichale
格式化代码
|
136
137
138
139
140
141
142
143
144
145
146
147
148
|
var alertFram = document.createElement("DIV");
alertFram.id = "alertFram";
alertFram.style.position = "fixed";
alertFram.style.width = "100%";
alertFram.style.textAlign = "center";
alertFram.style.top = "40%";
alertFram.style.zIndex = "10001";
strHtml = " <span style=\"font-family: 微软雅黑;display:inline-block;background:#333;color:#fff;padding:0 20px;line-height:36px;border-radius:6px; \">" + txt + "</span>";
alertFram.innerHTML = strHtml;
document.body.appendChild(alertFram);
setTimeout((function () {
alertFram.style.display = "none";
}), 2500);
|
f9cd3bb6
liuqimichale
初始化项目
|
149
150
151
152
|
};
//四舍五入保留2位小数(不够位数,则用0替补)
function keepTwoDecimalFull(num) {
|
9931d316
liuqimichale
格式化代码
|
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
|
var result = parseFloat(num);
if (isNaN(result)) {
alert('传递参数错误,请检查!');
return false;
}
result = Math.round(num * 100) / 100;
var s_x = result.toString();
var pos_decimal = s_x.indexOf('.');
if (pos_decimal < 0) {
pos_decimal = s_x.length;
s_x += '.';
}
while (s_x.length <= pos_decimal + 2) {
s_x += '0';
}
return s_x;
|
f9cd3bb6
liuqimichale
初始化项目
|
169
170
|
}
|
afc9e308
liuqimichale
银联支付
|
171
172
173
174
175
176
|
/**
* param 将要转为URL参数字符串的对象
* key URL参数字符串的前缀
* encode true/false 是否进行URL编码,默认为true
*
* return URL参数字符串
|
f9cd3bb6
liuqimichale
初始化项目
|
177
178
|
*/
var parseParams = function (data) {
|
9931d316
liuqimichale
格式化代码
|
179
180
181
182
183
184
|
try {
var tempArr = [];
for (var i in data) {
var key = (i);
var value = encodeURIComponent(data[i]);//decodeURIComponent
tempArr.push(key + '=' + value);
|
f9cd3bb6
liuqimichale
初始化项目
|
185
|
}
|
9931d316
liuqimichale
格式化代码
|
186
187
188
189
190
|
var urlParamsStr = tempArr.join('&');
return urlParamsStr;
} catch (err) {
return '';
}
|
f9cd3bb6
liuqimichale
初始化项目
|
191
192
|
};
|
f9cd3bb6
liuqimichale
初始化项目
|
193
194
|
/*获取对象*/
function getObjectByID(id) {
|
9931d316
liuqimichale
格式化代码
|
195
|
return document.getElementById(id);
|
f9cd3bb6
liuqimichale
初始化项目
|
196
197
|
}
|
f9cd3bb6
liuqimichale
初始化项目
|
198
199
|
/*秒转时分*/
function formatSeconds(value) {
|
9931d316
liuqimichale
格式化代码
|
200
201
202
203
204
205
206
207
208
209
210
211
212
213
|
var secondTime = parseInt(value);// 秒
var minuteTime = 0;// 分
var hourTime = 0;// 小时
if (secondTime > 60) {//如果秒数大于60,将秒数转换成整数
//获取分钟,除以60取整数,得到整数分钟
minuteTime = parseInt(secondTime / 60);
//获取秒数,秒数取佘,得到整数秒数
secondTime = parseInt(secondTime % 60);
//如果分钟大于60,将分钟转换成小时
if (minuteTime > 60) {
//获取小时,获取分钟除以60,得到整数小时
hourTime = parseInt(minuteTime / 60);
//获取小时后取佘的分,获取分钟除以60取佘的分
minuteTime = parseInt(minuteTime % 60);
|
f9cd3bb6
liuqimichale
初始化项目
|
214
|
}
|
9931d316
liuqimichale
格式化代码
|
215
216
|
}
var result = "" + parseInt(secondTime) + "秒";
|
f9cd3bb6
liuqimichale
初始化项目
|
217
|
|
9931d316
liuqimichale
格式化代码
|
218
219
220
221
222
223
224
|
if (minuteTime > 0) {
result = "" + parseInt(minuteTime) + "分" + result;
}
if (hourTime > 0) {
result = "" + parseInt(hourTime) + "小时" + result;
}
return result;
|
f9cd3bb6
liuqimichale
初始化项目
|
225
226
227
228
|
}
/*只能输入数字加字母*/
function checkCharAndNumber(ev) {
|
9931d316
liuqimichale
格式化代码
|
229
230
231
|
//this.value = this.value.toUpperCase();
var tmpValue = this.value.replace(/[^\d|chun]/g, '');
this.value = this.value.toUpperCase();
|
f9cd3bb6
liuqimichale
初始化项目
|
232
233
234
235
|
}
/*检测当前app浏览器*/
function clientBrowserEx() {
|
9931d316
liuqimichale
格式化代码
|
236
237
238
239
240
241
242
243
244
245
246
247
248
249
|
var state = "other";//default
if (/MicroMessenger/.test(window.navigator.userAgent)) {
console.log("微信客户端");
//this.switchShow("wxPay");
state = "wxPay";
} else if (/AlipayClient/.test(window.navigator.userAgent)) {
console.log("支付宝客户端");
//this.switchShow("aliPay");
state = "aliPay";
} else {
console.log("其他浏览器");
state = "other";
}
return state;
|
f9cd3bb6
liuqimichale
初始化项目
|
250
251
|
}
|
f9cd3bb6
liuqimichale
初始化项目
|
252
253
|
/*支付倒计时 @id*/
function countDownTime(id) {
|
9931d316
liuqimichale
格式化代码
|
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
|
$obj = getObjectByID(id);
getObjectByID("headTip").style.display = "block";
var count = appState.defaultTime;
appState.countDownTime_timer = setInterval(function () {
if (count == 0) {
clearInterval(appState.countDownTime_timer);
appState.countDownTime_timer = null;
$obj.innerHTML = count + "秒";
//删除code后刷新
window.location.href = funcUrlDel("code");
} else {
--count;
$obj.innerHTML = count + "秒";
}
}, 1000);
|
f9cd3bb6
liuqimichale
初始化项目
|
269
270
271
272
|
}
/*删除url中某个参数*/
function funcUrlDel(name) {
|
9931d316
liuqimichale
格式化代码
|
273
274
275
276
277
278
279
280
281
|
var loca = window.location;
var baseUrl = loca.origin + loca.pathname + "?";
var query = loca.search.substr(1);
if (query.indexOf(name) > -1) {
var obj = {}
var arr = query.split("&");
for (var i = 0; i < arr.length; i++) {
arr[i] = arr[i].split("=");
obj[arr[i][0]] = arr[i][1];
|
f9cd3bb6
liuqimichale
初始化项目
|
282
|
}
|
9931d316
liuqimichale
格式化代码
|
283
284
285
286
287
288
289
|
;
delete obj[name];
var url = baseUrl + JSON.stringify(obj).replace(/[\"\{\}]/g, "").replace(/\:/g, "=").replace(/\,/g, "&");
return url
} else {
return loca.href;
}
|
f9cd3bb6
liuqimichale
初始化项目
|
290
|
}
|
9931d316
liuqimichale
格式化代码
|
291
|
|
06c1136d
liuqimichale
支付 去掉已支付金额
|
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
|
// var userAgent = navigator.userAgent;
// var isAndroid = userAgent.indexOf('Android') > -1 || userAgent.indexOf('Adr') > -1; //android终端
//
// function utilParams(val, orderID, openId) {
// var _orderTotalFee = Number($('#due').text()) * 100 //总金额
// var fee = $('#discountFee').text()
// var _fee = fee.substring(0, fee.length - 1);
// var _orderDicountFee = Number(_fee) * 100 //优惠了多少钱
// var _orderActFee = _orderTotalFee - _orderDicountFee //实收多少钱
// var jsondata;
// if (_orderDicountFee > 0) {
// jsondata = {
// orderBigType: 100,
// payOrderType: 101,
// rltOrderId: orderID,
// payType: val,
// terminalSource: 7,
// orderActFee: _orderActFee,
// orderTotalFee: _orderTotalFee,
// orderDicountFee: _orderDicountFee,
// payUserId: openId,
// terminalOS: isAndroid ? 'AND' : 'IOS',
// couponType: 1, //优惠类型
// couponCode: $('#discountBox').val(),
// };
// } else {
// jsondata = {
// orderBigType: 100,
// payOrderType: 101,
// rltOrderId: orderID,
// payType: val,
// terminalSource: 7,
// orderActFee: _orderActFee,
// orderTotalFee: _orderTotalFee,
// payUserId: openId,
// terminalOS: isAndroid ? 'AND' : 'IOS',
// };
// }
// return jsondata
// }
|
f9cd3bb6
liuqimichale
初始化项目
|
|
|