admin/addon/saasagent/shop/view/mini/aliapp_auth.html

247 lines
9.1 KiB
HTML

{extend name="app/shop/view/base.html"/}
{block name="resources"}
<style>
.member-select {
position: absolute;
left: 400px;
top: 175px;
}
.member-select-add{
border:1px solid #ff6a00;
padding: 5px 10px;
}
.layui-unselect.layui-form-radio.layui-form-radioed i:after {
background-color: #fff;
}
.layui-table-body {
max-height: 530px;
}
.inline{width: 205px;}
.layui-input{width: 205px;}
.layui-btn-primary{height: 32px; line-height: 32px; position: absolute; right: 1px; top: 1px; border-width: 0; border-left-width: 1px;}
</style>
{/block}
{block name="main"}
<div class="layui-form">
<div class="layui-card card-common card-brief">
<div class="layui-card-header">
<div>
<span class="card-title">关联店铺</span>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>选择店铺:</label>
<div class="layui-input-block">
<input type="text" name="username" disabled value="{$siteInfo.username??''}" lay-verify="required" autocomplete="off" class="layui-input len-long">
<input type="hidden" name="bing_site_id" lay-verify="required" value="{$siteInfo.site_id??''}">
<button class="layui-btn layui-btn" onclick="addSite()">选择店铺</button>
</div>
</div>
<div class="layui-form-item" id="auth_show" style="display: none">
<label class="layui-form-label">授权码</label>
<div class="layui-input-block img-upload">
<div class="upload-img-block icon" style="width: 250px;height: 250px;">
<div class="upload-img-box" >
<div class="upload-default" id="ahthqr"></div>
</div>
</div>
</div>
<div class="word-aux" >已注册小程序,请使用支付宝扫码二维码</div>
</div>
</div>
<div class="form-row">
<button class="layui-btn" onclick="back()">商家已授权</button>
<button class="layui-btn " style="background-color: #ccc" onclick="back()">返回</button>
</div>
</div>
{/block}
{block name="script"}
<script type="text/html" id="addSite">
<div class="layui-form">
<div class="layui-input-inline inline">
<input type="text" name="site_search" placeholder="请输入店铺名称" autocomplete="off" class="layui-input ">
<button type="button" class="layui-btn layui-btn-primary member-search" lay-filter="search" lay-submit>
<i class="layui-icon"></i>
</button>
</div>
<table id="site_list" lay-filter="site_list"></table>
</div>
</script>
<script src="__STATIC__/js/qrcode.min.js"></script>
<script type="text/javascript">
var form, laydate, repeat_flag,laytpl,timing;
layui.use(['form', 'upload','util','laytpl'], function () {
repeat_flag = false; //防重复标识
form = layui.form;
laytpl = layui.laytpl;
form.render();
form.on('submit(save)', function (data) {
if (repeat_flag) return;
repeat_flag = true;
$.ajax({
type: "post",
url: location.href,
dataType: "JSON",
data: data.field,
success: function (data) {
repeat_flag = false;
layer.msg(data.message);
}
});
});
});
let site_id="{$siteInfo.site_id??''}";
let order_id="{$order_id}";
if(site_id!=''){
getQr(site_id)
}
var add_attr_radioState2 = 0;
var new_site_id = '';
var username = '';
function addSite() {
let _this = this;
var add_attr2 = $("#addSite").html();
$("#auth_show").hide();
form.on('radio(laymemberid)', function(obj){
new_site_id = obj.value;
username =obj.elem.attributes.data.value;
_this.add_attr_radioState2 = obj.value;
});
laytpl(add_attr2).render({}, function(html) {
add_attr_index2 = layer.open({
title: '选择店铺',
skin: 'layer-tips-class',
type: 1,
area: ['800px', '580px'],
content: html,
btn:["保存","返回"],
yes: function(){
$("input[name='username']").val(username);
$("input[name='bing_site_id']").val(new_site_id);
getQr(new_site_id)
layer.close(add_attr_index2);
}
});
});
//展示已知数据
table = new Table({
elem: '#site_list',
url: ns.url("saasagent://shop/saas/list"),
data:{isBingSite:'NO'},
cols: [
[
{
width: "20%",
title: '店铺选择',
unresize: 'false',
templet: function(data) {
var html = '';
if(data.site_id == Number(add_attr_radioState2)){
html += `
<div>
<input type="radio" name="layTableRadioc" checked = true value="${data.site_id}" data="${data.username}" lay-type="layTableRadio" lay-filter="laymemberid">
</div>
`;
}else{
html += `
<div>
<input type="radio" name="layTableRadioc" value="${data.site_id}" data="${data.username}" lay-type="layTableRadio" lay-filter="laymemberid">
</div>
`;
}
return html;
}
},{
title: '店铺账号',
width: '30%',
field: 'username',
unresize: 'false'
},
{
title: '联系人',
width: '50%',
unresize: 'false',
field: 'contacts_name',
}
]
],
});
/**
* 搜索功能
*/
form.on('submit(search)', function (data) {
table.reload({
page: {
curr: 1
},
where: data.field
});
});
$(document).keydown(function (event) {
if (event.keyCode == 13) {
$(".site-search").trigger("click");
}
});
}
function back() {
clearInterval(timing)
location.href="{:addon_url('saasagent/shop/mincode/list')}";
}
function getState(text) {
clearInterval(timing)
timing= setInterval(function () {
$.ajax({
url: ns.url("saasagent://shop/mincode/authState"),
data:{state:text},
dataType: 'JSON',
type: 'POST',
success:function (res) {
if(res.data=='yes'){
clearInterval(timing)
layer.msg('商家已授权')
setTimeout(function () {
location.href="{:addon_url('saasagent/shop/mincode/list')}";
},3000)
}
}
})
},5000)
}
function getQr(site_id) {
$.ajax({
url: ns.url("saasagent://shop/mincode/miniauth"),
data:{site_id: site_id,'order_id':order_id},
dataType: 'JSON',
type: 'POST',
success: function(res) {
if (res.code == 0) {
getState(res.data.state)
const bizDataObj = {
platformCode: 'O',
taskType: 'INTERFACE_AUTH',
agentOpParam: {
redirectUri: res.data.auth_url,
appTypes: ["TINYAPP"],
isvAppId: res.data.isvAppId,
state: res.data.state
}
};
const bizData = encodeURIComponent(JSON.stringify(bizDataObj));
const qrcode = `alipays://platformapi/startapp?appId=2021003130652097&page=pages%2Fauthorize%2Findex%3FbizData%3D${bizData}`
$("#auth_show").show();
$("#ahthqr").empty();
let qr= new QRCode("ahthqr", {
width: 220, //宽度
height: 220, //高度
text: qrcode, //内容
typeNumber: -1,//计算模式
correctLevel: 2,//二维码纠错级别
background: "#ffffff",//背景颜色
foreground: "#000000" //二维码颜色
});
}
}
});
}
</script>
{/block}