407 lines
17 KiB
HTML
407 lines
17 KiB
HTML
{extend name="app/shop/view/base.html"/}
|
||
{block name="resources"}
|
||
<style>
|
||
.prompt-block .prompt {
|
||
display: inline-block;
|
||
}
|
||
.prompt-block .prompt {
|
||
width: 18px;
|
||
height: 18px;
|
||
line-height: 18px;
|
||
position: relative;
|
||
}
|
||
.user-head-img{
|
||
width:40px;
|
||
height:40px;
|
||
margin-right:20px;
|
||
}
|
||
.qrcode-content{
|
||
width: 100%;
|
||
height: 100%;
|
||
display: inline-flex;
|
||
flex-direction: row;
|
||
flex-wrap: nowrap;
|
||
align-content: center;
|
||
justify-content: center;
|
||
align-items: center;
|
||
}
|
||
.qrcode-content .qrcode-content-img{
|
||
width: 120px;
|
||
}
|
||
</style>
|
||
{/block}
|
||
{block name="main"}
|
||
<div class="layui-collapse ns-tips">
|
||
<div class="layui-colla-item">
|
||
<h2 class="layui-colla-title">操作提示</h2>
|
||
<ul class="layui-colla-content layui-show">
|
||
<li>通过平台注册小程序需要完善基础信息</li>
|
||
{if $is_baseinfo==0}
|
||
<li style="color:#d55959;">未完善基础信息将无法通过审核<a style="color: #0d73f9;margin-left: 10px" href="{:addon_url('aliapp/shop/aliapp/editapp')}">去完善</a></li>
|
||
{/if}
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
<!-- 顶部操作内容 -->
|
||
<div class="single-filter-box top">
|
||
<div class="right">
|
||
{if $isNewest}
|
||
<button class="layui-btn" onclick="versionUpload()">发布新版本</button>
|
||
{else/}
|
||
<button class="layui-btn" style="background-color: #e36f26;" onclick="versionUpload()">更换版本号</button>
|
||
{/if}
|
||
<button class="layui-btn" style="background-color: #009688;" onclick="versionSynchronization()">同步线上版本</button>
|
||
<button class="layui-btn" style="background-color: #FFB800;" onclick="qrcodeCreate()">体验二维码</button>
|
||
</div>
|
||
<div class="left"></div>
|
||
</div>
|
||
<!-- 列表 -->
|
||
<table id="listContent" lay-filter="listContent"></table>
|
||
<!-- 操作 -->
|
||
<script type="text/html" id="operation">
|
||
<div class="table-btn">
|
||
{{# if(d.is_newest_version){ }}
|
||
<!-- 审核中相关按钮 INIT: 开发中, AUDITING: 审核中, AUDIT_REJECT: 审核驳回, WAIT_RELEASE: 待上架, BASE_AUDIT_PASS: 准入不可营销, GRAY: 灰度中, RELEASE: 已上架, OFFLINE: 已下架, AUDIT_OFFLINE: 已下架 -->
|
||
{{# if(d.version_status == 'AUDITING'){ }}
|
||
<a class="layui-btn" lay-event="audit_cancel">审核撤销</a>
|
||
{{# }else if(d.version_status == 'AUDIT_REJECT' || d.version_status == 'BASE_AUDIT_PASS' || d.version_status == 'OFFLINE' || d.version_status == 'AUDIT_OFFLINE'){ }}
|
||
<a class="layui-btn" lay-event="audited_cancel">退回开发</a>
|
||
<a class="layui-btn" lay-event="reason_rejection">驳回原因</a>
|
||
{{# }else if(d.version_status == 'WAIT_RELEASE' || d.version_status == 'OFFLINE' || d.version_status == 'AUDIT_OFFLINE'){ }}
|
||
<a class="layui-btn" lay-event="version_online">上架</a>
|
||
<a class="layui-btn" lay-event="version_gray_online">灰度上架</a>
|
||
{{# }else if(d.version_status == 'GRAY'){ }}
|
||
<a class="layui-btn" lay-event="version_gray_cancel">结束灰度</a>
|
||
{{# }else if(d.version_status == 'GRAY' || d.version_status == 'RELEASE'){ }}
|
||
<a class="layui-btn" lay-event="version_offline">下架</a>
|
||
<a class="layui-btn" lay-event="version_rollback">回滚</a>
|
||
{{# }else if(d.version_status == 'GRAY' || d.version_status == 'OFFLINE' || d.version_status == 'AUDIT_OFFLINE'){ }}
|
||
<a class="layui-btn" lay-event="version_rollback">回滚</a>
|
||
{{# }else{ }}
|
||
<a class="layui-btn" lay-event="delete">删除</a>
|
||
<a class="layui-btn" lay-event="audit_submit">提交审核</a>
|
||
<!-- 体验版相关按钮 -->
|
||
{{# if(d.is_experience_version == 0){ }}
|
||
<a class="layui-btn" lay-event="release_experience_version">发布体验版</a>
|
||
{{# }else if(d.is_experience_version == 1){ }}
|
||
<a class="layui-btn" lay-event="cancel_experience_version">取消体验版</a>
|
||
<a class="layui-btn" lay-event="see_experience_version">查看体验版状态</a>
|
||
{{# } }}
|
||
{{# } }}
|
||
{{# }else{ }}
|
||
{{# if(d.is_experience_version == 1){ }}
|
||
<a class="layui-btn" lay-event="cancel_experience_version">取消体验版</a>
|
||
{{# } }}
|
||
{{# if(d.version_status == 'AUDITING'){ }}
|
||
<a class="layui-btn" lay-event="audit_cancel">审核撤销</a>
|
||
{{# }else if(d.version_status == 'AUDIT_REJECT' || d.version_status == 'BASE_AUDIT_PASS' || d.RELEASE == 'OFFLINE' || d.RELEASE == 'AUDIT_OFFLINE'){ }}
|
||
<a class="layui-btn" lay-event="audited_cancel">退回开发</a>
|
||
<a class="layui-btn" lay-event="reason_rejection">驳回原因</a>
|
||
{{# }else{ }}
|
||
<a class="layui-btn" lay-event="delete">删除</a>
|
||
{{# } }}
|
||
{{# } }}
|
||
</div>
|
||
</script>
|
||
<script type="text/html" id="version_upload">
|
||
<div class="layui-form multuple-list-box">
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">您当前版本:</label>
|
||
<div class="layui-input-block">
|
||
<div>{$userVersion}</div>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">平台版本号:</label>
|
||
<div class="layui-input-block">
|
||
<input name="app_version" value="{$version}" type="template_version" disabled class="layui-input len-short">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">自定义版本号:</label>
|
||
<div class="layui-input-block">
|
||
{if $isNewest}
|
||
<input name="app_version" value="{$version}" type="app_version" disabled class="layui-input len-short">
|
||
{else/}
|
||
<input name="app_version" value="{$version}" type="app_version" class="layui-input len-short">
|
||
{/if}
|
||
</div>
|
||
<div class="word-aux">如商家版本高出平台可以自行更改,低于平台版本无效修改</div>
|
||
</div>
|
||
<div class="form-row sm">
|
||
<button class="layui-btn layui-btn" lay-submit lay-filter="save" >提交</button>
|
||
<button class="layui-btn layui-btn-primary" onclick="back()">返回</button>
|
||
</div>
|
||
</div>
|
||
</script>
|
||
{/block}
|
||
{block name="script"}
|
||
<script>
|
||
var table, form,laytpl,repeat_flag = false,version_upload;//防重复标识;
|
||
layui.use(['form','laytpl'], function() {
|
||
form = layui.form;
|
||
laytpl = layui.laytpl;
|
||
form.render();
|
||
// 内容获取
|
||
table = new Table({
|
||
elem: '#listContent',
|
||
url: ns.url("aliapp://shop/AppletRelease/index"),
|
||
cols: [[
|
||
{align: 'center', field: 'id', title: 'ID', width: '5%', unresize: 'false'},
|
||
{align: 'center', field: 'version', title: '版本', unresize: 'area'},
|
||
{
|
||
align: 'center', templet: function (d) {
|
||
return ns.time_to_date(d.create_time, "YYYY-MM-DD hh:mm:ss");
|
||
}, title: '发布时间', unresize: 'false'
|
||
},
|
||
{
|
||
align: 'center', field: 'ali_create_status_text', title: '版本构建状态', unresize: 'false'
|
||
},
|
||
{
|
||
align: 'center', field: 'version_status_text', title: '版本状态', unresize: 'false'
|
||
},
|
||
{
|
||
align: 'center', templet: function (d) {
|
||
return parseInt(d.is_experience_version) === 0 ? '不是' : '是';
|
||
}, title: '是否为体验版', unresize: 'false'
|
||
},
|
||
{title: '操作', toolbar: '#operation', unresize: 'false', align: 'right'}
|
||
]],
|
||
});
|
||
// 监听工具栏操作
|
||
table.tool(function(obj) {
|
||
let data = obj.data;
|
||
let key = obj.event;
|
||
if(key === 'reason_rejection'){
|
||
reasonRejection(data);
|
||
}else{
|
||
operationRequest(key,data);
|
||
}
|
||
});
|
||
/**
|
||
* 监听提交
|
||
*/
|
||
form.on('submit(save)', function(data) {
|
||
// if (repeat_flag) return;
|
||
// repeat_flag = true;
|
||
console.log(data)
|
||
let field= data.field;
|
||
submitOneVersionUpload('version_upload',field)
|
||
});
|
||
|
||
function submitOneVersionUpload(key,data){
|
||
let config = getApiConfig(key);
|
||
let params = getApiParams(key,data);
|
||
layer.confirm(config['tips'], {icon: 3, title:'提示'}, function(confirmIndex){
|
||
layer.close(confirmIndex);
|
||
let index = ns.loading('open', config['loading_tips']);
|
||
requestApi("aliapp://shop/AppletRelease/publishingProcessProcessing",params,function (res) {
|
||
layer.close(index);
|
||
layer.close(version_upload);
|
||
// 返回处理
|
||
resultProcessing(key,res);
|
||
});
|
||
});
|
||
}
|
||
});
|
||
function versionUpload(){
|
||
laytpl($("#version_upload").html()).render({}, function(html) {
|
||
version_upload= layer.open({
|
||
type: 1,
|
||
title: "发布新版本",
|
||
area: ['500px', '300px'],
|
||
content: html,
|
||
success: function(res){
|
||
console.log(res);
|
||
}
|
||
});
|
||
});
|
||
}
|
||
// 发起操作请求
|
||
function operationRequest(key,data = {}){
|
||
let config = getApiConfig(key);
|
||
let params = getApiParams(key,data);
|
||
layer.confirm(config['tips'], {icon: 3, title:'提示'}, function(confirmIndex){
|
||
layer.close(confirmIndex);
|
||
let index = ns.loading('open', config['loading_tips']);
|
||
requestApi("aliapp://shop/AppletRelease/publishingProcessProcessing",params,function (res) {
|
||
layer.close(index);
|
||
// 返回处理
|
||
resultProcessing(key,res);
|
||
});
|
||
});
|
||
}
|
||
// 接口配置信息
|
||
function getApiConfig(key){
|
||
let config = {
|
||
delete:{
|
||
title: '删除版本',
|
||
tips:'确定删除当前版本吗?',// 询问语句
|
||
loading_tips: '删除中,请耐心等待......',// 加载栏提示语句
|
||
},
|
||
release_experience_version:{
|
||
title: '发布体验版本',
|
||
tips:'确认发布当前版本为体验版吗?',
|
||
loading_tips: '发布中,请耐心等待......',
|
||
},
|
||
cancel_experience_version:{
|
||
title: '取消体验版',
|
||
tips:'确认取消当前版本的体验版?',
|
||
loading_tips: '取消中,请耐心等待......',
|
||
},
|
||
see_experience_version:{
|
||
title: '查看体验版状态',
|
||
tips:'确认查看当前版本的状态?',
|
||
loading_tips: '查询中,请耐心等待......',
|
||
},
|
||
audit_submit:{
|
||
title: '提交审核',
|
||
tips:'确定提交审核吗?',
|
||
loading_tips: '正在提交中,请耐心等待......',
|
||
},
|
||
audit_cancel:{
|
||
title: '审核撤销',
|
||
tips:'确定撤销审核吗?',
|
||
loading_tips: '正在撤销中,请耐心等待......',
|
||
},
|
||
audited_cancel:{
|
||
title: '退回开发',
|
||
tips:'确定退回开发吗?退回后可以从新提交审核!',
|
||
loading_tips: '正在退回中,请耐心等待......',
|
||
},
|
||
version_online:{
|
||
title: '上架',
|
||
tips:'确定发布当前版本为正式版本吗?',
|
||
loading_tips: '正在发布中,请耐心等待......',
|
||
},
|
||
version_gray_online:{
|
||
title: '灰度上架',
|
||
tips:'确定灰度上架当前版本吗?',
|
||
loading_tips: '正在灰度上架中,请耐心等待......',
|
||
},
|
||
version_gray_cancel:{
|
||
title: '结束灰度',
|
||
tips:'确定结束当前版本的灰度测试吗?',
|
||
loading_tips: '正在结束灰度中,请耐心等待......',
|
||
},
|
||
version_offline:{
|
||
title: '下架',
|
||
tips:'确定下架当前版本吗?',
|
||
loading_tips: '正在下架中,请耐心等待......',
|
||
},
|
||
version_rollback:{
|
||
title: '回滚',
|
||
tips:'确定回滚当前版本吗?回滚后会自动上架上一个正式版本!',
|
||
loading_tips: '正在回滚中,请耐心等待......',
|
||
},
|
||
version_upload:{
|
||
title: '发布新版本',
|
||
tips:'确定发布新版本吗?发布后将只能对新版本进行操作,不可对当前版本进行任何操作!',
|
||
loading_tips: '正在发布中,请耐心等待......',
|
||
},
|
||
};
|
||
|
||
return config[key] ?? {};
|
||
}
|
||
// 获取提交参数
|
||
function getApiParams(key,data){
|
||
switch (key) {
|
||
case 'version_upload':
|
||
return {
|
||
type: key,
|
||
...data
|
||
};
|
||
break;
|
||
default:
|
||
return {
|
||
id: data.id,
|
||
type: key,
|
||
};
|
||
}
|
||
}
|
||
// 返回信息处理
|
||
function resultProcessing(key,res){
|
||
switch (key) {
|
||
case 'see_experience_version': break;
|
||
case 'version_upload':
|
||
if(res.message.indexOf("门店不存在") > -1) {
|
||
layer.alert(res.message, function(index){
|
||
window.location.href = ns.url('store://shop/store/lists')
|
||
});
|
||
}
|
||
else if(res.message.indexOf("配置小程序") > -1) {
|
||
layer.alert(res.message, function(index){
|
||
window.location.href = ns.url('aliapp://shop/aliapp/setting')
|
||
});
|
||
}else {
|
||
setTimeout(function () {
|
||
location.reload();
|
||
},3000)
|
||
}
|
||
break;
|
||
default:
|
||
setTimeout(function () {
|
||
location.reload();
|
||
},3000)
|
||
}
|
||
}
|
||
|
||
// 版本同步
|
||
function versionSynchronization(){
|
||
let index = ns.loading('open');
|
||
requestApi("aliapp://shop/AppletRelease/versionSynchronization",{ },function (res) {
|
||
table.reload({
|
||
page: {
|
||
curr: 1
|
||
},
|
||
});
|
||
layer.close(index);
|
||
})
|
||
}
|
||
// 查看推广二维码
|
||
function qrcodeCreate() {
|
||
let index = ns.loading('open', '正在生成二维码,请耐心等待......');
|
||
requestApi("aliapp://shop/AppletRelease/qrcodeCreate",{ },function (res) {
|
||
layer.close(index);
|
||
let data = res.data;
|
||
// 生成html
|
||
// qr_code_url=方形二维码图片链接地址
|
||
// qr_code_url_circle_blue=圆形二维码地址-白色slogan
|
||
// qr_code_url_circle_white=圆形二维码地址-蓝色slogan
|
||
let html =
|
||
`<div class="qrcode-content">
|
||
<img class="qrcode-content-img" src="${data['exp_qr_code_url']}" />
|
||
</div>`;
|
||
// 显示二维码
|
||
layer.open({
|
||
type: 1,
|
||
title: "体验二维码",
|
||
area: ['350px', '300px'],
|
||
btn: ["关闭"],
|
||
content: html,
|
||
});
|
||
},false);
|
||
}
|
||
// 查看驳回原因
|
||
function reasonRejection(data){
|
||
console.log(data)
|
||
layer.alert(data.audit_reason);
|
||
}
|
||
// 发起请求
|
||
function requestApi(api,data,fun,show_message = true){
|
||
if (repeat_flag) return false;
|
||
repeat_flag = true;
|
||
$.ajax({
|
||
url: ns.url(api),
|
||
data: data,
|
||
dataType: 'JSON',
|
||
type: 'POST',
|
||
success: function(res) {
|
||
if(show_message) layer.msg(res.message);
|
||
repeat_flag = false;
|
||
if(typeof fun === 'function') fun(res);
|
||
}
|
||
});
|
||
}
|
||
</script>
|
||
{/block} |