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
|
|
afc9e308
liuqimichale
银联支付
|
292
293
294
|
var userAgent = navigator.userAgent;
var isAndroid = userAgent.indexOf('Android') > -1 || userAgent.indexOf('Adr') > -1; //android终端
|
9931d316
liuqimichale
格式化代码
|
295
296
|
function utilParams(val, orderID, openId) {
var _orderTotalFee = Number($('#due').text()) * 100 //总金额
|
afc9e308
liuqimichale
银联支付
|
297
298
|
var fee = $('#discountFee').text()
var _fee = fee.substring(0, fee.length - 1);
|
9931d316
liuqimichale
格式化代码
|
299
|
var _orderDicountFee = Number(_fee) * 100 //优惠了多少钱
|
afc9e308
liuqimichale
银联支付
|
300
301
|
var _orderActFee = _orderTotalFee - _orderDicountFee //实收多少钱
var jsondata;
|
9931d316
liuqimichale
格式化代码
|
302
|
if (_orderDicountFee > 0) {
|
afc9e308
liuqimichale
银联支付
|
303
|
jsondata = {
|
9931d316
liuqimichale
格式化代码
|
304
305
306
307
308
309
310
311
312
313
314
315
|
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(),
|
afc9e308
liuqimichale
银联支付
|
316
|
};
|
9931d316
liuqimichale
格式化代码
|
317
|
} else {
|
afc9e308
liuqimichale
银联支付
|
318
|
jsondata = {
|
9931d316
liuqimichale
格式化代码
|
319
320
321
322
323
324
325
326
327
|
orderBigType: 100,
payOrderType: 101,
rltOrderId: orderID,
payType: val,
terminalSource: 7,
orderActFee: _orderActFee,
orderTotalFee: _orderTotalFee,
payUserId: openId,
terminalOS: isAndroid ? 'AND' : 'IOS',
|
afc9e308
liuqimichale
银联支付
|
328
329
330
331
|
};
}
return jsondata
}
|
f9cd3bb6
liuqimichale
初始化项目
|
|
|