first commit

This commit is contained in:
hero920103 committed 2025-11-28 10:08:12 +08:00
commit 09a14bf0a3
1088 files changed
+145132

No files matched your search

+36
View File
@@ -0,0 +1,36 @@
if(navigator.userAgent.indexOf("AlipayClient/") > -1){
function Alipayready(callback) {
if (window.AlipayJSBridge) {
callback && callback();
} else {
document.addEventListener('AlipayJSBridgeReady', callback, false);
}
}
Alipayready(function(){
$('#Close').click(function() {
AlipayJSBridge.call('popWindow');
});
})
}else if(navigator.userAgent.indexOf("MicroMessenger/") > -1){
if (typeof WeixinJSBridge == "undefined") {
if (document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', jsApiCall, false);
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', jsApiCall);
document.attachEvent('onWeixinJSBridgeReady', jsApiCall);
}
} else {
jsApiCall();
}
function jsApiCall() {
$('#Close').click(function() {
WeixinJSBridge.call('closeWindow');
});
}
}else if(navigator.userAgent.indexOf("QQ/") > -1){
$('#Close').hide();
}else {
$('#Close').click(function() {
window.opener=null;window.close();
});
}
+122
View File
@@ -0,0 +1,122 @@
function getId(value){
return document.getElementById(value);
}
//ajax post
function Post(option){
var url = option.url || "";
var data = (function(){
var text = '';
if(option.data && option.data.constructor == Object){
var arr = [];
for(var key in option.data){
arr.push(key+'='+option.data[key]);
}
text = arr.join('&');
}
return text;
})();
var toJson = option.dataType == 'text' ? false : true;
var success = option.success || function(){};
var error = option.error || function(){};
var timeout = option.timeout || 30000;
var isTimeout = false;
var http = new XMLHttpRequest();
var timer = setTimeout(function(){
isTimeout = true;
http.abort();
error();
},timeout);
http.open("POST",url,true);
http.setRequestHeader("Content-type","application/x-www-form-urlencoded");
http.onreadystatechange = function(){
if(http.readyState != 4 || isTimeout){return;}
clearTimeout(timer);
if(http.status == 200){
var response = toJson ? JSON.parse(http.responseText) : http.responseText;
success(response);
}else{
error();
}
};
http.send(data);
}
//loading
function Loading(){
var obj = document.createElement('div');
var box = document.createElement('div');
var img = document.createElement('div');
var txt = document.createElement('p');
obj.className = 'circle-box none';
box.className = 'circle_animate';
img.className = 'circle';
box.appendChild(img);
box.appendChild(txt);
obj.appendChild(box);
if(script){
script.parentNode.insertBefore(obj,script);
}else{
document.body.appendChild(obj);
}
this.show = function(value){
txt.innerHTML = value || '加载中...';
obj.classList.remove('none');
};
this.hide = function(){
obj.classList.add('none');
txt.innerHTML = '';
};
}
//tips
function Tips(){
var obj = document.createElement('div');
var box = document.createElement('div');
var con = document.createElement('div');
var txt = document.createElement('div');
var p = document.createElement('p');
var btnBox = document.createElement('p');
var btn = document.createElement('span');
obj.className = 'pop_wrapper none';
box.className = 'pop_outer';
con.className = 'pop_cont';
txt.className = 'pop_tip';
p.className = 'border b_top';
btnBox.className = 'pop_wbtn';
btn.className='pop_btn'
btn.innerHTML = '我知道了';
p.appendChild(btn);
con.appendChild(txt);
con.appendChild(p);
box.appendChild(con);
obj.appendChild(box);
if(script){
script.parentNode.insertBefore(obj,script);
}else{
document.body.appendChild(obj);
}
function hideFun(){
obj.classList.add('none');
}
this.show = function(value,callback){
var fun = callback || hideFun;
txt.innerHTML = value || ' ';
p.onclick = callback || hideFun;
obj.classList.remove('none');
};
this.hide = hideFun;
}
document.body.addEventListener('touchstart',function(){},false);
var script = document.body.getElementsByTagName('script')[0];
var loading = new Loading();
+7
View File
@@ -0,0 +1,7 @@
/*! Hammer.JS - v2.0.8 - 2016-04-23
* http://hammerjs.github.io/
*
* Copyright (c) 2016 Jorik Tangelder;
* Licensed under the MIT license */
!function(a,b,c,d){"use strict";function e(a,b,c){return setTimeout(j(a,c),b)}function f(a,b,c){return Array.isArray(a)?(g(a,c[b],c),!0):!1}function g(a,b,c){var e;if(a)if(a.forEach)a.forEach(b,c);else if(a.length!==d)for(e=0;e<a.length;)b.call(c,a[e],e,a),e++;else for(e in a)a.hasOwnProperty(e)&&b.call(c,a[e],e,a)}function h(b,c,d){var e="DEPRECATED METHOD: "+c+"\n"+d+" AT \n";return function(){var c=new Error("get-stack-trace"),d=c&&c.stack?c.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",f=a.console&&(a.console.warn||a.console.log);return f&&f.call(a.console,e,d),b.apply(this,arguments)}}function i(a,b,c){var d,e=b.prototype;d=a.prototype=Object.create(e),d.constructor=a,d._super=e,c&&la(d,c)}function j(a,b){return function(){return a.apply(b,arguments)}}function k(a,b){return typeof a==oa?a.apply(b?b[0]||d:d,b):a}function l(a,b){return a===d?b:a}function m(a,b,c){g(q(b),function(b){a.addEventListener(b,c,!1)})}function n(a,b,c){g(q(b),function(b){a.removeEventListener(b,c,!1)})}function o(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1}function p(a,b){return a.indexOf(b)>-1}function q(a){return a.trim().split(/\s+/g)}function r(a,b,c){if(a.indexOf&&!c)return a.indexOf(b);for(var d=0;d<a.length;){if(c&&a[d][c]==b||!c&&a[d]===b)return d;d++}return-1}function s(a){return Array.prototype.slice.call(a,0)}function t(a,b,c){for(var d=[],e=[],f=0;f<a.length;){var g=b?a[f][b]:a[f];r(e,g)<0&&d.push(a[f]),e[f]=g,f++}return c&&(d=b?d.sort(function(a,c){return a[b]>c[b]}):d.sort()),d}function u(a,b){for(var c,e,f=b[0].toUpperCase()+b.slice(1),g=0;g<ma.length;){if(c=ma[g],e=c?c+f:b,e in a)return e;g++}return d}function v(){return ua++}function w(b){var c=b.ownerDocument||b;return c.defaultView||c.parentWindow||a}function x(a,b){var c=this;this.manager=a,this.callback=b,this.element=a.element,this.target=a.options.inputTarget,this.domHandler=function(b){k(a.options.enable,[a])&&c.handler(b)},this.init()}function y(a){var b,c=a.options.inputClass;return new(b=c?c:xa?M:ya?P:wa?R:L)(a,z)}function z(a,b,c){var d=c.pointers.length,e=c.changedPointers.length,f=b&Ea&&d-e===0,g=b&(Ga|Ha)&&d-e===0;c.isFirst=!!f,c.isFinal=!!g,f&&(a.session={}),c.eventType=b,A(a,c),a.emit("hammer.input",c),a.recognize(c),a.session.prevInput=c}function A(a,b){var c=a.session,d=b.pointers,e=d.length;c.firstInput||(c.firstInput=D(b)),e>1&&!c.firstMultiple?c.firstMultiple=D(b):1===e&&(c.firstMultiple=!1);var f=c.firstInput,g=c.firstMultiple,h=g?g.center:f.center,i=b.center=E(d);b.timeStamp=ra(),b.deltaTime=b.timeStamp-f.timeStamp,b.angle=I(h,i),b.distance=H(h,i),B(c,b),b.offsetDirection=G(b.deltaX,b.deltaY);var j=F(b.deltaTime,b.deltaX,b.deltaY);b.overallVelocityX=j.x,b.overallVelocityY=j.y,b.overallVelocity=qa(j.x)>qa(j.y)?j.x:j.y,b.scale=g?K(g.pointers,d):1,b.rotation=g?J(g.pointers,d):0,b.maxPointers=c.prevInput?b.pointers.length>c.prevInput.maxPointers?b.pointers.length:c.prevInput.maxPointers:b.pointers.length,C(c,b);var k=a.element;o(b.srcEvent.target,k)&&(k=b.srcEvent.target),b.target=k}function B(a,b){var c=b.center,d=a.offsetDelta||{},e=a.prevDelta||{},f=a.prevInput||{};b.eventType!==Ea&&f.eventType!==Ga||(e=a.prevDelta={x:f.deltaX||0,y:f.deltaY||0},d=a.offsetDelta={x:c.x,y:c.y}),b.deltaX=e.x+(c.x-d.x),b.deltaY=e.y+(c.y-d.y)}function C(a,b){var c,e,f,g,h=a.lastInterval||b,i=b.timeStamp-h.timeStamp;if(b.eventType!=Ha&&(i>Da||h.velocity===d)){var j=b.deltaX-h.deltaX,k=b.deltaY-h.deltaY,l=F(i,j,k);e=l.x,f=l.y,c=qa(l.x)>qa(l.y)?l.x:l.y,g=G(j,k),a.lastInterval=b}else c=h.velocity,e=h.velocityX,f=h.velocityY,g=h.direction;b.velocity=c,b.velocityX=e,b.velocityY=f,b.direction=g}function D(a){for(var b=[],c=0;c<a.pointers.length;)b[c]={clientX:pa(a.pointers[c].clientX),clientY:pa(a.pointers[c].clientY)},c++;return{timeStamp:ra(),pointers:b,center:E(b),deltaX:a.deltaX,deltaY:a.deltaY}}function E(a){var b=a.length;if(1===b)return{x:pa(a[0].clientX),y:pa(a[0].clientY)};for(var c=0,d=0,e=0;b>e;)c+=a[e].clientX,d+=a[e].clientY,e++;return{x:pa(c/b),y:pa(d/b)}}function F(a,b,c){return{x:b/a||0,y:c/a||0}}function G(a,b){return a===b?Ia:qa(a)>=qa(b)?0>a?Ja:Ka:0>b?La:Ma}function H(a,b,c){c||(c=Qa);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return Math.sqrt(d*d+e*e)}function I(a,b,c){c||(c=Qa);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return 180*Math.atan2(e,d)/Math.PI}function J(a,b){return I(b[1],b[0],Ra)+I(a[1],a[0],Ra)}function K(a,b){return H(b[0],b[1],Ra)/H(a[0],a[1],Ra)}function L(){this.evEl=Ta,this.evWin=Ua,this.pressed=!1,x.apply(this,arguments)}function M(){this.evEl=Xa,this.evWin=Ya,x.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function N(){this.evTarget=$a,this.evWin=_a,this.started=!1,x.apply(this,arguments)}function O(a,b){var c=s(a.touches),d=s(a.changedTouches);return b&(Ga|Ha)&&(c=t(c.concat(d),"identifier",!0)),[c,d]}function P(){this.evTarget=bb,this.targetIds={},x.apply(this,arguments)}function Q(a,b){var c=s(a.touches)Line truncated
//# sourceMappingURL=hammer.min.js.map
+228
View File
@@ -0,0 +1,228 @@
//insert
function keypress(e){
e.preventDefault();
var target = e.target;
var value = target.getAttribute('data-value');
var dot = valueCur.match(/\.\d{2,}$/);
if(!value || (value !== 'delete' && dot)){
return;
}
switch(value){
case '0' :
valueCur = valueCur === '0' ? valueCur : valueCur + value;
break;
case 'dot' :
valueCur = valueCur === '' ? valueCur : valueCur.indexOf('.') > -1 ? valueCur : valueCur + '.';
break;
case 'delete' :
valueCur = valueCur.slice(0,valueCur.length-1);
break;
default :
valueCur = valueCur === '0' ? value : valueCur + value;
}
if(!!valueCur && value !== 'delete' && value !== 'dot') {
var re = /^\d{1,9}(\.\d{0,2})?$/;
var limitLen = re.test(valueCur);
if (!limitLen) {
valueCur = valueCur.slice(0,valueCur.length-1);
return;
}
}
format();
}
//format
function format(){
var arr = valueCur.split('.');
var right = arr.length === 2 ? '.'+arr[1] : '';
var num = arr[0];
var left = '';
while(num.length > 3){
left = ',' + num.slice(-3) + left;
num = num.slice(0,num.length - 3);
}
left = num + left;
valueFormat = left+right;
valueFinal = valueCur === '' ? 0 : parseFloat(valueCur);
check();
}
//check
function check(){
amount.innerHTML = valueFormat;
if(valueFormat.length > 0){
clearBtn.classList.remove('none');
}else{
clearBtn.classList.add('none');
}
if(valueFinal === 0 || valueCur.match(/\.$/)){
payBtn.classList.add('disable');
}else{
payBtn.classList.remove('disable');
}
}
//clear
function clearFun(){
valueCur = '';
valueFormat = '';
valueFinal = 0;
amount.innerHTML = '';
clearBtn.classList.add('none');
payBtn.classList.add('disable');
}
//submit
function submitFun(){
if(!submitAble || payBtn.classList.contains('disable')){
return;
}
var txAmount = $("#txAmount").val();
if (!!txAmount && txAmount > 0) {
valueFinal = txAmount;
}
if(valueFinal == 0){
tips.show('请输入金额!');
return;
}
var amount = valueFinal;
var uid = $("#uid").val();
var paytype = $("#paytype").val();
var token = $("#token").val();
var direct = $("#direct").val();
var payer = $("#payer").val();
var remark = document.querySelector("#remark-content").innerText;
submitAble = false;
loading.show();
new Post({
url : 'ajax.php',
dataType : 'json',
data : {"money":amount,"payer":payer,"uid":uid,"paytype":paytype,"direct":direct,"remark":remark,"token":token},
error : function(){
loading.hide();
submitAble = true;
//update by yuwm 2018.03.14
tips.show('<span style="color:#959595;margin-top:5px">网络异常,请重新发起支付</span>');
},
success : function(data){
loading.hide();
if(data.code=="0"){//success
$("#trade_no").val(data.trade_no);
if (data.direct==1) {
if (paytype == 'wxpay') {
WxpayJsPay(data.paydata);
} else if (paytype == 'alipay') {
AlipayJsPay(data.paydata);
} else if (paytype == 'qqpay') {
QQJsPay(data.paydata);
}
}else{
window.location.href= data.url;
}
}else{
tips.show(data.msg);
}
submitAble = true;
}
});
}
//region WX JS
function WxpayJsPay(payStr){
var jsonPayStr = eval("("+payStr+")");
WeixinJSBridge.invoke(
'getBrandWCPayRequest',
jsonPayStr,
function(res){
// 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回 ok,但并不保证它绝对可靠。
if(res.err_msg == "get_brand_wcpay_request:ok" ) {
// 支付成功则关闭窗口
// tips.show("支付成功");
//WeixinJSBridge.call('closeWindow');
window.location.href="./success.php?trade_no="+$("#trade_no").val();
} else if(res.err_msg == "get_brand_wcpay_request:cancel") {
// tips.show("支付过程中用户取消");
} else if(res.err_msg == "get_brand_wcpay_request:fail") {
tips.show("支付失败");
}else{
tips.show("支付失败");
}
}
);
}
//endregion
//region ALI JS
function AlipayJsPay(payStr) {
var trade_no = $("#trade_no").val();
Alipayready(function(){
AlipayJSBridge.call("tradePay",{
tradeNO: payStr
}, function(result){
var msg = "";
if(result.resultCode == "9000"){
//AlipayJSBridge.call('closeWebview');
window.location.href="./success.php?trade_no="+$("#trade_no").val();
}else if(result.resultCode == "8000"){
msg = "正在处理中";
}else if(result.resultCode == "4000"){
msg = "订单支付失败";
}else if(result.resultCode == "6002"){
msg = "网络连接出错";
}
if (msg!="") {
tips.show(msg);
}
});
});
}
function Alipayready(callback) {
// 如果jsbridge已经注入则直接调用
if (window.AlipayJSBridge) {
callback && callback();
} else {
// 如果没有注入则监听注入的事件
document.addEventListener('AlipayJSBridgeReady', callback, false);
}
}
//endregion
//region QQ JS
function QQJsPay(payStr){
var trade_no = $("#trade_no").val();
var jsonPayStr = eval("("+payStr+")");
mqq.tenpay.pay({
tokenId: jsonPayStr.tokenId,
appInfo: jsonPayStr.appInfo
}, function(result, resultCode){
if(resultCode == 0){ //支付成功
//mqq.ui.popBack();
window.location.href="./success.php?trade_no="+$("#trade_no").val();
}else{
tips.show("支付失败");
}
});
}
//endregion
var keyboard = getId('keyboard');
var clearBtn = getId('clearBtn');
var payBtn = getId('payBtn');
var valueCur = '';
var valueFormat = '';
var submitAble = true;
var valueFinal = 0;
new Hammer(keyboard).on('tap',keypress);
new Hammer(payBtn).on('tap',submitFun);
new Hammer(clearBtn).on('tap',clearFun);
var txAmount = $("#txAmount").val();
if (!!txAmount && txAmount > 0) {
submitFun()
}