Commit 9833206916e20b55f00f208c352eeadf47ca5d90

Authored by liuqimichale
1 parent f240c1f6

地锁支付

Showing 2 changed files with 724 additions and 0 deletions
js/lock.js 0 → 100644
  1 +/*
  2 +@songcxa
  3 +@2018-12-14
  4 +@移动支付
  5 +*/
  6 +var webAppParams = null;
  7 +var $btnObj = null;
  8 +var $btnLoad = null;
  9 +var flag = 0;
  10 +var webAppCode = null;//如果是微信,先获取微信code
  11 +//var $btnLoad = document.getElementById("loading");
  12 +window.onload = function () {
  13 + //var root = document.getElementById("root");
  14 + $btnObj = document.getElementById("btnPayOK");
  15 + $btnLoad = document.getElementById("loading");
  16 +
  17 + // $discountBtn = document.getElementById("discountBtn");
  18 + $linkPayDetail = getObjectByID("linkPayDetail");
  19 + $linkPayDetail.onclick = webAppClass.linkPayDetailClick;
  20 + var webRoot = window.location.href;
  21 + //设置当前客户端浏览器模式[微信、支付宝、其他]
  22 + webAppClass.clientBrowser();
  23 + //绑定事件
  24 + var ali = document.getElementById("rowAliPay");
  25 + var wx = document.getElementById("rowWxPay");
  26 + ali.onclick = webAppClass.aliClick;
  27 + wx.onclick = webAppClass.wxClick;
  28 + $btnObj.onclick = webAppClass.okClick;
  29 + document.getElementById("payTip").innerHTML = "";
  30 + //参数
  31 + webAppParams = getQueryString(window.location);
  32 + console.log(webAppParams.carNumber)
  33 + console.log(webAppParams.plNo)
  34 + if (webAppParams!=null) {
  35 + //设置UI参数
  36 + var url = 'http://39.98.54.240:8090/queryParkOrder/queryToPayOrderIdByCarNumber';
  37 + var discountParams = {
  38 + app_id:'1',
  39 + salt:'1',
  40 + deviceInfo:'1',
  41 + sign_type:'1',
  42 + sign:'1',
  43 + token:'1',
  44 + terminalSource:7,
  45 + carNumber:webAppParams.carNumber,
  46 + plNo:webAppParams.plNo,
  47 + codeType:0
  48 + }
  49 + // var discountParams = JSON.stringify(discountParams)
  50 + postRequest(url, discountParams, function (res) {
  51 + console.log(res)
  52 +
  53 + var url1 = 'http://39.98.54.240:8090/queryParkOrder/billQuery';
  54 + var discountParams1 = {
  55 + app_id:'1',
  56 + salt:'1',
  57 + deviceInfo:'1',
  58 + sign_type:'1',
  59 + sign:'1',
  60 + token:'1',
  61 + carNumber:webAppParams.carNumber,
  62 + parkCode:webAppParams.plNo,
  63 + terminalSource:7,
  64 + orderId:res.data,
  65 + codeType:0
  66 + }
  67 + // var discountParams = JSON.stringify(discountParams)
  68 + postRequest(url1, discountParams1, function (res) {
  69 + console.log(res)
  70 +
  71 +
  72 +
  73 +
  74 + // // if(res.code==0){
  75 + // //
  76 + // document.getElementById("sumMoney").innerHTML = (res.data.orderFee/100)
  77 + // document.getElementById("parkName").innerHTML = (res.data.parkName)
  78 + // document.getElementById("staytime").innerHTML = (res.data.staytime)
  79 + //
  80 + // document.getElementById("inparktime").innerHTML = (res.data.inparktime)
  81 + // document.getElementById("due").innerHTML = (res.data.orderTotalFee/100)
  82 + //
  83 + // document.getElementById("paid").innerHTML = (res.data.paid/100)
  84 + // document.getElementById("discountFee").innerHTML = (res.data.discountFee)
  85 + //
  86 + // document.getElementById("discountDesc").innerHTML = (res.data.discountDesc)
  87 + //
  88 + // document.getElementById("orderNum").innerHTML = (res.data.orderId)
  89 + //
  90 + // // document.getElementById("discountTip").innerHTML = res.data.couponDescribe
  91 + // // document.getElementById("discountFee").innerHTML = (res.data.discountFee/100)
  92 + // document.getElementById("discountDesc").style.display="none"
  93 + // $btnLoad.style.display = "none";
  94 + // $btnObj.style.display = "block";
  95 + // flag = 1;
  96 + // webAppClass.okPay(tmpObj);//唤醒支付
  97 +
  98 + webAppClass.setUI(res.data);
  99 + })
  100 +
  101 +
  102 +
  103 + })
  104 + } else {
  105 + alertMsg("暂无订单信息");
  106 + }
  107 +
  108 + //获取微信code
  109 + //webAppClass.getCode();
  110 + var state = clientBrowserEx();
  111 + if (state == "wxPay") {
  112 + webAppCode = webAppClass.getCode();
  113 + }
  114 + // $discountBtn.onclick = webAppClass.discountClick;
  115 +}
  116 +/**/
  117 +var webAppClass = {
  118 +
  119 +
  120 + //OK
  121 + okClick: function (ev) {
  122 + document.getElementById("payTip").innerHTML = "";
  123 + if (webAppParams == null) {
  124 + alertMsg("暂无订单信息");return;
  125 + }
  126 + //先校验停车费用后缴费提交
  127 + webAppClass.checkParkCost();
  128 + },
  129 + //校验该订单当前支付时的费用(排除扫描订单后不支付时长)
  130 + checkParkCost: function () {
  131 + $btnObj.style.display = "none";
  132 + $btnLoad.style.display = "block";
  133 + if (typeof(webAppParams.queryOrderInfo) == "undefined") {//没有queryOrderInfo返回第一页
  134 + window.history.back(-1);
  135 + }
  136 + var tmpParams = JSON.parse(webAppParams.queryOrderInfo);
  137 + var url = webAppRoot + window.webAppH5.comServer;
  138 + postRequest(url, tmpParams, function (res) {
  139 + //btnObj.style.display = "block"; //$btnLoad.style.display = "none";
  140 + //$btnObj.style.display = "block";
  141 + if (res.code == 0) {//进场
  142 + var tmpObj = res.data;
  143 + if (tmpObj) {
  144 + if(flag == 1){
  145 + webAppClass.codediscountClick(tmpObj);
  146 + }else{
  147 + webAppClass.setUI(tmpObj);
  148 + webAppParams = tmpObj;//重新赋值
  149 + webAppClass.okPay(tmpObj);//唤醒支付
  150 + }
  151 +
  152 + console.log(tmpObj)
  153 + // webAppClass.okPay(tmpObj);//唤醒支付
  154 + } else {
  155 + alertMsg("没有找到相应订单");
  156 + }
  157 + } else {//其他情况如【该卡号场内已存在】
  158 + $btnLoad.style.display = "none";
  159 + $btnObj.style.display = "block";
  160 + console.log(res.message); alertMsg(res.message);
  161 + }
  162 + }, function (err) {
  163 + console.log("网络服务超时..." + url);
  164 + alertMsg("网络服务超时");
  165 + $btnLoad.style.display = "none";
  166 + $btnObj.style.display = "block";
  167 + //$btnLoad.style.display = "none";
  168 + });
  169 + },
  170 +
  171 + //确定支付
  172 + okPay: function (params) {
  173 + var orderID = params.orderId;//订单号
  174 + //var moneyID = document.getElementById("sumMoney").innerHTML = webAppParams.orderId;//订单号
  175 + var val = document.getElementById("sumMoney").innerText;
  176 + var couponPersonId = document.getElementById("discountBox").value;
  177 + var url = webAppRoot + window.webAppH5.zeroPayServer;
  178 + var discountParams = {
  179 + payOrderType : 101,
  180 + terminalSource:7,
  181 + orderId: webAppParams.orderId,
  182 + couponPersonId:couponPersonId,
  183 + app_id: '123',
  184 + sign_type: '123',
  185 + salt: '123',
  186 + deviceInfo: '123',
  187 + sign: '123',
  188 + }
  189 + if(val == '0.00' || val=='0'){
  190 + postRequest(url, discountParams, function (res) {
  191 + console.log(res)
  192 + if(res.code==0){
  193 + document.getElementById("paySuccess").style.display = 'block'
  194 + //
  195 + // document.getElementById("sumMoney").innerHTML = (res.data.orderFee/100)
  196 + // document.getElementById("discountTip").innerHTML = res.data.couponDescribe
  197 + // document.getElementById("discountFee").innerHTML = (res.data.discountFee/100)
  198 + // document.getElementById("discountDesc").style.display="none"
  199 + // $btnLoad.style.display = "none";
  200 + // $btnObj.style.display = "block";
  201 + // document.getElementById("discountBox").setAttribute('readonly','readonly');
  202 + // flag = 1
  203 + }else{
  204 + alert(res.message)
  205 + // $discountBtn.disabled = false
  206 + // document.getElementById("discountTip").innerHTML = res.message
  207 + }
  208 + })
  209 + }else {
  210 + var root = webAppRoot;
  211 + //第一首先判断当前哪种浏览器方式[微信内置、支付宝内置、第三方浏览器]
  212 + var clientType = clientBrowserEx();
  213 + //alert(clientType);
  214 + switch (clientType) {
  215 + case "wxPay"://微信[内置浏览器]
  216 + //var wxPay = webAppH5.wxPayServer;
  217 + //var wxParams = webAppH5.comParams;
  218 + //wxParams.orderId = orderID;
  219 + //wxParams.payType = 4;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号
  220 + //wxParams.terminalSource = 3;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付
  221 + //debugger;
  222 + if (webAppCode == null || webAppCode == "") {//code检测
  223 + alertMsg(appState.codeNullTip);
  224 + $btnObj.style.display = "block";
  225 + $btnLoad.style.display = "none";
  226 + return;
  227 + }
  228 + webAppClass.payAjaxJDK(orderID);
  229 + console.log("wxPay");//微信支付
  230 + break;
  231 + case "aliPay"://支付宝
  232 + console.log("aliPay");
  233 + //订单号
  234 + var obj = {};
  235 + //this.payAjax(url, { orderId: "11111", price: 0.01 });
  236 + var aliPay = webAppH5.aliPayServer;
  237 + var aliParams = webAppH5.comParams;
  238 + aliParams.orderId = orderID;
  239 + aliParams.payType = 1;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号
  240 + aliParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付
  241 + aliParams.paySrcType = 101;//101停车支付
  242 + webAppClass.payAliAjax(root + aliPay, aliParams);
  243 + break;
  244 + default://第三方浏览器other
  245 + //默认支付宝
  246 + if (document.getElementById("aliPay").checked) {
  247 + console.log("aliPay");
  248 + //订单号
  249 + var obj = {};
  250 + //this.payAjax(url, { orderId: "11111", price: 0.01 });
  251 + var aliPay = webAppH5.aliPayServer;
  252 + var aliParams = webAppH5.comParams;
  253 + aliParams.orderId = orderID;
  254 + aliParams.payType = 1;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号
  255 + aliParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付
  256 + aliParams.paySrcType = 101;//101停车支付
  257 + webAppClass.payAliAjax(root + aliPay, aliParams);
  258 + } else {//微信页面支付
  259 + var url = " https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx20161110163838f231619da20804912345&package=1037687096";
  260 + //window.location.href = url;
  261 + var wxPay = webAppH5.wxPayServer;
  262 + var wxParams = webAppH5.comParams;
  263 + wxParams.orderId = orderID;
  264 + wxParams.payType = 4;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号
  265 + wxParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付
  266 + webAppClass.payAjax(root + wxPay, wxParams);
  267 + console.log("wxPay");
  268 + }
  269 + break;
  270 + }
  271 + }
  272 +
  273 + },
  274 +
  275 + getCode: function () {
  276 + var appID = appWxID;
  277 + var code = getUrlParam('code');
  278 + var local = window.location.href;
  279 + //alert("local:" + local);
  280 + if (code == null || code === '') {
  281 + //alert(code);
  282 + window.location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' + appID + '&redirect_uri=' + encodeURIComponent(local) + '&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect'
  283 + //window.event.returnValue = false;
  284 + //window.open('https://open.weixin.qq.com/connect/oauth2/authorize?appid=' + appID + '&redirect_uri=' + encodeURIComponent(local) + '&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect');
  285 + //alert("22");
  286 + } else {
  287 + //getOpenId(code); //把code传给后台获取用户信息
  288 + //alert(code);
  289 + //webAppCode = code;
  290 + return code;
  291 + }
  292 +
  293 + function getUrlParam(name) {
  294 + var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
  295 + var r = window.location.search.substr(1).match(reg)
  296 + if (r != null) return unescape(r[2])
  297 + return null
  298 + }
  299 + },
  300 + //Ali
  301 + aliClick: function (ev) {
  302 + console.log("AliClick");
  303 + document.getElementById("aliPay").checked = true;
  304 + ev.preventDefault();
  305 + },
  306 + //Wx
  307 + wxClick: function (ev) {
  308 + console.log("wxClick");
  309 + document.getElementById("wxPay").checked = true;
  310 + ev.preventDefault();
  311 + },
  312 + //浏览器
  313 + clientBrowser: function () {
  314 + if (/MicroMessenger/.test(window.navigator.userAgent)) {
  315 + console.log("微信客户端");
  316 + this.switchShow("wxPay");
  317 + } else if (/AlipayClient/.test(window.navigator.userAgent)) {
  318 + console.log("支付宝客户端");
  319 + this.switchShow("aliPay");
  320 + } else {
  321 + console.log("其他浏览器");
  322 + this.switchShow("other");
  323 + }
  324 + },
  325 + //根据浏览器显示内容[aliPay、wxPay、other]
  326 + switchShow: function (type) {
  327 + var aliObj = document.getElementById("rowAliPay");
  328 + var wxObj = document.getElementById("rowWxPay");
  329 + var lineObj = document.getElementById("splitLine");
  330 + switch (type) {
  331 + case "aliPay":
  332 + lineObj.style.display = "none";
  333 + wxObj.style.display = "none";
  334 + document.getElementById("aliPay").checked = true;
  335 + break;
  336 + case "wxPay":
  337 + lineObj.style.display = "none";
  338 + aliObj.style.display = "none";
  339 + document.getElementById("wxPay").checked = true;
  340 + break;
  341 + default://其他浏览器[浏览器暂时屏蔽微信]
  342 + lineObj.style.display = "none";
  343 + wxObj.style.display = "none";
  344 + document.getElementById("aliPay").checked = true;
  345 + break;
  346 + }
  347 + },
  348 +
  349 + //异步请求-微信H5页面
  350 + payAjax: function (url, params) {
  351 + var btnOBj = $btnObj;
  352 + postRequest(url, params, function (res) {
  353 + btnOBj.style.display = "block";
  354 + $btnLoad.style.display = "none";
  355 + //debugger;
  356 + if (res.code == 0) {//进场
  357 + //alertMsg("出场成功");
  358 + if (res.data) {
  359 + var tmpObj = res.data;
  360 + if (typeof (tmpObj.mwebUrl)!="undefined") {
  361 + window.location.href = tmpObj.mwebUrl + "&redirect_url=" + webAppPayResult;
  362 + } else {
  363 + alertMsg("没有返回支付地址mwebUrl");
  364 + }
  365 + console.log(JSON.stringify(tmpObj));
  366 + } else {
  367 + alertMsg("没有找到返回值");
  368 + }
  369 + } else {//其他情况如【该卡号场内已存在】
  370 + console.log(res.message);
  371 + alertMsg(res.message);
  372 + }
  373 + }, function (err) {
  374 + console.log("网络地址出错...");
  375 + alertMsg("网络地址出错...");
  376 + $btnLoad.style.display = "none";
  377 + btnOBj.style.display = "block";
  378 + });
  379 + },
  380 + //异步请求-微信JDK调用
  381 + payAjaxJDK: function (orderID) {
  382 + var btnOBj = $btnObj;
  383 + //0:页面初始化获取code[webAppCode]
  384 + var codeParams = { code: webAppCode, appId: appWxID };
  385 + var openIdUrl = webAppRoot + window.webAppH5.wxGetOpenIdServer;
  386 +
  387 + //1:有code获取OpenId
  388 + postRequest(openIdUrl, codeParams, function (res) {
  389 + //alert(JSON.stringify(res));
  390 + if (res.code == 0) {
  391 + //alert(res.data);
  392 + webAppClass.getPayParams(res.data, orderID);
  393 + }
  394 + else if (res.code == 40163) {//code been used, hints[重复code问题]
  395 + alertMsg(appState.codeNullTip);
  396 + console.log(res.message);
  397 + $btnObj.style.display = "block";
  398 + $btnLoad.style.display = "none";
  399 + }
  400 + else {
  401 + alertMsg(res.message);
  402 + $btnObj.style.display = "block";
  403 + $btnLoad.style.display = "none";
  404 + }
  405 + }, function (err) {
  406 + console.log("网络地址出错..." + openIdUrl);
  407 + $btnObj.style.display = "block";
  408 + $btnLoad.style.display = "none";
  409 + });
  410 + //2:获取支付参数
  411 + //function getPayParams(openId) {
  412 +
  413 + //}
  414 + },
  415 + getPayParams: function (openId, orderID) {
  416 + var wxPay = window.webAppH5.wxPayServer;
  417 + var wxParams = window.webAppH5.comParams;
  418 + wxParams.orderId = orderID;
  419 + wxParams.payType = 4;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号
  420 + wxParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付
  421 + //webAppClass.payAjax(root + wxPay, wxParams);
  422 + wxParams.openId = openId;
  423 + wxParams.appId = appWxID;
  424 + var payParamsUrl = webAppRoot + window.webAppH5.wxPayServer;
  425 + //alert(payParamsUrl);alert(orderID);
  426 + postRequest(payParamsUrl, wxParams, function (res) {
  427 + $btnObj.style.display = "block";
  428 + $btnLoad.style.display = "none";
  429 + //debugger;
  430 + if (res.code == 0) {//进场
  431 + //alertMsg("出场成功");
  432 + if (res.data) {
  433 + var tmpObj = res.data;
  434 + webAppClass.weixinJSBridge(res.data);
  435 + console.log(JSON.stringify(tmpObj));
  436 + //alert(JSON.stringify(tmpObj));
  437 + } else {
  438 + alertMsg("没有找到返回值");
  439 + }
  440 + } else {
  441 + $btnLoad.style.display = "none";
  442 + $btnObj.style.display = "block";
  443 + console.log(res.message); alertMsg(res.message);
  444 + }
  445 + }, function (err) {
  446 + console.log("网络地址出错...");
  447 + alertMsg("网络地址出错..." + payParamsUrl);
  448 + $btnLoad.style.display = "none";
  449 + $btnObj.style.display = "block";
  450 + });
  451 + },
  452 +
  453 + //调用微信内置WeixinJSBridge对象发起支付
  454 + weixinJSBridge: function (params) {
  455 + function onBridgeReady() {
  456 + WeixinJSBridge.invoke(
  457 + 'getBrandWCPayRequest', params,
  458 + //'getBrandWCPayRequest', {
  459 + // "appId": appWxID, //公众号名称,由商户传入
  460 + // "timeStamp": "1395712654", //时间戳,自1970年以来的秒数
  461 + // "nonceStr": "e61463f8efa94090b1f366cccfbbb444", //随机串
  462 + // "package": "prepay_id=u802345jgfjsdfgsdg888",
  463 + // "signType": "MD5", //微信签名方式:
  464 + // "paySign": "70EA570631E4BB79628FBCA90534C63FF7FADD89" //微信签名
  465 + //},
  466 + function (res) {
  467 + //alert(res.err_msg);
  468 + if (res.err_msg == "get_brand_wcpay_request:ok") {
  469 + // 使用以上方式判断前端返回,微信团队郑重提示:
  470 + //res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
  471 + window.location.href = webAppPayResult+"?trade_no=" + "success";
  472 + }
  473 + else if (res.err_msg == 'get_brand_wcpay_request:cancel') {
  474 + window.location.href = webAppPayResult + "?trade_no=" + "fail";
  475 + }
  476 + else {
  477 + alertMsg(JSON.stringify(res));
  478 + //alert(res.err_msg);
  479 + }
  480 + });
  481 + }
  482 + if (typeof WeixinJSBridge == "undefined") {
  483 + if (document.addEventListener) {
  484 + document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
  485 + } else if (document.attachEvent) {
  486 + document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
  487 + document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
  488 + }
  489 + } else {
  490 + onBridgeReady();
  491 + }
  492 + },
  493 +
  494 + //异步请求-支付宝
  495 + payAliAjax: function (url, params) {
  496 + var btnOBj = $btnObj;
  497 + postRequest(url, params, function (res) {
  498 + btnOBj.style.display = "block";
  499 + $btnLoad.style.display = "none";
  500 + if (res.code == 0) {//进场
  501 + document.write(res.data);//打开支付表单
  502 + } else {//其他情况如【该卡号场内已存在】
  503 + console.log(res.message);
  504 + alertMsg(res.message);
  505 + }
  506 + }, function (err) {
  507 + console.log("网络地址出错...");alertMsg("网络地址出错...");
  508 + $btnLoad.style.display = "none";
  509 + btnOBj.style.display = "block";
  510 + });
  511 + },
  512 +
  513 + //设置UI
  514 + setUI: function (params) {
  515 + console.log(params)
  516 + var $carNum = getObjectByID("carNum"),//车牌号
  517 + $orderNum = getObjectByID("orderNum"),//订单号
  518 + $sumMoney = getObjectByID("sumMoney"),//实际应付金额
  519 + $outtime = getObjectByID("outtime"),//实际出场时间
  520 + $payTip = getObjectByID("payTip"),//支付提示
  521 +
  522 + $parkName = getObjectByID("parkName"),//车场名称
  523 + $inparktime = getObjectByID("inparktime"),//进场时间
  524 + $staytime = getObjectByID("staytime"),//停车时长
  525 + $due = getObjectByID("due"),//停车总费用
  526 +
  527 + $paid = getObjectByID("paid"),//已支付金额
  528 + $discountDesc = getObjectByID("discountDesc"),//8折优惠折扣费用
  529 + $discountFee = getObjectByID("discountFee");//优惠金额
  530 +
  531 + if (params != null && params!="") {
  532 + var price = keepTwoDecimalFull((params.orderFee / 100));//(params.orderFee / 100);
  533 + $carNum.innerHTML = params.plateno;//手机号
  534 + $orderNum.innerHTML = params.orderId;//订单号
  535 + $sumMoney.innerHTML = price;///params.orderFee//缴费金额
  536 + $outtime.innerHTML = params.outtime;//实际出场时间
  537 + //.appOrderTimeout
  538 + $payTip.innerHTML = "注意: " + params.appOrderTimeout;//请在支付完成10分钟内出场,如超时未出场,会继续计费。
  539 +
  540 + $parkName.innerHTML = params.parkName;
  541 + $inparktime.innerHTML = params.inparktime;
  542 + $staytime.innerHTML = formatSeconds(params.staytime);
  543 +
  544 + $due.innerHTML = keepTwoDecimalFull((params.due / 100));//停车总费用
  545 + $paid.innerHTML = params.paid;
  546 + // $discountFee.innerHTML = keepTwoDecimalFull((params.discountFee / 100));//优惠金额
  547 + $discountFee.innerHTML = (params.discountFee )
  548 + $discountDesc.innerHTML = params.discountDesc;
  549 + } else {
  550 + console.log("没有接受到参数");
  551 + }
  552 + },
  553 +
  554 + //查看详情
  555 + linkPayDetailClick: function (ev) {
  556 + var $payDetail = getObjectByID("payDetail");
  557 + var $linkPayDetail = getObjectByID("linkPayDetail");
  558 + if ($linkPayDetail.innerHTML == "详情+") {
  559 + $linkPayDetail.innerHTML = "详情-";
  560 + $payDetail.style.height = "195px";
  561 + } else {
  562 + $linkPayDetail.innerHTML = "详情+";
  563 + $payDetail.style.height = "55px";
  564 + }
  565 + }
  566 +}
... ...
lockpay.html 0 → 100644
  1 +<!doctype html>
  2 +<html lang="en">
  3 +<head>
  4 + <meta charset="utf-8">
  5 + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  6 + <meta name="theme-color" content="#000000">
  7 + <meta name="google" value="notranslate">
  8 + <meta name="format-detection" content="telephone=no">
  9 + <meta name="format-detection" content="email=no">
  10 + <meta name="apple-mobile-web-app-capable" content="yes">
  11 + <meta name="apple-mobile-web-app-status-bar-style" content="black">
  12 + <meta http-equiv="Pragma" content="no-cache">
  13 + <meta http-equiv="Cache-control" content="no-cache">
  14 + <meta http-equiv="Cache" content="no-cache">
  15 + <meta http-equiv="Expires" content="0">
  16 + <link rel="stylesheet" href="css/index.css?v=0.1">
  17 + <script src="config.js?v=0.1"></script>
  18 + <script src="js/common.js?v=1.11"></script>
  19 + <!--<script src="js/jweixin-1.0.0.js?v=0.1"></script>-->
  20 + <script src="js/lock.js?v=0.120"></script>
  21 + <!--<script src="https://gw.alipayobjects.com/as/g/h5-lib/alipayjsapi/3.1.1/alipayjsapi.min.js"></script>-->
  22 + <!--<script src="config.js"></script>-->
  23 + <!--
  24 + Notice the use of %PUBLIC_URL% in the tags above.
  25 + It will be replaced with the URL of the `public` folder during the build.
  26 + Only files inside the `public` folder can be referenced from the HTML.
  27 +
  28 + Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
  29 + work correctly both with client-side routing and a non-root public URL.
  30 + Learn how to configure a non-root public URL by running `npm run build`.
  31 + -->
  32 + <title>地锁支付</title>
  33 + <style>
  34 + .discountBox{
  35 + border: 0;
  36 + outline: 0;
  37 + width: calc(100% - 120px);
  38 + height:28px;
  39 + line-height: 28px;
  40 + padding-left: 10px;
  41 + background:rgba(240,244,245,1);
  42 + border-radius:4px;
  43 + display: inline-block;
  44 + float: left;
  45 + color: #8a8a8a;
  46 + font-size: 14px;
  47 + }
  48 + .discountBox:focus{
  49 + border: 0;
  50 + outline: 0;
  51 + }
  52 + .discountBtn{
  53 + display: inline-block;
  54 + float: right;
  55 + border: none;
  56 + outline: none;
  57 + -webkit-appearance: none;
  58 + -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  59 + border: 1px solid #75CBBE;
  60 + border-radius:25px ;
  61 + padding: 4px 20px;
  62 + font-size: 14px;
  63 + color: #75CBBE;
  64 + background: #fff;
  65 + }
  66 + .discount-tip{
  67 + padding-top: 10px;
  68 + font-size: 14px;
  69 + color: #EB453B;
  70 + }
  71 + .paySuccess{
  72 + width: 100%;
  73 + height: 100%;
  74 + text-align: center;
  75 + line-height: 100px;
  76 + font-size: 20px;
  77 + color: #fff;
  78 + background: rgba(0,0,0,.7);
  79 + position: fixed;
  80 + top:0;
  81 + left: 0;
  82 + display: none;
  83 + }
  84 + </style>
  85 +</head>
  86 +<body>
  87 +<!--<noscript>-->
  88 +<!--You need to enable JavaScript to run this app.-->
  89 +<!--</noscript>-->
  90 +<header id="header" class="flexBoxRow panelBgColor">
  91 + <div class="headerBox">
  92 + <div class="carNumBox"><span></span><span id="carNum"></span></div>
  93 + <div class="moneyBox"><span>¥</span><span id="sumMoney">0.00</span></div>
  94 + </div>
  95 +</header>
  96 +<section id="payDetail" class="panelBgColor marginTop">
  97 + <div><span>车场名称:</span><span id="parkName"></span><a id="linkPayDetail">详情+</a> </div>
  98 + <div><span>停车时长:</span><span id="staytime"></span></div>
  99 + <div><span>进场时间:</span><span id="inparktime"></span></div>
  100 + <div><span>停车总费用:</span><span id="due"></span></div>
  101 + <div><span>已支付金额:</span><span id="paid"></span></div>
  102 + <div><span>优惠金额:</span><span id="discountFee"></span><span id="discountDesc"></span></div>
  103 + <div><span>订单编号: </span><span id="orderNum">1234567890</span> </div>
  104 +</section>
  105 +<!--<div class="row marginTop">-->
  106 + <!--<div style="overflow: hidden">-->
  107 + <!--<input class="discountBox" id="discountBox" type="text" placeholder="请输入优惠券编号" maxlength="20">-->
  108 + <!--<button class="discountBtn" id="discountBtn">兑换</button>-->
  109 + <!--</div>-->
  110 + <!--<div class="discount-tip" id="discountTip"></div>-->
  111 +<!--</div>-->
  112 +<section id="section" class="marginTop">
  113 + <div class="flexBoxRow" >
  114 + <span class="payWayTitle" style="padding-left: 10px;">选择支付方式</span> <span class="orderTime colorGray">出场时间: <span id="outtime"></span></span>
  115 + </div>
  116 + <div class="row marginTop">
  117 + <!--AliPay-->
  118 + <div class="flexBoxRow" id="rowAliPay">
  119 + <img class="payIcon" src="img/aliPay.png" />
  120 + <span class="marginLeft">支付宝支付</span>
  121 + <label for="aliPay" class="radio">
  122 + <span class="radio-bg"></span>
  123 + <input type="radio" name="radioPayWay" id="aliPay" value="支付宝" checked="checked" />
  124 + <span class="radio-on"></span>
  125 + </label>
  126 + </div>
  127 + <hr class="splitLine marginTop" id="splitLine" />
  128 + <!--WxPay-->
  129 + <div class="flexBoxRow marginTop" id="rowWxPay">
  130 + <img class="payIcon" src="img/wxPay.png" />
  131 + <span class="marginLeft">微信支付</span>
  132 + <label for="wxPay" class="radio">
  133 + <span class="radio-bg"></span>
  134 + <input type="radio" name="radioPayWay" id="wxPay" value="微信" />
  135 + <span class="radio-on"></span>
  136 + </label>
  137 + </div>
  138 + </div>
  139 +</section>
  140 +<footer id="footer" class="flexBoxRow marginTop">
  141 + <div class="btnOK" id="btnPayOK">确定支付</div>
  142 + <img src="img/loading.gif" id="loading" style="display: none;" />
  143 +</footer>
  144 +<section id="payTip" style="padding: 10px;margin-top:5px; color: #3385ff; font-size: 14px; "></section>
  145 +<div class="paySuccess" id="paySuccess">支付成功,请立即离场</div>
  146 +<!--
  147 + This HTML file is a template.
  148 + If you open it directly in the browser, you will see an empty page.
  149 +
  150 + You can add webfonts, meta tags, or analytics to this file.
  151 + The build step will place the bundled scripts into the <body> tag.
  152 +
  153 + To begin the development, run `npm start` or `yarn start`.
  154 + To create a production bundle, use `npm run build` or `yarn build`.
  155 +-->
  156 +</body>
  157 +
  158 +</html>
... ...