mpay/view/pay_manage/add_channel_code.html
2025-04-16 15:39:14 +08:00

191 lines
8.9 KiB
HTML
Raw 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.

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>添加二维码</title>
<link rel="stylesheet" href="/component/pear/css/pear.css" />
<style>
.inputTxt {
margin-left: 10px;
}
</style>
</head>
<body>
<form id="set-channel" class="layui-form layui-form-pane" action="" lay-filter="channel-edit">
<div class="mainBox">
<div class="main-container">
<div class="layui-form-item">
<label class="layui-form-label">终端编号</label>
<div class="layui-input-block">
<input type="text" name="channel" autocomplete="off" class="layui-input" disabled>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">收款通道</label>
<div class="layui-input-block">
<select class="type" lay-filter="select-type">
<option value="">请选择</option>
<!-- <?php if ($platform == 'wxpay') { ?> -->
<option value="wxpay1">个人码</option>
<option value="wxpay2">赞赏码</option>
<option value="wxpay3">经营码</option>
<option value="wxpay4">商家码</option>
<option value="wxpay5">店员码</option>
<!-- <?php } ?> -->
<!-- <?php if ($platform == 'alipay') { ?> -->
<option value="alipay1">收钱码</option>
<option value="alipay2">经营码</option>
<!-- <?php } ?> -->
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">收款样式</label>
<div class="layui-input-block">
<select name="type" lay-filter="type">
<option value="">请选择</option>
<option value="0">付款链接</option>
<option value="1">图片地址</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">收款码</label>
<div class="layui-input-block">
<input type="text" name="qrcode" autocomplete="off" lay-affix="upload-drag"
lay-filter="scanning" class="layui-input" data-type="">
</div>
</div>
<div class="layui-form-item">
<blockquote class="layui-elem-quote">
<!-- <?php if ($platform == 'wxpay') { ?> -->
<p><strong>手机监控:</strong>微信个人码与经营码只能二选一不能同时添加且经营码只能通过个人码通道1添加成功不然不回调商家码监听需要关注“微信收款商业版”公众号赞赏码和店员码正常添加。</p>
<p><strong>电脑监控:</strong>所有收款码均可监控,需要将收款通知聊天窗口单独拖出来</p>
<!-- <?php } ?> -->
<!-- <?php if ($platform == 'alipay') { ?> -->
<p><strong>手机监控:</strong>支付宝收钱码与经营码通知无法做区分,只能二选一,且只能通过收钱码选项添加</p>
<p><strong>电脑监控:</strong>暂不支持PC端监控可以选择支付宝账单方式监听收款</p>
<!-- <?php } ?> -->
</blockquote>
</div>
</div>
</div>
<div class="bottom">
<div class="button-container">
<button type="submit" class="pear-btn pear-btn-primary pear-btn-sm" lay-submit="" lay-filter="save">
<i class="layui-icon layui-icon-ok"></i>
提交
</button>
<button type="reset" class="pear-btn pear-btn-sm">
<i class="layui-icon layui-icon-refresh"></i>
重置
</button>
</div>
</div>
</form>
<script src="/component/layui/layui.js"></script>
<script src="/component/pear/pear.js"></script>
<script>
layui.use(['form'], function () {
let form = layui.form;
form.on('input-affix(scanning)', function (obj) {
const type = obj.elem.getAttribute('data-type');
if (type === '') {
layer.msg('请先选择二维码类型!', { tips: 2, time: 1200 });
return false;
}
if (type === 'img') {
uploadCodeImg(obj.elem);
return false;
}
if (type === 'link') {
window.open('https://cli.im/deqr', '_blank');
return false;
}
});
form.on('select(type)', function (data) {
const form = data.elem.form;
const value = data.value;
const inuptelem = form.querySelector('input[name="qrcode"]');
if (value === '0') {
inuptelem.setAttribute('data-type', 'link');
return false;
}
if (value === '1') {
inuptelem.setAttribute('data-type', 'img');
return false;
}
});
// select 事件
form.on('select(select-type)', function (data) {
const value = data.value; // 获得被选中的值
const channel = document.querySelector('input[name="channel"]');
channel.value = value + '#<?php echo $account ?>';
});
form.on('submit(save)', function (obj) {
let field = obj.field;
field.account_id = '<?php echo $aid ?>';
(async () => {
const url = '/api/PayManage/addChannel';
const info = field;
const res = await fetch(url, { method: 'post', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(info) });
if (res.status !== 200) {
layer.msg('请求失败,请重试!', { tips: 2, time: 1200 });
return false;
}
const rec_info = await res.json();
if (rec_info.code === 0) {
layer.msg(rec_info.msg, { icon: 1, time: 1200 }, () => {
parent.layer.close(parent.layer.getFrameIndex(window.name)); //关闭当前页
parent.window.location.reload();
});
} else {
layer.msg(rec_info.msg, { icon: 2, time: 1200 });
}
})()
return false;
});
// 上传二维码图片
async function uploadCodeImg(elem) {
const input = document.createElement('input');
input.type = 'file';
input.accept = 'image/*';
input.onchange = async (event) => {
const file = event.target.files[0];
if (file) {
const formData = new FormData();
formData.append('codeimg', file);
try {
const response = await fetch('/api/PayManage/uploadQrcode', {
method: 'POST',
body: formData,
});
if (response.ok) {
const result = await response.json();
if (result.code === 0) {
layer.msg(result.msg, { icon: 1, time: 1200 });
elem.value = result.data.imgpath;
return result.data.imgpath;
} else {
layer.msg('上传失败:' + result.message, { tips: 2, time: 1200 });
}
} else {
layer.msg('上传失败:服务器错误', { tips: 2, time: 1200 });
}
} catch (error) {
layer.msg('上传失败:' + error.message, { tips: 2, time: 1200 });
}
}
};
input.click();
}
})
</script>
</body>
</html>