first commit

This commit is contained in:
2025-04-27 10:56:38 +08:00
commit 4c3e17d851
796 changed files with 115572 additions and 0 deletions
+163
View File
@@ -0,0 +1,163 @@
<style>
.layui-table-cell {
height: auto;
}
.layui-table img {
max-width: 200px;
}
</style>
<div class="layui-upload">
<button type="button" class="layui-btn layui-btn-normal" id="testList">选择微信有金额的二维码</button>
<button type="button" class="layui-btn" onclick="saveqr()">保存二维码</button>
<table class="layui-hide" id="test" lay-filter="wxqrlist"></table>
</div>
<script type="text/html" id="barDemo">
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script>
var imgs = {},mytable;
var duilie = 0;
layui.use('upload', function() {
var $ = layui.jquery
, upload = layui.upload;
mytable = layui.table.render({
elem: '#test'
,data:imgs
,cols: [[
{type:'numbers',title: '序号'}
,{field:'', width:230, title: '二维码', templet:function (data) {
return "<img src='"+data.b64+"'/>"
}
}
,{field:'url', minWidth:150, title: '内容'}
,{field:'money',width:100, title: '金额',edit:"text"}
,{title: '操作', minWidth: 80, align:'center', toolbar: '#barDemo'}
]],
page:true
});
//监听工具条
layui.table.on('tool(wxqrlist)', function(obj){
var data = obj.data;
if(obj.event === 'del'){
layer.confirm('真的删除行么', function(index){
obj.del();
imgs = layui.table.cache.test;
mytable.reload({
data: imgs
});
layer.close(index);
});
}
});
//多文件列表示例
var demoListView = $('#demoList')
,uploadListIns = upload.render({
elem: '#testList'
,url: '/upload/'
,accept: 'file'
,multiple: true
,auto: false
,bindAction: '#testListAction'
,choose: function(obj){
imgs = [];
var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
layer.msg("等待所有二维码识别完毕后手动输入金额,输入完成后点击保存二维码")
// layer.msg('处理中', {
// icon: 16
// ,shade: 0.01
// ,time:0
// });
//读取本地文件
obj.preview(function(index, file, result){
// $.post("qr-code/test.php","base64="+encodeURIComponent(result.split(",")[1]),function (data) {
// console.log(data)
// if (!data.data) {
// data = JSON.parse(data);
// }
// imgs.push({"index":imgs.length,"money":"","b64":result,"url":data.data});
// mytable.reload({
// data: imgs
// });
// });
//console.log(index)
qrcode.decode(getObjectURL(file),result);
qrcode.callback = function(imgMsg,img64) {
console.log(imgMsg);
if (imgMsg==""){
$.post("qr-code/test.php","base64="+encodeURIComponent(img64.split(",")[1]),function (data) {
console.log(data)
if (!data.data) {
data = JSON.parse(data);
}
imgs.push({"index":imgs.length,"money":"","b64":img64,"url":data.data});
mytable.reload({
data: imgs
});
});
} else{
imgs.push({"index":imgs.length,"money":"","b64":img64,"url":imgMsg});
mytable.reload({
data: imgs
});
}
}
});
}
});
});
function saveqr() {
var data = layui.table.cache.test;
for (var i = 0;i<data.length;i++){
if (data[i].money =="" || checkRate(data[i].money == false)){
layer.msg("序号为"+(i+1)+"的二维码金额有误,请检查");
return;
}
}
up(data,0);
}
function up(obj,index) {
if (obj.length==index){
layer.msg("操作成功!");
imgs = []
mytable.reload({
data: imgs
});
return;
}
$.post("admin/index/addPayQrcode","type=1&pay_url="+encodeURIComponent(obj[index].url)+"&price="+obj[index].money,function (data) {
up(obj,index+1)
});
}
function checkRate(input) {
var re = /^[0-9]+.?[0-9]*$/; //判断字符串是否为数字 //判断正整数 /^[1-9]+[0-9]*]*$/
if (!re.test(input)) {
return false;
}
}
</script>
+153
View File
@@ -0,0 +1,153 @@
<style>
.layui-table-cell {
height: auto;
}
.layui-table img {
max-width: 200px;
}
</style>
<div class="layui-upload">
<button type="button" class="layui-btn layui-btn-normal" id="testList">选择支付宝有金额的二维码</button>
<button type="button" class="layui-btn" onclick="saveqr()">保存二维码</button>
<table class="layui-hide" id="test" lay-filter="wxqrlist"></table>
</div>
<script type="text/html" id="barDemo">
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script>
var imgs = {},mytable;
layui.use('upload', function() {
var $ = layui.jquery
, upload = layui.upload;
mytable = layui.table.render({
elem: '#test'
,data:imgs
,cols: [[
{type:'numbers',title: '序号'}
,{field:'', width:230, title: '二维码', templet:function (data) {
return "<img src='"+data.b64+"'/>"
}
}
,{field:'url', minWidth:150, title: '内容'}
,{field:'money',width:100, title: '金额',edit:"text"}
,{title: '操作', minWidth: 80, align:'center', toolbar: '#barDemo'}
]],
page:true
});
//监听工具条
layui.table.on('tool(wxqrlist)', function(obj){
var data = obj.data;
if(obj.event === 'del'){
layer.confirm('真的删除行么', function(index){
obj.del();
imgs = layui.table.cache.test;
mytable.reload({
data: imgs
});
layer.close(index);
});
}
});
//多文件列表示例
var demoListView = $('#demoList')
,uploadListIns = upload.render({
elem: '#testList'
,url: '/upload/'
,accept: 'file'
,multiple: true
,auto: false
,bindAction: '#testListAction'
,choose: function(obj){
imgs = [];
var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
layer.msg("等待所有二维码识别完毕后手动输入金额,输入完成后点击保存二维码")
//读取本地文件
obj.preview(function(index, file, result){
/*
$.post("qr-code/test.php","base64="+encodeURIComponent(result.split(",")[1]),function (data) {
console.log(data)
if (!data.data) {
data = JSON.parse(data);
}
imgs.push({"index":imgs.length,"money":"","b64":result,"url":data.data});
mytable.reload({
data: imgs
});
});
*/
qrcode.decode(getObjectURL(file),result);
qrcode.callback = function(imgMsg,img64) {
if (imgMsg==""){
$.post("qr-code/test.php","base64="+encodeURIComponent(img64.split(",")[1]),function (data) {
console.log(data)
if (!data.data) {
data = JSON.parse(data);
}
imgs.push({"index":imgs.length,"money":"","b64":img64,"url":data.data});
mytable.reload({
data: imgs
});
});
} else{
imgs.push({"index":imgs.length,"money":"","b64":img64,"url":imgMsg});
mytable.reload({
data: imgs
});
}
}
});
}
});
});
function saveqr() {
var data = layui.table.cache.test;
for (var i = 0;i<data.length;i++){
if (data[i].money =="" || checkRate(data[i].money == false)){
layer.msg("序号为"+(i+1)+"的二维码金额有误,请检查");
return;
}
}
up(data,0);
}
function up(obj,index) {
if (obj.length==index){
layer.msg("操作成功!");
imgs = []
mytable.reload({
data: imgs
});
return;
}
$.post("admin/index/addPayQrcode","type=2&pay_url="+encodeURIComponent(obj[index].url)+"&price="+obj[index].money,function (data) {
up(obj,index+1)
});
}
function checkRate(input) {
var re = /^[0-9]+.?[0-9]*$/; //判断字符串是否为数字 //判断正整数 /^[1-9]+[0-9]*]*$/
if (!re.test(input)) {
return false;
}
}
</script>
+96
View File
@@ -0,0 +1,96 @@
<div class="layui-form" action="">
<div class="layui-form-item">
<label class="layui-form-label">监控端状态</label>
<div class="layui-input-block">
<input type="text" id="jkstate" value="" lay-verify="required" placeholder="监控端状态" autocomplete="off" readonly class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">最后心跳</label>
<div class="layui-input-block">
<input type="text" id="lastheart" lay-verify="required" placeholder="最后心跳时间" autocomplete="off" readonly class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">最后收款</label>
<div class="layui-input-block">
<input type="text" id="lastpay" lay-verify="required" placeholder="最后收款时间" autocomplete="off" readonly class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">配置数据</label>
<div class="layui-input-block">
<input type="text" id="input" lay-verify="required" placeholder="手动配置数据" autocomplete="off" readonly class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">配置二维码</label>
<div class="layui-input-block">
<img id="pzqrcode">
</div>
</div>
<div class="layui-form-item" style="text-align: right">
<button class="layui-btn" onclick="window.open('../v.apk')">下载监控端</button>
<button class="layui-btn" onclick="window.open('https://github.com/szvone/vmqApk/releases')">最新版监控端下载</button>
</div>
<!--<div class="layui-form-item layui-form-text">-->
<!--<label class="layui-form-label">设置进入网站的提示</label>-->
<!--<div class="layui-input-block">-->
<!--<textarea placeholder="请输入公告内容" id="xz" class="layui-textarea"></textarea>-->
<!--</div>-->
<!--</div>-->
<!--<div class="layui-form-item">-->
<!--<button class="layui-btn" onclick="editxz()">保存</button>-->
<!--</div>-->
</div>
<script>
function formatDate(now) {
if (now==0) {
return "无";
}
now = new Date(now*1000);
return now.getFullYear()
+ "-" + (now.getMonth()>8?(now.getMonth()+1):"0"+(now.getMonth()+1))
+ "-" + (now.getDate()>9?now.getDate():"0"+now.getDate())
+ " " + (now.getHours()>9?now.getHours():"0"+now.getHours())
+ ":" + (now.getMinutes()>9?now.getMinutes():"0"+now.getMinutes())
+ ":" + (now.getSeconds()>9?now.getSeconds():"0"+now.getSeconds());
}
layui.use(['form','layer'], function(){
var table = layui.table,form = layui.form;
form.render();
});
$.post("admin/index/getSettings",function (data) {
console.log(data);
if (data.code==1){
if (data.data.jkstate == -1){
$("#jkstate").val("监控端未绑定,请您扫码绑定");
}else if (data.data.jkstate == 0){
$("#jkstate").val("监控端已掉线,请您检查App是否正常运行");
}else if (data.data.jkstate == 1){
$("#jkstate").val("运行正常");
}
$("#lastheart").val(formatDate(data.data.lastheart));
$("#lastpay").val(formatDate(data.data.lastpay));
var img = window.location.host+"/"+data.data.key;
$("#input").val(img);
$("#pzqrcode").attr("src","enQrcode?url="+img);
}
});
</script>
+274
View File
@@ -0,0 +1,274 @@
<div class="layui-form layui-form-pane" action="">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">支付方式</label>
<div class="layui-input-inline">
<select id="type" lay-verify="required" lay-filter="type">
<option value="">不限制</option>
<option value="1">微信</option>
<option value="2">支付宝</option>
</select>
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">订单状态</label>
<div class="layui-input-inline">
<select id="state" lay-verify="required" lay-filter="state">
<option value="">不限制</option>
<option value="-1">过期</option>
<option value="0">待支付</option>
<option value="1">完成</option>
<option value="2">通知失败</option>
</select>
</div>
</div>
</div>
</div>
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm layui-btn-danger" lay-event="delGq">删除所有过期订单</button>
<button class="layui-btn layui-btn-sm layui-btn-danger" lay-event="delLast">删除七天前订单</button>
</div>
</script>
<table id="demo" lay-filter="test"></table>
<script type="text/html" id="barDemo">
<a class="layui-btn layui-btn-xs" lay-event="bd">补单</a>
<a class="layui-btn layui-btn-xs" lay-event="info">详情</a>
<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="del">删除</a>
</script>
<script>
function formatDate(now) {
if (now=="0"){
return "无";
}
now = new Date(now*1000);
return now.getFullYear()
+ "-" + (now.getMonth()>8?(now.getMonth()+1):"0"+(now.getMonth()+1))
+ "-" + (now.getDate()>9?now.getDate():"0"+now.getDate())
+ " " + (now.getHours()>9?now.getHours():"0"+now.getHours())
+ ":" + (now.getMinutes()>9?now.getMinutes():"0"+now.getMinutes())
+ ":" + (now.getSeconds()>9?now.getSeconds():"0"+now.getSeconds());
}
var myTable,table,form;
layui.use(['form','table','laydate'], function(){
table = layui.table;
form = layui.form;
//第一个实例
myTable = table.render({
elem: '#demo'
,height: 'full-160'
,url: 'admin/index/getOrders'
,toolbar: '#toolbarDemo'
,where: {
state:$("#state").val(),
type:$("#type").val()
}
,cols: [[ //表头
{field: 'create_date', title: '创建时间',minWidth:160,templet: function(d){
return formatDate(d.create_date);
}
},
{field: 'pay_id', title: '商户编号',minWidth:180},
{field: 'order_id', title: '云端订单编号',minWidth:180},
{field: 'type', title: '支付方式',minWidth:100,templet: function(d){
if (d.type=="1"){
return '微信';
}else if (d.type=="2"){
return '支付宝';
}
}
},
{field: 'price', title: '订单金额',minWidth:100, align:'center'},
{field: 'really_price', title: '实际金额',minWidth:100, align:'center'},
{field: 'state', title: '状态',minWidth:80,templet: function(d){
if (d.state=="2"){
return '<span style="color: orange">通知失败</span>';
}else if (d.state=="1"){
return '<span style="color: green">完成</span>';
}else if (d.state=="0"){
return '<span style="color: orange">待支付</span>';
}else if (d.state=="-1"){
return '<span style="color: red">过期</span>';
}
}
},
{title: '操作', minWidth: 120, align:'center', toolbar: '#barDemo'}
]]
,page:true
});
//监听行工具事件
table.on('tool(test)', function(obj){ //注:tool 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值"
var data = obj.data //获得当前行数据
,layEvent = obj.event; //获得 lay-event 对应的值
if(layEvent === 'info'){
var out = "<p>创建时间:"+formatDate(data.create_date)+"</p>";
out += "<p>支付时间:"+formatDate(data.pay_date)+"</p>";
out += "<p>关闭时间:"+formatDate(data.close_date)+"</p>";
out += "<p>自定义参数:"+data.param+"</p>";
layer.alert(out);
}else if(layEvent === 'bd'){
layer.confirm('确定要补单吗?该操作将会将该订单标记为已支付,并向您的服务器发送订单完成通知', function(index){
layer.msg('操作中', {
icon: 16
,shade: 0.01
});
$.post("admin/index/setBd","id="+data.id,function (data) {
if (data.code==1){
layer.msg("操作成功!");
myTable.reload({
where: {
state:$("#state").val(),
type:$("#type").val()
}
});
}else if(data.code==-2){
layer.confirm('补单失败,异步通知返回错误,是否查看通知返回数据?', {
btn: ['查看','取消'] //按钮
}, function(){
alert(data.data);
}, function(){
});
}else{
layer.msg(data.msg);
}
});
console.log(data.id);
});
}else if(layEvent === 'del'){
layer.confirm('确定要删除订单吗?', function(index){
layer.msg('操作中', {
icon: 16
,shade: 0.01
});
$.post("admin/index/delOrder","id="+data.id,function (data) {
if (data.code==1){
layer.msg("操作成功!");
myTable.reload({
where: {
state:$("#state").val(),
type:$("#type").val()
}
});
}else{
layer.msg(data.msg);
}
});
console.log(data.id);
});
}
});
form.on('select(state)', function(data){
myTable.reload({
where: {
state:$("#state").val(),
type:$("#type").val()
}
});
});
form.on('select(type)', function(data){
myTable.reload({
where: {
state:$("#state").val(),
type:$("#type").val()
}
});
});
//头工具栏事件
table.on('toolbar(test)', function(obj){
var checkStatus = table.checkStatus(obj.config.id);
switch(obj.event){
case 'delGq':
layer.confirm('确定要删除所有过期订单吗?', function(index){
layer.msg('操作中', {
icon: 16
,shade: 0.01
});
$.post("admin/index/delGqOrder",function (data) {
if (data.code==1){
layer.msg("操作成功!");
myTable.reload({
where: {
state:$("#state").val(),
type:$("#type").val()
}
});
}else{
layer.msg(data.msg);
}
});
});
break;
case 'delLast':
layer.confirm('确定要删除七天前的所有订单吗?', function(index){
layer.msg('操作中', {
icon: 16
,shade: 0.01
});
$.post("admin/index/delLastOrder",function (data) {
if (data.code==1){
layer.msg("操作成功!");
myTable.reload({
where: {
state:$("#state").val(),
type:$("#type").val()
}
});
}else{
layer.msg(data.msg);
}
});
});
break;
};
});
form.render();
});
</script>
+351
View File
@@ -0,0 +1,351 @@
<div class="layui-form" action="">
<div class="layui-form-item">
<label class="layui-form-label">后台账号</label>
<div class="layui-input-block">
<input type="text" id="user" lay-verify="required" placeholder="请输入管理员账号" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">后台密码</label>
<div class="layui-input-block">
<input type="text" id="pass" lay-verify="required" placeholder="请输入管理员密码" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">订单有效期</label>
<div class="layui-input-block">
<input type="number" id="close" lay-verify="required" placeholder="请输入创建的订单几分钟后失效" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">异步回调</label>
<div class="layui-input-block">
<input type="text" id="notifyUrl" lay-verify="required" placeholder="请输入异步回调地址" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">同步回调</label>
<div class="layui-input-block">
<input type="text" id="returnUrl" lay-verify="required" placeholder="请输入支付完成后跳转地址" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">通讯密钥</label>
<div class="layui-input-block">
<input type="text" id="key" lay-verify="required" placeholder="请输入通讯密钥" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">区分方式</label>
<div class="layui-input-block">
<div class="layui-upload">
<select id="payQf">
<option value="1">金额递增</option>
<option value="2">金额递减</option>
</select>
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">微信码</label>
<div class="layui-input-block">
<div class="layui-upload">
<button type="button" class="layui-btn" id="wxup">上传收款二维码</button>(此处上传的是无金额的收款二维码)
<div class="layui-upload-list">
<img class="layui-upload-img" id="wximg">
<p id="wxcs"></p>
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">支付宝码</label>
<div class="layui-input-block">
<div class="layui-upload">
<button type="button" class="layui-btn" id="zfbup">上传收款二维码</button>(此处上传的是无金额的收款二维码)
<div class="layui-upload-list">
<img class="layui-upload-img" id="zfbimg">
<p id="zfbcs"></p>
</div>
</div>
</div>
</div>
<div class="layui-form-item" style="text-align: right;">
<button class="layui-btn" onclick="save()">保存</button>
</div>
<!--<div class="layui-form-item layui-form-text">-->
<!--<label class="layui-form-label">设置进入网站的提示</label>-->
<!--<div class="layui-input-block">-->
<!--<textarea placeholder="请输入公告内容" id="xz" class="layui-textarea"></textarea>-->
<!--</div>-->
<!--</div>-->
<!--<div class="layui-form-item">-->
<!--<button class="layui-btn" onclick="editxz()">保存</button>-->
<!--</div>-->
</div>
<script>
function formatDate(now) {
now = new Date(now*1000);
return now.getFullYear()
+ "-" + (now.getMonth()>8?(now.getMonth()+1):"0"+(now.getMonth()+1))
+ "-" + (now.getDate()>9?now.getDate():"0"+now.getDate())
+ " " + (now.getHours()>9?now.getHours():"0"+now.getHours())
+ ":" + (now.getMinutes()>9?now.getMinutes():"0"+now.getMinutes())
+ ":" + (now.getSeconds()>9?now.getSeconds():"0"+now.getSeconds());
}
layui.use(['form','layer','upload'], function(){
var table = layui.table,form = layui.form,upload = layui.upload;
var uploadInst = upload.render({
elem: '#wxup'
, url: 'qr-code/test.php'
,auto: false
,choose: function(obj){
console.log(obj)
obj.preview(function(index, file, result){
qrcode.decode(getObjectURL(file));
qrcode.callback = function(imgMsg) {
console.log(imgMsg)
if(imgMsg!=""){
$('#wximg').attr('src', "enQrcode?url="+imgMsg);
}else{
layer.msg('处理中', {
icon: 16
,shade: 0.01
,time:0
});
$.post("qr-code/test.php","base64="+encodeURIComponent(result.split(",")[1]),function (data) {
console.log(data)
if (!data.data) {
data = JSON.parse(data);
}
if (data.code==1){
$('#wximg').attr('src', "enQrcode?url="+data.data);
layer.msg('处理成功');
} else{
return layer.alert('处理失败,可以尝试将二维码用草料识别出内容,然后重新将内容生成二维码图片上传!');
}
});
}
}
});
}
, before: function (obj) {
layer.msg('处理中', {
icon: 16
,shade: 0.01
,time:0
});
}
, done: function (res) {
//如果上传失败
if (res.code == -1) {
return layer.msg('上传失败');
}
if (res.data==""){
return layer.msg('请上传微信无金额收款二维码');
}
layer.msg('处理成功');
$('#wximg').attr('src', "enQrcode?url="+res.data);
}
, error: function () {
layer.msg('上传失败');
//演示失败状态,并实现重传
var demoText = $('#wxcs');
demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs wxcs">重试</a>');
demoText.find('.wxcs').on('click', function () {
uploadInst.upload();
});
}
});
var uploadInst2 = upload.render({
elem: '#zfbup'
, url: 'qr-code/test.php'
,auto: false
,choose: function(obj){
console.log(obj)
obj.preview(function(index, file, result){
qrcode.decode(getObjectURL(file));
qrcode.callback = function(imgMsg) {
console.log(imgMsg)
if(imgMsg!=""){
$('#zfbimg').attr('src', "enQrcode?url="+imgMsg);
}else{
layer.msg('处理中', {
icon: 16
,shade: 0.01
,time:0
});
$.post("qr-code/test.php","base64="+encodeURIComponent(result.split(",")[1]),function (data) {
console.log(data)
if (!data.data) {
data = JSON.parse(data);
}
if (data.code==1){
$('#zfbimg').attr('src', "enQrcode?url="+data.data);
layer.msg('处理成功');
} else{
return layer.alert('处理失败,可以尝试将二维码用草料识别出内容,然后重新将内容生成二维码图片上传!');
}
});
}
}
});
}
, before: function (obj) {
layer.msg('处理中', {
icon: 16
,shade: 0.01
,time:0
});
}
, done: function (res) {
//如果上传失败
if (res.code == -1) {
return layer.msg('上传失败');
}
if (res.data=="" ){
return layer.msg('请上传支付宝无金额收款二维码');
}
layer.msg('处理成功');
$('#zfbimg').attr('src', "enQrcode?url="+res.data);
}
, error: function () {
layer.msg('上传失败');
//演示失败状态,并实现重传
var demoText = $('#zfbcs');
demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs zfbcs">重试</a>');
demoText.find('.zfbcs').on('click', function () {
uploadInst2.upload();
});
}
});
form.render();
});
function save() {
var user = $("#user").val();
var pass = $("#pass").val();
var notifyUrl = $("#notifyUrl").val();
var returnUrl = $("#returnUrl").val();
var key = $("#key").val();
var close = $("#close").val();
var payQf = $("#payQf").val();
if (user == ""){
layer.msg("请输入管理员账号");
return;
}
if (pass == ""){
layer.msg("请输入管理员密码");
return;
}
if (key == ""){
layer.msg("请输入通讯密钥");
return;
}
if (notifyUrl == ""){
layer.msg("请输入异步回调地址");
return;
}
if (returnUrl == ""){
layer.msg("请输入支付完成后跳转地址");
return;
}
if (close == ""){
layer.msg("请输入创建的订单几分钟后失效");
return;
}
var wximg = $("#wximg").attr("src");
if (wximg=="" || !wximg){
layer.msg("请上传微信无金额的收款二维码");
return;
}
var zfbimg = $("#zfbimg").attr("src");
if (zfbimg=="" || !zfbimg){
layer.msg("请上传支付宝无金额的收款二维码");
return;
}
wximg = wximg.replace(/enQrcode\?url=/g,"");
zfbimg = zfbimg.replace(/enQrcode\?url=/g,"");
$.post("admin/index/saveSetting","user="+user+"&pass="+pass+"&notifyUrl="+notifyUrl+"&returnUrl="+returnUrl+"&key="+key+"&wxpay="+wximg+"&zfbpay="+zfbimg+"&close="+close+"&payQf="+payQf,function (data) {
if (data.code==1){
$.post("admin/index/getSettings",function (data) {
console.log(data);
if (data.code==1){
$("#user").val(data.data.user);
$("#pass").val(data.data.pass);
$("#notifyUrl").val(data.data.notifyUrl);
$("#returnUrl").val(data.data.returnUrl);
$("#key").val(data.data.key);
$("#close").val(data.data.close);
if (data.data.wxpay!=""){
$('#wximg').attr('src', "enQrcode?url="+data.data.wxpay);
}
if (data.data.zfbpay!=""){
$('#zfbimg').attr('src', "enQrcode?url="+data.data.zfbpay);
}
}
});
}
layer.msg(data.msg);
});
}
function getstate(){
$.post("admin/index/getSettings",function (data) {
console.log(data);
if (data.code==1){
$("#user").val(data.data.user);
$("#pass").val(data.data.pass);
$("#notifyUrl").val(data.data.notifyUrl);
$("#returnUrl").val(data.data.returnUrl);
$("#key").val(data.data.key);
$("#close").val(data.data.close);
$("#payQf").val(data.data.payQf);
if (data.data.wxpay!=""){
$('#wximg').attr('src', "enQrcode?url="+data.data.wxpay);
}
if (data.data.zfbpay!=""){
$('#zfbimg').attr('src', "enQrcode?url="+data.data.zfbpay);
}
layui.form.render();
}
});
}
getstate();
</script>
+83
View File
@@ -0,0 +1,83 @@
<style>
.layui-table-cell {
height: auto;
}
.layui-table img {
max-width: 200px;
}
</style>
<table id="demo" lay-filter="test"></table>
<script type="text/html" id="barDemo">
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script>
function formatDate(now) {
now = new Date(now*1000);
return now.getFullYear()
+ "-" + (now.getMonth()>8?(now.getMonth()+1):"0"+(now.getMonth()+1))
+ "-" + (now.getDate()>9?now.getDate():"0"+now.getDate())
+ " " + (now.getHours()>9?now.getHours():"0"+now.getHours())
+ ":" + (now.getMinutes()>9?now.getMinutes():"0"+now.getMinutes())
+ ":" + (now.getSeconds()>9?now.getSeconds():"0"+now.getSeconds());
}
var myTable,table,form;
layui.use(['form','table','laydate'], function(){
table = layui.table;
form = layui.form;
//第一个实例
myTable = table.render({
elem: '#demo'
,height: 'full-130'
,url: 'admin/index/getPayQrcodes'
,where: {
type:1,
}
,cols: [[ //表头
{field: 'state', title: '二维码',templet: function(d){
return '<img src="enQrcode?url='+d.pay_url+'"/>';
}
},
{field: 'price', title: '金额'},
{title:"操作", width: 70, align:'center', toolbar: '#barDemo'}
]]
,page:true
});
//监听行工具事件
table.on('tool(test)', function(obj){ //注:tool 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值"
var data = obj.data //获得当前行数据
,layEvent = obj.event; //获得 lay-event 对应的值
if(layEvent === 'del'){
layer.confirm('要删除该二维码么?', function(index){
layer.close(index);
//向服务端发送删除指令
$.post("admin/index/delPayQrcode","id="+data.id,function (data) {
if (data.code==1){
obj.del(); //删除对应行(tr)的DOM结构
}
layer.msg(data.msg);
});
console.log(data.id);
});
}
});
form.render();
});
</script>
+83
View File
@@ -0,0 +1,83 @@
<style>
.layui-table-cell {
height: auto;
}
.layui-table img {
max-width: 200px;
}
</style>
<table id="demo" lay-filter="test"></table>
<script type="text/html" id="barDemo">
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script>
function formatDate(now) {
now = new Date(now*1000);
return now.getFullYear()
+ "-" + (now.getMonth()>8?(now.getMonth()+1):"0"+(now.getMonth()+1))
+ "-" + (now.getDate()>9?now.getDate():"0"+now.getDate())
+ " " + (now.getHours()>9?now.getHours():"0"+now.getHours())
+ ":" + (now.getMinutes()>9?now.getMinutes():"0"+now.getMinutes())
+ ":" + (now.getSeconds()>9?now.getSeconds():"0"+now.getSeconds());
}
var myTable,table,form;
layui.use(['form','table','laydate'], function(){
table = layui.table;
form = layui.form;
//第一个实例
myTable = table.render({
elem: '#demo'
,height: 'full-130'
,url: 'admin/index/getPayQrcodes'
,where: {
type:2,
}
,cols: [[ //表头
{field: 'state', title: '二维码',templet: function(d){
return '<img src="enQrcode?url='+d.pay_url+'"/>';
}
},
{field: 'price', title: '金额'},
{title:"操作", width: 70, align:'center', toolbar: '#barDemo'}
]]
,page:true
});
//监听行工具事件
table.on('tool(test)', function(obj){ //注:tool 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值"
var data = obj.data //获得当前行数据
,layEvent = obj.event; //获得 lay-event 对应的值
if(layEvent === 'del'){
layer.confirm('要删除该二维码么?', function(index){
layer.close(index);
//向服务端发送删除指令
$.post("admin/index/delPayQrcode","id="+data.id,function (data) {
if (data.code==1){
obj.del(); //删除对应行(tr)的DOM结构
}
layer.msg(data.msg);
});
console.log(data.id);
});
}
});
form.render();
});
</script>