mirror of
				https://gitee.com/technical-laohu/mpay.git
				synced 2025-11-04 08:43:42 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			191 lines
		
	
	
		
			8.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			191 lines
		
	
	
		
			8.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!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> |