add file
This commit is contained in:
460
pluss-wap-page/src/main/resources/templates/jft/th_jft_pay.html
Normal file
460
pluss-wap-page/src/main/resources/templates/jft/th_jft_pay.html
Normal file
@@ -0,0 +1,460 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" xmlns:th="http://www.thymeleaf.org">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
|
||||
<meta content="yes" name="apple-mobile-web-app-capable">
|
||||
<meta content="black" name="apple-mobile-web-app-status-bar-style">
|
||||
<meta content="telephone=no" name="format-detection">
|
||||
<meta content="email=no" name="format-detection">
|
||||
<link rel="stylesheet" type="text/css" th:href="@{'/resources/css/weui.css'}"/>
|
||||
<link rel="stylesheet" type="text/css" th:href="@{'/resources/css/weuix.css'}"/>
|
||||
<script src="https://www.shouyinbei.net/resources/js/alipayjsapi.min3.1.1.js"></script>
|
||||
<script th:src="@{'/resources/js/jquery.min.js'}"></script>
|
||||
<script th:src="@{'/resources/js/zepto.weui.js'}"></script>
|
||||
<title>缴费通</title>
|
||||
<style>
|
||||
* {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
html,body{
|
||||
width:100%;
|
||||
height:100%;
|
||||
margin:0 auto;
|
||||
padding:0px;
|
||||
background-color:#F5F6F8;
|
||||
color: #000000;
|
||||
}
|
||||
.shade{
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgba(0,0,0,.1);
|
||||
z-index: 998;
|
||||
overflow: auto;
|
||||
}
|
||||
.loading{
|
||||
z-index: 10000;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
display: none;
|
||||
margin: 40px 0;
|
||||
}
|
||||
.loading-body{
|
||||
width: 30%;
|
||||
text-align: center;
|
||||
margin: 0 auto;
|
||||
padding: .4rem 0;
|
||||
background-color: #fff;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.loading-icon{
|
||||
background-image: url(data:image/gif;base64,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);background-size:100% 100%;
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
margin: 10px auto;
|
||||
}
|
||||
.header{
|
||||
font-size: 0.8rem;
|
||||
font-weight: 400;
|
||||
text-align: center;
|
||||
height: 1.8rem;
|
||||
vertical-align:middle;
|
||||
line-height:1.8rem; /*line-height must be equal to height*/
|
||||
color: #fff;
|
||||
background: -webkit-linear-gradient(left, #47A8FC , #4C8BF8); /* Safari 5.1 - 6.0 */
|
||||
background: -o-linear-gradient(right, #47A8FC, #4C8BF8); /* Opera 11.1 - 12.0 */
|
||||
background: -moz-linear-gradient(right, #47A8FC, #4C8BF8); /* Firefox 3.6 - 15 */
|
||||
background: linear-gradient(to right, #47A8FC , #4C8BF8); /* 标准的语法 */
|
||||
}
|
||||
.tr-amt{
|
||||
background: #fff;
|
||||
text-align: center;
|
||||
line-height: 1.6rem;
|
||||
padding: 1.5rem 0 .5rem 0;
|
||||
}
|
||||
.text{
|
||||
font-size: 0.7rem;
|
||||
font-weight: bold;
|
||||
}
|
||||
.amt-info{
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: end;
|
||||
}
|
||||
.rmb-icon{
|
||||
height: 20px;
|
||||
padding: 10px 0 5px 0;
|
||||
}
|
||||
.amt{
|
||||
font-size: 1.2rem;
|
||||
font-weight: bold;
|
||||
}
|
||||
.tr-item{
|
||||
background: #fff;
|
||||
margin-top: 10px;
|
||||
font-size: 0.7rem;
|
||||
}
|
||||
.item-info{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
.item-label{
|
||||
color: #a5a2a2;
|
||||
}
|
||||
.red{
|
||||
color: red;
|
||||
}
|
||||
.br{
|
||||
border-top: 1px solid #ededed;
|
||||
margin: 0 20px;
|
||||
}
|
||||
.jft-input{
|
||||
border: 0;
|
||||
text-align: right;
|
||||
outline:medium;
|
||||
font-size:16px
|
||||
}
|
||||
.item-warming{
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: .575rem;
|
||||
margin-top: 20px;
|
||||
color: red;
|
||||
}
|
||||
.footer{
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
bottom: 30px;
|
||||
text-align: center;
|
||||
}
|
||||
.cancel-btn{
|
||||
padding: 10px 30px;
|
||||
border: 1px solid #d9d9d9;
|
||||
border-radius: 20px;
|
||||
background: #fff;
|
||||
margin-right: 30px;
|
||||
font-size: .6rem;
|
||||
}
|
||||
.l-success-btn{
|
||||
padding: 10px 30px;
|
||||
border: 1px solid #d9d9d9;
|
||||
border-radius: 20px;
|
||||
background-color: rgba(64, 142, 249, 1);
|
||||
color: #fff;
|
||||
font-size: .6rem;
|
||||
}
|
||||
.j-success-btn{
|
||||
padding: 8px 30px;
|
||||
border: 1px solid #d9d9d9;
|
||||
border-radius: 20px;
|
||||
background-color: rgba(64, 142, 249, 1);
|
||||
color: #fff;
|
||||
font-size: .6rem;
|
||||
}
|
||||
.dialog{
|
||||
z-index: 999;
|
||||
height: 13rem;
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
top: 25%;
|
||||
display: none;
|
||||
font-size: 0.70rem;
|
||||
}
|
||||
.dialog-content{
|
||||
background: #fff;
|
||||
height: 14rem;
|
||||
border-radius: 5px;
|
||||
margin: 0 auto;
|
||||
width: 70%;
|
||||
}
|
||||
.dialog-body{
|
||||
padding: 10px 20px 0px 20px;
|
||||
}
|
||||
.dialog-item{
|
||||
margin: 10px 0 20px 0;
|
||||
}
|
||||
.dialog-input{
|
||||
border: 0;
|
||||
border-bottom: 1px solid #efefef;
|
||||
outline: medium;
|
||||
width: 100%;
|
||||
font-size: 16px;
|
||||
}
|
||||
.dialog-item-input{
|
||||
margin-top: 10px;
|
||||
}
|
||||
.dialog-br:hover{
|
||||
width: 100%;
|
||||
}
|
||||
.dialog-br{
|
||||
display: block;
|
||||
border-top: 2px solid #03A6FF;
|
||||
width: 0%;
|
||||
}
|
||||
input:focus + .dialog-br {
|
||||
width: 100%;
|
||||
transition: all 0.4s
|
||||
}
|
||||
.dialog-btns{
|
||||
position: absolute;
|
||||
bottom: -10px;
|
||||
justify-content: center;
|
||||
margin-left: 3%;
|
||||
}
|
||||
.dialog-warming{
|
||||
font-size: .675rem;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: red;
|
||||
}
|
||||
.dialog-cancel-btn{
|
||||
padding: 8px 30px;
|
||||
border: 1px solid #d9d9d9;
|
||||
border-radius: 20px;
|
||||
background: #fff;
|
||||
font-size: .6rem;
|
||||
}
|
||||
button{
|
||||
outline:medium;
|
||||
}
|
||||
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
|
||||
font-size:16px;
|
||||
}
|
||||
input:-moz-placeholder, textarea:-moz-placeholder {
|
||||
font-size:16px;
|
||||
}
|
||||
input::-moz-placeholder, textarea::-moz-placeholder {
|
||||
font-size:16px;
|
||||
}
|
||||
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
|
||||
font-size:16px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="body">
|
||||
<div class="header">
|
||||
缴费通支付
|
||||
</div>
|
||||
<div class="tr-amt">
|
||||
<img th:src="@{'/resources/images/jft-wallet-icon.png'}">
|
||||
<div class="text">付款单</div>
|
||||
<div class="amt-info">
|
||||
<img class="rmb-icon" th:src="@{'/resources/images/jft-rmb-icon.png'}">
|
||||
<div class="amt" th:text="${amount}"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tr-item">
|
||||
<div class="item-info">
|
||||
<div class="item-label">收款商家</div>
|
||||
<div class="item-text" th:text="${merchantName}"></div>
|
||||
</div>
|
||||
<div class="item-info">
|
||||
<div class="item-label">项目名称</div>
|
||||
<div class="item-text" th:text="${pName}"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tr-item">
|
||||
<div class="item-each" th:each="payment,index:${paymentList}">
|
||||
<div class="item-input item-info">
|
||||
<div class="item-label"><span th:text="${payment.name}"></span> <span class="red">*</span></div>
|
||||
<div class="item-input">
|
||||
<input th:type="${payment.code == 'phone' ? 'number' : 'text'}" class="jft-input" th:name="${payment.code}" th:msg="${payment.name}" th:id="${payment.code}" th:placeholder="${'请输入'+payment.name}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="br" th:if="${index.count != index.size}"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-warming">
|
||||
<img class="tips-icon" th:src="@{'/resources/images/jft-tips-icon.png'}">
|
||||
<div class="warming-text">请谨慎核对收款单信息,风险自行承担</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="footer-btns">
|
||||
<button class="l-success-btn" style="padding: 10px 100px" id="subPay" onclick="subPay()">立即支付</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="dialog" id="dialog">
|
||||
<div class="dialog-header"></div>
|
||||
<div class="dialog-content">
|
||||
<div class="header">收款方信息</div>
|
||||
<div class="dialog-body">
|
||||
<div class="dialog-item">
|
||||
<div class="dialog-item-name">姓名</div>
|
||||
<div class="dialog-item-input">
|
||||
<input type="text" class="dialog-input" name="name" id="cName" autofocus th:placeholder="${cpName}">
|
||||
<span class="dialog-br"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="dialog-item">
|
||||
<div class="dialog-item-name">手机号</div>
|
||||
<div class="dialog-item-input">
|
||||
<input type="number" class="dialog-input" name="phone" id="cPhone" autofocus th:placeholder="${cpPhone}">
|
||||
<span class="dialog-br"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="dialog-warming">
|
||||
<img class="tips-icon" th:src="@{'/resources/images/jft-tips-icon.png'}">
|
||||
<div class="warming-text">如遇诈骗,请立即报警</div>
|
||||
</div>
|
||||
<div class="dialog-btns">
|
||||
<button class="dialog-cancel-btn" onclick="hideDialog()">取消支付</button>
|
||||
<button class="j-success-btn" onclick="submitPay()">继续支付</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id='shade' class="shade"></div>
|
||||
<div class="loading" id="loading">
|
||||
<div class="loading-body">
|
||||
<div class="loading-icon">
|
||||
</div>
|
||||
<div class="loading-msg">
|
||||
支付中...
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" id="tk" th:value="${tk}">
|
||||
<input type="hidden" id="userId" th:value="${userId}">
|
||||
</body>
|
||||
<script type="text/javascript">
|
||||
(function (doc, win) {
|
||||
var docEl = doc.documentElement,
|
||||
resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
|
||||
recalc = function () {
|
||||
var clientWidth = docEl.clientWidth;
|
||||
if (!clientWidth) return;
|
||||
docEl.style.fontSize = 20 * (clientWidth / 320) + 'px';//其中“20”根据你设置的html的font-size属性值做适当的变化
|
||||
};
|
||||
|
||||
if (!doc.addEventListener) return;
|
||||
win.addEventListener(resizeEvt, recalc, false);
|
||||
doc.addEventListener('DOMContentLoaded', recalc, false);
|
||||
})(document, window);
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
var winHeight = $(window).height(); //获取当前页面高度
|
||||
let city = "";
|
||||
let province = "";
|
||||
$(window).resize(function () {
|
||||
var thisHeight = $(this).height();
|
||||
if (winHeight - thisHeight > 140) {
|
||||
//键盘弹出
|
||||
$('.footer').css('position', 'static');
|
||||
} else {
|
||||
//键盘收起
|
||||
$('.footer').css({'position': 'fixed', 'bottom': '30'});
|
||||
}
|
||||
})
|
||||
function getLocation(){
|
||||
AlipayJSBridge.call('getCurrentLocation', { bizType: '$s',requestType:1}, function(result) {
|
||||
if (result.error) {
|
||||
AlipayJSBridge.call('alert', {
|
||||
title: '提示',
|
||||
message: "请允许位置信息授权后支付",
|
||||
button: '确定'
|
||||
}, function(e) {
|
||||
});
|
||||
return;
|
||||
}else{
|
||||
city = result.city;
|
||||
province = result.province;
|
||||
subTowPay();
|
||||
}
|
||||
});
|
||||
}
|
||||
function subPay(){
|
||||
if(!city){
|
||||
getLocation()
|
||||
}else{
|
||||
subTowPay();
|
||||
}
|
||||
}
|
||||
function subTowPay(){
|
||||
let flag = false;
|
||||
let msg = "";
|
||||
$(".item-each").find("input").each(function (k,v){
|
||||
if(!$(v).val()){
|
||||
flag = true;
|
||||
msg = $(v).attr("msg");
|
||||
}
|
||||
})
|
||||
if(flag){
|
||||
return $.toast(msg+"不能为空","text");
|
||||
}
|
||||
showDialog();
|
||||
}
|
||||
|
||||
function showDialog(){
|
||||
$("#shade").show();
|
||||
$("#dialog").show();
|
||||
}
|
||||
function hideDialog(){
|
||||
$("#shade").hide();
|
||||
$("#dialog").hide();
|
||||
}
|
||||
function submitPay(){
|
||||
$vaData = {};
|
||||
$(".item-each").find("input").each(function (k,v){
|
||||
$vaData[$(v).attr("name")] = $(v).val();
|
||||
})
|
||||
let cName = $("#cName").val();
|
||||
let cPhone = $("#cPhone").val();
|
||||
if(!cName){
|
||||
return $.toast("收款方姓名不能为空!","text");
|
||||
}
|
||||
$vaData["cName"] = cName;
|
||||
if(!cPhone){
|
||||
return $.toast("收款方手机号不能为空!","text");
|
||||
}
|
||||
$vaData["cPhone"] = cPhone;
|
||||
$vaData["tk"] = $("#tk").val();
|
||||
$vaData["payUserId"] = $("#userId").val();
|
||||
$vaData["city"] = city;
|
||||
$vaData["province"] = province;
|
||||
hideDialog();
|
||||
$.showLoading("支付中...");
|
||||
let url = "/wap/jft/tradePay";
|
||||
$.ajax({
|
||||
url:url,
|
||||
data:$vaData,
|
||||
type:"post",
|
||||
success:function (res){
|
||||
$.hideLoading();
|
||||
if(res.code == 400){
|
||||
return $.toast(res.message,"text");
|
||||
}
|
||||
let rdata = res.data;
|
||||
var reg=/^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+).)+([A-Za-z0-9-~\/])+$/;
|
||||
if(reg.test(rdata.source)){
|
||||
window.location = rdata.source;
|
||||
}else{
|
||||
ap.tradePay({
|
||||
tradeNO : rdata.source
|
||||
}, function(res) {
|
||||
if (res.resultCode == '9000') {
|
||||
window.location = '/wap/jft/jump?orderNumber='+rdata.orderNumber; //订单支付成功
|
||||
} else if (res.resultCode == '8000') {
|
||||
} else if (res.resultCode == '4000') {
|
||||
ap.alert("订单支付失败");
|
||||
} else if (res.resultCode == '6001' || res.resultCode == '99') {
|
||||
} else if (res.resultCode == '6002') {
|
||||
ap.alert("网络连接出错");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
</html>
|
||||
@@ -0,0 +1,169 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" xmlns:th="http://www.thymeleaf.org">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
|
||||
<meta content="yes" name="apple-mobile-web-app-capable">
|
||||
<meta content="black" name="apple-mobile-web-app-status-bar-style">
|
||||
<meta content="telephone=no" name="format-detection">
|
||||
<meta content="email=no" name="format-detection">
|
||||
<link rel="stylesheet" type="text/css" th:href="@{'/resources/css/weui.css'}"/>
|
||||
<link rel="stylesheet" type="text/css" th:href="@{'/resources/css/weuix.css'}"/>
|
||||
<script src="https://www.shouyinbei.net/resources/js/alipayjsapi.min3.1.1.js"></script>
|
||||
<script th:src="@{'/resources/js/jquery.min.js'}"></script>
|
||||
<script th:src="@{'/resources/js/zepto.weui.js'}"></script>
|
||||
<title>缴费通</title>
|
||||
<style>
|
||||
* {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
html,body{
|
||||
width:100%;
|
||||
height:100%;
|
||||
margin:0 auto;
|
||||
padding:0px;
|
||||
background-color:#F5F6F8;
|
||||
color: #000000;
|
||||
}
|
||||
.header{
|
||||
font-size: 0.8rem;
|
||||
font-weight: 400;
|
||||
text-align: center;
|
||||
height: 1.8rem;
|
||||
vertical-align:middle;
|
||||
line-height:1.8rem; /*line-height must be equal to height*/
|
||||
color: #fff;
|
||||
background: -webkit-linear-gradient(left, #47A8FC , #4C8BF8); /* Safari 5.1 - 6.0 */
|
||||
background: -o-linear-gradient(right, #47A8FC, #4C8BF8); /* Opera 11.1 - 12.0 */
|
||||
background: -moz-linear-gradient(right, #47A8FC, #4C8BF8); /* Firefox 3.6 - 15 */
|
||||
background: linear-gradient(to right, #47A8FC , #4C8BF8); /* 标准的语法 */
|
||||
}
|
||||
.tr-amt{
|
||||
background: #fff;
|
||||
text-align: center;
|
||||
line-height: 1.6rem;
|
||||
padding: 1.5rem 0 .5rem 0;
|
||||
}
|
||||
.text{
|
||||
font-size: 0.8rem;
|
||||
font-weight: bold;
|
||||
}
|
||||
.amt-info{
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: end;
|
||||
}
|
||||
.rmb-icon{
|
||||
height: 20px;
|
||||
padding: 10px 0 0 0;
|
||||
}
|
||||
.amt{
|
||||
font-size: 1.2rem;
|
||||
font-weight: bold;
|
||||
}
|
||||
.pay-success{
|
||||
width: 3.555rem;
|
||||
}
|
||||
.tr-item{
|
||||
background: #fff;
|
||||
margin-top: 10px;
|
||||
font-size: 0.7rem;
|
||||
}
|
||||
.item-info{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
.item-label{
|
||||
color: #a5a2a2;
|
||||
}
|
||||
.br{
|
||||
border-top: 1px solid #ededed;
|
||||
margin: 0 20px;
|
||||
}
|
||||
.item-copy{
|
||||
margin-left: -50px;
|
||||
padding: 2px 5px;
|
||||
background: #47A8FC;
|
||||
color: #fff;
|
||||
border-radius: 3px;
|
||||
font-size: 13px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="body">
|
||||
<div class="header">
|
||||
缴费通支付
|
||||
</div>
|
||||
<div class="tr-amt">
|
||||
<img class="pay-success" th:src="@{'/resources/images/jft-success-icon.png'}">
|
||||
<div class="text">支付成功</div>
|
||||
<div class="amt-info">
|
||||
<img class="rmb-icon" th:src="@{'/resources/images/jft-rmb-icon.png'}">
|
||||
<div class="amt" th:text="${amount}"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tr-item">
|
||||
<div class="item-info">
|
||||
<div class="item-label">收款商家</div>
|
||||
<div class="item-text" th:text="${merchantName}"></div>
|
||||
</div>
|
||||
<div class="item-info">
|
||||
<div class="item-label">项目名称</div>
|
||||
<div class="item-text" th:text="${pName}"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tr-item">
|
||||
<div class="item-input item-info">
|
||||
<div class="item-label">交易类型</div>
|
||||
<div class="item-text" th:text="${payTypeDesc}"></div>
|
||||
</div>
|
||||
<div class="br"></div>
|
||||
<div class="item-input item-info">
|
||||
<div class="item-label">订单号</div>
|
||||
<div class="item-text" th:text="${orderNumber}"></div>
|
||||
<!-- <span class="item-copy" th:data-order="${orderNumber}" onclick="copyNumber(this)">复制</span>-->
|
||||
<span class="item-copy" data-order="123123123" onclick="copyNumber(this)">复制</span>
|
||||
</div>
|
||||
<div class="br"></div>
|
||||
<div class="item-input item-info">
|
||||
<div class="item-label">时间</div>
|
||||
<div class="item-text" th:text="${date}"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" id="tk" th:value="${tk}">
|
||||
</body>
|
||||
<script type="text/javascript">
|
||||
(function (doc, win) {
|
||||
var docEl = doc.documentElement,
|
||||
resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
|
||||
recalc = function () {
|
||||
var clientWidth = docEl.clientWidth;
|
||||
if (!clientWidth) return;
|
||||
docEl.style.fontSize = 20 * (clientWidth / 320) + 'px';//其中“20”根据你设置的html的font-size属性值做适当的变化
|
||||
};
|
||||
|
||||
if (!doc.addEventListener) return;
|
||||
win.addEventListener(resizeEvt, recalc, false);
|
||||
doc.addEventListener('DOMContentLoaded', recalc, false);
|
||||
})(document, window);
|
||||
</script>
|
||||
<script>
|
||||
function copyNumber(obj){
|
||||
let value = $(obj).attr("data-order");
|
||||
let input = document.querySelector('.copy-input') || document.createElement('input');
|
||||
input.setAttribute("readonly","readonly");
|
||||
input.className = "copy-input";
|
||||
input.value = value;
|
||||
input.style = `position: fixed;top: -100%;`
|
||||
document.body.append(input)
|
||||
input.select();
|
||||
document.execCommand("copy");
|
||||
$.toast("内容已复制","text");
|
||||
}
|
||||
</script>
|
||||
</html>
|
||||
455
pluss-wap-page/src/main/resources/templates/pay.html
Normal file
455
pluss-wap-page/src/main/resources/templates/pay.html
Normal file
@@ -0,0 +1,455 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" xmlns:th="http://www.thymeleaf.org">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
|
||||
<meta content="yes" name="apple-mobile-web-app-capable">
|
||||
<meta content="black" name="apple-mobile-web-app-status-bar-style">
|
||||
<meta content="telephone=no" name="format-detection">
|
||||
<meta content="email=no" name="format-detection">
|
||||
<script src="https://www.shouyinbei.net/resources/js/alipayjsapi.min3.1.1.js"></script>
|
||||
<title>向商户付款</title>
|
||||
<style>
|
||||
html,body{
|
||||
width:100%;
|
||||
height:100%;
|
||||
margin:0 auto;
|
||||
padding:0px;
|
||||
background-color:#EFEFF4;
|
||||
}
|
||||
.payinfo{
|
||||
display: block;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
height: 13rem;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
transition: .4s;
|
||||
}
|
||||
table{
|
||||
width:100%;
|
||||
height: 90%;
|
||||
bottom: 0;
|
||||
background-color:white;
|
||||
}
|
||||
table tr td{
|
||||
text-align:center;
|
||||
width:24.9999999%;
|
||||
border-right:1px solid #D9D9D9;
|
||||
border-bottom:1px solid #D9D9D9;
|
||||
}
|
||||
table tr td:active{
|
||||
background-color:#ECECEC;
|
||||
}
|
||||
.keybord-return,.keybord-stop{
|
||||
width:30px;
|
||||
height:30px;
|
||||
margin:0px auto;
|
||||
color:white;
|
||||
}
|
||||
.keybord-return{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAALpQTFRFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqyRq8wAAAD10Uk5TAAM/gJ+efz5Q2ddPAouKAZZ8nP0vrfcLN03+GcxYu9gSGkCBndobPbe8+QonMuCH7xOIW0fNtCwra4NgHN+ehK8AAAABYktHRACIBR1IAAAACXBIWXMAAABIAAAASABGyWs+AAAB4UlEQVR42u3c51LCQBiF4Y2IgDQVRcWCvffe9v5vS2FGhSH5kTLzney8zxWcd3ZD+BXnAAAAAAAAAAAAgFSiucp8daEWWe/Iq97wY4tN6yW5tNr+T6drvSa77pKfsGw9J7PWymSH761aDyqmw/s160XZTN+rkf669aYsZs7jx4b1qII6/Kb1qvRm79VIzXpWarHn4Qdb1ruK6fDb1rvSir9X3u9YD0sp4Tz8bst6WTEdwz3rZekk3avGvvUyOuiwR4cWOrTQoYUOLXRooUMLHVro0EKHFjq00KGFDi10aKFDCx1a6NBChxY6tNChhQ4tdIhpx3cMy9ZRD6QjaoTR4Q7CeD6cOwzjPJyrhnEezh3FhByfWK/KoBLK1TqNfdhLeCbRMJCfX9cM5IXoXCeUkqQ/jeV7TijRQ4keSvRQoocSPZTooUQPJXoo0UOJHkr0UKKHEj2U6KFEDyV6KNFDiR5K9FCihxI9lOgJpySUD04ml5yV7jPlSberfN8tTjiTc+tdRZVcXFrvSi/+dl1Zz8og9kyurVcVVVK6b2KPzd6uG+tJGc2cya31ooJK7u6tB2U2dbt65Xsf/ms9DH47+o/WY/J5eh5nDF5erZfk9vb+Ufn8sl4BAAAAAAAAAAAAY9/5YLt8mhkMlgAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMC0wNy0wNFQxNTowMjo0OSswODowMMIgQKAAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjAtMDctMDRUMTU6MDI6NDkrMDg6MDCzffgcAAAAR3RFWHRzdmc6YmFzZS11cmkAZmlsZTovLy9ob21lL2FkbWluL2ljb24tZm9udC90bXAvaWNvbl91ZmVhaXVpd2lrZy9iYWNrLnN2Z4Ft+LMAAAAASUVORK5CYII=); background-size:100% 90%; }
|
||||
.keybord-stop{background-image:url(data:image/png;base64,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); background-size:100% 100%;}
|
||||
.pay{
|
||||
color:#ffffff;
|
||||
font-size:120%;
|
||||
background-color:#df6051;
|
||||
}
|
||||
.pay:active{
|
||||
/*background-color: #df6051;*/
|
||||
background-color: rgba(223,96,81,0.7);
|
||||
}
|
||||
.shouyin{
|
||||
text-align: center;
|
||||
color: #9b9b9b;
|
||||
font-size: 13px;
|
||||
}
|
||||
.logo{
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAD70lEQVRoQ9VaTYgURxT+Xm8w7PQs6CFgXDCXEAKeFHKLRKMo6HoSc0qmqlfxICSn/KCXmIMuiZ4UBEG3q+aokItKiGSTDZ5CIHtK9LAXhRVJDoZs9ywR7CfVuzPMzM5sV/X0MNt92Z7q9773vu2qej/VhIKuSIgDBO8AgEkCTybApLlfg1/ygCUGLSH9m8xVtZ4rwjQNAhLXgikQjgE8BWCHI9ZTgO6Cccevh3cddVvizgT4zJnqSqMRMFMA8O68hjv1aIGIw/FKJaRr1yIXTGsCkZTbx5iChJNpEL3tYsRalnnRI2/2JXFYVeqZjZ4VgVjK95hRJ+BdG9BBZRh4RISar9TvWViZBFZq0/sTSn7OAhrGc4+9D8frs79shL0hgUiIgECzw3DOFpPB01Wtw37yfQlEQnxJoG9tDQ1TjsFfVbX+rpeNngRiIU4CdGOYTrlj8ylf65vdeusIxEIcTffnTXnxlK/1vXbXOgiYrZKYHwBD2iYH/qfwIhPtbd9iOwisiOBsAr44sJ0hAnigc+M6nGmaaBEwEbYRxQtDC1JFkWJerFT93c2I3SLQkPJTZlwpys4wcYjwWUWpq8ZGi0Asgj9cchsC5l8yfi3C0THCBwzss8eiBV+He1oEIiEOEehHewAgYXwzUVfnXXT6yS7X5HmP8LULFoMPV7W+n76BhhCXGPS5C8Bo34CZOny5ovUXKYFYyMcAdroScJHPknWbQinaE1+rt6jxyfT77CUPsgx0BY/5ilb7XXSyZGMh/wewJUuuw4/E20uxCC4CfNZJkXC8otT3LjpZsrGUF8A4lyXX+ZxmDAENcM1F0dcqMw13wUun8cen38TYi6duelSnhpA/MWCKcdvrpq/VKVthF7lYSJODHbXVIWCOIiEfulRaDD5YVEeh29HVJgHfsSWQVm6RkP8RMGGr9IKwbZtS/7bLLwfBG+b3RBj+M8j4cym3bmE8t/WFgWVnAuDkiF+v/9DhqAlESH4bdLwh5Qlm3HIl4DSFDDgRPqooddvctxstatyBwKM8i7iJ/+faza4ug0WNZ/JIF3GebdQgJ4Q0kHmMDbsGWV4MhkP1XIHMOGViwbKU+4ogMKHUfCwkZ5Fd/5xmcqUSm4UAmVQijYI5krlN8AZWk7l0J8mRTo+aQEc6naegGTWBjoJmdRq5lZSjJdBVUq4FJKei/jWPdr0ehn+57xzrNUwq4iX8ty1Wz6I+R1vlfkJo9WdsjfeSI8Z1At6xwujXVjHKpW5sGQKlby2uLuYSN3ebc7DU7fUmiVIfcLSRKO8RU5NEqQ/5WmuizMesrelU5oPu9ghZ2k8NeoX5Un7s0S9fGdXnNq8Aors/k02FsxcAAAAASUVORK5CYII=);background-size:100% 100%;
|
||||
width: 35px;
|
||||
height: 35px;
|
||||
}
|
||||
.icon{
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAC7UlEQVRYR72WTWgTURDH/7ObJi1YENFT4kVtD/YgSMFaaOrbpfYgeElaURA8CIKKIAhCQYyCIAiC0KLgodBDwUqhiODB8N42RfFQEYoVBUGRCiKioPUjNbsjK4mk2ySbTTe+687O7/dm3hehiSOXy+20bXuEiAQzTwkhznpx1Cx+ET4FoKuMMSaEOF3ObIpAFfhfruM4l0zTzJQkmiIwNze3y7btKWbuXFNyoh/RaHRzb2/vT/db6AKWZd1h5tsAlgHcBZDwSHxLJBJbOjo68qELSCkniegwgC8A9gPYQETTzLypJNG0FkgpJ4joaNlsX2qadpCIttm2PQOglZlvGoZxMvRFqJQaB3DM229mzsVisaF8Pr8XwCHDMI6Evg2VUm6/j1fbzkR0Lx6PD5d6HqqAUuoWgBM+Z8n07OzscCaTcSrFNbwLlFKjAE75wGfa29uHu7u7f1etUCMnoWVZN5j5jM+/9wEMCSF+1YoLXAEp5XUiWnOmeyAPVlZWhgYHB7/7TTCQgFLqGoBzPkkftrW1pXt6er76wQMdREqpqwDO1ywnkdR1Pd3X1+ceRHWNuiogpbxCRCO1Mrp7nohSQohPdZGLQb4CUsrLRHTBJ+kjAGkhxIcg8JotyGazndFoNOLeap473ct44jhO2jTN90HhNQUsy3JX+pKmaYs1JOYLhUJqYGDgXSPwmgJKqSwAk5kPRCKRtxUknmmalurv73/TKLyqQPFFs1hK7DjOnpaWluWSBBEtMLO74F6vB15VQCl1EcC/Z5MbGIlEtjNza/GlkzIM49V64VUFpJRPiWi3F1AoFDbGYrF4Mpl8EQa8ooC3/EXQvOM4E5qmjQsh3KdWaGPNOVBefiKatG17zDTNx6ERPYkqCTwHMCqEcO/6po9VAm75w+xvPfarBJRS7hN6Rz0/BonRdf1jtYl5BThI4iCxuq53VZL4bwIAtgohlrzSlRbhviAzqydW1/XPyWRyoVKs73VcD2A9MX8AVWwjMF0q1kMAAAAASUVORK5CYII=);background-size:100% 100%;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
}
|
||||
.body{
|
||||
padding: 2rem 1rem;
|
||||
}
|
||||
.store-info{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.name{
|
||||
margin-left: .5rem;
|
||||
}
|
||||
.main-amt{
|
||||
height: 3rem;
|
||||
padding: 1.2rem 0 0 0;
|
||||
}
|
||||
.amt-content {
|
||||
display: flex;
|
||||
background: #fff;
|
||||
padding: 10px 20px;
|
||||
border-radius: 4px;
|
||||
height: 40px;
|
||||
font-size: 18px;
|
||||
}
|
||||
.input-label {
|
||||
flex: 1;
|
||||
line-height: 40px;
|
||||
}
|
||||
.input-box {
|
||||
line-height: 40px;
|
||||
font-size: 25px;
|
||||
color: #777;
|
||||
}
|
||||
.gb {
|
||||
display: inline-block;
|
||||
width: 2px;
|
||||
height: 30px;
|
||||
margin-top: -6px;
|
||||
background: #df6051;
|
||||
vertical-align: middle;
|
||||
animation: gb 1.3s infinite;
|
||||
}
|
||||
.money-input {
|
||||
font-weight: bold;
|
||||
color: #df6051;
|
||||
}
|
||||
@keyframes gb {
|
||||
from {
|
||||
opacity: 1;
|
||||
} to {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
.remark-info{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 13px;
|
||||
color: #9e9e9e;
|
||||
}
|
||||
.set-remark{
|
||||
margin-left: 5px;
|
||||
}
|
||||
.main-title{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.shade{
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgba(0,0,0,.1);
|
||||
z-index: 1002;
|
||||
overflow: auto;
|
||||
}
|
||||
.dialog{
|
||||
z-index: 8888;
|
||||
height: 13rem;
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
display: none;
|
||||
}
|
||||
.dialog-content{
|
||||
background: #fff;
|
||||
height: 11rem;
|
||||
border-radius: 10px;
|
||||
padding: 10px 20px;
|
||||
margin: 0 auto;
|
||||
width: 60%;
|
||||
}
|
||||
.btns{
|
||||
padding: 0 0 0 5%;
|
||||
}
|
||||
.btn-cancel{
|
||||
width: 45%;
|
||||
height: 1.8rem;
|
||||
border-radius: 20px;
|
||||
border: none;
|
||||
}
|
||||
.btn-submit{
|
||||
width: 45%;
|
||||
height: 1.8rem;
|
||||
border-radius: 20px;
|
||||
border: none;
|
||||
background-color: #df6051;
|
||||
color: #fff;
|
||||
}
|
||||
.remark-text{
|
||||
border: 1px solid #e4e0e0;
|
||||
height: 6rem;
|
||||
width: 100%;
|
||||
}
|
||||
.remark-body{
|
||||
margin-top: 15px;
|
||||
}
|
||||
.loading{
|
||||
z-index: 10000;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
display: none;
|
||||
margin: 40px 0;
|
||||
}
|
||||
.loading-body{
|
||||
width: 30%;
|
||||
text-align: center;
|
||||
margin: 0 auto;
|
||||
padding: .4rem 0;
|
||||
background-color: #fff;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.loading-icon{
|
||||
background-image: url(data:image/gif;base64,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);background-size:100% 100%;
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
margin: 10px auto;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="body">
|
||||
<div class="main-title">
|
||||
<div class="store-info">
|
||||
<div class="logo"></div>
|
||||
<div class="name" th:text="${storeName}"></div>
|
||||
</div>
|
||||
<div class="remark-info">
|
||||
<div class="icon"></div>
|
||||
<div class="set-remark" onclick="showRemarkDialog()">设置备注</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-amt">
|
||||
<div class="amt-content" onclick="showInput()">
|
||||
<div class="input-label">消费金额</div>
|
||||
<div class="input-box">¥ <span class="money-input" name="comsumeMoney" id="comsumeMoney"></span> <span class="gb"></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="payinfo" id="payinfo">
|
||||
<div class="shouyin" onclick="showInput()">
|
||||
<p>收 银 就 用 收 银 呗</p>
|
||||
</div>
|
||||
<table cellspacing="0" cellpadding="0" id="table1">
|
||||
<tr>
|
||||
<td class="paynum" onclick="inputAmt(1)">1</td>
|
||||
<td class="paynum" onclick="inputAmt(2)">2</td>
|
||||
<td class="paynum" onclick="inputAmt(3)">3</td>
|
||||
<td id="pay-return" onclick="inputAmt('del')"><div class="keybord-return"></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paynum" onclick="inputAmt(4)">4</td>
|
||||
<td class="paynum" onclick="inputAmt(5)">5</td>
|
||||
<td class="paynum" onclick="inputAmt(6)">6</td>
|
||||
<td rowspan="3" class="pay" id="pay">支付</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paynum" onclick="inputAmt(7)">7</td>
|
||||
<td class="paynum" onclick="inputAmt(8)">8</td>
|
||||
<td class="paynum" onclick="inputAmt(9)">9</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td id="pay-stop" onclick="hideInput()"><div class="keybord-stop"></div></td>
|
||||
<td id="pay-zero" onclick="inputAmt(0)">0</td>
|
||||
<td id="pay-float" onclick="inputAmt('.')">.</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id='shade' class="shade"></div>
|
||||
|
||||
<div class="dialog" id="dialog">
|
||||
<div class="dialog-content">
|
||||
<div class="label">设置备注</div>
|
||||
<div class="remark-body">
|
||||
<textarea id="remark" class="remark-text"></textarea>
|
||||
</div>
|
||||
<div class="btns">
|
||||
<button class="btn-cancel" onclick="hideRemarkDialog('cancel')">取消</button>
|
||||
<button class="btn-submit" onclick="hideRemarkDialog('submit')">确定</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="loading" id="loading">
|
||||
<div class="loading-body">
|
||||
<div class="loading-icon">
|
||||
</div>
|
||||
<div class="loading-msg">
|
||||
支付中...
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<input type="hidden" id="merchantCode" th:value="${merchantCode}">
|
||||
<input type="hidden" id="openid" th:value="${openid}">
|
||||
<input type="hidden" id="userid" th:value="${userid}">
|
||||
<input type="hidden" id="userAppId" th:value="${userAppId}">
|
||||
<input type="hidden" id="storeId" th:value="${storeId}">
|
||||
<input type="hidden" id="unionId" th:value="${unionId}">
|
||||
<input type="hidden" id="payType" th:value="${payType}">
|
||||
</body>
|
||||
<script>
|
||||
function inputAmt(o){
|
||||
var dom = document.getElementById('comsumeMoney');
|
||||
var txt = dom.innerText;
|
||||
if(!txt){
|
||||
if(o === 'del' || o === '.'){
|
||||
return;
|
||||
}
|
||||
}
|
||||
if(o === '.' && txt.indexOf(".") > 0){
|
||||
return;
|
||||
}
|
||||
if(o === 'del'){
|
||||
txt = txt.slice(0,-1);
|
||||
dom.innerText = txt
|
||||
return;
|
||||
}
|
||||
if(txt.indexOf(".") > 0 ){
|
||||
var v = txt.split(".")[1];
|
||||
if(v && v.length > 1){
|
||||
return;
|
||||
}
|
||||
}else{
|
||||
if(txt.indexOf("0") == 0 && o !== '.'){
|
||||
return;
|
||||
}
|
||||
}
|
||||
txt = txt === "" ? o : txt + "" + o;
|
||||
let max = 999999;
|
||||
if(parseFloat(txt) > max){
|
||||
return;
|
||||
}
|
||||
dom.innerText = txt;
|
||||
}
|
||||
function hideInput(){
|
||||
var dom = document.getElementById('payinfo');
|
||||
dom.style.height = '20px'
|
||||
}
|
||||
function showInput(){
|
||||
var dom = document.getElementById('payinfo');
|
||||
dom.style.height = '13rem'
|
||||
}
|
||||
function showRemarkDialog(){
|
||||
var shape = document.getElementById('shade');
|
||||
var dialog = document.getElementById('dialog');
|
||||
shape.style.display = 'block';
|
||||
dialog.style.display = 'block';
|
||||
}
|
||||
function hideRemarkDialog(t){
|
||||
var shape = document.getElementById('shade');
|
||||
var dialog = document.getElementById('dialog');
|
||||
shape.style.display = 'none';
|
||||
dialog.style.display = 'none';
|
||||
if(t === 'cancel'){
|
||||
document.getElementById('remark').value = "";
|
||||
}
|
||||
}
|
||||
document.getElementById("pay").onclick = ()=>{
|
||||
var comsumeMoney = document.getElementById('comsumeMoney').innerText;
|
||||
if(comsumeMoney == undefined || comsumeMoney == '' || comsumeMoney == null){
|
||||
return;
|
||||
}
|
||||
var shape = document.getElementById('shade');
|
||||
var loading = document.getElementById('loading');
|
||||
shape.style.display = 'block';
|
||||
loading.style.display = 'block';
|
||||
var storeId = document.getElementById("storeId").value;
|
||||
var openid = document.getElementById("openid").value;
|
||||
var merchantCode = document.getElementById("merchantCode").value;
|
||||
var remark = document.getElementById("remark").value;
|
||||
var userId = document.getElementById("userid").value;
|
||||
var unionId = document.getElementById("unionId").value;
|
||||
var userAppId = document.getElementById("userAppId").value;
|
||||
var payType = document.getElementById("payType").value;
|
||||
|
||||
var params = "storeId="+storeId + "&openid="+openid + "&merchantCode="+merchantCode +
|
||||
"&remark="+remark + "&userId="+userId+"&unionId="+unionId +
|
||||
"&userAppId="+userAppId +"&payWay="+payType+ "&comsumeMoney="+comsumeMoney;
|
||||
var url = "/wap/merchant/tradePay";
|
||||
var xhr = new XMLHttpRequest();//创建请求对象
|
||||
xhr.open("POST", url, true);//链接服务器
|
||||
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
||||
xhr.onreadystatechange = function () {
|
||||
if (xhr.readyState === 4) {//请求已完成,且响应已就绪
|
||||
shape.style.display = "none";
|
||||
loading.style.display = "none";
|
||||
if (xhr.status === 200) {//请求成功
|
||||
var resultStr = xhr.responseText//获取结果
|
||||
var resultObj = JSON.parse(resultStr);//解析数据
|
||||
if (resultObj.code == 200) {
|
||||
var rdata = resultObj.data;
|
||||
if("WXZF" == payType){
|
||||
WeixinJSBridge.invoke('getBrandWCPayRequest', {
|
||||
// 商品名称
|
||||
"appId" : rdata.payAppId,
|
||||
"timeStamp" : rdata.payTimeStamp,
|
||||
"nonceStr" : rdata.paynonceStr,
|
||||
"package" : rdata.payPackage,
|
||||
"signType" : rdata.paySignType,
|
||||
"paySign" : rdata.paySign,
|
||||
}, function(res) {
|
||||
if (res.err_msg == "get_brand_wcpay_request:ok" || res.err_msg == "stopMonitoringBeacons:ok") {
|
||||
//成功之后跳转地址
|
||||
window.location = '/wap/merchant/paySuccess';
|
||||
} else {
|
||||
cancelPay(rdata.orderNumber);
|
||||
alert("支付失败");
|
||||
}
|
||||
})
|
||||
}else if("ZFBZF" == payType){
|
||||
var reg=/^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+).)+([A-Za-z0-9-~\/])+$/;
|
||||
if(reg.test(rdata.source)){
|
||||
window.location = rdata.source;
|
||||
}else{
|
||||
ap.tradePay({
|
||||
tradeNO : rdata.source
|
||||
}, function(res) {
|
||||
if (res.resultCode == '9000') {
|
||||
window.location = '/wap/merchant/paySuccess'; //订单支付成功
|
||||
} else if (res.resultCode == '8000') {
|
||||
} else if (res.resultCode == '4000') {
|
||||
cancelPay(rdata.orderNumber);
|
||||
ap.alert("订单支付失败");
|
||||
} else if (res.resultCode == '6001' || res.resultCode == '99') {
|
||||
cancelPay(rdata.orderNumber);
|
||||
} else if (res.resultCode == '6002') {
|
||||
cancelPay(rdata.orderNumber);
|
||||
ap.alert("网络连接出错");
|
||||
}
|
||||
});
|
||||
}
|
||||
}else{
|
||||
window.location = rdata.redirectUrl;
|
||||
}
|
||||
} else {
|
||||
alert(resultObj.message);
|
||||
}
|
||||
}
|
||||
else {
|
||||
alert("错误码 : " + xhr.status);
|
||||
}
|
||||
}
|
||||
}
|
||||
xhr.send(params);//发送请求
|
||||
}
|
||||
function cancelPay(m) {
|
||||
var url = "/wap/merchant/cancelPay/"+m;
|
||||
var xhr = new XMLHttpRequest();//创建请求对象
|
||||
xhr.open("GET", url, true);//链接服务器
|
||||
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
||||
xhr.onreadystatechange = function () {
|
||||
|
||||
}
|
||||
xhr.send();
|
||||
}
|
||||
</script>
|
||||
</html>
|
||||
379
pluss-wap-page/src/main/resources/templates/th_account_bind.html
Normal file
379
pluss-wap-page/src/main/resources/templates/th_account_bind.html
Normal file
File diff suppressed because one or more lines are too long
231
pluss-wap-page/src/main/resources/templates/th_account_list.html
Normal file
231
pluss-wap-page/src/main/resources/templates/th_account_list.html
Normal file
@@ -0,0 +1,231 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" style="font-size: 16px;" xmlns:th="http://www.thymeleaf.org">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta data-n-head="true" name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
|
||||
<meta data-n-head="true" data-hid="description" name="description" content="商户公众号">
|
||||
<meta data-n-head="true" http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
|
||||
<meta data-n-head="true" http-equiv="Pragma" content="no-cache">
|
||||
<meta data-n-head="true" http-equiv="Expires" content="0">
|
||||
<title data-n-head="true">账号绑定</title>
|
||||
<title>账号绑定</title>
|
||||
<link rel="stylesheet" href="/wap/resources/css/weui.css">
|
||||
<script src="/wap/resources/js/jquery.min.js"></script>
|
||||
<style >
|
||||
html {
|
||||
font-family: Source Sans Pro,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;
|
||||
word-spacing: .03125rem;
|
||||
-ms-text-size-adjust: 100%;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
body{
|
||||
background-color: #f3f3f3;
|
||||
padding: 2rem 0 0 0;
|
||||
}
|
||||
.account-con{
|
||||
width: 100%;
|
||||
|
||||
}
|
||||
.account-logo img{
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
.account-title{
|
||||
width: 100%;
|
||||
margin-top: 30px;
|
||||
text-align: center;
|
||||
}
|
||||
.account-con-list{
|
||||
width: calc(100% - 3rem);
|
||||
margin: 2rem auto 0 auto;
|
||||
}
|
||||
.account-list{
|
||||
width: calc(100% - 40px);
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
border-bottom: 1px solid #f1f1f1;
|
||||
padding: 10px 20px;
|
||||
background-color: #fff;
|
||||
|
||||
}
|
||||
.account-operation{
|
||||
flex: 1;
|
||||
text-align: right;
|
||||
}
|
||||
.account-button{
|
||||
width: calc(100% - 60px);
|
||||
background-color: #FD7663;
|
||||
padding: 10px;
|
||||
text-align: center;
|
||||
border-radius: 10px;
|
||||
margin: 4.5rem auto 0 auto;
|
||||
color: #fff;
|
||||
}
|
||||
.account-logo{
|
||||
height: 4.375rem;
|
||||
margin-bottom: 1.46875rem;
|
||||
text-align: center;
|
||||
}
|
||||
.account-logo img{
|
||||
height: 100%;
|
||||
width: auto;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.weui-switch:checked, .weui-switch-cp__input:checked ~ .weui-switch-cp__box {
|
||||
border-color: #FD7663;
|
||||
background-color: #FD7663;
|
||||
}
|
||||
.weui-switch, .weui-switch-cp__box{
|
||||
width: 41px;
|
||||
height: 22px;
|
||||
}
|
||||
.weui-switch:before, .weui-switch-cp__box:before {
|
||||
width: 40px;
|
||||
height: 20px;
|
||||
}
|
||||
.weui-switch:after, .weui-switch-cp__box:after {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
.f-toast{
|
||||
z-index: 99;
|
||||
position: fixed;
|
||||
top: 48%;
|
||||
left: 50%;
|
||||
max-width: 80%;
|
||||
min-width: 10.375rem;
|
||||
padding: .78125rem .625rem .625rem;
|
||||
border-radius: .3125rem;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
text-align: center;
|
||||
background: rgba(51,51,51,.7);
|
||||
color: #fff;
|
||||
-webkit-transform: translate(-50%,-50%);
|
||||
transform: translate(-50%,-50%);
|
||||
}
|
||||
.f-toast .f-toast-icon{
|
||||
height: .96875rem;
|
||||
margin-bottom: .71875rem;
|
||||
}
|
||||
.f-toast .f-toast-icon img{
|
||||
width: auto;
|
||||
height: 100%;
|
||||
}
|
||||
.f-popup{
|
||||
z-index: 0;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgba(0,0,0,.7);
|
||||
}
|
||||
.f-loading{
|
||||
position: fixed;
|
||||
z-index: 1;
|
||||
top: 40%;
|
||||
left: 37%;
|
||||
padding: 1rem 1rem;
|
||||
display: none;
|
||||
border-radius: 5px;
|
||||
background-color: #fff;
|
||||
}
|
||||
.loading-icon{
|
||||
margin: 0 0 0 .8rem;
|
||||
}
|
||||
.loading-txt{
|
||||
margin-top: .5rem;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<!-- <div class="nuxt-progress"></div>-->
|
||||
<input type="hidden" name="userAppId" id="userAppId" th:value="${userAppId}">
|
||||
<div class="content">
|
||||
<div class="account-con">
|
||||
<div class="account-logo">
|
||||
<img src="https://www.shouyinbei.net/resources/images/logo.png" alt="">
|
||||
</div>
|
||||
<div class="account-title">收款就用收银呗</div>
|
||||
<div class="account-con-list">
|
||||
<div class="account-list" th:each="user:${list}">
|
||||
<div class="account-name" th:text="${user.alias}"></div>
|
||||
<div class="account-operation">
|
||||
<input class="weui-switch" onchange="setIsPushStatus(this)" th:value="${user.isPushWxMessage}" th:attr="data-mcode=${user.merchantCode},checked=${user.isPushWxMessage == '1' ? 'true' : 'false'}" type="checkbox"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="account-button">
|
||||
解绑
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="f-toast ellipsis" style="display: none">
|
||||
<div class="f-toast-text"></div>
|
||||
</div>
|
||||
<div class="f-popup jsPop" style="display: none"></div>
|
||||
<div class="f-loading">
|
||||
<img src="/wap/resources/images/loading-2.gif" class="loading-icon" />
|
||||
<div class="loading-txt">加载中...</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$(".account-button").click(function (event){
|
||||
let $userAppId = $("#userAppId").val();
|
||||
$(".jsPop").show();
|
||||
$(".f-loading").show();
|
||||
let $url = `/wap/merchant/account/unBind/${$userAppId}`;
|
||||
$.post($url,function (res){
|
||||
$(".jsPop").hide();
|
||||
$(".f-loading").hide();
|
||||
$(".f-toast").show().html(res.message);
|
||||
if(res.code == 200){
|
||||
let openid = res.data;
|
||||
setTimeout(function (){
|
||||
if(openid == "null" || !openid){
|
||||
window.location.href = `/wap/merchant/account/auth`;
|
||||
}else{
|
||||
window.location.href = `/wap/merchant/account/bind?openId=${openid}`;
|
||||
}
|
||||
},500);
|
||||
}
|
||||
})
|
||||
})
|
||||
// function toLocation(openid){
|
||||
// if(openid == "null" || !openid){
|
||||
// window.location.href = `/wap/merchant/account/auth`;
|
||||
// }else{
|
||||
// window.location.href = `/wap/merchant/account/bind?openId=${openid}`;
|
||||
// }
|
||||
// }
|
||||
function setIsPushStatus(obj){
|
||||
$(".jsPop").show();
|
||||
$(".f-loading").show();
|
||||
let $val = obj.value == 1 ? 0 : 1;
|
||||
let $userAppId = $("#userAppId").val();
|
||||
let $merchantCode = $(obj).data("mcode");
|
||||
$(obj).val($val);
|
||||
let $url = `/wap/merchant/account/unBindSend`;
|
||||
$.post($url,{"userAppId":$userAppId,"merchantCode":$merchantCode,"isPushWxMessage":$val},function (res){
|
||||
$(".jsPop").hide();
|
||||
$(".f-loading").hide();
|
||||
$(".f-toast").show().html(res.message);
|
||||
hideMsg();
|
||||
})
|
||||
}
|
||||
function hideMsg(){
|
||||
setTimeout(function (){
|
||||
$(".f-toast").hide();
|
||||
},1000);
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
55
pluss-wap-page/src/main/resources/templates/th_alipay.html
Normal file
55
pluss-wap-page/src/main/resources/templates/th_alipay.html
Normal file
@@ -0,0 +1,55 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" xmlns:th="http://www.thymeleaf.org">
|
||||
<head>
|
||||
<title></title>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0,user-scalable=no">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
||||
<meta name="apple-mobile-web-app-title" content="">
|
||||
<meta name="HandheldFriendly" content="true">
|
||||
<meta name="format-detection" content="telephone=no">
|
||||
<script src="/wap/resources/js/jquery.min.js"></script>
|
||||
<script src="https://gw.alipayobjects.com/as/g/h5-lib/alipayjsapi/3.1.1/alipayjsapi.min.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<input type="hidden" id="orderNumber" name="orderNumber" th:value="${orderNumber}">
|
||||
<input type="hidden" id="appId" name="appId" th:value="${appId}">
|
||||
<script>
|
||||
$(function() {
|
||||
if (/AlipayClient/.test(window.navigator.userAgent)) {
|
||||
// let $url = "/wap/aliPay/getAuthOpenId";
|
||||
let orderNumber = $("#orderNumber").val();
|
||||
let $payUrl = "/wap/aliPay/orderPay"
|
||||
let $appid = $("#appId").val();
|
||||
if(!$appid){
|
||||
$appid = "2019092967932477";
|
||||
}
|
||||
ap.showLoading({
|
||||
content: '加载中...'
|
||||
});
|
||||
ap.getAuthCode({
|
||||
appId: $appid,
|
||||
scopes: ['auth_base'],
|
||||
}, function(res) {
|
||||
let authCode = res.authCode;
|
||||
$.post($payUrl,{"authCode":authCode,"orderNumber":orderNumber},function (res){
|
||||
ap.hideLoading();
|
||||
if(res.code != 200){
|
||||
ap.alert({title: '提示',content: res.message,buttonText: '确定'});
|
||||
return;
|
||||
}else{
|
||||
ap.tradePay({
|
||||
tradeNO : res.data.source
|
||||
}, function(res) {
|
||||
AlipayJSBridge.call('closeWebview');
|
||||
});
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
295
pluss-wap-page/src/main/resources/templates/th_device_pay.html
Normal file
295
pluss-wap-page/src/main/resources/templates/th_device_pay.html
Normal file
@@ -0,0 +1,295 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" xmlns:th="http://www.thymeleaf.org">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
|
||||
<meta content="yes" name="apple-mobile-web-app-capable">
|
||||
<meta content="black" name="apple-mobile-web-app-status-bar-style">
|
||||
<meta content="telephone=no" name="format-detection">
|
||||
<meta content="email=no" name="format-detection">
|
||||
<script src="https://www.shouyinbei.net/resources/js/alipayjsapi.min3.1.1.js"></script>
|
||||
<title>向商户付款</title>
|
||||
<style>
|
||||
* {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
html,body{
|
||||
width:100%;
|
||||
height:100%;
|
||||
margin:0 auto;
|
||||
padding:0px;
|
||||
background-color:#EFEFF4;
|
||||
}
|
||||
.main{
|
||||
margin: 0 .6rem;
|
||||
background-color: #fff;
|
||||
padding: 0 .8rem;
|
||||
min-height: 20rem;
|
||||
border-radius: 0 0 .2rem .2rem;
|
||||
padding: .8rem;
|
||||
}
|
||||
.div-item{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
line-height: 3rem;
|
||||
}
|
||||
.item-label{
|
||||
color: #989898;
|
||||
font-size: .8rem;
|
||||
}
|
||||
.item-hr{
|
||||
border-bottom: 1px solid #e8e6e6;
|
||||
}
|
||||
.div-item-body{
|
||||
text-align: center;
|
||||
line-height: 2rem;
|
||||
padding: 1.5rem 0;
|
||||
}
|
||||
.item-amt{
|
||||
font-size: 32px;
|
||||
}
|
||||
.item-icon-item{
|
||||
font-size: 20px;
|
||||
}
|
||||
.item-content{
|
||||
height: 17rem;
|
||||
}
|
||||
.btn{
|
||||
text-align: center;
|
||||
}
|
||||
.pay-btn{
|
||||
height: 2.3rem;
|
||||
width: 80%;
|
||||
border: none;
|
||||
border-radius: 5px;
|
||||
background-color: #ff2d4b;
|
||||
color: #fff;
|
||||
}
|
||||
.div-item-time{
|
||||
text-align: center;
|
||||
}
|
||||
.item-label-name{
|
||||
color: #666;
|
||||
}
|
||||
.times-item{
|
||||
background-color: #ff2d4b;
|
||||
padding: 0 4px;
|
||||
color: #fff;
|
||||
border-radius:4px;
|
||||
}
|
||||
.pay-btn:active{
|
||||
background: #ff2d4b;
|
||||
opacity: 0.5;
|
||||
}
|
||||
.disabled{
|
||||
background-color: #ff2d4b61;
|
||||
}
|
||||
.shade{
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgba(0,0,0,.1);
|
||||
z-index: 1002;
|
||||
overflow: auto;
|
||||
}
|
||||
.loading{
|
||||
z-index: 10000;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
display: none;
|
||||
margin: 40px 0;
|
||||
top: 30%;
|
||||
}
|
||||
.loading-body{
|
||||
width: 30%;
|
||||
text-align: center;
|
||||
margin: 0 auto;
|
||||
padding: .4rem 0;
|
||||
background-color: #fff;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.loading-icon{
|
||||
background-image: url(data:image/gif;base64,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);background-size:100% 100%;
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
margin: 10px auto;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="body">
|
||||
<div class="main">
|
||||
<div class="item-content">
|
||||
<div class="div-item">
|
||||
<label class="item-label">商户</label>
|
||||
<div class="item-name" th:text="${storeName}"></div>
|
||||
</div>
|
||||
<div class="item-hr"></div>
|
||||
<div class="div-item">
|
||||
<label class="item-label">订单总额</label>
|
||||
<div class="item-name">¥<span th:text="${payAmt}"></span></div>
|
||||
</div>
|
||||
<div class="div-item-body">
|
||||
<label class="item-label">您需要支付</label>
|
||||
<div class="item-name item-amt"><span class="item-icon-item">¥</span><span th:text="${payAmt}"></span></div>
|
||||
</div>
|
||||
<div class="div-item-time">
|
||||
<div class="times">
|
||||
<input type="hidden" id="overtime">
|
||||
<label class="item-label-name">支付剩余</label>
|
||||
<span class="times-item minute" id="minute" th:text="${min}"></span> :
|
||||
<span class="times-item second" id="second" th:text="${sec}"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn">
|
||||
<button class="pay-btn" onclick="pay()">立即支付</button>
|
||||
</div>
|
||||
</div>
|
||||
<div id='shade' class="shade"></div>
|
||||
|
||||
<div class="loading" id="loading">
|
||||
<div class="loading-body">
|
||||
<div class="loading-icon">
|
||||
</div>
|
||||
<div class="loading-msg">
|
||||
支付中...
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="hidden" id="tk" th:value="${tk}">
|
||||
<input type="hidden" id="userId" th:value="${userId}">
|
||||
<input type="hidden" id="payWay" th:value="${payWay}">
|
||||
</div>
|
||||
</body>
|
||||
<script src="/wap/resources/js/jquery.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
(function (doc, win) {
|
||||
var docEl = doc.documentElement,
|
||||
resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
|
||||
recalc = function () {
|
||||
var clientWidth = docEl.clientWidth;
|
||||
if (!clientWidth) return;
|
||||
docEl.style.fontSize = 16 * (clientWidth / 320) + 'px';//其中“20”根据你设置的html的font-size属性值做适当的变化
|
||||
};
|
||||
|
||||
if (!doc.addEventListener) return;
|
||||
win.addEventListener(resizeEvt, recalc, false);
|
||||
doc.addEventListener('DOMContentLoaded', recalc, false);
|
||||
})(document, window);
|
||||
</script>
|
||||
<script>
|
||||
let index = setInterval("countDown()",1000);
|
||||
// tradePay();
|
||||
let countDown = function (){
|
||||
let minute = $("#minute").html();
|
||||
let second = $("#second").html();
|
||||
if(minute == "00" && second == "00"){
|
||||
clearInterval(index);
|
||||
disablePay();
|
||||
}else{
|
||||
if(second == "00"){
|
||||
second = 59;
|
||||
minute = parseInt(minute) - 1;
|
||||
if(minute < 10){
|
||||
minute = "0" + minute;
|
||||
}
|
||||
}else if(parseInt(second) <= 10){
|
||||
second = "0"+(parseInt(second) - 1);
|
||||
}else{
|
||||
second = parseInt(second) - 1;
|
||||
}
|
||||
$("#minute").html(minute);
|
||||
$("#second").html(second);
|
||||
}
|
||||
}
|
||||
function disablePay(){
|
||||
$(".pay-btn").addClass("disabled").removeAttr("onclick").attr("disabled",true);
|
||||
}
|
||||
let pay = function (){
|
||||
tradePay();
|
||||
}
|
||||
function tradePay(){
|
||||
let tk = $("#tk").val();
|
||||
let userId = $("#userId").val();
|
||||
let payWay = $("#payWay").val();
|
||||
|
||||
$("#shade").show();
|
||||
$("#loading").show();
|
||||
$.ajax({
|
||||
url : '/wap/merchant/tradePay',
|
||||
data : {
|
||||
"tk" : tk,
|
||||
"payWay" : payWay,
|
||||
"userId" : userId
|
||||
},
|
||||
dataType : "json",
|
||||
type : "post",
|
||||
success : function(res) {
|
||||
$("#shade").hide();
|
||||
$("#loading").hide();
|
||||
if (res.code == 200) {
|
||||
var rdata = res.data;
|
||||
if("WXZF" == payWay){
|
||||
WeixinJSBridge.invoke('getBrandWCPayRequest', {
|
||||
// 商品名称
|
||||
"appId" : rdata.payAppId,
|
||||
"timeStamp" : rdata.payTimeStamp,
|
||||
"nonceStr" : rdata.paynonceStr,
|
||||
"package" : rdata.payPackage,
|
||||
"signType" : rdata.paySignType,
|
||||
"paySign" : rdata.paySign,
|
||||
}, function(res) {
|
||||
if (res.err_msg == "get_brand_wcpay_request:ok" || res.err_msg == "stopMonitoringBeacons:ok") {
|
||||
//成功之后跳转地址
|
||||
window.location = '/wap/merchant/jumpUrl?orderNumber='+rdata.orderNumber;
|
||||
} else {
|
||||
cancelPay(rdata.orderNumber);
|
||||
alert("支付失败");
|
||||
}
|
||||
})
|
||||
}else if("ZFBZF" == payWay){
|
||||
var reg=/^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+).)+([A-Za-z0-9-~\/])+$/;
|
||||
if(reg.test(rdata.source)){
|
||||
window.location = rdata.source;
|
||||
}else{
|
||||
ap.tradePay({
|
||||
tradeNO : rdata.source
|
||||
}, function(res) {
|
||||
if (res.resultCode == '9000') {
|
||||
window.location = '/wap/merchant/jumpUrl?orderNumber='+rdata.orderNumber;//订单支付成功
|
||||
} else if (res.resultCode == '8000') {
|
||||
} else if (res.resultCode == '4000') {
|
||||
cancelPay(rdata.orderNumber);
|
||||
ap.alert("订单支付失败");
|
||||
} else if (res.resultCode == '6001' || res.resultCode == '99') {
|
||||
cancelPay(rdata.orderNumber);
|
||||
} else if (res.resultCode == '6002') {
|
||||
cancelPay(rdata.orderNumber);
|
||||
ap.alert("网络连接出错");
|
||||
}
|
||||
});
|
||||
}
|
||||
}else{
|
||||
window.location = rdata.redirectUrl;
|
||||
}
|
||||
} else {
|
||||
alert(res.message);
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function cancelPay(m) {
|
||||
var url = "/wap/merchant/cancelPay/"+m;
|
||||
$.get(url, (res)=>{
|
||||
console.log(res);
|
||||
})
|
||||
}
|
||||
</script>
|
||||
</html>
|
||||
736
pluss-wap-page/src/main/resources/templates/th_index.html
Normal file
736
pluss-wap-page/src/main/resources/templates/th_index.html
Normal file
@@ -0,0 +1,736 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" xmlns:th="http://www.thymeleaf.org">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
|
||||
<meta content="yes" name="apple-mobile-web-app-capable">
|
||||
<meta content="black" name="apple-mobile-web-app-status-bar-style">
|
||||
<meta content="telephone=no" name="format-detection">
|
||||
<meta content="email=no" name="format-detection">
|
||||
<!-- <link rel="stylesheet" href="https://act.weixin.qq.com/static/cdn/css/wepayui/0.1.1/wepayui.min.css">-->
|
||||
<script src="https://www.shouyinbei.net/resources/js/alipayjsapi.min3.1.1.js"></script>
|
||||
<title>向商户付款</title>
|
||||
<style>
|
||||
* {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
html,body{
|
||||
width:100%;
|
||||
height:100%;
|
||||
margin:0 auto;
|
||||
padding:0px;
|
||||
background-color:#EFEFF4;
|
||||
}
|
||||
.payinfo{
|
||||
display: block;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
height: 13rem;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
transition: .4s;
|
||||
}
|
||||
table{
|
||||
width:100%;
|
||||
height: 91%;
|
||||
bottom: 0;
|
||||
background-color:white;
|
||||
}
|
||||
table tr{
|
||||
height: 25%;
|
||||
}
|
||||
table tr td{
|
||||
text-align:center;
|
||||
width:24.9999999%;
|
||||
border-right:1px solid #D9D9D9;
|
||||
border-bottom:1px solid #D9D9D9;
|
||||
}
|
||||
table tr td:active{
|
||||
background-color:#ECECEC;
|
||||
}
|
||||
.keybord-return,.keybord-stop{
|
||||
width:30px;
|
||||
height:30px;
|
||||
margin:0px auto;
|
||||
color:white;
|
||||
}
|
||||
.keybord-return{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAALpQTFRFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqyRq8wAAAD10Uk5TAAM/gJ+efz5Q2ddPAouKAZZ8nP0vrfcLN03+GcxYu9gSGkCBndobPbe8+QonMuCH7xOIW0fNtCwra4NgHN+ehK8AAAABYktHRACIBR1IAAAACXBIWXMAAABIAAAASABGyWs+AAAB4UlEQVR42u3c51LCQBiF4Y2IgDQVRcWCvffe9v5vS2FGhSH5kTLzney8zxWcd3ZD+BXnAAAAAAAAAAAAgFSiucp8daEWWe/Iq97wY4tN6yW5tNr+T6drvSa77pKfsGw9J7PWymSH761aDyqmw/s160XZTN+rkf669aYsZs7jx4b1qII6/Kb1qvRm79VIzXpWarHn4Qdb1ruK6fDb1rvSir9X3u9YD0sp4Tz8bst6WTEdwz3rZekk3avGvvUyOuiwR4cWOrTQoYUOLXRooUMLHVro0EKHFjq00KGFDi10aKFDCx1a6NBChxY6tNChhQ4tdIhpx3cMy9ZRD6QjaoTR4Q7CeD6cOwzjPJyrhnEezh3FhByfWK/KoBLK1TqNfdhLeCbRMJCfX9cM5IXoXCeUkqQ/jeV7TijRQ4keSvRQoocSPZTooUQPJXoo0UOJHkr0UKKHEj2U6KFEDyV6KNFDiR5K9FCihxI9lOgJpySUD04ml5yV7jPlSberfN8tTjiTc+tdRZVcXFrvSi/+dl1Zz8og9kyurVcVVVK6b2KPzd6uG+tJGc2cya31ooJK7u6tB2U2dbt65Xsf/ms9DH47+o/WY/J5eh5nDF5erZfk9vb+Ufn8sl4BAAAAAAAAAAAAY9/5YLt8mhkMlgAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMC0wNy0wNFQxNTowMjo0OSswODowMMIgQKAAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjAtMDctMDRUMTU6MDI6NDkrMDg6MDCzffgcAAAAR3RFWHRzdmc6YmFzZS11cmkAZmlsZTovLy9ob21lL2FkbWluL2ljb24tZm9udC90bXAvaWNvbl91ZmVhaXVpd2lrZy9iYWNrLnN2Z4Ft+LMAAAAASUVORK5CYII=); background-size:100% 90%; }
|
||||
.keybord-stop{background-image:url(data:image/png;base64,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); background-size:100% 100%;}
|
||||
.pay{
|
||||
color:#ffffff;
|
||||
font-size:120%;
|
||||
background-color:#df6051;
|
||||
}
|
||||
.pay:active{
|
||||
/*background-color: #df6051;*/
|
||||
background-color: rgba(223,96,81,0.7);
|
||||
}
|
||||
.shouyin{
|
||||
text-align: center;
|
||||
color: #9b9b9b;
|
||||
font-size: 13px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.logo{
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAD70lEQVRoQ9VaTYgURxT+Xm8w7PQs6CFgXDCXEAKeFHKLRKMo6HoSc0qmqlfxICSn/KCXmIMuiZ4UBEG3q+aokItKiGSTDZ5CIHtK9LAXhRVJDoZs9ywR7CfVuzPMzM5sV/X0MNt92Z7q9773vu2qej/VhIKuSIgDBO8AgEkCTybApLlfg1/ygCUGLSH9m8xVtZ4rwjQNAhLXgikQjgE8BWCHI9ZTgO6Cccevh3cddVvizgT4zJnqSqMRMFMA8O68hjv1aIGIw/FKJaRr1yIXTGsCkZTbx5iChJNpEL3tYsRalnnRI2/2JXFYVeqZjZ4VgVjK95hRJ+BdG9BBZRh4RISar9TvWViZBFZq0/sTSn7OAhrGc4+9D8frs79shL0hgUiIgECzw3DOFpPB01Wtw37yfQlEQnxJoG9tDQ1TjsFfVbX+rpeNngRiIU4CdGOYTrlj8ylf65vdeusIxEIcTffnTXnxlK/1vXbXOgiYrZKYHwBD2iYH/qfwIhPtbd9iOwisiOBsAr44sJ0hAnigc+M6nGmaaBEwEbYRxQtDC1JFkWJerFT93c2I3SLQkPJTZlwpys4wcYjwWUWpq8ZGi0Asgj9cchsC5l8yfi3C0THCBwzss8eiBV+He1oEIiEOEehHewAgYXwzUVfnXXT6yS7X5HmP8LULFoMPV7W+n76BhhCXGPS5C8Bo34CZOny5ovUXKYFYyMcAdroScJHPknWbQinaE1+rt6jxyfT77CUPsgx0BY/5ilb7XXSyZGMh/wewJUuuw4/E20uxCC4CfNZJkXC8otT3LjpZsrGUF8A4lyXX+ZxmDAENcM1F0dcqMw13wUun8cen38TYi6duelSnhpA/MWCKcdvrpq/VKVthF7lYSJODHbXVIWCOIiEfulRaDD5YVEeh29HVJgHfsSWQVm6RkP8RMGGr9IKwbZtS/7bLLwfBG+b3RBj+M8j4cym3bmE8t/WFgWVnAuDkiF+v/9DhqAlESH4bdLwh5Qlm3HIl4DSFDDgRPqooddvctxstatyBwKM8i7iJ/+faza4ug0WNZ/JIF3GebdQgJ4Q0kHmMDbsGWV4MhkP1XIHMOGViwbKU+4ogMKHUfCwkZ5Fd/5xmcqUSm4UAmVQijYI5krlN8AZWk7l0J8mRTo+aQEc6naegGTWBjoJmdRq5lZSjJdBVUq4FJKei/jWPdr0ehn+57xzrNUwq4iX8ty1Wz6I+R1vlfkJo9WdsjfeSI8Z1At6xwujXVjHKpW5sGQKlby2uLuYSN3ebc7DU7fUmiVIfcLSRKO8RU5NEqQ/5WmuizMesrelU5oPu9ghZ2k8NeoX5Un7s0S9fGdXnNq8Aors/k02FsxcAAAAASUVORK5CYII=);background-size:100% 100%;
|
||||
width: 2.1875rem;
|
||||
height: 2.1875rem;
|
||||
}
|
||||
.icon{
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAC7UlEQVRYR72WTWgTURDH/7ObJi1YENFT4kVtD/YgSMFaaOrbpfYgeElaURA8CIKKIAhCQYyCIAiC0KLgodBDwUqhiODB8N42RfFQEYoVBUGRCiKioPUjNbsjK4mk2ySbTTe+687O7/dm3hehiSOXy+20bXuEiAQzTwkhznpx1Cx+ET4FoKuMMSaEOF3ObIpAFfhfruM4l0zTzJQkmiIwNze3y7btKWbuXFNyoh/RaHRzb2/vT/db6AKWZd1h5tsAlgHcBZDwSHxLJBJbOjo68qELSCkniegwgC8A9gPYQETTzLypJNG0FkgpJ4joaNlsX2qadpCIttm2PQOglZlvGoZxMvRFqJQaB3DM229mzsVisaF8Pr8XwCHDMI6Evg2VUm6/j1fbzkR0Lx6PD5d6HqqAUuoWgBM+Z8n07OzscCaTcSrFNbwLlFKjAE75wGfa29uHu7u7f1etUCMnoWVZN5j5jM+/9wEMCSF+1YoLXAEp5XUiWnOmeyAPVlZWhgYHB7/7TTCQgFLqGoBzPkkftrW1pXt6er76wQMdREqpqwDO1ywnkdR1Pd3X1+ceRHWNuiogpbxCRCO1Mrp7nohSQohPdZGLQb4CUsrLRHTBJ+kjAGkhxIcg8JotyGazndFoNOLeap473ct44jhO2jTN90HhNQUsy3JX+pKmaYs1JOYLhUJqYGDgXSPwmgJKqSwAk5kPRCKRtxUknmmalurv73/TKLyqQPFFs1hK7DjOnpaWluWSBBEtMLO74F6vB15VQCl1EcC/Z5MbGIlEtjNza/GlkzIM49V64VUFpJRPiWi3F1AoFDbGYrF4Mpl8EQa8ooC3/EXQvOM4E5qmjQsh3KdWaGPNOVBefiKatG17zDTNx6ERPYkqCTwHMCqEcO/6po9VAm75w+xvPfarBJRS7hN6Rz0/BonRdf1jtYl5BThI4iCxuq53VZL4bwIAtgohlrzSlRbhviAzqydW1/XPyWRyoVKs73VcD2A9MX8AVWwjMF0q1kMAAAAASUVORK5CYII=);background-size:100% 100%;
|
||||
width: .9375rem;
|
||||
height: .9375rem;
|
||||
}
|
||||
.body{
|
||||
padding: 2rem 1rem;
|
||||
}
|
||||
.store-info{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.name{
|
||||
margin-left: .5rem;
|
||||
}
|
||||
.main-amt{
|
||||
height: 3rem;
|
||||
padding: 1.2rem 0 0 0;
|
||||
}
|
||||
.amt-content {
|
||||
display: flex;
|
||||
background: #fff;
|
||||
padding: .5rem 1rem;
|
||||
border-radius: 4px;
|
||||
height: 2.5rem;
|
||||
font-size: 1.125rem;
|
||||
}
|
||||
.input-label {
|
||||
flex: 1;
|
||||
line-height: 2.5rem;
|
||||
}
|
||||
.input-box {
|
||||
line-height: 2.5rem;
|
||||
font-size: 1.5625rem;
|
||||
color: #777;
|
||||
}
|
||||
.gb {
|
||||
display: inline-block;
|
||||
width: 2px;
|
||||
height: 1.875rem;
|
||||
margin-top: -6px;
|
||||
background: #df6051;
|
||||
vertical-align: middle;
|
||||
animation: gb 1.3s infinite;
|
||||
}
|
||||
.money-input {
|
||||
font-weight: bold;
|
||||
color: #df6051;
|
||||
}
|
||||
@keyframes gb {
|
||||
from {
|
||||
opacity: 1;
|
||||
} to {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
.remark-info{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 13px;
|
||||
color: #9e9e9e;
|
||||
}
|
||||
.set-remark{
|
||||
margin-left: 5px;
|
||||
}
|
||||
.main-title{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.shade{
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgba(0,0,0,.1);
|
||||
z-index: 1002;
|
||||
overflow: auto;
|
||||
}
|
||||
.dialog{
|
||||
z-index: 8888;
|
||||
height: 13rem;
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
display: none;
|
||||
top: 30%;
|
||||
}
|
||||
.dialog-content{
|
||||
background: #fff;
|
||||
border-radius: 10px;
|
||||
padding: 10px 20px;
|
||||
margin: 0 auto;
|
||||
width: 60%;
|
||||
box-shadow: 0px 0px 10px #686868
|
||||
}
|
||||
.btns{
|
||||
padding: 0 0 0 5%;
|
||||
}
|
||||
.btn-cancel{
|
||||
width: 48%;
|
||||
height: 1.4rem;
|
||||
border-radius: 20px;
|
||||
border: none;
|
||||
}
|
||||
.btn-submit{
|
||||
width: 45%;
|
||||
height: 1.4rem;
|
||||
border-radius: 20px;
|
||||
border: none;
|
||||
background-color: #df6051;
|
||||
color: #fff;
|
||||
}
|
||||
.remark-text{
|
||||
border: 1px solid #e4e0e0;
|
||||
height: 6rem;
|
||||
width: 100%;
|
||||
}
|
||||
.remark-body{
|
||||
margin-top: 15px;
|
||||
}
|
||||
.loading{
|
||||
z-index: 10000;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
display: none;
|
||||
margin: 40px 0;
|
||||
}
|
||||
.loading-body{
|
||||
width: 30%;
|
||||
text-align: center;
|
||||
margin: 0 auto;
|
||||
padding: .4rem 0;
|
||||
background-color: #fff;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.loading-icon{
|
||||
background-image: url(data:image/gif;base64,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);background-size:100% 100%;
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
margin: 10px auto;
|
||||
}
|
||||
.label{
|
||||
text-align: center;
|
||||
}
|
||||
.inner-text{
|
||||
color: #727272;
|
||||
line-height: 1.2rem;
|
||||
font-size: .78rem;
|
||||
}
|
||||
.label-txt{
|
||||
text-align: center;
|
||||
}
|
||||
.desc-text{
|
||||
margin-top: -0.5rem;
|
||||
}
|
||||
.footer-btn{
|
||||
text-align: center;
|
||||
margin-top: -0.50rem;
|
||||
}
|
||||
.crux-text{
|
||||
color: #f73131;
|
||||
font-weight: bold;
|
||||
}
|
||||
.crux-br{
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
border-top: 1px solid #e4e4e4;
|
||||
vertical-align: top;
|
||||
margin-top: .3rem;
|
||||
}
|
||||
.footer-btn button{
|
||||
background-color: #fff;
|
||||
border: 1px solid #b2b2b2;
|
||||
color: #5f5f5f;
|
||||
/*vertical-align:bottom;*/
|
||||
line-height: 1.50rem;
|
||||
}
|
||||
.footer-btn .success{
|
||||
background-color: #df6051;
|
||||
border: 0;
|
||||
color: #fff;
|
||||
}
|
||||
.item{
|
||||
display: flex;
|
||||
justify-content: start;
|
||||
align-items: center;
|
||||
font-size: 15px;
|
||||
}
|
||||
.merc-label{
|
||||
width: 35%;
|
||||
color: #606060;
|
||||
}
|
||||
.item > input {
|
||||
width: 65%;
|
||||
height: 20px;
|
||||
border: 0;
|
||||
border-bottom: 1px solid #c5b6b6;
|
||||
text-align: right;
|
||||
outline: none;
|
||||
}
|
||||
.body-input{
|
||||
line-height: 30px;
|
||||
}
|
||||
.dialog-desc{
|
||||
line-height: 20px;
|
||||
}
|
||||
.dialog-desc-p{
|
||||
font-size: 13px;
|
||||
margin-top: 5px;
|
||||
color: #df6051;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="body">
|
||||
<div class="main-title">
|
||||
<div class="store-info">
|
||||
<div class="logo"></div>
|
||||
<div class="name" th:text="${storeName}"></div>
|
||||
</div>
|
||||
<div class="remark-info">
|
||||
<div class="icon"></div>
|
||||
<div class="set-remark" onclick="showRemarkDialog()">设置备注</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-amt">
|
||||
<div class="amt-content" onclick="showInput()">
|
||||
<div class="input-label">金额</div>
|
||||
<div class="input-box">¥ <span class="money-input" name="comsumeMoney" id="comsumeMoney"></span> <span class="gb"></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="payinfo" id="payinfo">
|
||||
<div class="shouyin" onclick="showInput()">
|
||||
<p>收 银 就 用 收 银 呗</p>
|
||||
</div>
|
||||
<table cellspacing="0" cellpadding="0" id="table1">
|
||||
<tr>
|
||||
<td class="paynum" onclick="inputAmt(1)">1</td>
|
||||
<td class="paynum" onclick="inputAmt(2)">2</td>
|
||||
<td class="paynum" onclick="inputAmt(3)">3</td>
|
||||
<td id="pay-return" onclick="inputAmt('del')"><div class="keybord-return"></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paynum" onclick="inputAmt(4)">4</td>
|
||||
<td class="paynum" onclick="inputAmt(5)">5</td>
|
||||
<td class="paynum" onclick="inputAmt(6)">6</td>
|
||||
<td rowspan="3" class="pay" id="pay">支付</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paynum" onclick="inputAmt(7)">7</td>
|
||||
<td class="paynum" onclick="inputAmt(8)">8</td>
|
||||
<td class="paynum" onclick="inputAmt(9)">9</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td id="pay-stop" onclick="hideInput()"><div class="keybord-stop"></div></td>
|
||||
<td id="pay-zero" onclick="inputAmt(0)">0</td>
|
||||
<td id="pay-float" onclick="inputAmt('.')">.</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id='shade' class="shade"></div>
|
||||
|
||||
<div class="dialog" id="dialog">
|
||||
<div class="dialog-content">
|
||||
<div class="label">设置备注</div>
|
||||
<div class="remark-body">
|
||||
<textarea id="remark" class="remark-text"></textarea>
|
||||
</div>
|
||||
<div class="btns">
|
||||
<button class="btn-cancel" onclick="hideRemarkDialog('cancel')">取消</button>
|
||||
<button class="btn-submit" onclick="hideRemarkDialog('submit')">确定</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="dialog dialog-txt" id="dialog-txt">
|
||||
<div class="dialog-content">
|
||||
<div class="label-txt">反诈中心提醒</div>
|
||||
<span class="crux-br"></span>
|
||||
<div class="desc-text">
|
||||
<p class="inner-text">
|
||||
<span class="crux-text">刷单返利</span>、
|
||||
<span class="crux-text">信用卡借呗提额</span>、
|
||||
<span class="crux-text">电商退款</span>、
|
||||
<span class="crux-text">网络贷款</span>、
|
||||
<span class="crux-text">赌博上分</span>、
|
||||
<span class="crux-text">投资理财</span>都是骗子,一旦付款资金无法追回,如果是以上情况切勿付款!
|
||||
</p>
|
||||
</div>
|
||||
<span class="crux-br"></span>
|
||||
<div class="footer-btn">
|
||||
<button id="btn-success" class="btn-cancel">我已确认<span id="countDown">(<span id="second"></span>S)</span></button>
|
||||
<button id="btn-cancel" onclick="hideDialog()" class="btn-cancel">取消支付</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="dialog dialog-txt" id="dialog-info">
|
||||
<div class="dialog-content">
|
||||
<div class="label-txt">请确认收款方信息</div>
|
||||
<span class="crux-br"></span>
|
||||
<div class="desc-text body-input">
|
||||
<div class="item">
|
||||
<div class="merc-label">姓名:</div>
|
||||
<input type="text" name="accountName" id="accountName" maxlength="20" autocomplete="off" value="" />
|
||||
</div>
|
||||
<div class="item">
|
||||
<div class="merc-label">手机号:</div>
|
||||
<input type="number" name="accountPhone" id="accountPhone" maxlength="11" autocomplete="off" value="" />
|
||||
</div>
|
||||
<div class="decs dialog-desc">
|
||||
<p class="dialog-desc-p">若遇到诈骗,可再次扫码对商家进行投诉!</p>
|
||||
</div>
|
||||
</div>
|
||||
<span class="crux-br"></span>
|
||||
<div class="footer-btn">
|
||||
<button class="btn-cancel success" id="submitPay">继续支付</button>
|
||||
<button class="btn-cancel" onclick="hideInfoDialog()">取消</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="loading" id="loading">
|
||||
<div class="loading-body">
|
||||
<div class="loading-icon">
|
||||
</div>
|
||||
<div class="loading-msg">
|
||||
支付中...
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="hidden" id="p" th:value="${p}">
|
||||
<input type="hidden" id="merchantCode" th:value="${merchantCode}">
|
||||
<input type="hidden" id="token" th:value="${token}">
|
||||
<input type="hidden" id="accountNameValue" th:value="${accountName}">
|
||||
<input type="hidden" id="accountPhoneValue" th:value="${accountPhone}">
|
||||
</body>
|
||||
<script type="text/javascript">
|
||||
(function (doc, win) {
|
||||
var docEl = doc.documentElement,
|
||||
resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
|
||||
recalc = function () {
|
||||
var clientWidth = docEl.clientWidth;
|
||||
if (!clientWidth) return;
|
||||
docEl.style.fontSize = 20 * (clientWidth / 320) + 'px';//其中“20”根据你设置的html的font-size属性值做适当的变化
|
||||
};
|
||||
|
||||
if (!doc.addEventListener) return;
|
||||
win.addEventListener(resizeEvt, recalc, false);
|
||||
doc.addEventListener('DOMContentLoaded', recalc, false);
|
||||
})(document, window);
|
||||
</script>
|
||||
<script>
|
||||
document.getElementById("shade").style.display = "block";
|
||||
document.getElementById("dialog-txt").style.display = "block";
|
||||
let accName = document.getElementById("accountNameValue").value;
|
||||
let accVal = document.getElementById("accountPhoneValue").value;
|
||||
document.getElementById("accountName").setAttribute("placeholder",accName);
|
||||
document.getElementById("accountPhone").setAttribute("placeholder",accVal);
|
||||
var i = 5;
|
||||
var flag = false;
|
||||
var interval = null;
|
||||
openCountDowm();
|
||||
function openCountDowm(t){
|
||||
i = t || i;
|
||||
document.getElementById("second").innerText = i;
|
||||
interval = setInterval("countDown()",1000);
|
||||
}
|
||||
function countDown(){
|
||||
if(i <= 1){
|
||||
clearInterval(interval);
|
||||
document.getElementById("countDown").style.display = "none";
|
||||
document.getElementById("btn-success").classList.add("success");
|
||||
}
|
||||
document.getElementById("second").innerText = --i;
|
||||
}
|
||||
function inputAmt(o){
|
||||
var dom = document.getElementById('comsumeMoney');
|
||||
var txt = dom.innerText;
|
||||
if(!txt){
|
||||
if(o === 'del' || o === '.'){
|
||||
return;
|
||||
}
|
||||
}
|
||||
if(o === '.' && txt.indexOf(".") > 0){
|
||||
return;
|
||||
}
|
||||
if(o === 'del'){
|
||||
txt = txt.slice(0,-1);
|
||||
dom.innerText = txt
|
||||
return;
|
||||
}
|
||||
if(txt.indexOf(".") > 0 ){
|
||||
var v = txt.split(".")[1];
|
||||
if(v && v.length > 1){
|
||||
return;
|
||||
}
|
||||
}else{
|
||||
if(txt.indexOf("0") == 0 && o !== '.'){
|
||||
return;
|
||||
}
|
||||
}
|
||||
txt = txt === "" ? o : txt + "" + o;
|
||||
let max = 99999;
|
||||
if(parseFloat(txt) > max){
|
||||
return;
|
||||
}
|
||||
dom.innerText = txt;
|
||||
}
|
||||
function hideInput(){
|
||||
var dom = document.getElementById('payinfo');
|
||||
dom.style.height = '20px'
|
||||
}
|
||||
function showInput(){
|
||||
var dom = document.getElementById('payinfo');
|
||||
dom.style.height = '13rem'
|
||||
}
|
||||
function showRemarkDialog(){
|
||||
var shape = document.getElementById('shade');
|
||||
var dialog = document.getElementById('dialog');
|
||||
shape.style.display = 'block';
|
||||
dialog.style.display = 'block';
|
||||
}
|
||||
function hideRemarkDialog(t){
|
||||
var shape = document.getElementById('shade');
|
||||
var dialog = document.getElementById('dialog');
|
||||
shape.style.display = 'none';
|
||||
dialog.style.display = 'none';
|
||||
if(t === 'cancel'){
|
||||
document.getElementById('remark').value = "";
|
||||
}
|
||||
}
|
||||
function hideInfoDialog(){
|
||||
var dialog = document.getElementById('dialog-info');
|
||||
dialog.style.display = 'none';
|
||||
document.getElementById("accountName").value = "";
|
||||
document.getElementById("accountPhone").value = "";
|
||||
}
|
||||
function hideDialog(){
|
||||
clearInterval(interval);
|
||||
var shape = document.getElementById('shade');
|
||||
var dialog = document.getElementById('dialog-txt');
|
||||
shape.style.display = 'none';
|
||||
dialog.style.display = 'none';
|
||||
}
|
||||
function showDialog(){
|
||||
var shape = document.getElementById('shade');
|
||||
var dialog = document.getElementById('dialog-txt');
|
||||
shape.style.display = 'block';
|
||||
dialog.style.display = 'block';
|
||||
}
|
||||
document.getElementById("btn-success").onclick = () => {
|
||||
if(i > 0){
|
||||
return;
|
||||
}
|
||||
flag = true;
|
||||
hideDialog();
|
||||
}
|
||||
|
||||
document.getElementById("submitPay").onclick = ()=>{
|
||||
let name = document.getElementById("accountName").value;
|
||||
let phone = document.getElementById("accountPhone").value;
|
||||
if(!name){
|
||||
alert("请输入收款方姓名!");
|
||||
return;
|
||||
}
|
||||
if(!phone){
|
||||
alert("请输入收款方手机号!");
|
||||
return;
|
||||
}
|
||||
var shape = document.getElementById('shade');
|
||||
var loading = document.getElementById('loading');
|
||||
shape.style.display = 'block';
|
||||
loading.style.display = 'block';
|
||||
|
||||
|
||||
var comsumeMoney = document.getElementById('comsumeMoney').innerText;
|
||||
var p = document.getElementById("p").value;
|
||||
var remark = document.getElementById("remark").value;
|
||||
var merchantCode = document.getElementById("merchantCode").value;
|
||||
var token = document.getElementById("token").value;
|
||||
var params = "p="+p+"&comsumeMoney="+comsumeMoney+"&remark="+remark+ "&merchantCode="+merchantCode+"&token="+token+"&accountName="+name+"&accountPhone="+phone;
|
||||
var url = "/wap/merchant/moveTradePay";
|
||||
var xhr = new XMLHttpRequest();//创建请求对象
|
||||
xhr.open("POST", url, true);//链接服务器
|
||||
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
||||
xhr.onreadystatechange = function () {
|
||||
if (xhr.readyState === 4) {//请求已完成,且响应已就绪
|
||||
shape.style.display = "none";
|
||||
loading.style.display = "none";
|
||||
if (xhr.status === 200) {//请求成功
|
||||
var resultStr = xhr.responseText//获取结果
|
||||
var resultObj = JSON.parse(resultStr);//解析数据
|
||||
if (resultObj.code == 200) {
|
||||
var rdata = resultObj.data;
|
||||
if("WXZF" == rdata.payType){
|
||||
WeixinJSBridge.invoke('getBrandWCPayRequest', {
|
||||
// 商品名称
|
||||
"appId" : rdata.payAppId,
|
||||
"timeStamp" : rdata.payTimeStamp,
|
||||
"nonceStr" : rdata.paynonceStr,
|
||||
"package" : rdata.payPackage,
|
||||
"signType" : rdata.paySignType,
|
||||
"paySign" : rdata.paySign,
|
||||
}, function(res) {
|
||||
if (res.err_msg == "get_brand_wcpay_request:ok" || res.err_msg == "stopMonitoringBeacons:ok") {
|
||||
//成功之后跳转地址
|
||||
window.location = '/wap/merchant/jumpUrl?orderNumber='+rdata.orderNumber;
|
||||
} else {
|
||||
cancelPay(rdata.orderNumber);
|
||||
alert("支付失败");
|
||||
}
|
||||
})
|
||||
}else if("ZFBZF" == rdata.payType){
|
||||
var reg=/^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+).)+([A-Za-z0-9-~\/])+$/;
|
||||
if(reg.test(rdata.source)){
|
||||
window.location = rdata.source;
|
||||
}else{
|
||||
ap.tradePay({
|
||||
tradeNO : rdata.source
|
||||
}, function(res) {
|
||||
if (res.resultCode == '9000') {
|
||||
window.location = '/wap/merchant/jumpUrl?orderNumber='+rdata.orderNumber; //订单支付成功
|
||||
} else if (res.resultCode == '8000') {
|
||||
} else if (res.resultCode == '4000') {
|
||||
cancelPay(rdata.orderNumber);
|
||||
ap.alert("订单支付失败");
|
||||
} else if (res.resultCode == '6001' || res.resultCode == '99') {
|
||||
cancelPay(rdata.orderNumber);
|
||||
} else if (res.resultCode == '6002') {
|
||||
cancelPay(rdata.orderNumber);
|
||||
ap.alert("网络连接出错");
|
||||
}
|
||||
});
|
||||
}
|
||||
}else{
|
||||
window.location = rdata.redirectUrl;
|
||||
}
|
||||
} else {
|
||||
alert(resultObj.message);
|
||||
}
|
||||
}
|
||||
else {
|
||||
alert("错误码 : " + xhr.status);
|
||||
}
|
||||
}
|
||||
}
|
||||
xhr.send(params);//发送请求
|
||||
|
||||
}
|
||||
|
||||
document.getElementById("pay").onclick = ()=>{
|
||||
var comsumeMoney = document.getElementById('comsumeMoney').innerText;
|
||||
if(comsumeMoney == undefined || comsumeMoney == '' || comsumeMoney == null){
|
||||
return;
|
||||
}
|
||||
if(!flag){
|
||||
showDialog();
|
||||
openCountDowm(5);
|
||||
return;
|
||||
}
|
||||
document.getElementById('dialog-info').style.display = "block";
|
||||
|
||||
// var shape = document.getElementById('shade');
|
||||
// var loading = document.getElementById('loading');
|
||||
// shape.style.display = 'block';
|
||||
// loading.style.display = 'block';
|
||||
// var p = document.getElementById("p").value;
|
||||
// var remark = document.getElementById("remark").value;
|
||||
// var merchantCode = document.getElementById("merchantCode").value;
|
||||
// var token = document.getElementById("token").value;
|
||||
// var params = "p="+p+"&comsumeMoney="+comsumeMoney+"&remark="+remark+ "&merchantCode="+merchantCode+"&token="+token;
|
||||
// var url = "/wap/merchant/moveTradePay";
|
||||
// var xhr = new XMLHttpRequest();//创建请求对象
|
||||
// xhr.open("POST", url, true);//链接服务器
|
||||
// xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
||||
// xhr.onreadystatechange = function () {
|
||||
// if (xhr.readyState === 4) {//请求已完成,且响应已就绪
|
||||
// shape.style.display = "none";
|
||||
// loading.style.display = "none";
|
||||
// if (xhr.status === 200) {//请求成功
|
||||
// var resultStr = xhr.responseText//获取结果
|
||||
// var resultObj = JSON.parse(resultStr);//解析数据
|
||||
// if (resultObj.code == 200) {
|
||||
// var rdata = resultObj.data;
|
||||
// if("WXZF" == rdata.payType){
|
||||
// WeixinJSBridge.invoke('getBrandWCPayRequest', {
|
||||
// // 商品名称
|
||||
// "appId" : rdata.payAppId,
|
||||
// "timeStamp" : rdata.payTimeStamp,
|
||||
// "nonceStr" : rdata.paynonceStr,
|
||||
// "package" : rdata.payPackage,
|
||||
// "signType" : rdata.paySignType,
|
||||
// "paySign" : rdata.paySign,
|
||||
// }, function(res) {
|
||||
// if (res.err_msg == "get_brand_wcpay_request:ok" || res.err_msg == "stopMonitoringBeacons:ok") {
|
||||
// //成功之后跳转地址
|
||||
// window.location = '/wap/merchant/jumpUrl?orderNumber='+rdata.orderNumber;
|
||||
// } else {
|
||||
// cancelPay(rdata.orderNumber);
|
||||
// alert("支付失败");
|
||||
// }
|
||||
// })
|
||||
// }else if("ZFBZF" == rdata.payType){
|
||||
// var reg=/^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+).)+([A-Za-z0-9-~\/])+$/;
|
||||
// if(reg.test(rdata.source)){
|
||||
// window.location = rdata.source;
|
||||
// }else{
|
||||
// ap.tradePay({
|
||||
// tradeNO : rdata.source
|
||||
// }, function(res) {
|
||||
// if (res.resultCode == '9000') {
|
||||
// window.location = '/wap/merchant/jumpUrl?orderNumber='+rdata.orderNumber; //订单支付成功
|
||||
// } else if (res.resultCode == '8000') {
|
||||
// } else if (res.resultCode == '4000') {
|
||||
// cancelPay(rdata.orderNumber);
|
||||
// ap.alert("订单支付失败");
|
||||
// } else if (res.resultCode == '6001' || res.resultCode == '99') {
|
||||
// cancelPay(rdata.orderNumber);
|
||||
// } else if (res.resultCode == '6002') {
|
||||
// cancelPay(rdata.orderNumber);
|
||||
// ap.alert("网络连接出错");
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
// }else{
|
||||
// window.location = rdata.redirectUrl;
|
||||
// }
|
||||
// } else {
|
||||
// alert(resultObj.message);
|
||||
// }
|
||||
// }
|
||||
// else {
|
||||
// alert("错误码 : " + xhr.status);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// xhr.send(params);//发送请求
|
||||
}
|
||||
function cancelPay(m) {
|
||||
var url = "/wap/merchant/cancelPay/"+m;
|
||||
var xhr = new XMLHttpRequest();//创建请求对象
|
||||
xhr.open("GET", url, true);//链接服务器
|
||||
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
||||
xhr.onreadystatechange = function () {
|
||||
|
||||
}
|
||||
xhr.send();
|
||||
}
|
||||
</script>
|
||||
</html>
|
||||
488
pluss-wap-page/src/main/resources/templates/th_pay.html
Normal file
488
pluss-wap-page/src/main/resources/templates/th_pay.html
Normal file
@@ -0,0 +1,488 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" xmlns:th="http://www.thymeleaf.org">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
|
||||
<meta content="yes" name="apple-mobile-web-app-capable">
|
||||
<meta content="black" name="apple-mobile-web-app-status-bar-style">
|
||||
<meta content="telephone=no" name="format-detection">
|
||||
<meta content="email=no" name="format-detection">
|
||||
<!-- <link rel="stylesheet" href="https://act.weixin.qq.com/static/cdn/css/wepayui/0.1.1/wepayui.min.css">-->
|
||||
<script src="https://www.shouyinbei.net/resources/js/alipayjsapi.min3.1.1.js"></script>
|
||||
<title>向商户付款</title>
|
||||
<style>
|
||||
* {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
html,body{
|
||||
width:100%;
|
||||
height:100%;
|
||||
margin:0 auto;
|
||||
padding:0px;
|
||||
background-color:#EFEFF4;
|
||||
}
|
||||
.payinfo{
|
||||
display: block;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
height: 13rem;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
transition: .4s;
|
||||
}
|
||||
table{
|
||||
width:100%;
|
||||
height: 91%;
|
||||
bottom: 0;
|
||||
background-color:white;
|
||||
}
|
||||
table tr{
|
||||
height: 25%;
|
||||
}
|
||||
table tr td{
|
||||
text-align:center;
|
||||
width:24.9999999%;
|
||||
border-right:1px solid #D9D9D9;
|
||||
border-bottom:1px solid #D9D9D9;
|
||||
}
|
||||
table tr td:active{
|
||||
background-color:#ECECEC;
|
||||
}
|
||||
.keybord-return,.keybord-stop{
|
||||
width:30px;
|
||||
height:30px;
|
||||
margin:0px auto;
|
||||
color:white;
|
||||
}
|
||||
.keybord-return{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAALpQTFRFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqyRq8wAAAD10Uk5TAAM/gJ+efz5Q2ddPAouKAZZ8nP0vrfcLN03+GcxYu9gSGkCBndobPbe8+QonMuCH7xOIW0fNtCwra4NgHN+ehK8AAAABYktHRACIBR1IAAAACXBIWXMAAABIAAAASABGyWs+AAAB4UlEQVR42u3c51LCQBiF4Y2IgDQVRcWCvffe9v5vS2FGhSH5kTLzney8zxWcd3ZD+BXnAAAAAAAAAAAAgFSiucp8daEWWe/Iq97wY4tN6yW5tNr+T6drvSa77pKfsGw9J7PWymSH761aDyqmw/s160XZTN+rkf669aYsZs7jx4b1qII6/Kb1qvRm79VIzXpWarHn4Qdb1ruK6fDb1rvSir9X3u9YD0sp4Tz8bst6WTEdwz3rZekk3avGvvUyOuiwR4cWOrTQoYUOLXRooUMLHVro0EKHFjq00KGFDi10aKFDCx1a6NBChxY6tNChhQ4tdIhpx3cMy9ZRD6QjaoTR4Q7CeD6cOwzjPJyrhnEezh3FhByfWK/KoBLK1TqNfdhLeCbRMJCfX9cM5IXoXCeUkqQ/jeV7TijRQ4keSvRQoocSPZTooUQPJXoo0UOJHkr0UKKHEj2U6KFEDyV6KNFDiR5K9FCihxI9lOgJpySUD04ml5yV7jPlSberfN8tTjiTc+tdRZVcXFrvSi/+dl1Zz8og9kyurVcVVVK6b2KPzd6uG+tJGc2cya31ooJK7u6tB2U2dbt65Xsf/ms9DH47+o/WY/J5eh5nDF5erZfk9vb+Ufn8sl4BAAAAAAAAAAAAY9/5YLt8mhkMlgAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMC0wNy0wNFQxNTowMjo0OSswODowMMIgQKAAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjAtMDctMDRUMTU6MDI6NDkrMDg6MDCzffgcAAAAR3RFWHRzdmc6YmFzZS11cmkAZmlsZTovLy9ob21lL2FkbWluL2ljb24tZm9udC90bXAvaWNvbl91ZmVhaXVpd2lrZy9iYWNrLnN2Z4Ft+LMAAAAASUVORK5CYII=); background-size:100% 90%; }
|
||||
.keybord-stop{background-image:url(data:image/png;base64,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); background-size:100% 100%;}
|
||||
.pay{
|
||||
color:#ffffff;
|
||||
font-size:120%;
|
||||
background-color:#df6051;
|
||||
}
|
||||
.pay:active{
|
||||
/*background-color: #df6051;*/
|
||||
background-color: rgba(223,96,81,0.7);
|
||||
}
|
||||
.shouyin{
|
||||
text-align: center;
|
||||
color: #9b9b9b;
|
||||
font-size: 13px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.logo{
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAD70lEQVRoQ9VaTYgURxT+Xm8w7PQs6CFgXDCXEAKeFHKLRKMo6HoSc0qmqlfxICSn/KCXmIMuiZ4UBEG3q+aokItKiGSTDZ5CIHtK9LAXhRVJDoZs9ywR7CfVuzPMzM5sV/X0MNt92Z7q9773vu2qej/VhIKuSIgDBO8AgEkCTybApLlfg1/ygCUGLSH9m8xVtZ4rwjQNAhLXgikQjgE8BWCHI9ZTgO6Cccevh3cddVvizgT4zJnqSqMRMFMA8O68hjv1aIGIw/FKJaRr1yIXTGsCkZTbx5iChJNpEL3tYsRalnnRI2/2JXFYVeqZjZ4VgVjK95hRJ+BdG9BBZRh4RISar9TvWViZBFZq0/sTSn7OAhrGc4+9D8frs79shL0hgUiIgECzw3DOFpPB01Wtw37yfQlEQnxJoG9tDQ1TjsFfVbX+rpeNngRiIU4CdGOYTrlj8ylf65vdeusIxEIcTffnTXnxlK/1vXbXOgiYrZKYHwBD2iYH/qfwIhPtbd9iOwisiOBsAr44sJ0hAnigc+M6nGmaaBEwEbYRxQtDC1JFkWJerFT93c2I3SLQkPJTZlwpys4wcYjwWUWpq8ZGi0Asgj9cchsC5l8yfi3C0THCBwzss8eiBV+He1oEIiEOEehHewAgYXwzUVfnXXT6yS7X5HmP8LULFoMPV7W+n76BhhCXGPS5C8Bo34CZOny5ovUXKYFYyMcAdroScJHPknWbQinaE1+rt6jxyfT77CUPsgx0BY/5ilb7XXSyZGMh/wewJUuuw4/E20uxCC4CfNZJkXC8otT3LjpZsrGUF8A4lyXX+ZxmDAENcM1F0dcqMw13wUun8cen38TYi6duelSnhpA/MWCKcdvrpq/VKVthF7lYSJODHbXVIWCOIiEfulRaDD5YVEeh29HVJgHfsSWQVm6RkP8RMGGr9IKwbZtS/7bLLwfBG+b3RBj+M8j4cym3bmE8t/WFgWVnAuDkiF+v/9DhqAlESH4bdLwh5Qlm3HIl4DSFDDgRPqooddvctxstatyBwKM8i7iJ/+faza4ug0WNZ/JIF3GebdQgJ4Q0kHmMDbsGWV4MhkP1XIHMOGViwbKU+4ogMKHUfCwkZ5Fd/5xmcqUSm4UAmVQijYI5krlN8AZWk7l0J8mRTo+aQEc6naegGTWBjoJmdRq5lZSjJdBVUq4FJKei/jWPdr0ehn+57xzrNUwq4iX8ty1Wz6I+R1vlfkJo9WdsjfeSI8Z1At6xwujXVjHKpW5sGQKlby2uLuYSN3ebc7DU7fUmiVIfcLSRKO8RU5NEqQ/5WmuizMesrelU5oPu9ghZ2k8NeoX5Un7s0S9fGdXnNq8Aors/k02FsxcAAAAASUVORK5CYII=);background-size:100% 100%;
|
||||
width: 2.1875rem;
|
||||
height: 2.1875rem;
|
||||
}
|
||||
.icon{
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAC7UlEQVRYR72WTWgTURDH/7ObJi1YENFT4kVtD/YgSMFaaOrbpfYgeElaURA8CIKKIAhCQYyCIAiC0KLgodBDwUqhiODB8N42RfFQEYoVBUGRCiKioPUjNbsjK4mk2ySbTTe+687O7/dm3hehiSOXy+20bXuEiAQzTwkhznpx1Cx+ET4FoKuMMSaEOF3ObIpAFfhfruM4l0zTzJQkmiIwNze3y7btKWbuXFNyoh/RaHRzb2/vT/db6AKWZd1h5tsAlgHcBZDwSHxLJBJbOjo68qELSCkniegwgC8A9gPYQETTzLypJNG0FkgpJ4joaNlsX2qadpCIttm2PQOglZlvGoZxMvRFqJQaB3DM229mzsVisaF8Pr8XwCHDMI6Evg2VUm6/j1fbzkR0Lx6PD5d6HqqAUuoWgBM+Z8n07OzscCaTcSrFNbwLlFKjAE75wGfa29uHu7u7f1etUCMnoWVZN5j5jM+/9wEMCSF+1YoLXAEp5XUiWnOmeyAPVlZWhgYHB7/7TTCQgFLqGoBzPkkftrW1pXt6er76wQMdREqpqwDO1ywnkdR1Pd3X1+ceRHWNuiogpbxCRCO1Mrp7nohSQohPdZGLQb4CUsrLRHTBJ+kjAGkhxIcg8JotyGazndFoNOLeap473ct44jhO2jTN90HhNQUsy3JX+pKmaYs1JOYLhUJqYGDgXSPwmgJKqSwAk5kPRCKRtxUknmmalurv73/TKLyqQPFFs1hK7DjOnpaWluWSBBEtMLO74F6vB15VQCl1EcC/Z5MbGIlEtjNza/GlkzIM49V64VUFpJRPiWi3F1AoFDbGYrF4Mpl8EQa8ooC3/EXQvOM4E5qmjQsh3KdWaGPNOVBefiKatG17zDTNx6ERPYkqCTwHMCqEcO/6po9VAm75w+xvPfarBJRS7hN6Rz0/BonRdf1jtYl5BThI4iCxuq53VZL4bwIAtgohlrzSlRbhviAzqydW1/XPyWRyoVKs73VcD2A9MX8AVWwjMF0q1kMAAAAASUVORK5CYII=);background-size:100% 100%;
|
||||
width: .9375rem;
|
||||
height: .9375rem;
|
||||
}
|
||||
.body{
|
||||
padding: 2rem 1rem;
|
||||
}
|
||||
.store-info{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.name{
|
||||
margin-left: .5rem;
|
||||
}
|
||||
.main-amt{
|
||||
height: 3rem;
|
||||
padding: 1.2rem 0 0 0;
|
||||
}
|
||||
.amt-content {
|
||||
display: flex;
|
||||
background: #fff;
|
||||
padding: .5rem 1rem;
|
||||
border-radius: 4px;
|
||||
height: 2.5rem;
|
||||
font-size: 1.125rem;
|
||||
}
|
||||
.input-label {
|
||||
flex: 1;
|
||||
line-height: 2.5rem;
|
||||
}
|
||||
.input-box {
|
||||
line-height: 2.5rem;
|
||||
font-size: 1.5625rem;
|
||||
color: #777;
|
||||
}
|
||||
.gb {
|
||||
display: inline-block;
|
||||
width: 2px;
|
||||
height: 1.875rem;
|
||||
margin-top: -6px;
|
||||
background: #df6051;
|
||||
vertical-align: middle;
|
||||
animation: gb 1.3s infinite;
|
||||
}
|
||||
.money-input {
|
||||
font-weight: bold;
|
||||
color: #df6051;
|
||||
}
|
||||
@keyframes gb {
|
||||
from {
|
||||
opacity: 1;
|
||||
} to {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
.remark-info{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 13px;
|
||||
color: #9e9e9e;
|
||||
}
|
||||
.set-remark{
|
||||
margin-left: 5px;
|
||||
}
|
||||
.main-title{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.shade{
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgba(0,0,0,.1);
|
||||
z-index: 1002;
|
||||
overflow: auto;
|
||||
}
|
||||
.dialog{
|
||||
z-index: 8888;
|
||||
height: 13rem;
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
display: none;
|
||||
}
|
||||
.dialog-content{
|
||||
background: #fff;
|
||||
height: 11rem;
|
||||
border-radius: 10px;
|
||||
padding: 10px 20px;
|
||||
margin: 0 auto;
|
||||
width: 60%;
|
||||
}
|
||||
.btns{
|
||||
padding: 0 0 0 5%;
|
||||
}
|
||||
.btn-cancel{
|
||||
width: 45%;
|
||||
height: 1.8rem;
|
||||
border-radius: 20px;
|
||||
border: none;
|
||||
}
|
||||
.btn-submit{
|
||||
width: 45%;
|
||||
height: 1.8rem;
|
||||
border-radius: 20px;
|
||||
border: none;
|
||||
background-color: #df6051;
|
||||
color: #fff;
|
||||
}
|
||||
.remark-text{
|
||||
border: 1px solid #e4e0e0;
|
||||
height: 6rem;
|
||||
width: 100%;
|
||||
}
|
||||
.remark-body{
|
||||
margin-top: 15px;
|
||||
}
|
||||
.loading{
|
||||
z-index: 10000;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
display: none;
|
||||
margin: 40px 0;
|
||||
}
|
||||
.loading-body{
|
||||
width: 30%;
|
||||
text-align: center;
|
||||
margin: 0 auto;
|
||||
padding: .4rem 0;
|
||||
background-color: #fff;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.loading-icon{
|
||||
background-image: url(data:image/gif;base64,R0lGODlhIAAgALMAAP///7Ozs/v7+9bW1uHh4fLy8rq6uoGBgTQ0NAEBARsbG8TExJeXl/39/VRUVAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFBQAAACwAAAAAIAAgAAAE5xDISSlLrOrNp0pKNRCdFhxVolJLEJQUoSgOpSYT4RowNSsvyW1icA16k8MMMRkCBjskBTFDAZyuAEkqCfxIQ2hgQRFvAQEEIjNxVDW6XNE4YagRjuBCwe60smQUDnd4Rz1ZAQZnFAGDd0hihh12CEE9kjAEVlycXIg7BAsMB6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YEvpJivxNaGmLHT0VnOgGYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ/V/nmOM82XiHQjYKhKP1oZmADdEAAAh+QQFBQAAACwAAAAAGAAXAAAEchDISasKNeuJFKoHs4mUYlJIkmjIV54Soypsa0wmLSnqoTEtBw52mG0AjhYpBxioEqRNy8V0qFzNw+GGwlJki4lBqx1IBgjMkRIghwjrzcDti2/Gh7D9qN774wQGAYOEfwCChIV/gYmDho+QkZKTR3p7EQAh+QQFBQAAACwBAAAAHQAOAAAEchDISWdANesNHHJZwE2DUSEo5SjKKB2HOKGYFLD1CB/DnEoIlkti2PlyuKGEATMBaAACSyGbEDYD4zN1YIEmh0SCQQgYehNmTNNaKsQJXmBuuEYPi9ECAU/UFnNzeUp9VBQEBoFOLmFxWHNoQw6RWEocEQAh+QQFBQAAACwHAAAAGQARAAAEaRDICdZZNOvNDsvfBhBDdpwZgohBgE3nQaki0AYEjEqOGmqDlkEnAzBUjhrA0CoBYhLVSkm4SaAAWkahCFAWTU0A4RxzFWJnzXFWJJWb9pTihRu5dvghl+/7NQmBggo/fYKHCX8AiAmEEQAh+QQFBQAAACwOAAAAEgAYAAAEZXCwAaq9ODAMDOUAI17McYDhWA3mCYpb1RooXBktmsbt944BU6zCQCBQiwPB4jAihiCK86irTB20qvWp7Xq/FYV4TNWNz4oqWoEIgL0HX/eQSLi69boCikTkE2VVDAp5d1p0CW4RACH5BAUFAAAALA4AAAASAB4AAASAkBgCqr3YBIMXvkEIMsxXhcFFpiZqBaTXisBClibgAnd+ijYGq2I4HAamwXBgNHJ8BEbzgPNNjz7LwpnFDLvgLGJMdnw/5DRCrHaE3xbKm6FQwOt1xDnpwCvcJgcJMgEIeCYOCQlrF4YmBIoJVV2CCXZvCooHbwGRcAiKcmFUJhEAIfkEBQUAAAAsDwABABEAHwAABHsQyAkGoRivELInnOFlBjeM1BCiFBdcbMUtKQdTN0CUJru5NJQrYMh5VIFTTKJcOj2HqJQRhEqvqGuU+uw6AwgEwxkOO55lxIihoDjKY8pBoThPxmpAYi+hKzoeewkTdHkZghMIdCOIhIuHfBMOjxiNLR4KCW1ODAlxSxEAIfkEBQUAAAAsCAAOABgAEgAABGwQyEkrCDgbYvvMoOF5ILaNaIoGKroch9hacD3MFMHUBzMHiBtgwJMBFolDB4GoGGBCACKRcAAUWAmzOWJQExysQsJgWj0KqvKalTiYPhp1LBFTtp10Is6mT5gdVFx1bRN8FTsVCAqDOB9+KhEAIfkEBQUAAAAsAgASAB0ADgAABHgQyEmrBePS4bQdQZBdR5IcHmWEgUFQgWKaKbWwwSIhc4LonsXhBSCsQoOSScGQDJiWwOHQnAxWBIYJNXEoFCiEWDI9jCzESey7GwMM5doEwW4jJoypQQ743u1WcTV0CgFzbhJ5XClfHYd/EwZnHoYVDgiOfHKQNREAIfkEBQUAAAAsAAAPABkAEQAABGeQqUQruDjrW3vaYCZ5X2ie6EkcKaooTAsi7ytnTq046BBsNcTvItz4AotMwKZBIC6H6CVAJaCcT0CUBTgaTg5nTCu9GKiDEMPJg5YBBOpwlnVzLwtqyKnZagZWahoMB2M3GgsHSRsRACH5BAUFAAAALAEACAARABgAAARcMKR0gL34npkUyyCAcAmyhBijkGi2UW02VHFt33iu7yiDIDaD4/erEYGDlu/nuBAOJ9Dvc2EcDgFAYIuaXS3bbOh6MIC5IAP5Eh5fk2exC4tpgwZyiyFgvhEMBBEAIfkEBQUAAAAsAAACAA4AHQAABHMQyAnYoViSlFDGXBJ808Ep5KRwV8qEg+pRCOeoioKMwJK0Ekcu54h9AoghKgXIMZgAApQZcCCu2Ax2O6NUud2pmJcyHA4L0uDM/ljYDCnGfGakJQE5YH0wUBYBAUYfBIFkHwaBgxkDgX5lgXpHAXcpBIsRADs=);background-size:100% 100%;
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
margin: 10px auto;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="body">
|
||||
<div class="main-title">
|
||||
<div class="store-info">
|
||||
<div class="logo"></div>
|
||||
<div class="name" th:text="${storeName}"></div>
|
||||
</div>
|
||||
<div class="remark-info">
|
||||
<div class="icon"></div>
|
||||
<div class="set-remark" onclick="showRemarkDialog()">设置备注</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-amt">
|
||||
<div class="amt-content" onclick="showInput()">
|
||||
<div class="input-label">金额</div>
|
||||
<div class="input-box">¥ <span class="money-input" name="comsumeMoney" id="comsumeMoney"></span> <span class="gb"></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="payinfo" id="payinfo">
|
||||
<div class="shouyin" onclick="showInput()">
|
||||
<p>收 银 就 用 收 银 呗</p>
|
||||
</div>
|
||||
<table cellspacing="0" cellpadding="0" id="table1">
|
||||
<tr>
|
||||
<td class="paynum" onclick="inputAmt(1)">1</td>
|
||||
<td class="paynum" onclick="inputAmt(2)">2</td>
|
||||
<td class="paynum" onclick="inputAmt(3)">3</td>
|
||||
<td id="pay-return" onclick="inputAmt('del')"><div class="keybord-return"></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paynum" onclick="inputAmt(4)">4</td>
|
||||
<td class="paynum" onclick="inputAmt(5)">5</td>
|
||||
<td class="paynum" onclick="inputAmt(6)">6</td>
|
||||
<td rowspan="3" class="pay" id="pay">支付</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paynum" onclick="inputAmt(7)">7</td>
|
||||
<td class="paynum" onclick="inputAmt(8)">8</td>
|
||||
<td class="paynum" onclick="inputAmt(9)">9</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td id="pay-stop" onclick="hideInput()"><div class="keybord-stop"></div></td>
|
||||
<td id="pay-zero" onclick="inputAmt(0)">0</td>
|
||||
<td id="pay-float" onclick="inputAmt('.')">.</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id='shade' class="shade"></div>
|
||||
|
||||
<div class="dialog" id="dialog">
|
||||
<div class="dialog-content">
|
||||
<div class="label">设置备注</div>
|
||||
<div class="remark-body">
|
||||
<textarea id="remark" class="remark-text"></textarea>
|
||||
</div>
|
||||
<div class="btns">
|
||||
<button class="btn-cancel" onclick="hideRemarkDialog('cancel')">取消</button>
|
||||
<button class="btn-submit" onclick="hideRemarkDialog('submit')">确定</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="loading" id="loading">
|
||||
<div class="loading-body">
|
||||
<div class="loading-icon">
|
||||
</div>
|
||||
<div class="loading-msg">
|
||||
支付中...
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<input type="hidden" id="merchantCode" th:value="${merchantCode}">
|
||||
<input type="hidden" id="openid" th:value="${openid}">
|
||||
<input type="hidden" id="userid" th:value="${userid}">
|
||||
<input type="hidden" id="userAppId" th:value="${userAppId}">
|
||||
<input type="hidden" id="storeId" th:value="${storeId}">
|
||||
<input type="hidden" id="unionId" th:value="${unionId}">
|
||||
<input type="hidden" id="payType" th:value="${payType}">
|
||||
<input type="hidden" id="qrNo" th:value="${qrNo}">
|
||||
<input type="hidden" id="channelVal" th:value="${channelVal}">
|
||||
</body>
|
||||
<script>
|
||||
function inputAmt(o){
|
||||
var dom = document.getElementById('comsumeMoney');
|
||||
var txt = dom.innerText;
|
||||
if(!txt){
|
||||
if(o === 'del' || o === '.'){
|
||||
return;
|
||||
}
|
||||
}
|
||||
if(o === '.' && txt.indexOf(".") > 0){
|
||||
return;
|
||||
}
|
||||
if(o === 'del'){
|
||||
txt = txt.slice(0,-1);
|
||||
dom.innerText = txt
|
||||
return;
|
||||
}
|
||||
if(txt.indexOf(".") > 0 ){
|
||||
var v = txt.split(".")[1];
|
||||
if(v && v.length > 1){
|
||||
return;
|
||||
}
|
||||
}else{
|
||||
if(txt.indexOf("0") == 0 && o !== '.'){
|
||||
return;
|
||||
}
|
||||
}
|
||||
txt = txt === "" ? o : txt + "" + o;
|
||||
let max = 99999;
|
||||
if(parseFloat(txt) > max){
|
||||
return;
|
||||
}
|
||||
dom.innerText = txt;
|
||||
}
|
||||
function hideInput(){
|
||||
var dom = document.getElementById('payinfo');
|
||||
dom.style.height = '20px'
|
||||
}
|
||||
function showInput(){
|
||||
var dom = document.getElementById('payinfo');
|
||||
dom.style.height = '13rem'
|
||||
}
|
||||
function showRemarkDialog(){
|
||||
var shape = document.getElementById('shade');
|
||||
var dialog = document.getElementById('dialog');
|
||||
shape.style.display = 'block';
|
||||
dialog.style.display = 'block';
|
||||
}
|
||||
function hideRemarkDialog(t){
|
||||
var shape = document.getElementById('shade');
|
||||
var dialog = document.getElementById('dialog');
|
||||
shape.style.display = 'none';
|
||||
dialog.style.display = 'none';
|
||||
if(t === 'cancel'){
|
||||
document.getElementById('remark').value = "";
|
||||
}
|
||||
}
|
||||
document.getElementById("pay").onclick = ()=>{
|
||||
var comsumeMoney = document.getElementById('comsumeMoney').innerText;
|
||||
if(comsumeMoney == undefined || comsumeMoney == '' || comsumeMoney == null){
|
||||
return;
|
||||
}
|
||||
var shape = document.getElementById('shade');
|
||||
var loading = document.getElementById('loading');
|
||||
shape.style.display = 'block';
|
||||
loading.style.display = 'block';
|
||||
var storeId = document.getElementById("storeId").value;
|
||||
var openid = document.getElementById("openid").value;
|
||||
var merchantCode = document.getElementById("merchantCode").value;
|
||||
var remark = document.getElementById("remark").value;
|
||||
var userId = document.getElementById("userid").value;
|
||||
var unionId = document.getElementById("unionId").value;
|
||||
var userAppId = document.getElementById("userAppId").value;
|
||||
var payType = document.getElementById("payType").value;
|
||||
var qrNo = document.getElementById("qrNo").value;
|
||||
var channelVal = document.getElementById("channelVal").value;
|
||||
|
||||
var params = "storeId="+storeId + "&openid="+openid + "&merchantCode="+merchantCode +
|
||||
"&remark="+remark + "&userId="+userId+"&unionId="+unionId +
|
||||
"&userAppId="+userAppId +"&payWay="+payType+ "&comsumeMoney="+comsumeMoney;
|
||||
if(qrNo){
|
||||
params = params + "&snNo=" + qrNo;
|
||||
}
|
||||
if(channelVal){
|
||||
params = params + "&channelVal=" + channelVal;
|
||||
}
|
||||
var url = "/wap/merchant/tradePay";
|
||||
var xhr = new XMLHttpRequest();//创建请求对象
|
||||
xhr.open("POST", url, true);//链接服务器
|
||||
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
||||
xhr.onreadystatechange = function () {
|
||||
if (xhr.readyState === 4) {//请求已完成,且响应已就绪
|
||||
shape.style.display = "none";
|
||||
loading.style.display = "none";
|
||||
if (xhr.status === 200) {//请求成功
|
||||
var resultStr = xhr.responseText//获取结果
|
||||
var resultObj = JSON.parse(resultStr);//解析数据
|
||||
if (resultObj.code == 200) {
|
||||
var rdata = resultObj.data;
|
||||
if("WXZF" == payType){
|
||||
WeixinJSBridge.invoke('getBrandWCPayRequest', {
|
||||
// 商品名称
|
||||
"appId" : rdata.payAppId,
|
||||
"timeStamp" : rdata.payTimeStamp,
|
||||
"nonceStr" : rdata.paynonceStr,
|
||||
"package" : rdata.payPackage,
|
||||
"signType" : rdata.paySignType,
|
||||
"paySign" : rdata.paySign,
|
||||
}, function(res) {
|
||||
if (res.err_msg == "get_brand_wcpay_request:ok" || res.err_msg == "stopMonitoringBeacons:ok") {
|
||||
//成功之后跳转地址
|
||||
window.location = '/wap/merchant/jumpUrl?orderNumber='+rdata.orderNumber;
|
||||
} else {
|
||||
cancelPay(rdata.orderNumber);
|
||||
alert("支付失败");
|
||||
}
|
||||
})
|
||||
}else if("ZFBZF" == payType){
|
||||
var reg=/^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+).)+([A-Za-z0-9-~\/])+$/;
|
||||
if(reg.test(rdata.source)){
|
||||
window.location = rdata.source;
|
||||
}else{
|
||||
ap.tradePay({
|
||||
tradeNO : rdata.source
|
||||
}, function(res) {
|
||||
if (res.resultCode == '9000') {
|
||||
window.location = '/wap/merchant/jumpUrl?orderNumber='+rdata.orderNumber; //订单支付成功
|
||||
} else if (res.resultCode == '8000') {
|
||||
} else if (res.resultCode == '4000') {
|
||||
cancelPay(rdata.orderNumber);
|
||||
ap.alert("订单支付失败");
|
||||
} else if (res.resultCode == '6001' || res.resultCode == '99') {
|
||||
cancelPay(rdata.orderNumber);
|
||||
} else if (res.resultCode == '6002') {
|
||||
cancelPay(rdata.orderNumber);
|
||||
ap.alert("网络连接出错");
|
||||
}
|
||||
});
|
||||
}
|
||||
}else{
|
||||
window.location = rdata.redirectUrl;
|
||||
}
|
||||
} else {
|
||||
alert(resultObj.message);
|
||||
}
|
||||
}
|
||||
else {
|
||||
alert("错误码 : " + xhr.status);
|
||||
}
|
||||
}
|
||||
}
|
||||
xhr.send(params);//发送请求
|
||||
}
|
||||
function cancelPay(orderNumber) {
|
||||
var url = "/wap/merchant/cancelPay/"+orderNumber;
|
||||
var xhr = new XMLHttpRequest();//创建请求对象
|
||||
xhr.open("GET", url, true);//链接服务器
|
||||
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
||||
xhr.onreadystatechange = function () {
|
||||
}
|
||||
xhr.send();//发送请求
|
||||
}
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
(function (doc, win) {
|
||||
var docEl = doc.documentElement,
|
||||
resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
|
||||
recalc = function () {
|
||||
var clientWidth = docEl.clientWidth;
|
||||
if (!clientWidth) return;
|
||||
docEl.style.fontSize = 20 * (clientWidth / 320) + 'px';//其中“20”根据你设置的html的font-size属性值做适当的变化
|
||||
};
|
||||
|
||||
if (!doc.addEventListener) return;
|
||||
win.addEventListener(resizeEvt, recalc, false);
|
||||
doc.addEventListener('DOMContentLoaded', recalc, false);
|
||||
})(document, window);
|
||||
</script>
|
||||
</html>
|
||||
484
pluss-wap-page/src/main/resources/templates/th_pay_test.html
Normal file
484
pluss-wap-page/src/main/resources/templates/th_pay_test.html
Normal file
@@ -0,0 +1,484 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" xmlns:th="http://www.thymeleaf.org">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
|
||||
<meta content="yes" name="apple-mobile-web-app-capable">
|
||||
<meta content="black" name="apple-mobile-web-app-status-bar-style">
|
||||
<meta content="telephone=no" name="format-detection">
|
||||
<meta content="email=no" name="format-detection">
|
||||
<!-- <link rel="stylesheet" href="https://act.weixin.qq.com/static/cdn/css/wepayui/0.1.1/wepayui.min.css">-->
|
||||
<script src="https://www.shouyinbei.net/resources/js/alipayjsapi.min3.1.1.js"></script>
|
||||
<title>向商户付款</title>
|
||||
<style>
|
||||
* {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
html,body{
|
||||
width:100%;
|
||||
height:100%;
|
||||
margin:0 auto;
|
||||
padding:0px;
|
||||
background-color:#EFEFF4;
|
||||
}
|
||||
.payinfo{
|
||||
display: block;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
height: 13rem;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
transition: .4s;
|
||||
}
|
||||
table{
|
||||
width:100%;
|
||||
height: 91%;
|
||||
bottom: 0;
|
||||
background-color:white;
|
||||
}
|
||||
table tr{
|
||||
height: 25%;
|
||||
}
|
||||
table tr td{
|
||||
text-align:center;
|
||||
width:24.9999999%;
|
||||
border-right:1px solid #D9D9D9;
|
||||
border-bottom:1px solid #D9D9D9;
|
||||
}
|
||||
table tr td:active{
|
||||
background-color:#ECECEC;
|
||||
}
|
||||
.keybord-return,.keybord-stop{
|
||||
width:30px;
|
||||
height:30px;
|
||||
margin:0px auto;
|
||||
color:white;
|
||||
}
|
||||
.keybord-return{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAALpQTFRFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqyRq8wAAAD10Uk5TAAM/gJ+efz5Q2ddPAouKAZZ8nP0vrfcLN03+GcxYu9gSGkCBndobPbe8+QonMuCH7xOIW0fNtCwra4NgHN+ehK8AAAABYktHRACIBR1IAAAACXBIWXMAAABIAAAASABGyWs+AAAB4UlEQVR42u3c51LCQBiF4Y2IgDQVRcWCvffe9v5vS2FGhSH5kTLzney8zxWcd3ZD+BXnAAAAAAAAAAAAgFSiucp8daEWWe/Iq97wY4tN6yW5tNr+T6drvSa77pKfsGw9J7PWymSH761aDyqmw/s160XZTN+rkf669aYsZs7jx4b1qII6/Kb1qvRm79VIzXpWarHn4Qdb1ruK6fDb1rvSir9X3u9YD0sp4Tz8bst6WTEdwz3rZekk3avGvvUyOuiwR4cWOrTQoYUOLXRooUMLHVro0EKHFjq00KGFDi10aKFDCx1a6NBChxY6tNChhQ4tdIhpx3cMy9ZRD6QjaoTR4Q7CeD6cOwzjPJyrhnEezh3FhByfWK/KoBLK1TqNfdhLeCbRMJCfX9cM5IXoXCeUkqQ/jeV7TijRQ4keSvRQoocSPZTooUQPJXoo0UOJHkr0UKKHEj2U6KFEDyV6KNFDiR5K9FCihxI9lOgJpySUD04ml5yV7jPlSberfN8tTjiTc+tdRZVcXFrvSi/+dl1Zz8og9kyurVcVVVK6b2KPzd6uG+tJGc2cya31ooJK7u6tB2U2dbt65Xsf/ms9DH47+o/WY/J5eh5nDF5erZfk9vb+Ufn8sl4BAAAAAAAAAAAAY9/5YLt8mhkMlgAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMC0wNy0wNFQxNTowMjo0OSswODowMMIgQKAAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjAtMDctMDRUMTU6MDI6NDkrMDg6MDCzffgcAAAAR3RFWHRzdmc6YmFzZS11cmkAZmlsZTovLy9ob21lL2FkbWluL2ljb24tZm9udC90bXAvaWNvbl91ZmVhaXVpd2lrZy9iYWNrLnN2Z4Ft+LMAAAAASUVORK5CYII=); background-size:100% 90%; }
|
||||
.keybord-stop{background-image:url(data:image/png;base64,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); background-size:100% 100%;}
|
||||
.pay{
|
||||
color:#ffffff;
|
||||
font-size:120%;
|
||||
background-color:#df6051;
|
||||
}
|
||||
.pay:active{
|
||||
/*background-color: #df6051;*/
|
||||
background-color: rgba(223,96,81,0.7);
|
||||
}
|
||||
.shouyin{
|
||||
text-align: center;
|
||||
color: #9b9b9b;
|
||||
font-size: 13px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.logo{
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAD70lEQVRoQ9VaTYgURxT+Xm8w7PQs6CFgXDCXEAKeFHKLRKMo6HoSc0qmqlfxICSn/KCXmIMuiZ4UBEG3q+aokItKiGSTDZ5CIHtK9LAXhRVJDoZs9ywR7CfVuzPMzM5sV/X0MNt92Z7q9773vu2qej/VhIKuSIgDBO8AgEkCTybApLlfg1/ygCUGLSH9m8xVtZ4rwjQNAhLXgikQjgE8BWCHI9ZTgO6Cccevh3cddVvizgT4zJnqSqMRMFMA8O68hjv1aIGIw/FKJaRr1yIXTGsCkZTbx5iChJNpEL3tYsRalnnRI2/2JXFYVeqZjZ4VgVjK95hRJ+BdG9BBZRh4RISar9TvWViZBFZq0/sTSn7OAhrGc4+9D8frs79shL0hgUiIgECzw3DOFpPB01Wtw37yfQlEQnxJoG9tDQ1TjsFfVbX+rpeNngRiIU4CdGOYTrlj8ylf65vdeusIxEIcTffnTXnxlK/1vXbXOgiYrZKYHwBD2iYH/qfwIhPtbd9iOwisiOBsAr44sJ0hAnigc+M6nGmaaBEwEbYRxQtDC1JFkWJerFT93c2I3SLQkPJTZlwpys4wcYjwWUWpq8ZGi0Asgj9cchsC5l8yfi3C0THCBwzss8eiBV+He1oEIiEOEehHewAgYXwzUVfnXXT6yS7X5HmP8LULFoMPV7W+n76BhhCXGPS5C8Bo34CZOny5ovUXKYFYyMcAdroScJHPknWbQinaE1+rt6jxyfT77CUPsgx0BY/5ilb7XXSyZGMh/wewJUuuw4/E20uxCC4CfNZJkXC8otT3LjpZsrGUF8A4lyXX+ZxmDAENcM1F0dcqMw13wUun8cen38TYi6duelSnhpA/MWCKcdvrpq/VKVthF7lYSJODHbXVIWCOIiEfulRaDD5YVEeh29HVJgHfsSWQVm6RkP8RMGGr9IKwbZtS/7bLLwfBG+b3RBj+M8j4cym3bmE8t/WFgWVnAuDkiF+v/9DhqAlESH4bdLwh5Qlm3HIl4DSFDDgRPqooddvctxstatyBwKM8i7iJ/+faza4ug0WNZ/JIF3GebdQgJ4Q0kHmMDbsGWV4MhkP1XIHMOGViwbKU+4ogMKHUfCwkZ5Fd/5xmcqUSm4UAmVQijYI5krlN8AZWk7l0J8mRTo+aQEc6naegGTWBjoJmdRq5lZSjJdBVUq4FJKei/jWPdr0ehn+57xzrNUwq4iX8ty1Wz6I+R1vlfkJo9WdsjfeSI8Z1At6xwujXVjHKpW5sGQKlby2uLuYSN3ebc7DU7fUmiVIfcLSRKO8RU5NEqQ/5WmuizMesrelU5oPu9ghZ2k8NeoX5Un7s0S9fGdXnNq8Aors/k02FsxcAAAAASUVORK5CYII=);background-size:100% 100%;
|
||||
width: 2.1875rem;
|
||||
height: 2.1875rem;
|
||||
}
|
||||
.icon{
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAC7UlEQVRYR72WTWgTURDH/7ObJi1YENFT4kVtD/YgSMFaaOrbpfYgeElaURA8CIKKIAhCQYyCIAiC0KLgodBDwUqhiODB8N42RfFQEYoVBUGRCiKioPUjNbsjK4mk2ySbTTe+687O7/dm3hehiSOXy+20bXuEiAQzTwkhznpx1Cx+ET4FoKuMMSaEOF3ObIpAFfhfruM4l0zTzJQkmiIwNze3y7btKWbuXFNyoh/RaHRzb2/vT/db6AKWZd1h5tsAlgHcBZDwSHxLJBJbOjo68qELSCkniegwgC8A9gPYQETTzLypJNG0FkgpJ4joaNlsX2qadpCIttm2PQOglZlvGoZxMvRFqJQaB3DM229mzsVisaF8Pr8XwCHDMI6Evg2VUm6/j1fbzkR0Lx6PD5d6HqqAUuoWgBM+Z8n07OzscCaTcSrFNbwLlFKjAE75wGfa29uHu7u7f1etUCMnoWVZN5j5jM+/9wEMCSF+1YoLXAEp5XUiWnOmeyAPVlZWhgYHB7/7TTCQgFLqGoBzPkkftrW1pXt6er76wQMdREqpqwDO1ywnkdR1Pd3X1+ceRHWNuiogpbxCRCO1Mrp7nohSQohPdZGLQb4CUsrLRHTBJ+kjAGkhxIcg8JotyGazndFoNOLeap473ct44jhO2jTN90HhNQUsy3JX+pKmaYs1JOYLhUJqYGDgXSPwmgJKqSwAk5kPRCKRtxUknmmalurv73/TKLyqQPFFs1hK7DjOnpaWluWSBBEtMLO74F6vB15VQCl1EcC/Z5MbGIlEtjNza/GlkzIM49V64VUFpJRPiWi3F1AoFDbGYrF4Mpl8EQa8ooC3/EXQvOM4E5qmjQsh3KdWaGPNOVBefiKatG17zDTNx6ERPYkqCTwHMCqEcO/6po9VAm75w+xvPfarBJRS7hN6Rz0/BonRdf1jtYl5BThI4iCxuq53VZL4bwIAtgohlrzSlRbhviAzqydW1/XPyWRyoVKs73VcD2A9MX8AVWwjMF0q1kMAAAAASUVORK5CYII=);background-size:100% 100%;
|
||||
width: .9375rem;
|
||||
height: .9375rem;
|
||||
}
|
||||
.body{
|
||||
padding: 2rem 1rem;
|
||||
}
|
||||
.store-info{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.name{
|
||||
margin-left: .5rem;
|
||||
}
|
||||
.main-amt{
|
||||
height: 3rem;
|
||||
padding: 1.2rem 0 0 0;
|
||||
}
|
||||
.amt-content {
|
||||
display: flex;
|
||||
background: #fff;
|
||||
padding: .5rem 1rem;
|
||||
border-radius: 4px;
|
||||
height: 2.5rem;
|
||||
font-size: 1.125rem;
|
||||
}
|
||||
.input-label {
|
||||
flex: 1;
|
||||
line-height: 2.5rem;
|
||||
}
|
||||
.input-box {
|
||||
line-height: 2.5rem;
|
||||
font-size: 1.5625rem;
|
||||
color: #777;
|
||||
}
|
||||
.gb {
|
||||
display: inline-block;
|
||||
width: 2px;
|
||||
height: 1.875rem;
|
||||
margin-top: -6px;
|
||||
background: #df6051;
|
||||
vertical-align: middle;
|
||||
animation: gb 1.3s infinite;
|
||||
}
|
||||
.money-input {
|
||||
font-weight: bold;
|
||||
color: #df6051;
|
||||
}
|
||||
@keyframes gb {
|
||||
from {
|
||||
opacity: 1;
|
||||
} to {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
.remark-info{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 13px;
|
||||
color: #9e9e9e;
|
||||
}
|
||||
.set-remark{
|
||||
margin-left: 5px;
|
||||
}
|
||||
.main-title{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.shade{
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgba(0,0,0,.1);
|
||||
z-index: 1002;
|
||||
overflow: auto;
|
||||
}
|
||||
.dialog{
|
||||
z-index: 8888;
|
||||
height: 13rem;
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
display: none;
|
||||
}
|
||||
.dialog-content{
|
||||
background: #fff;
|
||||
height: 11rem;
|
||||
border-radius: 10px;
|
||||
padding: 10px 20px;
|
||||
margin: 0 auto;
|
||||
width: 60%;
|
||||
}
|
||||
.btns{
|
||||
padding: 0 0 0 5%;
|
||||
}
|
||||
.btn-cancel{
|
||||
width: 45%;
|
||||
height: 1.8rem;
|
||||
border-radius: 20px;
|
||||
border: none;
|
||||
}
|
||||
.btn-submit{
|
||||
width: 45%;
|
||||
height: 1.8rem;
|
||||
border-radius: 20px;
|
||||
border: none;
|
||||
background-color: #df6051;
|
||||
color: #fff;
|
||||
}
|
||||
.remark-text{
|
||||
border: 1px solid #e4e0e0;
|
||||
height: 6rem;
|
||||
width: 100%;
|
||||
}
|
||||
.remark-body{
|
||||
margin-top: 15px;
|
||||
}
|
||||
.loading{
|
||||
z-index: 10000;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
display: none;
|
||||
margin: 40px 0;
|
||||
}
|
||||
.loading-body{
|
||||
width: 30%;
|
||||
text-align: center;
|
||||
margin: 0 auto;
|
||||
padding: .4rem 0;
|
||||
background-color: #fff;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.loading-icon{
|
||||
background-image: url(data:image/gif;base64,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);background-size:100% 100%;
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
margin: 10px auto;
|
||||
}
|
||||
.dialog-confirm{
|
||||
height:5rem;
|
||||
}
|
||||
.dialog-body{
|
||||
text-align: center;
|
||||
padding: 10px 0;
|
||||
font-size: 17px;
|
||||
}
|
||||
.confirm-btn-div{
|
||||
height: 1.5rem;
|
||||
margin-top: 10px;
|
||||
}
|
||||
.confirm-btn{
|
||||
height: 100%;
|
||||
border-radius: 20px;
|
||||
border: none;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="body">
|
||||
<div class="main-title">
|
||||
<div class="store-info">
|
||||
<div class="logo"></div>
|
||||
<div class="name" th:text="测试门店"></div>
|
||||
</div>
|
||||
<div class="remark-info">
|
||||
<div class="icon"></div>
|
||||
<div class="set-remark" onclick="showRemarkDialog()">设置备注</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-amt">
|
||||
<div class="amt-content" onclick="showInput()">
|
||||
<div class="input-label">金额</div>
|
||||
<div class="input-box">¥ <span class="money-input" name="comsumeMoney" id="comsumeMoney"></span> <span class="gb"></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="payinfo" id="payinfo">
|
||||
<div class="shouyin" onclick="showInput()">
|
||||
<p>收 银 就 用 收 银 呗</p>
|
||||
</div>
|
||||
<table cellspacing="0" cellpadding="0" id="table1">
|
||||
<tr>
|
||||
<td class="paynum" onclick="inputAmt(1)">1</td>
|
||||
<td class="paynum" onclick="inputAmt(2)">2</td>
|
||||
<td class="paynum" onclick="inputAmt(3)">3</td>
|
||||
<td id="pay-return" onclick="inputAmt('del')"><div class="keybord-return"></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paynum" onclick="inputAmt(4)">4</td>
|
||||
<td class="paynum" onclick="inputAmt(5)">5</td>
|
||||
<td class="paynum" onclick="inputAmt(6)">6</td>
|
||||
<td rowspan="3" class="pay" id="pay">支付</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paynum" onclick="inputAmt(7)">7</td>
|
||||
<td class="paynum" onclick="inputAmt(8)">8</td>
|
||||
<td class="paynum" onclick="inputAmt(9)">9</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td id="pay-stop" onclick="hideInput()"><div class="keybord-stop"></div></td>
|
||||
<td id="pay-zero" onclick="inputAmt(0)">0</td>
|
||||
<td id="pay-float" onclick="inputAmt('.')">.</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id='shade' class="shade"></div>
|
||||
|
||||
<div class="dialog" id="dialogConfirm">
|
||||
<div class="dialog-content dialog-confirm">
|
||||
<div class="remark-body">
|
||||
<div class="dialog-body">确认支付吗?</div>
|
||||
</div>
|
||||
<div class="btns confirm-btn-div">
|
||||
<button class="btn-cancel confirm-btn" onclick="confirmDialog('none','cancel')">取消</button>
|
||||
<button class="btn-submit confirm-btn" onclick="confirmDialog('none','submit')">确定</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="dialog" id="dialog">
|
||||
<div class="dialog-content">
|
||||
<div class="label">设置备注</div>
|
||||
<div class="remark-body">
|
||||
<textarea id="remark" class="remark-text"></textarea>
|
||||
</div>
|
||||
<div class="btns">
|
||||
<button class="btn-cancel" onclick="hideRemarkDialog('cancel')">取消</button>
|
||||
<button class="btn-submit" onclick="hideRemarkDialog('submit')">确定</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="loading" id="loading">
|
||||
<div class="loading-body">
|
||||
<div class="loading-icon">
|
||||
</div>
|
||||
<div class="loading-msg">
|
||||
支付中...
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<script>
|
||||
function inputAmt(o){
|
||||
var dom = document.getElementById('comsumeMoney');
|
||||
var txt = dom.innerText;
|
||||
if(!txt){
|
||||
if(o === 'del' || o === '.'){
|
||||
return;
|
||||
}
|
||||
}
|
||||
if(o === '.' && txt.indexOf(".") > 0){
|
||||
return;
|
||||
}
|
||||
if(o === 'del'){
|
||||
txt = txt.slice(0,-1);
|
||||
dom.innerText = txt
|
||||
return;
|
||||
}
|
||||
if(txt.indexOf(".") > 0 ){
|
||||
var v = txt.split(".")[1];
|
||||
if(v && v.length > 1){
|
||||
return;
|
||||
}
|
||||
}else{
|
||||
if(txt.indexOf("0") == 0 && o !== '.'){
|
||||
return;
|
||||
}
|
||||
}
|
||||
txt = txt === "" ? o : txt + "" + o;
|
||||
let max = 99999;
|
||||
if(parseFloat(txt) > max){
|
||||
return;
|
||||
}
|
||||
dom.innerText = txt;
|
||||
}
|
||||
function hideInput(){
|
||||
var dom = document.getElementById('payinfo');
|
||||
dom.style.height = '20px'
|
||||
}
|
||||
function showInput(){
|
||||
var dom = document.getElementById('payinfo');
|
||||
dom.style.height = '13rem'
|
||||
}
|
||||
function showRemarkDialog(){
|
||||
var shape = document.getElementById('shade');
|
||||
var dialog = document.getElementById('dialog');
|
||||
shape.style.display = 'block';
|
||||
dialog.style.display = 'block';
|
||||
}
|
||||
|
||||
function hideRemarkDialog(t){
|
||||
var shape = document.getElementById('shade');
|
||||
var dialog = document.getElementById('dialog');
|
||||
shape.style.display = 'none';
|
||||
dialog.style.display = 'none';
|
||||
if(t === 'cancel'){
|
||||
document.getElementById('remark').value = "";
|
||||
}
|
||||
}
|
||||
|
||||
function confirmDialog(type,op){
|
||||
var shape = document.getElementById('shade');
|
||||
var dialogConfirm = document.getElementById('dialogConfirm');
|
||||
shape.style.display = type;
|
||||
dialogConfirm.style.display = type;
|
||||
if(op && op == "submit"){
|
||||
tradePayTest();
|
||||
}
|
||||
if(op && op == "cancel"){
|
||||
tradePayCancelTest();
|
||||
}
|
||||
|
||||
}
|
||||
document.getElementById("pay").onclick = ()=>{
|
||||
let comsumeMoney = document.getElementById('comsumeMoney').innerText;
|
||||
if(comsumeMoney == undefined || comsumeMoney == '' || comsumeMoney == null){
|
||||
return;
|
||||
}
|
||||
confirmDialog("block");
|
||||
}
|
||||
|
||||
function showLoading(type){
|
||||
var shape = document.getElementById('shade');
|
||||
var loading = document.getElementById('loading');
|
||||
shape.style.display = type;
|
||||
loading.style.display = type;
|
||||
}
|
||||
function tradePayTest(){
|
||||
confirmDialog("none");
|
||||
showLoading('block');
|
||||
let comsumeMoney = document.getElementById('comsumeMoney').innerText;
|
||||
let params = "comsumeMoney="+comsumeMoney;
|
||||
var url = "/wap/merchant/tradePayTest";
|
||||
var xhr = new XMLHttpRequest();//创建请求对象
|
||||
xhr.open("POST", url, true);//链接服务器
|
||||
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
||||
xhr.onreadystatechange = function () {
|
||||
if (xhr.readyState === 4) {//请求已完成,且响应已就绪
|
||||
showLoading('none');
|
||||
if (xhr.status === 200) {//请求成功
|
||||
var resultStr = xhr.responseText//获取结果
|
||||
var resultObj = JSON.parse(resultStr);//解析数据
|
||||
if (resultObj.code == 200) {
|
||||
alert(resultObj.data);
|
||||
setTimeout(function (){
|
||||
window.location = '/wap/merchant/jumpUrlTest';
|
||||
},2000)
|
||||
} else {
|
||||
alert(resultObj.message);
|
||||
}
|
||||
}
|
||||
else {
|
||||
alert("错误码 : " + xhr.status);
|
||||
}
|
||||
}
|
||||
}
|
||||
xhr.send(params);//发送请求
|
||||
}
|
||||
function tradePayCancelTest() {
|
||||
let comsumeMoney = document.getElementById('comsumeMoney').innerText;
|
||||
var url = "/wap/merchant/cancelPayTest/"+comsumeMoney;
|
||||
var xhr = new XMLHttpRequest();//创建请求对象
|
||||
xhr.open("GET", url, true);//链接服务器
|
||||
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
||||
xhr.onreadystatechange = function () {
|
||||
if (xhr.readyState === 4) {//请求已完成,且响应已就绪
|
||||
if (xhr.status === 200) {//请求成功
|
||||
var resultStr = xhr.responseText//获取结果
|
||||
var resultObj = JSON.parse(resultStr);//解析数据
|
||||
if (resultObj.code == 200) {
|
||||
alert(resultObj.data);
|
||||
} else {
|
||||
alert(resultObj.message);
|
||||
}
|
||||
}
|
||||
else {
|
||||
alert("错误码 : " + xhr.status);
|
||||
}
|
||||
}
|
||||
}
|
||||
xhr.send();//发送请求
|
||||
}
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
(function (doc, win) {
|
||||
var docEl = doc.documentElement,
|
||||
resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
|
||||
recalc = function () {
|
||||
var clientWidth = docEl.clientWidth;
|
||||
if (!clientWidth) return;
|
||||
docEl.style.fontSize = 20 * (clientWidth / 320) + 'px';//其中“20”根据你设置的html的font-size属性值做适当的变化
|
||||
};
|
||||
|
||||
if (!doc.addEventListener) return;
|
||||
win.addEventListener(resizeEvt, recalc, false);
|
||||
doc.addEventListener('DOMContentLoaded', recalc, false);
|
||||
})(document, window);
|
||||
</script>
|
||||
</html>
|
||||
254
pluss-wap-page/src/main/resources/templates/user/th_agent.html
Normal file
254
pluss-wap-page/src/main/resources/templates/user/th_agent.html
Normal file
@@ -0,0 +1,254 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" xmlns:th="http://www.thymeleaf.org">
|
||||
<head>
|
||||
<title>新增代理</title>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0,user-scalable=no">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
||||
<meta name="apple-mobile-web-app-title" content="">
|
||||
<meta name="HandheldFriendly" content="true">
|
||||
<meta name="format-detection" content="telephone=no">
|
||||
<link rel="stylesheet" href="/wap/resources/css/weui.css">
|
||||
<link rel="stylesheet" href="/wap/resources/css/weuix.css">
|
||||
<style>
|
||||
body{
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
.main{
|
||||
color: #333;
|
||||
padding: 0 10px 20px 10px;
|
||||
background-color: #fff;
|
||||
margin: 0 10px;
|
||||
border-radius:5px;
|
||||
}
|
||||
.kaptcha{
|
||||
width: 80px;
|
||||
height: 32px;
|
||||
}
|
||||
/*.weui-cells_form{*/
|
||||
/* height: 1.5rem;*/
|
||||
/* line-height: normal;*/
|
||||
/*}*/
|
||||
.weui-toast weui_loading_toast weui-toast--visible{
|
||||
padding: 10px 0;
|
||||
}
|
||||
.weui-icon_toast{
|
||||
margin: 20px 0 0;
|
||||
}
|
||||
.weui-icon_toast.weui-loading{
|
||||
margin: 15px 0 0 0;
|
||||
}
|
||||
.weui-cells_form_btn{
|
||||
width: 80%;
|
||||
margin: 0.8rem auto 0 auto;
|
||||
}
|
||||
.weui-btn_plain-primary{
|
||||
box-sizing: border-box;
|
||||
border: 1px solid #FF586A;
|
||||
color: #FF586A;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<input type="hidden" id="token" name="token" th:value="${token}">
|
||||
<input type="hidden" id="uid" name="uid" th:value="${uid}">
|
||||
<div class="main">
|
||||
<div class="weui-cells weui-cells_form bdbe" style="margin-top:10px;">
|
||||
<div class="weui-cell weui-cell_warn">
|
||||
<div class="weui-cell__hd"><span class="icon icon-90 f24"></span></div>
|
||||
<div class="weui-cell__bd">
|
||||
<input class="weui-input tleft pl10" id="phone" type="number" pattern="[0-9]*" value="weui input error" th:autocomplete="off" placeholder="注册手机号">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="weui-cells weui-cells_form bdbe">
|
||||
<div class="weui-cell weui-cell_warn">
|
||||
<div class="weui-cell__hd"><span class="icon icon-71 f24"></span></div>
|
||||
<div class="weui-cell__bd">
|
||||
<input class="weui-input tleft pl10" id="validateCode" type="text" maxlength="4" value="" placeholder="图形验证码">
|
||||
</div>
|
||||
<div class="weui-cell__bd tright">
|
||||
<img src="/wap/kaptcha/get" onclick="refreshKaptcha(this)" th:autocomplete="off" class="kaptcha dlblock white f12" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="weui-cells weui-cells_form bdbe">
|
||||
<div class="weui-cell weui-cell_warn">
|
||||
<div class="weui-cell__hd"><span class="icon icon-71 f24"></span></div>
|
||||
<div class="weui-cell__bd">
|
||||
<input class="weui-input tleft pl10" id="phoneverify" type="number" th:autocomplete="off" pattern="[0-9]*" value="weui input error" placeholder="验证码">
|
||||
</div>
|
||||
<div class="weui-cell__bd tright">
|
||||
<a href="javascript:void(0);" onclick="verification()" id="obtain" th:autocomplete="off" class="weui-btn_primary radius5 pt10 pb10 pl10 pr10 dlblock white f12">获取验证码</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="weui-cells weui-cells_form bdbe">
|
||||
<div class="weui-cell weui-cell_warn">
|
||||
<div class="weui-cell__hd"><span class="icon icon-31 f24"></span></div>
|
||||
<div class="weui-cell__bd">
|
||||
<input class="weui-input tleft pl10" type="password" id="password" th:autocomplete="off" maxlength="20" placeholder="6~20位登录密码">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="weui-cells weui-cells_form bdbe">
|
||||
<div class="weui-cell weui-cell_warn">
|
||||
<div class="weui-cell__hd"><span class="icon icon-31 f24"></span></div>
|
||||
<div class="weui-cell__bd pl10">
|
||||
<input class="weui-input tleft" type="password" id="againPassword" th:autocomplete="off" maxlength="20" placeholder="确认登录密码"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="weui-cells weui-cells_form">
|
||||
<div class="weui-cell weui-cell_warn">
|
||||
<div class="weui-cell__hd"><span class="icon icon-97 f24"></span></div>
|
||||
<div class="weui-cell__bd pl10">
|
||||
<input class="weui-input tleft" type="text" id="userNo" maxlength="50" th:autocomplete="off" onkeyup="value=value.replace(/[\u4e00-\u9fa5]/ig,'')" placeholder="用户编号(可选,例如:A1)"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="weui-cells_form_btn">
|
||||
<a href="javascript:;" class="weui-btn weui-btn_plain-primary" onclick="submitSave()">提交</a>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="/wap/resources/js/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="/wap/resources/js/zepto.min.js"></script>
|
||||
<script type="text/javascript" src="/wap/resources/js/zepto.weui.js"></script>
|
||||
<script type="text/javascript" src="/wap/resources/js/common/h5.js"></script>
|
||||
<script>
|
||||
function verification() {
|
||||
var phoneReg = /(^1[3|4|5|6|7|8|9]\d{9}$)|(^09\d{8}$)/;
|
||||
var phone=$.trim($("#phone").val());
|
||||
if (!phoneReg.test(phone)) {
|
||||
$.alert("请输入正确的手机号","系统提示");
|
||||
return;
|
||||
}
|
||||
var validateCode = $.trim($("#validateCode").val());
|
||||
if(!validateCode){
|
||||
$.alert("请输入图形验证码","系统提示");
|
||||
return;
|
||||
}
|
||||
var href = 'javascript:void(0); onclick=verification()';
|
||||
var _this = $("#obtain");
|
||||
_this.removeAttr("href");
|
||||
$.showLoading("获取中...");
|
||||
$.ajax({
|
||||
url:'/wap/vip/getPhoneCode',
|
||||
data:{
|
||||
"phone":phone,
|
||||
"validateCode" : validateCode
|
||||
},
|
||||
dataType:"json",
|
||||
type:"post",
|
||||
success:function(data){
|
||||
//成功
|
||||
$.hideLoading();
|
||||
if(data.code=='1'){
|
||||
$.toast("短信验证码已发送至您的手机,请查收","text");
|
||||
var sec = 60;
|
||||
var timer = window.setInterval(function() {
|
||||
sec--;
|
||||
if (sec > 0) {
|
||||
_this.text(sec + "秒重新发送!");
|
||||
} else {
|
||||
// 去掉定时器
|
||||
window.clearInterval(timer);
|
||||
_this.text("获取验证码");
|
||||
_this.attr("href","javascript:void(0); onclick=verification()");
|
||||
}
|
||||
}, 1000);
|
||||
}else if(data.code=='0'){
|
||||
$.alert("获取验证码失败,请稍后再试","系统提示");
|
||||
_this.text("获取验证码");
|
||||
_this.attr("href",href);
|
||||
}else if(data.code=='2'){
|
||||
//系统错误
|
||||
$.alert("系统繁忙!","系统提示");
|
||||
_this.text("获取验证码");
|
||||
_this.attr("href",href);
|
||||
}else if(data.code=='3'){
|
||||
$.alert("手机号已被注册!","系统提示");
|
||||
_this.text("获取验证码");
|
||||
_this.attr("href",href);
|
||||
}else{
|
||||
$.alert(data.msg,"系统提示");
|
||||
_this.text("获取验证码");
|
||||
_this.attr("href",href);
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
function refreshKaptcha(obj){
|
||||
let url = $(obj).attr("src");
|
||||
let time = new Date().getTime();
|
||||
if(url.indexOf("?") > 0){
|
||||
url = url.split("?")[0]
|
||||
}
|
||||
$(obj).attr("src",url+"?t="+ time);
|
||||
}
|
||||
|
||||
function submitSave(){
|
||||
let phone = $("#phone").val();
|
||||
// let validateCode = $("#validateCode").val();
|
||||
let phoneverify = $("#phoneverify").val();
|
||||
let password = $("#password").val();
|
||||
let againPassword = $("#againPassword").val();
|
||||
let userNo = $("#userNo").val();
|
||||
let uid = $("#uid").val();
|
||||
|
||||
if (!phone) {
|
||||
$.alert("注册手机号不能为空!","系统提示");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!phoneverify) {
|
||||
$.alert("验证码不能为空!","系统提示");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!password || !againPassword) {
|
||||
$.alert("登录密码不能为空","系统提示");
|
||||
return;
|
||||
}
|
||||
|
||||
if (password.length < 6 || password.length > 20) {
|
||||
$.alert("密码长度6到20位!","系统提示");
|
||||
return;
|
||||
}
|
||||
|
||||
if(password != againPassword){
|
||||
$.alert("两次的密码必须相同!","系统提示");
|
||||
return;
|
||||
}
|
||||
$.showLoading("提交中...")
|
||||
$.ajax({
|
||||
url:'/wap/user/agent/save',
|
||||
data:{
|
||||
"phone":phone,
|
||||
"phoneverify":phoneverify,
|
||||
"password":password,
|
||||
"userNo":userNo,
|
||||
"userId":uid,
|
||||
},
|
||||
dataType:"json",
|
||||
type:"post",
|
||||
success:function(res){
|
||||
$.hideLoading();
|
||||
if(res.code == '200'){
|
||||
window.location.href = "/wap/merchant/registerSuccess";
|
||||
}else{
|
||||
$.alert(res.message,"系统提示");
|
||||
}
|
||||
},
|
||||
error:function(res){
|
||||
$.hideLoading();
|
||||
$.alert("系统繁忙,请稍后再试","系统提示");
|
||||
},
|
||||
})
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,137 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" xmlns:th="http://www.thymeleaf.org">
|
||||
<head>
|
||||
<title>直属代理列表</title>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0,user-scalable=no">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
||||
<meta name="apple-mobile-web-app-title" content="">
|
||||
<meta name="HandheldFriendly" content="true">
|
||||
<meta name="format-detection" content="telephone=no">
|
||||
<link rel="stylesheet" href="/wap/resources/css/weui/weui.min.css">
|
||||
<link rel="stylesheet" href="/wap/resources/css/weui/jquery-weui.min.css">
|
||||
<!-- <script type="text/javascript" src="/wap/resources/js/common/h5.js"></script>-->
|
||||
<style>
|
||||
body{
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
.container{
|
||||
background-color: #f7f7f7;
|
||||
width: 100%;
|
||||
height:100%;
|
||||
position: absolute;
|
||||
padding:0px;
|
||||
overflow: hidden;
|
||||
color: #000;
|
||||
}
|
||||
.records-list{
|
||||
height:100%;overflow:auto; z-index: 1;
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
.weui-form-preview{
|
||||
margin: 10px 0 0 0;
|
||||
}
|
||||
.br{
|
||||
border-bottom: 1px solid #dcdbdbb8;
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<input type="hidden" id="token" th:value="${token}">
|
||||
<div class="container">
|
||||
<div class="list-main-mian infinite weui-pull-to-refresh records-list" id="listwrap">
|
||||
<!--下拉刷新-->
|
||||
<div class="weui-pull-to-refresh__layer" style="padding: 5px;">
|
||||
<div class="weui-pull-to-refresh__arrow"></div>
|
||||
<div class="weui-pull-to-refresh__preloader"></div>
|
||||
<div class="down">下拉刷新</div>
|
||||
<div class="up">释放刷新</div>
|
||||
<div class="refresh">正在刷新</div>
|
||||
</div>
|
||||
<div class="weui-form-preview" id="Tolist">
|
||||
<!--内容展示区域-->
|
||||
</div>
|
||||
<div class="weui-loadmore" style="padding-bottom:30px;height:20px">
|
||||
<i class="weui-loading"></i>
|
||||
<span class="weui-loadmore__tips">正在加载</span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <a href="javascript:;" class="weui_btn weui_btn_primary">按钮</a>-->
|
||||
</div>
|
||||
<script type="text/javascript" src="/wap/resources/js/jquery.min.js"></script>
|
||||
<script src="/wap/resources/js/weui/jquery-weui.min.js"></script>
|
||||
<script>
|
||||
var pages = 1;
|
||||
var sizes = 10;
|
||||
var loading = false; //状态标记
|
||||
$(function () {
|
||||
loadlist();
|
||||
})
|
||||
//=========================下拉刷新
|
||||
$("#listwrap").pullToRefresh().on("pull-to-refresh", function () {
|
||||
setTimeout(function () {
|
||||
pages = 1;
|
||||
$("#Tolist").html("");
|
||||
loadlist();
|
||||
if (loading) loading = false;
|
||||
$("#listwrap").pullToRefreshDone(); // 重置下拉刷新
|
||||
}, 1500); //模拟延迟
|
||||
});
|
||||
//============================滚动加载
|
||||
$("#listwrap").infinite().on("infinite", function () {
|
||||
if (loading) return;
|
||||
loading = true;
|
||||
pages++; //页数
|
||||
$('.weui-loadmore').show();
|
||||
setTimeout(function () {
|
||||
loadlist();
|
||||
loading = false;
|
||||
}, 2500); //模拟延迟
|
||||
});
|
||||
// =======加载数据loadlist();
|
||||
function loadlist() {
|
||||
var html = "";
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/wap/user/agent/page",
|
||||
data: { 'page': pages, 'size': sizes,'token':$("#token").val()},
|
||||
dataType: "json",
|
||||
error: function (request) {
|
||||
$(".weui-loadmore").hide();
|
||||
html += "<div class=\"weui-cells__title\" >已无更多数据</div>";
|
||||
$("#Tolist").append(html);
|
||||
},
|
||||
success: function (data) {
|
||||
if(data.code == 200){
|
||||
if (data.data.records.length > 0) {
|
||||
for (var i = 0; i < data.data.records.length; i++) {
|
||||
html += ' <div class="weui-form-preview__bd"> ';
|
||||
html += ' <div class="weui-form-preview__item"> ';
|
||||
html += ' <label class="weui-form-preview__label">' + data.data.records[i].userName + '</label> ';
|
||||
html += ' <div class="weui-form-preview__value">编号:' + (data.data.records[i].userNo == null ? "-" : data.data.records[i].userNo) + '</div> ';
|
||||
html += ' </div> ';
|
||||
html += ' </div> <span class="br"></span>';
|
||||
}
|
||||
$("#Tolist").append(html);
|
||||
}
|
||||
else {
|
||||
html += "<div class=\"weui-cells__title\" >已无更多数据</div>";
|
||||
$("#Tolist").append(html);
|
||||
loading = true;
|
||||
}
|
||||
}else{
|
||||
$.toast(data.message,"text");
|
||||
}
|
||||
$(".weui-loadmore").hide();
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user