2023-01-29 10:26:52 +08:00

288 lines
11 KiB
HTML

{extend name="public/base" /}
{block name="body"}
<style>
.clinhei{width:100%;height:25px;}
.inp{width:200px;}
.inpdiv{width:25%;}
.inpdivbut{width:10%;float:left;}
.so{width:80px;height:34px;border:0;margin-top:25px;text-align:center;line-height:34px;cursor: pointer;}
.tdinp{width:100%;border:0;}
.up{border:0;cursor: pointer;}
.wxlist .checkbox-inline{margin-top:10px;margin-left:10px}
</style>
<div class="main-box clearfix">
<header class="main-box-header clearfix">
<div class="pull-left">
<h2>群发推送编辑</h2>
</div>
</header>
<div class="main-box-body clearfix">
<div class="container">
<form id="forms" enctype="multipart/form-data">
<input type="hidden" id="gurl" value="{$info.imgurl}">
<div class="inpdiv" style="width:800px;">
<img src="{$info.imgurl}" width='250px'>
</div>
<br>
<div class="form-group">
<label class="sr-only" for="inputfile">更改图片</label>
<input type="file" id="imgurl" name="imgurl">
</div>
<div class="inpdiv" style="width:800px;">
<label for="name">标题</label>
<input type="text" class="form-control inp" id="title" value="{$info.title}" style="width:800px;">
</div>
<br>
<div class="inpdiv" style="width:800px;">
<label for="name">描述</label>
<textarea class="form-control inp" id="d" style="width:800px;">{$info.d}</textarea>
</div>
<br>
<div class="inpdiv" style="width:800px;">
<label for="name">链接地址</label>
<input type="text" class="form-control inp" id="url" value="{$info.url}" style="width:800px;">
</div>
<br>
<div class="inpdiv" style="width:800px;">
<label for="name" style="color: #e84e40;">测试ID 用于测试推送</label>
<input type="text" class="form-control inp" id="cid">
</div>
<div class="input-group" style="width:200px;margin-top: 20px;">
<input type="text" class="form-control inp" name="startdata" id="startdata" placeholder="推送时间">
<span class="input-group-addon"><i class="fa fa-th"></i></span>
</div>
<!-- 公众号选择 -->
<label for="name" style="color: darkcyan;margin-top: 20px;">公众号筛选(不填则默认全部推送)</label>
<div class="wxlist">
{volist name="wxlist" id="v"}
<label class="checkbox-inline">
<input type="checkbox" value="{$v.id}" name="wxlist" {if chackwxid($v.id,$checkArr)}checked="checked"{/if}> {$v.title}
</label>
{/volist}
</div>
<br>
<p style="color: red;">注意:如有修改请先保存素材 在推送</p>
<div class="inpdivbut">
<div class="btn-info so" onclick="formsub()">保存素材</div>
</div>
<div class="inpdivbut">
<div class="btn-danger so" onclick="push()">开始推送</div>
</div>
<div class="inpdivbut">
<button class="btn btn-primary" type="button" style="margin-top: 25px;" onclick="timepush()">定时推送</button>
</div>
<div class="inpdivbut">
<a href="{:url('wxopenaccount/recording')}"><button type="button" class="btn btn-success" style="margin-top: 25px;">推送记录</button></a>
</div>
<div class="inpdivbut">
<a href="{:url('wxopenaccount/timedkefulist')}"><button type="button" class="btn btn-success" style="margin-top: 25px;">定时推送列表</button></a>
</div>
</form>
</div>
<div class="clinhei"></div>
<div id="showweb" style="display: none;">
<p class="text-warning">记录实时展示 忽略刷新即可 或 跳转页面 发送成功共:<font style="color:seagreen" id="iok"></font> 人 发送失败共:<font style="color: red;" id="ino"></font></p>
<div id="weblist"></div>
</div>
</div>
</div>
{/block}
{block name="script"}
<!-- datepicker statr -->
<link href="/public/plugs/datepicker/css/foundation-datepicker.min.css" rel="stylesheet" type="text/css">
<script src="/public/plugs/datepicker/js/foundation-datepicker.js"></script>
<script src="/public/plugs/datepicker/js/foundation-datepicker.zh-CN.js"></script>
<script>
// 时间选择器
$('#startdata').fdatepicker({
clearBtn: true,
todayBtn: true,
format: 'yyyy-mm-dd h:i',
pickTime: true
});
// 推送
function push(){
var cid = $('#cid').val();
if(cid==''){
// 群发推送
swal({
title: '确定群发推送?',
text: "请不要频繁推送 对服务器消耗是巨大的 频繁推送会导致微信封禁",
type: 'warning',
buttons:{
confirm: {
text : '确认群发',
className : 'btn btn-success'
},
cancel: {
text : '关闭',
visible: true,
className: 'btn btn-danger'
}
}
}).then((Delete) => {
if (Delete) {
// 群发
$.ajax({
type: "POST",
url:"{:url('Wxopenaccount/allpush')}",
data: {a:'pushall'},
dataType:"json",
error: function(request) {
},
success: function(data) {
if(data.status==1){
swal('成功',data.reg, {icon : "success",buttons:{confirm:{className : 'btn btn-success'}},});
}else{
swal('错误',data.reg, {icon : "error",buttons:{confirm:{className : 'btn btn-danger'}},});
}
}
});
} else {
swal.close();
}
});
}else{
// 单个测试推送
$.ajax({
type: "POST",
url:"{:url('Wxopenaccount/onepush')}",
data: {id:cid},
dataType:"json",
error: function(request) {
},
success: function(data) {
if(data.status==1){
swal('成功',data.reg, {icon : "success",buttons:{confirm:{className : 'btn btn-success'}},});
}else{
swal('错误',data.reg, {icon : "error",buttons:{confirm:{className : 'btn btn-danger'}},});
}
}
});
}
}
// 保存素材
function formsub(){
var title = $('#title').val();
var d = $('#d').val();
var url = $('#url').val();
var cid = $('#cid').val();
if(title==''){
swal('错误','标题不能为空', {icon : "error",buttons:{confirm:{className : 'btn btn-danger'}},});
}else if(d==''){
swal('错误','描述不能为空', {icon : "error",buttons:{confirm:{className : 'btn btn-danger'}},});
}else if(url==''){
swal('错误','链接地址不能为空', {icon : "error",buttons:{confirm:{className : 'btn btn-danger'}},});
}else{
var wxarr = [];
$('input[name="wxlist"]:checked').each(function(){
wxarr.push($(this).val());
});
//console.log(wxarr);
var formData = new FormData();
formData.append("imgurl",$('#imgurl')[0].files[0]);
formData.append("title",title);
formData.append("d",d);
formData.append("url",url);
formData.append("gurl",$('#gurl').val());
if(cid!=''){
formData.append("cid",cid);
}
formData.append("wxlist",wxarr);
$.ajax({
type: "POST",
url:"{:url('wxopenaccount/kefu')}",
data: formData,
async: false,
cache: false,
processData:false,
contentType:false,
dataType:"json",
error: function(request) {
console.log('错误')
},
success: function(data) {
if(data.status==1){
swal('保存成功',"", {icon : "success",buttons:{confirm:{className : 'btn btn-success'}},});
window.location.href=""
}else{
swal('错误',data.reg, {icon : "error",buttons:{confirm:{className : 'btn btn-danger'}},});
}
}
});
}
}
// 定时推送
function timepush(){
var t = $('#startdata').val();
if(t==''){
swal('错误','时间不能为空', {icon : "error",buttons:{confirm:{className : 'btn btn-danger'}},});
}else{
var oldTime = (new Date(t)).getTime()/1000;
swal({
title: '确定定时推送?',
text: "请不要频繁推送 对服务器消耗是巨大的 频繁推送会导致微信封禁",
type: 'warning',
buttons:{
confirm: {
text : '确认',
className : 'btn btn-success'
},
cancel: {
text : '关闭',
visible: true,
className: 'btn btn-danger'
}
}
}).then((Delete) => {
if (Delete) {
// 定时群发
$.ajax({
type: "POST",
url:"{:url('Wxopenaccount/timing')}",
data: {type:'timing',tasktime:oldTime},
dataType:"json",
error: function(request) {
},
success: function(data) {
if(data.status==1){
swal('成功',data.reg, {icon : "success",buttons:{confirm:{className : 'btn btn-success'}},});
}else{
swal('错误',data.reg, {icon : "error",buttons:{confirm:{className : 'btn btn-danger'}},});
}
}
});
} else {
swal.close();
}
});
}
}
</script>
{/block}