其余文件

This commit is contained in:
2026-04-14 17:46:22 +08:00
parent 294b68fe37
commit 3691f4db22
1343 changed files with 189847 additions and 0 deletions

View File

@ -0,0 +1,98 @@
{layout name="layout1" /}
<style>
.layui-form-label {
width: 120px;
text-align: left;
}
</style>
<div class="wrapper">
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-collapse like-layui-collapse" lay-accordion="" style="border:1px dashed #c4c4c4">
<div class="layui-colla-item">
<h2 class="layui-colla-title like-layui-colla-title" style="background-color: #fff">操作提示</h2>
<div class="layui-colla-content layui-show">
<p>H5商城设置</p>
</div>
</div>
</div>
</div>
<div class="layui-card-body">
<div class="layui-form">
<div class="layui-form-item">
<div class="layui-form-label">渠道状态</div>
<div class="layui-input-block">
<input type="radio" name="is_open" value="0" title="关闭" {if !$config.is_open}checked{/if} />
<input type="radio" name="is_open" value="1" title="开启" {if $config.is_open}checked{/if} />
</div>
</div>
<div class="layui-form-item">
<div class="layui-form-label">关闭后访问页面</div>
<div class="layui-input-block">
<input type="radio" name="page" value="1" title="空白页" {if $config.page == 1}checked{/if} />
</div>
</div>
<div class="layui-form-item">
<div class="layui-form-label"></div>
<div class="layui-inline">
<input type="radio" name="page" value="2" title="自定义页面" {if $config.page == 2}checked{/if} />
</div>
<div class="layui-inline" style="width: 420px;">
<input type="text" name="page_url" value="{$config.page_url}" placeholder="请输入完整的url" class="layui-input" />
</div>
</div>
<div class="layui-form-item">
<div class="layui-form-label">H5商城链接</div>
<div class="layui-inline" style="width: 280px;">
<input type="text" style="border:none" id="h5_url" value="{$config.h5_url}" class="layui-input" readonly />
</div>
<button class="layui-btn layui-btn-xs layui-btn-primary" id="copy">复制</button>
</div>
<div class="layui-form-item">
<div class="layui-form-label"></div>
<div class="layui-input-block">
<button class="layui-btn layui-btn-sm layui-btn-normal" lay-submit lay-filter="set">设置</button>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['form', 'layer'], function(){
var form = layui.form;
var layer = layui.layer;
var $ = layui.jquery;
form.on('submit(set)', function (data) {
$.ajax({
url:'{:url("wechat.hfive/set")}',
type: 'post',
data: data.field,
success:function(res) {
if (res.code == 1) {
layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
}
}
});
});
// 复制
$('#copy').click(function() {
var input = document.getElementById('h5_url');
input.select();
document.execCommand("Copy");
layer.msg('复制成功');
});
});
</script>

View File

@ -0,0 +1,355 @@
{layout name="layout1" /}
<style>
.layui-form-label {
width: 156px;
}
.tips {
color: red;
}
.copy {
margin-left: 10px;
}
.layui-form-item .layui-input-inline {
width: 410px;
}
.layui-input {
display: inline-block;
width: 80%;
}
</style>
<div class="wrapper">
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-collapse like-layui-collapse" lay-accordion="" style="border:1px dashed #c4c4c4">
<div class="layui-colla-item">
<h2 class="layui-colla-title like-layui-colla-title" style="background-color: #fff">操作提示</h2>
<div class="layui-colla-content layui-show">
*填写微信小程序开发配置,请前往微信公众平台申请小程序并完成认证。
</div>
</div>
</div>
</div>
<!-- <div class="layui-card-header" style="margin-top: 20px">小程序配置</div>-->
<div class="layui-card-body" pad15>
<div class="layui-form" lay-filter="">
<!-- 微信小程序-->
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>微信小程序</legend>
</fieldset>
</div>
<div class="layui-form-item">
<label class="layui-form-label">小程序名称:</label>
<div class="layui-input-inline">
<input type="text" name="name" value="{$mnp.name}" class="layui-input" autocomnplete="off">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">原始ID</label>
<div class="layui-input-inline">
<input type="text" name="original_id" value="{$mnp.original_id}" class="layui-input"
autocomnplete="off">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">小程序码:</label>
<div class="layui-input-block">
<div class="like-upload-image">
{if $mnp.qr_code}
<div class="upload-image-div">
<img src="{$mnp.qr_code}" alt="img">
<input type="hidden" name="bg_image" value="{$mnp.qr_code}">
<div class="del-upload-btn">x</div>
</div>
<div class="upload-image-elem" style="display:none;"><a class="add-upload-image"
id="qrcode"> + 添加图片</a></div>
{else}
<div class="upload-image-elem"><a class="add-upload-image" id="qrcode"> + 添加图片</a></div>
{/if}
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<span style="color: #a3a3a3;font-size: 9px">建议尺寸宽400px*高400px。jpgjpegpng格式</span>
</div>
<div class="layui-form-item">
<label class="layui-form-label">发货信息管理:</label>
<div class="layui-input-block">
<input type="radio" name="express_send_sync" value="1" title="开启" {if $mnp.express_send_sync== 1} checked {/if} >
<input type="radio" name="express_send_sync" value="0" title="关闭" {if $mnp.express_send_sync== 0} checked {/if} >
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<span style="color: #a3a3a3;font-size: 9px">小程序有订单发货管理时,请打开此开关,否则会导致订单资金冻结</span>
</div>
<!-- 开发者ID-->
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>开发者ID</legend>
</fieldset>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="tips">*</span>AppID</label>
<div class="layui-input-inline">
<input type="text" name="app_id" value="{$mnp.app_id}" autocomplete="off" lay-verify="required"
lay-verType="tips"
class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="tips">*</span>AppSecret</label>
<div class="layui-input-inline">
<input type="text" name="app_secret" value="{$mnp.app_secret}" lay-verify="required"
lay-verType="tips" autocomnplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<span style="color: #a3a3a3;font-size: 9px">小程序账号登录微信公众平台,点击开发>开发设置->开发者ID设置AppID和AppSecret</span>
</div>
<!-- 服务器域名-->
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>服务器域名</legend>
</fieldset>
</div>
<div class="layui-form-item">
<label class="layui-form-label">request合法域名</label>
<div class="layui-input-inline">
<input type="text" name="request_domain" readonly="readonly" value="{$mnp.request_domain}"
class="layui-input">
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm copy">复制</button>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<span style="color: #a3a3a3;font-size: 9px">小程序账号登录微信公众平台,点击开发>开发设置->服务器域名填写https协议域名</span>
</div>
<div class="layui-form-item">
<label class="layui-form-label">socket合法域名</label>
<div class="layui-input-inline">
<input type="text" name="socket_domain" readonly="readonly" value="{$mnp.socket_domain}"
class="layui-input">
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm copy">复制</button>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<span style="color: #a3a3a3;font-size: 9px">小程序账号登录微信公众平台,点击开发>开发设置->服务器域名填写wss协议域名</span>
</div>
<div class="layui-form-item">
<label class="layui-form-label">uploadFile合法域名</label>
<div class="layui-input-inline">
<input type="text" name="uploadfile_domain" readonly="readonly" value="{$mnp.uploadfile_domain}"
class="layui-input">
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm copy">复制</button>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<span style="color: #a3a3a3;font-size: 9px">小程序账号登录微信公众平台,点击开发>开发设置->服务器域名填写https协议域名</span>
</div>
<div class="layui-form-item">
<label class="layui-form-label">downloadFile合法域名</label>
<div class="layui-input-inline">
<input type="text" name="downloadfile_domain" readonly="readonly"
value="{$mnp.downloadfile_domain}"
class="layui-input">
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm copy">复制</button>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<span style="color: #a3a3a3;font-size: 9px">小程序账号登录微信公众平台,点击开发>开发设置->服务器域名填写https协议域名</span>
</div>
<div class="layui-form-item">
<label class="layui-form-label">udp合法域名</label>
<div class="layui-input-inline">
<input type="text" name="udp_domain" readonly="readonly" value="{$mnp.udp_domain}"
class="layui-input">
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm copy">复制</button>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">tcp合法域名</label>
<div class="layui-input-inline">
<input type="text" name="tcp_domain" readonly="readonly" value="{$mnp.tcp_domain}" class="layui-input">
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm copy" >复制</button>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<span style="color: #a3a3a3;font-size: 9px">小程序账号登录微信公众平台,点击开发>开发设置->服务器域名填写udp协议域名</span>
</div>
<!-- 业务域名-->
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>业务域名</legend>
</fieldset>
</div>
<div class="layui-form-item">
<label class="layui-form-label">业务域名:</label>
<div class="layui-input-inline">
<input type="text" readonly="readonly" value="{$mnp.business_domain}" class="layui-input">
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm copy">复制</button>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<span style="color: #a3a3a3;font-size: 9px">小程序账号登录微信公众平台,点击开发>开发设置->业务域名,填写业务域名</span>
</div>
<!-- 消息推送-->
<!-- <div class="layui-form-item div-flex">-->
<!-- <fieldset class="layui-elem-field layui-field-title">-->
<!-- <legend>消息推送</legend>-->
<!-- </fieldset>-->
<!-- </div>-->
<!-- <div class="layui-form-item">-->
<!-- <label class="layui-form-label">URL</label>-->
<!-- <div class="layui-input-inline">-->
<!-- <input type="text" name="url" readonly="readonly" value="{$mnp.url}" class="layui-input"-->
<!-- autocomplete="off">-->
<!-- <button type="button" class="layui-btn layui-btn-primary layui-btn-sm copy">复制</button>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="layui-form-item">-->
<!-- <label class="layui-form-label"></label>-->
<!-- <span style="color: #a3a3a3;font-size: 9px">小程序账号登录微信公众平台,点击开发>开发设置>消息推送配置填写服务器地址URL</span>-->
<!-- </div>-->
<!-- <div class="layui-form-item">-->
<!-- <label class="layui-form-label">Token</label>-->
<!-- <div class="layui-input-inline">-->
<!-- <input type="text" name="token" value="{$mnp.token}" autocomnplete="off" class="layui-input">-->
<!-- <button type="button" class="layui-btn layui-btn-primary layui-btn-sm copy">复制</button>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="layui-form-item">-->
<!-- <label class="layui-form-label"></label>-->
<!-- <span style="color: #a3a3a3;font-size: 9px">小程序账号登录微信公众平台,点击开发>开发设置>消息推送配置设置令牌Token。不填默认为“LikeMall”</span>-->
<!-- </div>-->
<!-- <div class="layui-form-item">-->
<!-- <label class="layui-form-label">EncodingAESKey</label>-->
<!-- <div class="layui-input-inline">-->
<!-- <input type="text" name="encoding_ses_key" value="{$mnp.encoding_ses_key}" autocomnplete="off"-->
<!-- class="layui-input">-->
<!-- <button type="button" class="layui-btn layui-btn-primary layui-btn-sm copy">复制</button>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="layui-form-item">-->
<!-- <label class="layui-form-label"></label>-->
<!-- <span style="color: #a3a3a3;font-size: 9px">消息加密密钥由43位字符组成字符范围为A-Z,a-z,0-9</span>-->
<!-- </div>-->
<!-- <div class="layui-form-item">-->
<!-- <label class="layui-form-label">消息加密方式:</label>-->
<!-- <div class="layui-input-block">-->
<!-- <input type="radio" name="encryption_type" {if $mnp.encryption_type== 1} checked {/if} value="1"-->
<!-- title="明文模式(不使用消息体加解密功能,安全系数较低)" />-->
<!-- </div>-->
<!-- <div class="layui-input-block">-->
<!-- <input type="radio" name="encryption_type" {if $mnp.encryption_type== 2} checked {/if} value="2"-->
<!-- title="兼容模式(明文、密文将共存,方便开发者调试和维护)" >-->
<!-- </div>-->
<!-- <div class="layui-input-block" style="margin-left: 186px">-->
<!-- <input type="radio" name="encryption_type" {if $mnp.encryption_type== 3} checked {/if} value="3"-->
<!-- title="安全模式(推荐)(消息包为纯密文,需要开发者加密和解密,安全系数高)" >-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="layui-form-item">-->
<!-- <label class="layui-form-label">数据格式:</label>-->
<!-- <div class="layui-input-block">-->
<!-- <input type="radio" name="data_type" value="1" title="JSON" {if $mnp.data_type== 1} checked {/if}-->
<!-- >-->
<!-- <input type="radio" name="data_type" value="2" title="XML" {if $mnp.data_type== 2} checked {/if}-->
<!-- >-->
<!-- </div>-->
<!-- </div>-->
<!--小程序代码上传-->
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>小程序代码上传</legend>
</fieldset>
</div>
<div class="layui-form-item">
<label class="layui-form-label">代码上传密钥:</label>
<div class="layui-input-inline">
<textarea placeholder="请输入内容" class="layui-textarea" name="private_key">{$mnp.private_key}</textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<span style="color: #a3a3a3;font-size: 9px">微信公众平台-开发-开发管理-开发设置-小程序代码上传</span>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn {$view_theme_color}" lay-submit lay-filter="setmnp">确定</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.config({
version: "{$front_version}",
base: '/static/lib/' //静态资源所在路径
}).use(['form'], function () {
var $ = layui.$, form = layui.form;
// 小程序码图片
$(document).on("click", "#qrcode", function () {
like.imageUpload({
limit: 1,
field: "qr_code",
that: $(this)
});
})
// 删除图片
like.delUpload();
//显示图片
$(document).on('click', 'img', function () {
var image = $(this).attr('src');
like.showImg(image, 600);
});
//复制
$(document).on('click', '.copy', function () {
var copyText = $(this).prev()
copyText.select()
document.execCommand("Copy");
})
form.on('submit(setmnp)', function (data) {
like.ajax({
url: '{:url("wechat.mnp/setMnp")}' //实际使用请改成服务端真实接口
, data: data.field
, type: 'post'
, success: function (res) {
if (res.code == 1) {
layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
}
}
});
});
});
</script>

View File

@ -0,0 +1,207 @@
{layout name="layout1" /}
<style>
.layui-form-label {
width: 156px;
}
.tips {
color: red;
}
.layui-form-item .layui-input-inline {
width: 410px;
}
.layui-input,.layui-textarea {
display: inline-block;
width: 80%;
}
.upload-btn {
background-color: #5fb878;
border-color: #5fb878;
}
.version-table {
margin-top: 20px;
}
.status-success {
color: #5fb878;
}
.status-fail {
color: #ff5722;
cursor: pointer;
}
</style>
<div class="wrapper">
<div class="layui-card">
<div class="layui-card-body">
<div
class="layui-collapse like-layui-collapse"
lay-accordion=""
style="border: 1px dashed #c4c4c4"
>
<div class="layui-colla-item">
<h2
class="layui-colla-title like-layui-colla-title"
style="background-color: #fff"
>
操作提示
</h2>
<div class="layui-colla-content layui-show">
1.首次使用小程序一键上传先安装好node环境然后在终端下使用cd命令进到项目下的server/extend/miniprogram-ci目录运行命令 npm install miniprogram-ci --save 建议使用node最新版本。
<br>
2.小程序上传前,请先到本系统的“小程序配置”设置小程序代码上传密钥,如已配置,请忽略。
<br>
3.小程序上传成功后,需要前往小程序后台提交审核。
</div>
</div>
</div>
</div>
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>小程序代码上传</legend>
</fieldset>
</div>
<div class="layui-card-body" pad15>
<div class="layui-form" lay-filter="upload-form">
<div class="layui-form-item">
<label class="layui-form-label">版本号:</label>
<div class="layui-input-inline">
<input
type="text"
name="version"
value="{$version}"
class="layui-input"
autocomplete="off"
lay-verify="required"
placeholder="请输入版本号"
/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">项目备注:</label>
<div class="layui-input-inline">
<textarea placeholder="请输入项目备注(选填)" class="layui-textarea" name="upload_desc"></textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<div class="layui-input-block">
<button
type="button"
class="layui-btn {$view_theme_color}"
lay-submit
lay-filter="upload-submit"
>
上传小程序
</button>
</div>
</div>
</div>
</div>
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>上传记录</legend>
</fieldset>
</div>
<div class="layui-card-body" pad15>
<table id="log-lists" lay-filter="log-lists"></table>
<script type="text/html" id="status">
{{# if(d.status == 1){ }}
<span class="status-success">{{d.status_desc}}</span>
{{# }else if(d.status == 2){ }}
<span class="status-fail fail-reason" data-reason="{{= d.fail_reason}}">{{d.status_desc}}</span>
{{# }else{ }}
<span>{{d.status_desc}}</span>
{{# } }}
</script>
</div>
</div>
</div>
<script>
layui.use(["form", "layer"], function () {
var form = layui.form;
var layer = layui.layer;
var $ = layui.$;
var table = layui.table;
getLogList()
function getLogList() {
like.tableLists('#log-lists', '{:url("wechat.mnp/uploadMnpLog")}', [
{field: 'version', title: '版本号'}
,{field: 'status', title: '状态', templet: '#status'}
,{field: 'admin_desc', title: '操作人'}
,{field: 'create_time', title:'上传时间'}
]);
}
$(document).on('click', '.fail-reason', function () {
const reason = $(this).attr('data-reason')
const html = '<div style="overflow-y: auto;max-height: 500px;max-width: 500px;word-wrap: break-word;">'+reason+'</div>'
layer.open({
type: 4,
content: [html, '.fail-reason'],
tips: 1,
fixed: false,
shadeClose: true,
closeBtn: 0
});
});
// 监听提交
form.on("submit(upload-submit)", function (data) {
var field = data.field;
// if (!field.version) {
// layer.msg("请输入版本号");
// return false;
// }
layer.confirm(
"确定要上传小程序代码吗?",
{ icon: 3, title: "提示" },
function (index) {
layer.close(index);
// 显示加载层
var loadIndex = layer.load(1, {
shade: [0.1, "#fff"],
});
like.ajax({
url:'{:url("wechat.mnp/uploadMnp")}',
data:field,
type:"post",
success:function(res)
{
layer.close(loadIndex);
if (res.code == 1) {
layer.msg("上传成功", { icon: 1 });
table.reload('log-lists');
} else {
layer.msg(res.msg || "上传失败", { icon: 2 });
}
},
error:function()
{
layer.close(loadIndex);
layer.msg("上传失败", { icon: 2 });
}
});
}
);
return false;
});
});
</script>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,244 @@
{layout name="layout1" /}
<style>
.layui-form-label {
width: 120px;
}
.copy{
margin-left: 10px;
}
.tips{
color: red;
}
.layui-form-item .layui-input-inline{
width: 410px;
}
.layui-input{
display: inline-block;
width: 80%;
}
</style>
<div class="wrapper">
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-collapse like-layui-collapse" lay-accordion="" style="border:1px dashed #c4c4c4">
<div class="layui-colla-item">
<h2 class="layui-colla-title like-layui-colla-title" style="background-color: #fff">操作提示</h2>
<div class="layui-colla-content layui-show">
*填写微信公众号开发配置,请前往微信公众平台申请服务号并完成认证。
</div>
</div>
</div>
</div>
<div class="layui-card-body" pad15>
<div class="layui-form" lay-filter="">
<!-- 微信公众号-->
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>微信公众号</legend>
</fieldset>
</div>
<div class="layui-form-item">
<label class="layui-form-label">公众号名称:</label>
<div class="layui-input-inline">
<input type="text" name="name" value="{$oa.name}" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">原始ID</label>
<div class="layui-input-inline">
<input type="text" name="original_id" value="{$oa.original_id}" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">公众号二维码:</label>
<div class="layui-input-block">
<div class="like-upload-image">
{if $oa.qr_code}
<div class="upload-image-div">
<img src="{$oa.qr_code}" alt="img">
<input type="hidden" name="qr_code" value="{$oa.qr_code}">
<div class="del-upload-btn">x</div>
</div>
<div class="upload-image-elem" style="display:none;"><a class="add-upload-image" id="qrimage"> + 添加图片</a></div>
{else}
<div class="upload-image-elem"><a class="add-upload-image" id="qrimage"> + 添加图片</a></div>
{/if}
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<span style="color: #a3a3a3;font-size: 9px">建议尺寸宽400px*高400px。jpgjpegpng格式</span>
</div>
<!-- 公众号开发者信息-->
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>公众号开发者信息</legend>
</fieldset>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="tips">*</span>AppID</label>
<div class="layui-input-inline">
<input type="text" name="app_id" value="{$oa.app_id}" lay-verify="required" lay-verType="tips" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="tips">*</span>AppSecret</label>
<div class="layui-input-inline">
<input type="text" name="app_secret" value="{$oa.app_secret}" lay-verify="required" lay-verType="tips" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<span style="color: #a3a3a3;font-size: 9px">登录微信公众平台,点击开发>基本配置>公众号开发信息设置AppID和AppSecret</span>
</div>
<!-- 服务器配置-->
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>服务器配置</legend>
</fieldset>
</div>
<div class="layui-form-item">
<label class="layui-form-label">URL</label>
<div class="layui-input-inline">
<input type="text" value="{$oa.url}" readonly="readonly" class="layui-input">
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm copy" >复制</button>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<span style="color: #a3a3a3;font-size: 9px">登录微信公众平台,点击开发>基本配置>服务器配置填写服务器地址URL</span>
</div>
<div class="layui-form-item">
<label class="layui-form-label">Token</label>
<div class="layui-input-inline">
<input type="text" name="token" value="{$oa.token}" autocomplete="off" class="layui-input">
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm copy " >复制</button>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<span style="color: #a3a3a3;font-size: 9px">登录微信公众平台,点击开发>基本配置>服务器配置设置令牌Token。不填默认为“LikeMall”</span>
</div>
<div class="layui-form-item">
<label class="layui-form-label">EncodingAESKey</label>
<div class="layui-input-inline">
<input type="text" name="encoding_ses_key" value="{$oa.encoding_ses_key}" autocomplete="off" class="layui-input">
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm copy" >复制</button>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<span style="color: #a3a3a3;font-size: 9px">消息加密密钥由43位字符组成字符范围为A-Z,a-z,0-9</span>
</div>
<div class="layui-form-item">
<label class="layui-form-label">消息加密方式:</label>
<div class="layui-input-block">
<input type="radio" name="encryption_type" value="1" title="明文模式(不使用消息体加解密功能,安全系数较低)"{if $oa.encryption_type == 1} checked {/if} >
</div>
<div class="layui-input-block">
<input type="radio" name="encryption_type" value="2" title="兼容模式(明文、密文将共存,方便开发者调试和维护)" {if $oa.encryption_type == 2} checked {/if} >
</div>
<div class="layui-input-block" style="margin-left: 150px">
<input type="radio" name="encryption_type" value="3" title="安全模式(推荐)(消息包为纯密文,需要开发者加密和解密,安全系数高)" {if $oa.encryption_type == 3} checked {/if} >
</div>
</div>
<!-- 功能设置-->
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>功能设置</legend>
</fieldset>
</div>
<div class="layui-form-item">
<label class="layui-form-label">业务域名:</label>
<div class="layui-input-inline">
<input type="text" readonly="readonly" value="{$oa.business_domain}" class="layui-input">
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm copy" >复制</button>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<span style="color: #a3a3a3;font-size: 9px">登录微信公众平台,点击设置>公众号设置>功能设置,填写业务域名</span>
</div>
<div class="layui-form-item">
<label class="layui-form-label">JS接口安全域名</label>
<div class="layui-input-inline">
<input type="text" readonly="readonly" value="{$oa.safety_domain}" class="layui-input">
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm copy" >复制</button>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<span style="color: #a3a3a3;font-size: 9px">登录微信公众平台,点击设置>公众号设置>功能设置填写JS接口安全域名</span>
</div>
<div class="layui-form-item">
<label class="layui-form-label">网页授权域名:</label>
<div class="layui-input-inline">
<input type="text" readonly="readonly" value="{$oa.auth_domain}" class="layui-input">
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm copy" >复制</button>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<span style="color: #a3a3a3;font-size: 9px">登录微信公众平台,点击设置>公众号设置>功能设置,填写网页授权域名</span>
</div>
<div class="layui-form-item">
<div class="layui-input-inline" style="text-align: center;width: 560px">
<button class="layui-btn {$view_theme_color}" lay-submit lay-filter="setoa">确定</button>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/lib/' //静态资源所在路径
}).use(['form'], function () {
var $ = layui.$, form = layui.form
// 图片上传
$(document).on("click", "#qrimage", function () {
like.imageUpload({
limit: 1,
field: "qr_code",
that: $(this)
});
})
// 删除图片
like.delUpload();
// 放大图片
$(document).on('click', 'img', function () {
var image = $(this).attr('src');
like.showImg(image,600);
});
//复制
$(document).on('click','.copy',function () {
var copyText = $(this).prev()
copyText.select()
document.execCommand("Copy");
})
// 提交表单
form.on('submit(setoa)', function (data) {
like.ajax({
url: '{:url("wechat.oa/setOa")}' //实际使用请改成服务端真实接口
, data: data.field
, type: 'post'
, success: function (res) {
if (res.code == 1) {
layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
}
}
});
});
});
</script>

View File

@ -0,0 +1,121 @@
{layout name="layout1" /}
<style>
.layui-form-label{
width: 150px;
}
.tips{
color: red;
}
</style>
<div class="wrapper">
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-collapse like-layui-collapse" lay-accordion="" style="border:1px dashed #c4c4c4">
<div class="layui-colla-item">
<h2 class="layui-colla-title like-layui-colla-title" style="background-color: #fff">操作提示</h2>
<div class="layui-colla-content layui-show">
<p>*填写微信开放平台开发配置,请前往微信开放平台创建应用并完成认证。</p>
<p>*APP应用配置主要用于APP微信登录和微信支付。</p>
<p>*网站应用配置主要用于PC端商城微信扫码登录。</p>
</div>
</div>
</div>
</div>
<div class="layui-card-body" pad15>
<div class="layui-form" lay-filter="">
<!--APP应用开发者信息-->
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>APP应用</legend>
</fieldset>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="tips">*</span>AppID</label>
<div class="layui-input-block">
<div class="layui-col-md3">
<input type="text" name="app_id" value="{$config.app_id}" lay-verify="required" autocomplete="off" class="layui-input">
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="tips">*</span>AppSecret</label>
<div class="layui-input-block">
<div class="layui-col-md3">
<input type="text" name="secret" value="{$config.secret}" lay-verify="required" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<span style="color: #a3a3a3;font-size: 9px">登录微信开放平台,查看并设置</span>
</div>
</div>
<!--网站应用开发者信息-->
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>网站应用</legend>
</fieldset>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="tips">*</span>AppID</label>
<div class="layui-input-block">
<div class="layui-col-md3">
<input type="text" name="web_app_id" value="{$web_config.web_app_id}" lay-verify="required" autocomplete="off" class="layui-input">
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="tips">*</span>AppSecret</label>
<div class="layui-input-block">
<div class="layui-col-md3">
<input type="text" name="web_secret" value="{$web_config.web_secret}" lay-verify="required" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<span style="color: #a3a3a3;font-size: 9px">登录微信开放平台,查看并设置</span>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn layui-btn-sm {$view_theme_color}" lay-submit lay-filter="set">确定</button>
</div>
</div>
</div>
</div>
</div>
</div>
<style>
.layui-table-cell {
height: auto;
}
</style>
<script>
layui.config({
version:"{$front_version}",
base: '/static/lib/' //静态资源所在路径
}).use(['form'], function(){
var $ = layui.$,form = layui.form;
form.on('submit(set)', function (data) {
like.ajax({
url: '{:url("wechat.Op/config")}' //实际使用请改成服务端真实接口
, data: data.field
, type: 'post'
, success: function (res) {
if (res.code == 1) {
layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
}
}
});
});
});
</script>

View File

@ -0,0 +1,98 @@
{layout name="layout1" /}
<style>
.layui-form-label {
width: 120px;
text-align: left;
}
</style>
<div class="wrapper">
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-collapse like-layui-collapse" lay-accordion="" style="border:1px dashed #c4c4c4">
<div class="layui-colla-item">
<h2 class="layui-colla-title like-layui-colla-title" style="background-color: #fff">操作提示</h2>
<div class="layui-colla-content layui-show">
<p>PC商城设置</p>
</div>
</div>
</div>
</div>
<div class="layui-card-body">
<div class="layui-form">
<div class="layui-form-item">
<div class="layui-form-label">渠道状态</div>
<div class="layui-input-block">
<input type="radio" name="is_open" value="0" title="关闭" {if !$config.is_open}checked{/if} />
<input type="radio" name="is_open" value="1" title="开启" {if $config.is_open}checked{/if} />
</div>
</div>
<div class="layui-form-item">
<div class="layui-form-label">关闭后访问页面</div>
<div class="layui-input-block">
<input type="radio" name="page" value="1" title="空白页" {if $config.page == 1}checked{/if} />
</div>
</div>
<div class="layui-form-item">
<div class="layui-form-label"></div>
<div class="layui-inline">
<input type="radio" name="page" value="2" title="自定义页面" {if $config.page == 2}checked{/if} />
</div>
<div class="layui-inline" style="width: 420px;">
<input type="text" name="page_url" value="{$config.page_url}" placeholder="请输入完整的url" class="layui-input" />
</div>
</div>
<div class="layui-form-item">
<div class="layui-form-label">PC商城链接</div>
<div class="layui-inline" style="width: 280px;">
<input type="text" style="border:none" id="pc_url" value="{$config.pc_url}" class="layui-input" readonly />
</div>
<button class="layui-btn layui-btn-xs layui-btn-primary" id="copy">复制</button>
</div>
<div class="layui-form-item">
<div class="layui-form-label"></div>
<div class="layui-input-block">
<button class="layui-btn layui-btn-sm layui-btn-normal" lay-submit lay-filter="set">设置</button>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['form', 'layer'], function(){
var form = layui.form;
var layer = layui.layer;
var $ = layui.jquery;
form.on('submit(set)', function (data) {
$.ajax({
url:'{:url("wechat.pc/set")}',
type: 'post',
data: data.field,
success:function(res) {
if (res.code == 1) {
layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
}
}
});
});
// 复制
$('#copy').click(function() {
var input = document.getElementById('pc_url');
input.select();
document.execCommand("Copy");
layer.msg('复制成功');
});
});
</script>

View File

@ -0,0 +1,48 @@
{layout name="layout2" /}
<div class="layui-form" lay-filter="layuiadmin-form-reply" id="layuiadmin-form-reply" style="padding: 20px 30px 0 0;">
<div class="layui-form-item">
<label class="layui-form-label"><font color="red">*</font>规则名称:</label>
<div class="layui-input-inline">
<input type="text" name="name" value="" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label><span style="color: #a3a3a3;font-size: 9px">方便通过名称管理默认回复内容</span>
</div>
<div class="layui-form-item">
<label class="layui-form-label">内容类型:</label>
<div class="layui-input-inline">
<select name="content_type" >
<option value="1">文本</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">回复内容:</label>
<div class="layui-input-inline">
<textarea name="content" placeholder="请输入内容" class="layui-textarea"></textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">启用状态:</label>
<div class="layui-input-inline">
<input type="radio" name="status" value="1" title="启用" checked>
<input type="radio" name="status" value="0" title="停用" >
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="add-reply-submit" id="add-reply-submit" value="确认">
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/lib/' //静态资源所在路径
}).use(['form'], function(){
var $ = layui.$,form = layui.form;
});
</script>

View File

@ -0,0 +1,49 @@
{layout name="layout2" /}
<div class="layui-form" lay-filter="layuiadmin-form-reply" id="layuiadmin-form-reply" style="padding: 20px 30px 0 0;">
<div class="layui-form-item">
<label class="layui-form-label"><font color="red">*</font> 规则名称:</label>
<div class="layui-input-inline">
<input type="text" name="name" value="" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label><span style="color: #a3a3a3;font-size: 9px">方便通过名称管理默认回复内容</span>
</div>
<div class="layui-form-item">
<label class="layui-form-label">内容类型:</label>
<div class="layui-input-inline">
<select name="content_type" >
<option value="1">文本</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">回复内容:</label>
<div class="layui-input-inline">
<textarea name="content" placeholder="请输入内容" class="layui-textarea"></textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">启用状态:</label>
<div class="layui-input-inline">
<input type="radio" name="status" value="1" title="启用" checked>
<input type="radio" name="status" value="0" title="停用" >
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="add-reply-submit" id="add-reply-submit" value="确认">
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/lib/' //静态资源所在路径
}).use(['form'], function(){
var form = layui.form;
});
</script>

View File

@ -0,0 +1,68 @@
{layout name="layout2" /}
<div class="layui-form" lay-filter="layuiadmin-form-reply" id="layuiadmin-form-reply" style="padding: 20px 30px 0 0;">
<div class="layui-form-item">
<label class="layui-form-label"><font color="red">*</font> 规则名称:</label>
<div class="layui-input-inline">
<input type="text" name="name" value="" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label><span style="color: #a3a3a3;font-size: 9px">方便通过名称管理默认回复内容</span>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><font color="red">*</font>关键词:</label>
<div class="layui-input-inline">
<input type="text" name="keyword" value="" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label><span style="color: #a3a3a3;font-size: 9px">关键词不能超过5个字</span>
</div>
<div class="layui-form-item">
<label class="layui-form-label">匹配方式:</label>
<div class="layui-input-inline">
<select name="matching_type">
<option value="1">全匹配</option>
<option value="2">模糊匹配</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">内容类型:</label>
<div class="layui-input-inline">
<select name="content_type" lay-filter="aihao">
<option value="1">文本</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">回复内容:</label>
<div class="layui-input-inline">
<textarea name="content" placeholder="请输入内容" class="layui-textarea"></textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">启用状态:</label>
<div class="layui-input-inline">
<input type="radio" name="status" value="1" title="启用" checked>
<input type="radio" name="status" value="0" title="停用" >
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="add-reply-submit" id="add-reply-submit" value="确认">
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/lib/' //静态资源所在路径
}).use(['form'], function(){
var $ = layui.$
,form = layui.form;
});
</script>

View File

@ -0,0 +1,49 @@
{layout name="layout2" /}
<div class="layui-form" lay-filter="layuiadmin-form-reply" id="layuiadmin-form-reply" style="padding: 20px 30px 0 0;">
<input name="id" type="hidden" value="{$detail.id}">
<div class="layui-form-item">
<label class="layui-form-label"><font color="red">*</font>规则名称:</label>
<div class="layui-input-inline">
<input type="text" name="name" value="{$detail.name}" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label><span style="color: #a3a3a3;font-size: 9px">方便通过名称管理默认回复内容</span>
</div>
<div class="layui-form-item">
<label class="layui-form-label">内容类型:</label>
<div class="layui-input-inline">
<select name="content_type" >
<option value="1" {if condition="$detail.content_type eq 1" } selected {/if} >文本</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">回复内容:</label>
<div class="layui-input-inline">
<textarea name="content" placeholder="请输入内容" class="layui-textarea">{$detail.content}</textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">启用状态:</label>
<div class="layui-input-inline">
<input type="radio" name="status" value="1" title="启用" {if condition="$detail.status eq 1" } checked {/if} >
<input type="radio" name="status" value="0" title="停用" {if condition="$detail.status eq 0" } checked {/if} >
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="edit-reply-submit" id="edit-reply-submit" value="确认">
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/lib/' //静态资源所在路径
}).use(['form'], function(){
var $ = layui.$,form = layui.form;
});
</script>

View File

@ -0,0 +1,50 @@
{layout name="layout2" /}
<div class="layui-form" lay-filter="layuiadmin-form-reply" id="layuiadmin-form-reply" style="padding: 20px 30px 0 0;">
<input name="id" type="hidden" value="{$detail.id}">
<div class="layui-form-item">
<label class="layui-form-label"><font color="red">*</font>规则名称:</label>
<div class="layui-input-inline">
<input type="text" name="name" value="{$detail.name}" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label><span style="color: #a3a3a3;font-size: 9px">方便通过名称管理默认回复内容</span>
</div>
<div class="layui-form-item">
<label class="layui-form-label">内容类型:</label>
<div class="layui-input-inline">
<select name="content_type" >
<option value="1" {if condition="$detail.content_type eq 1" } selected {/if} >文本</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">回复内容:</label>
<div class="layui-input-inline">
<textarea name="content" placeholder="请输入内容" class="layui-textarea">{$detail.content}</textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">启用状态:</label>
<div class="layui-input-inline">
<input type="radio" name="status" value="1" title="启用" {if condition="$detail.status eq 1" } checked {/if}>
<input type="radio" name="status" value="0" title="停用"{if condition="$detail.status eq 0" } checked {/if} >
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="edit-reply-submit" id="edit-reply-submit" value="确认">
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/lib/' //静态资源所在路径
}).use(['form'], function(){
var $ = layui.$,form = layui.form;
});
</script>

View File

@ -0,0 +1,67 @@
{layout name="layout2" /}
<div class="layui-form" lay-filter="layuiadmin-form-reply" id="layuiadmin-form-reply" style="padding: 20px 30px 0 0;">
<input name="id" type="hidden" value="{$detail.id}">
<div class="layui-form-item">
<label class="layui-form-label"><font color="red">*</font>规则名称:</label>
<div class="layui-input-inline">
<input type="text" name="name" value="{$detail.name}" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label><span style="color: #a3a3a3;font-size: 9px">方便通过名称管理默认回复内容</span>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><font color="red">*</font>关键词:</label>
<div class="layui-input-inline">
<input type="text" name="keyword" value="{$detail.keyword}" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label><span style="color: #a3a3a3;font-size: 9px">关键词不能超过5个字</span>
</div>
<div class="layui-form-item">
<label class="layui-form-label">匹配方式:</label>
<div class="layui-input-inline">
<select name="matching_type">
<option value="1" {if condition="$detail.matching_type eq 1" } selected {/if}>全匹配</option>
<option value="2" {if condition="$detail.matching_type eq 2" } selected {/if}>模糊匹配</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">内容类型:</label>
<div class="layui-input-inline">
<select name="content_type" lay-filter="aihao">
<option value="1" {if condition="$detail.content_type eq 1" } selected {/if} >文本</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">回复内容:</label>
<div class="layui-input-inline">
<textarea name="content" placeholder="请输入内容" class="layui-textarea">{$detail.content}</textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">启用状态:</label>
<div class="layui-input-inline">
<input type="radio" name="status" value="1" title="启用" {if condition="$detail.status eq 1" } checked {/if}>
<input type="radio" name="status" value="0" title="停用" {if condition="$detail.status eq 0" } checked {/if}>
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="edit-reply-submit" id="edit-reply-submit" value="确认">
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/lib/' //静态资源所在路径
}).use(['form'], function(){
var $ = layui.$
,form = layui.form;
});
</script>

View File

@ -0,0 +1,311 @@
{layout name="layout1" /}
<div class="wrapper">
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-collapse like-layui-collapse" lay-accordion="" style="border:1px dashed #c4c4c4">
<div class="layui-colla-item">
<h2 class="layui-colla-title like-layui-colla-title" style="background-color: #fff">操作提示</h2>
<div class="layui-colla-content layui-show">
<p>*微信公众号回复管理,可以设置自动回复用户输入内容;</p>
<p>*关注回复用于用户关注公众号时回复;</p>
<p>*关键词回复用于用户输入内容时回复。关键词相同时,根据排序回复,排序值越小越前;</p>
<p>*默认回复用于用户输入内容未匹配时回复;</p>
</div>
</div>
</div>
</div>
<div class="layui-tab layui-tab-card" lay-filter="tab-all">
<!-- 选项卡头部-->
<ul class="layui-tab-title">
{foreach $type_list as $type => $name}
<li data-type={$type} {if 'subscribe' == $type } class="layui-this" {/if} >{$name}</li>
{/foreach}
</ul>
<div class="layui-tab-item layui-show">
<div class="layui-card">
<div class="layui-card-body">
<div style="padding-bottom: 10px;">
<button class="layui-btn layui-btn-sm layuiadmin-btn-reply {$view_theme_color}" data-type="add">新增回复</button>
</div>
<table id="reply-lists" lay-filter="reply-lists"></table>
<script type="text/html" id="status">
<input type="checkbox" lay-filter="switch-status" data-id={{d.id}} data-field='status' lay-skin="switch"
lay-text="显示|隐藏" {{# if(d.status){ }} checked {{# } }} />
</script>
<script type="text/html" id="reply-operation">
<a class="layui-btn layui-btn-normal layui-btn-sm" lay-event="edit"><i class="layui-icon"></i></a>
<a class="layui-btn layui-btn-danger layui-btn-sm" lay-event="del" ><i class="layui-icon"></i></a>
</script>
</div>
</div>
</div>
</div>
</div>
</div>
<style>
.layui-table-cell {
height: auto;
}
</style>
<script>
// 初始回复类型
var type = 'subscribe';
layui.config({
version:"{$front_version}",
base: '/static/lib/' //静态资源所在路径
}).use(['table', 'element'], function(){
var $ = layui.$
,form = layui.form
,table = layui.table
,element = layui.element;
// 初始获取列表数据
getList()
// 事件处理函数
var active = {
add: function(){
var add = layer.open({
type: 2
,title: '新增回复 '
,content: '{:url("wechat.reply/add")}?type='+type
,area: ['90%','90%']
,btn: ['确定', '取消']
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submitID = 'add-reply-submit'
,submit = layero.find('iframe').contents().find('#'+ submitID);
//监听提交
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
var field = data.field;
field['reply_type'] = type;
like.ajax({
url:'{:url("wechat.reply/add")}',
data:field,
type:"post",
success:function(res)
{
if(res.code == 1)
{
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
layer.close(index); //关闭弹层
table.reload('reply-lists'); //数据刷新
}
},
});
});
submit.trigger('click');
}
});
}
}
// 监听文本框编辑
table.on('edit(reply-lists)', function (obj) {
var ids = [];
var id = obj.data.id;
var fields = obj.field;
var field_value = obj.value;
ids.push(id);
if(isNaN(field_value)){
var old_value=$(this).prev().text();
layer.tips('请输入数字', $(this), {tips: [1, '#FF5722']});
$(this).val(old_value);
return false;
}
changeFields(ids,fields,field_value)
});
// 新增回复
$('.layui-btn.layuiadmin-btn-reply').on('click', function(){
var type = $(this).data('type');
active[type] ? active[type].call(this) : '';
});
// 监听启用状态开关
form.on('switch(switch-status)',function (obj) {
var ids = [];
var id = obj.elem.attributes['data-id'].nodeValue
var fields = obj.elem.attributes['data-field'].nodeValue
var field_value = 0;
ids.push(id);
if(this.checked){
field_value = 1;
}
changeFields(ids,fields,field_value)
})
// 监听选项卡切换
element.on('tab(tab-all)', function (data) {
type = $(this).attr('data-type');
getList();
});
// 加载列表数据
function getList() {
switch (type) {
case "subscribe":
var cols = [
{field: 'name', title: '规则名称', align: 'center'}
, {field: 'content_type', title: '回复类型', align: 'center'}
, {field: 'content', title: '回复内容', align: 'center'}
, {title:'启用状态', align: 'center', toolbar: '#status'}
, {title: '操作', align: 'center', toolbar: '#reply-operation'}
];
break;
case "text":
var cols = [
{field: 'keyword', title: '关键词', align: 'center'}
, {field: 'matching_type', title: '匹配方式', align: 'center'}
, {field: 'content_type', title: '回复类型', align: 'center'}
, {field: 'content', title: '回复内容', align: 'center'}
, {title: 'status', title:'启用状态', align: 'center', toolbar: '#status'}
, {field: 'sort', title: '排序', align: 'center',edit:'text'}
, {title: '操作', align: 'center', toolbar: '#reply-operation'}
];
break;
case "default":
var cols = [
{field: 'name', title: '规则名称', align: 'center'}
, {field: 'content_type', title: '回复类型', align: 'center'}
, {field: 'content', title: '回复内容', align: 'center'}
, {title: 'status', title:'启用状态', align: 'center', toolbar: '#status'}
, {title: '操作', align: 'center', toolbar: '#reply-operation'}
];
break;
}
//管理员管理
table.render({
elem: '#reply-lists'
, url: '{:url("wechat.reply/lists")}?type='+type
, cols: [
cols
]
, page: true
, text: {none: '暂无数据!'}
, response: {
'statusCode': 1
}
, parseData: function (res) { //将原始数据解析成 table 组件所规定的数据
return {
"code": res.code,
"msg": res.msg,
"count": res.data.count, //解析数据长度
"data": res.data.list, //解析数据列表
};
}
});
}
//监听工具条
table.on('tool(reply-lists)', function(obj){
if(obj.event === 'del'){
var id = obj.data.id;
var attr = obj.data.attr;
var name = obj.data.name;
layer.confirm('确认删除回复:'+'<span style="color: red">'+name+'</span>', function(index){
like.ajax({
url:'{:url("wechat.reply/del")}',
data:{id:id},
type:"post",
success:function(res)
{
if(res.code == 1)
{
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
layer.close(index); //关闭弹层
table.reload('reply-lists'); //数据刷新
}
},
});
});
}else if(obj.event === 'edit'){
var id = obj.data.id;
var edit = layer.open({
type: 2
,title: '编辑回复'
,content: '{:url("wechat.reply/edit")}?id='+id
,area: ['90%','90%']
,btn: ['确定', '取消']
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submitID = 'edit-reply-submit'
,submit = layero.find('iframe').contents().find('#'+ submitID);
//监听提交
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
var field = data.field;
field['reply_type'] = type;
like.ajax({
url:'{:url("wechat.reply/edit")}',
data:field,
type:"post",
success:function(res)
{
if(res.code == 1)
{
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
layer.close(index); //关闭弹层
table.reload('reply-lists'); //数据刷新
}
},
});
});
submit.trigger('click');
}
})
}
});
});
function changeFields(ids,fields,value) {
like.ajax({
url:'{:url("wechat.reply/changeFields")}',
data:{id:ids,field:fields,value:value,reply_type:type},
type:'post',
dataType:'json',
success:function (res) {
if(res.code == 1) {
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
}, function(){
location.href = location.href;
});
} else {
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 2
, time: 1000
}, function(){
location.href = location.href;
});
}
}
})
}
</script>