kospay/pay/www/qiye.html

514 lines
19 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
while read kos
do
[ "${#kos}" -le "1" ]&&break;
koss="$kos
$koss"
done
ck=($(echo "$koss"|awk -F'[|:]' '{IGNORECASE=1}$1=="Cookie"{print $3}'))
sqlstart="SELECT passd,grups,isok,feilv,ckuser,ckname,ckkey,tixian,shouyi FROM user WHERE userid = '${ck[2]}'"
dada="$($MYSQLS -e "$sqlstart" 2>>$0.errlog)"
sdata=($dada)
cksec=${ck[4]}
yunse=$(echo -n "$REMOTE_HOST${sdata[2]}${sdata[1]}${ck[2]}${sdata[0]}${dateddd:0:6}"|md5sum|tr -dc [0-9])
[ "$yunse" = "$cksec" ]||{
echo "HTTP/1.1 302 Moved temporarily
Connection: close
Pragma: no-cache
Cache-Control: no-cache
Cache-Control: no-store
Cache-Control: private
Server: kos-1.0
Content-Type: text/html;charset=utf-8
Location: login.xhtml
"
exit 0
}
echo "HTTP/1.1 200 ok
Connection: close
Pragma: no-cache
Cache-Control: no-cache
Cache-Control: no-store
Cache-Control: private
Server: kos-1.0
Content-Language:zh-CN,zh
Content-Type: text/html;charset=utf-8
<!DOCTYPE html>
<html>
<center>
<head>
<script type=\"text/javascript\">
var ckname='${sdata[5]}';
var tixian='${sdata[7]}';
var shouyi='${sdata[8]}';
var ifeilv='${sdata[3]}';
</script>
<title>企业号$titles</title>
$(cat $rpath/www/man 2>/dev/null)
<style>
.mytable {width:100%;border:0;text-align:center;border-collapse:collapse;border-spacing:0;}
.mytable th{background:#0090D7;font-weight:normal;line-height:30px;font-size:14px;color:#FFF;}
.mytable tr:nth-child(odd){background:#F4F4F4;}
.mytable td:nth-child(even){color:#C00;}
.mytable tr:hover{background:#73B1E0;color:#FFF;}
.mytable td,.mytable th{border:1px solid #EEE;}
.black_overlay{
display: none;
position: absolute;
top: 0%;
left: 0%;
width: 100%;
height: 100%;
background-color: black;
z-index:1001;
-moz-opacity: 0.8;
opacity:.80;
filter: alpha(opacity=88);
}
.white_content {
margin: auto;
display: none;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
width: 300px;
height: 280px;
padding: 0px;
border: 1px solid orange;
background-color: white;
z-index:1002;
overflow: auto;
}
.erweima_black{
display: none;
position: absolute;
top: 0%;
left: 0%;
width: 100%;
height: 100%;
background-color: black;
z-index:1003;
-moz-opacity: 0.8;
opacity:.90;
filter: alpha(opacity=88);
}
.erweima {
margin: auto;
display: none;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
width: 230px;
height: 250px;
padding: 0px;
border: 1px solid #0090d7;
background-color: white;
z-index:1004;
overflow: auto;
}
@media only screen and (max-width:1310px) {
.mytable{width:100%;border:0;text-align:center;border-collapse:collapse;border-spacing:0;}
.mytable th{background:#0090D7;font-weight:normal;line-height:30px;font-size:14px;color:#FFF;}
.mytable tr:nth-child(odd){background:#F4F4F4;}
.mytable tr:hover{background:#73B1E0;color:#FFF;}
.mytable td:nth-child(even){color:#C00;font-size:10px;word-break:keep-all;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mytable td,.mytable th{border:1px solid #EEE;font-size:10px;word-break:keep-all;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
}
</style>
<body>
<button type=\"button\" style=\"float:right;\" onclick=\"staradd()\" >开户</button>
<!-- 开户窗口开始 -->
<div id=\"light\" class=\"white_content\">
<div id='divclose' style=\"right:0;top:0;position:absolute;cursor: pointer;\" >X</div>
<div id='h4'>微信H5召唤地址开户</div><hr>
<table>
<tr><td>支付类型</td><td>
<select id=\"type\" onchange=\"setChange()\" >
<option value =\"zfbdmf\">支付宝当面付</option>
<option value =\"zfbpc\">支付宝电脑支付</option>
<option value =\"zfbold\">支付宝【老接口】</option>
<option value =\"wx\">微信支付参数</option>
</select>
<td></tr>
<tr><td>状态</td><td>
<select id=\"enable\">
<option value =\"1\">启用</option>
<option value =\"0\">禁用</option>
</select>
<td></tr>
<tr><td>公司简称</td><td>
<input placeholder=\"公司简称,用于区别标记\" type=\"text\" id=\"gsname\" minlength=\"2\" maxlength=\"32\" autocomplete=\"off\" />
<td></tr>
<tr><td>AppId</td><td>
<input type=\"text\" id=\"appids\" minlength=\"6\" maxlength=\"18\" autocomplete=\"off\" />
<td></tr>
<tr><td id=\"mchids\">商户号</td><td>
<input type=\"text\" placeholder=\"微信支付里面的商户号\" id=\"mchid\" minlength=\"6\" maxlength=\"12\" autocomplete=\"off\" />
<td></tr>
<tr><td id=\"keyss\">支付密钥</td><td>
<input type=\"text\" placeholder=\"32位数字和字母组成\" id=\"keys\" minlength=\"32\" maxlength=\"32\" autocomplete=\"off\" />
<td></tr>
<tr><td id=\"secerts\">SecretKey</td><td>
<input type=\"text\" placeholder=\"32位数字和字母组成\" id=\"secert\" minlength=\"32\" maxlength=\"32\" autocomplete=\"off\" />
<td></tr>
<tr><td>每日限额(元)</td><td>
<input placeholder=\"2位小数。\" type=\"number\" id=\"cksy\" min=\"1000\" max=\"800000\" step=\"100\" value='100000' onkeyup=\"clearNoNum(this)\" autocomplete=\"off\" />
<td></tr>
<tr><td>转账到个人</td><td>
<select id=\"zzdgr\" >
<option value =\"1\">已开通</option>
<option value =\"0\">未开通</option>
</select>
<td></tr>
</table>
<button id='button1' type=\"button\" style=\"right:30px;bottom:5px;position:absolute;cursor: pointer;\" >确认开户</button>
</div>
<div id=\"fade\" class=\"black_overlay\">
</div>
<!-- 开户窗口结束 -->
<!-- 获取应用公钥窗口开始 -->
<div id=\"lightkey\" class=\"white_content\">
<div id='divclosekey' onclick=\"closepublkey()\" style=\"right:0;top:0;position:absolute;cursor: pointer;\" >X</div>
<div>RSA(SHA256)密钥</div><hr>
AppId:<font id=\"lappid\" color=\"red\">00000</font>
<textarea style=\"width: 94%;height:60%\" readonly=\"readonly\" onclick=\"this.select();this.selectionStart = 0;this.selectionEnd = this.value.length;\" id=\"getpk\" >some text.</textarea>
<br><a target=\"_blank\" href=\"https://open.alipay.com/platform/keyManage.htm\">支付宝开放平台应用公钥</a>,请勿泄漏!
</div>
<div id=\"fadekey\" class=\"black_overlay\">
</div>
<!-- 获取应用公钥窗口结束 -->
<div style=\"width: 100%; overflow-x: auto;\">
<table class=\"mytable\" width=\"100%\" border=\"1\" id=\"tablqwq\">
<thead>
<tr>
<th>状态</th>
<th>企业名称</th>
<th>签约支付类型</th>
<th>转账到个人</th>
<th>AppId(点击获取支付宝密钥)</th>
<th>每日限额</th>
<th>今日交易量</th>
<th>累计交易量</th>
<th>开户时间</th>
<th>最后修改时间</th>
<th>操作</th>
</tr></thead>
<tbody id=\"tabl\"></tbody>
</table>
</div>
<script type=\"text/javascript\" src=\"base64.js\"></script>
<script type = 'text/javascript'>
document.getElementById('haomachi').style.color='#b63b4d';
document.getElementById('haomachi-qiye').style.color='white';
document.getElementById('haomachi-qiye').style.background='#b63b4d';
var ckuser='$ckuser'
var ckfeilv=parseFloat('${sdata[3]}')
var dateddd='$dateddd'
var base64 = new Base64();
function getlist(){
var zz = new XMLHttpRequest();
zz.onreadystatechange = function () {
if (zz.readyState == 4 && zz.status == 200) {
var ztm = zz.getResponseHeader('ztm');
if (ztm === \"noes\"){
alert('登录失效,请重登录!');
window.location.href='login.xhtml';
return;
}
if (ztm === \"okay\"){
var str =zz.responseText;
var rowArray = str.split(\"\n\");
var tabl = document.getElementById(\"tabl\");
var rowNum=tabl.rows.length;
for (ii=0;ii<rowNum;ii++)
{
tabl.deleteRow(ii);
rowNum=rowNum-1;
ii=ii-1;
}
for (var i = 0; i < rowArray.length-1; i++) {
rowArray[i] = rowArray[i].split(\"\t\");
if ( rowArray[i][4]==\"1\"){
var xszt='<font color=\"#008000\">▶</font>'
}else{
var xszt='<font color=\"#FF0000\">▣</font>'
}
switch (rowArray[i][3])
{
case 'wx':
var qyzf='微信';
var appidkey=rowArray[i][5];
break;
case 'zfbpc':
var qyzf='支付宝电脑网页';
var appidkey='<div style=\"cursor: pointer;\" onclick=\"confirmadd(\''+rowArray[i][5]+'\',\'getpublickey\',this)\">'+rowArray[i][5]+'</div>';
break;
case 'zfbdmf':
var qyzf='支付宝当面付';
var appidkey='<div style=\"cursor: pointer;\" onclick=\"confirmadd(\''+rowArray[i][5]+'\',\'getpublickey\',this)\">'+rowArray[i][5]+'</div>';
break;
case 'zfbold':
var qyzf='支付宝【老接口】';
var appidkey=rowArray[i][5];
break;
}
var col5='<button type=\"button\" onclick=\"confirmadd(\''+rowArray[i][0]+'\',\'delone\',this)\" >删除</button> <button type=\"button\" onclick=\"starxiugai(\''+rowArray[i][0]+'\',\''+rowArray[i][2]+'\',\''+rowArray[i][3]+'\',\''+rowArray[i][4]+'\',\''+rowArray[i][5]+'\',\''+rowArray[i][6]+'\',\''+rowArray[i][7]+'\',\''+rowArray[i][8]+'\',\''+rowArray[i][9]+'\',\''+rowArray[i][10]+'\')\">修改</button> <button type=\"button\" onclick=\"confirmadd(\''+rowArray[i][5]+'\',\'qiyetestpay\',this)\" >诊断</button></td>';
// var row = tabl.insertRow(tabl.FetchRowCount);
var row = tabl.insertRow('0');
row.insertCell(0).innerHTML = xszt; //状态
row.insertCell(1).innerHTML = rowArray[i][2];
row.insertCell(2).innerHTML = qyzf;
row.insertCell(3).innerHTML = rowArray[i][9]=='1'?'<font color=\"#008000\">已开通</font>':'未开通';
row.insertCell(4).innerHTML = appidkey;
row.insertCell(5).innerHTML = rowArray[i][10];
row.insertCell(6).innerHTML = rowArray[i][11];
row.insertCell(7).innerHTML = rowArray[i][12];
row.insertCell(8).innerHTML = rowArray[i][13];
row.insertCell(9).innerHTML = rowArray[i][14];
row.insertCell(10).innerHTML = col5;
}
}
}else{
if (zz.readyState == 4 && zz.status != 200)
alert(\"网络错误!\"+zz.readyState+\"|\"+zz.status);
}
};
zz.open(\"GET\", 'getqiye.xjs',true);
zz.send(null);
}
getlist();
//打开获取公钥窗口
function openpublkey(getpkk){
document.getElementById('getpk').innerHTML=getpkk;
document.getElementById('lightkey').style.display='block';
document.getElementById('fadekey').style.display='block';
}
//关闭获取公钥窗口
function closepublkey(){
document.getElementById('lightkey').style.display='none';
document.getElementById('fadekey').style.display='none';
document.getElementById('getpk').innerHTML='';
document.getElementById('lappid').innerHTML='';
}
function staradd(){
document.getElementById('h4').innerHTML='支付参数录入';
document.getElementById('button1').innerHTML='确认提交';
document.getElementById('button1').onclick=function(){confirmadd(\"0\",\"zfzhanghaoadd\")};
document.getElementById('divclose').onclick=function(){endadd(\"add\")};
setChange();
document.getElementById('light').style.display='block';
document.getElementById('fade').style.display='block';
}
function starxiugai(ids,gsnames,types,enables,appidss,mchids,keyss,secerts,zzdgr,maxjines){
document.getElementById(\"gsname\").value=gsnames;
document.getElementById(\"type\").value=types;
document.getElementById(\"enable\").value=enables;
document.getElementById(\"appids\").value=appidss;
document.getElementById(\"mchid\").value=mchids;
document.getElementById(\"keys\").value=keyss;
document.getElementById(\"secert\").value=secerts;
document.getElementById(\"cksy\").value=maxjines;
document.getElementById(\"zzdgr\").value=zzdgr;
setChange();
//document.getElementById('yuname').name =adid;
document.getElementById('divclose').onclick=function(){endadd(\"xiugai\")};
document.getElementById('h4').innerHTML='支付参数修改';
document.getElementById('button1').innerHTML='确认修改';
document.getElementById('button1').onclick=function(){confirmadd(ids,\"xiugai\")};
document.getElementById('light').style.display='block';
document.getElementById('fade').style.display='block';
}
function endadd(trt){
if (trt == \"xiugai\"){
document.getElementById(\"gsname\").value='';
document.getElementById(\"type\").value='zfbpc';
document.getElementById(\"enable\").value='1';
document.getElementById(\"appids\").value='';
document.getElementById(\"mchid\").value='';
document.getElementById(\"keys\").value='';
document.getElementById(\"secert\").value='';
document.getElementById(\"cksy\").value='';
}
document.getElementById('light').style.display='none';
document.getElementById('fade').style.display='none';
}
function setChange()
{
var zfzt=document.getElementById(\"type\").value;
if (zfzt == 'zfbdmf'||zfzt == 'zfbpc'||zfzt == 'zfbold')
{
if (zfzt == 'zfbold'){
document.getElementById(\"keys\").style.display = 'block';
document.getElementById(\"keyss\").style.display = 'block';
document.getElementById(\"zzdgr\").value = '0';
document.getElementById(\"zzdgr\").disabled=true;
}else{
document.getElementById(\"keys\").style.display = 'none';
document.getElementById(\"keyss\").style.display = 'none';
//document.getElementById(\"zzdgr\").value = '1';
document.getElementById(\"zzdgr\").disabled=false;
}
document.getElementById(\"mchid\").style.display = 'none'
document.getElementById(\"mchids\").style.display = 'none'
document.getElementById(\"secert\").style.display = 'none'
document.getElementById(\"secerts\").style.display = 'none'
}
else
{
document.getElementById(\"keys\").style.display = 'block';
document.getElementById(\"keyss\").style.display = 'block';
document.getElementById(\"mchid\").style.display = 'block'
document.getElementById(\"mchids\").style.display = 'block'
document.getElementById(\"secert\").style.display = 'block'
document.getElementById(\"secerts\").style.display = 'block'
}
}
function clearNoNum(obj) {
obj.value = obj.value.replace(/[^\\d.]/g, \"\"); //清除除了“数字”和“.”以外的字符
obj.value = obj.value.replace(/\\.{2,}/g, \".\"); //只保留第一个. 清除多余的
obj.value = obj.value.replace(\".\", \"\$#\$\").replace(/\\./g, \"\").replace(\"\$#\$\", \".\");
obj.value = obj.value.replace(/^(\\-)*(\\d+)\.(\\d\\d\\d).*$/, '\$1\$2.\$3');//只能输入3个小数
if (obj.value.indexOf(\".\") < 0 && obj.value != \"\") {
//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
obj.value = parseFloat(obj.value);
}
}
function confirmadd(fgf,gfg,x)
{
//alert(fgf+'\n'+gfg);
var gsnames=document.getElementById(\"gsname\").value;
var types=document.getElementById(\"type\").value;
var enables=document.getElementById(\"enable\").value;
var appidss=document.getElementById(\"appids\").value;
var mchids=document.getElementById(\"mchid\").value;
var keyss=document.getElementById(\"keys\").value;
var secerts=document.getElementById(\"secert\").value;
var maxjines=document.getElementById(\"cksy\").value;
var zzdgr=document.getElementById(\"zzdgr\").value;
function ckvalue(){
if(!gsnames){
alert('公司名称不能为空!');
return 3;
}
if(appidss.length<16){
alert('AppId参数不对\n微信以wx开头由18位字母和数字组成。\n支付宝以2088开头由16位纯数字组成。');
return 3;
}
if(mchids.length<8&&types=='wx'){
alert('商户号参数错误,商户号是微信支付独有参数,由纯数字组成');
return 3;
}
if(keyss.length!=32&&types=='zfbold'){
alert('支付密钥,微信/支付平台里面获取32位数字字母组成');
return 3;
}
if(secerts.length!=32&&types=='wx'){
alert('微信公众平台,开发者中心的密钥!\n由32位数字和字母组成');
return 3;
}
if (maxjines>1000000){
alert('收款每天最大限额不要超过100万');
return 3;
}
}
switch (gfg)
{
case 'delone':
var tab=document.getElementById(\"tablqwq\");
var rows=tab.rows;
// alert(rows[x.parentNode.parentNode.rowIndex].cells[2].innerHTML);
if(!confirm('确认删除【'+rows[x.parentNode.parentNode.rowIndex].cells[1].innerHTML+'】'+rows[x.parentNode.parentNode.rowIndex].cells[2].innerHTML+'通道?'))return;
var pdata=fgf;
break;
case 'zfzhanghaoadd':
if(ckvalue()==3)return;
var keysss=keyss?keyss:'NULL'
var pdata=types=='wx'?types+' '+gsnames+' '+enables+' '+appidss+' '+mchids+' '+keysss+' '+secerts+' '+maxjines+' '+zzdgr:types+' '+gsnames+' '+enables+' '+appidss+' '+keysss+' '+maxjines+' '+zzdgr;
break;
case 'xiugai':
if(ckvalue()==3)return;
var keysss=keyss?keyss:'NULL'
var pdata=types=='wx'?fgf+' '+types+' '+gsnames+' '+enables+' '+appidss+' '+mchids+' '+keysss+' '+secerts+' '+maxjines+' '+zzdgr:fgf+' '+types+' '+gsnames+' '+enables+' '+appidss+' '+keysss+' '+maxjines+' '+zzdgr;
break;
case 'getpublickey':
var pdata=fgf;
break;
case 'qiyetestpay':
var pdata=fgf;
break;
}
var qq = new XMLHttpRequest();
qq.onreadystatechange = function () {
if (qq.readyState == 4 && qq.status == 200) {
var rehead=qq.responseText;
var ztm = qq.getResponseHeader('ztm');
if (ztm === \"noes\"){
alert('登录失效,请重登录!');
window.location.href='login.xhtml';
return;
}
if (ztm == 'okay')
{
if(gfg=='getpublickey'){
document.getElementById('lappid').innerHTML=fgf;
openpublkey(rehead.replace(/(^\\s*)|(\\s*\$)/g, \"\"));
}else{
alert(rehead);
endadd('xiugaiend');
getlist();
}
}else if (ztm == 'okey')alert(rehead);
}else{
if (qq.readyState == 4 && qq.status != 200)
alert(\"网络错误!\"+qq.readyState+\"|\"+qq.status);
}
};
qq.open(\"POST\", 'qiye.xjs?'+gfg,true);
qq.send(pdata);
}
</script>
</body>
</center>
</html>
"