This commit is contained in:
尖叫 2023-11-29 10:45:45 +08:00
parent f5ee804d71
commit 4d591cc3df
7 changed files with 988 additions and 1090 deletions

View File

@ -5,16 +5,12 @@
* @description KISS
* @date 2020-11-23
* @version 1.0.0
*
*
* _____LOG_____
*
*
*/
namespace app\modules\admin\controllers;
use app\models\Box;
use app\models\cms\Notice;
use app\models\cms\RichText;
use app\models\Store;
use app\modules\admin\behaviors\LoginBehavior;
use app\modules\admin\models\wechat\WechatAppForm;
use app\modules\admin\models\wechat\WechatOfficalAccountForm;
@ -32,7 +28,7 @@ use app\models\PickLinkForm;
class WechatController extends Controller
class WechatController extends Controller
{
public function behaviors()
{
@ -42,7 +38,7 @@ class WechatController extends Controller
],
]);
}
public function actionMp()
{
$this->wechat_app = $this->wechat_app == null ? new WechatApp() : $this->wechat_app;
@ -55,10 +51,10 @@ class WechatController extends Controller
return $this->responseHandler($data);
}
return $this->render('mp',[
'model' => $this->wechat_app
'model' => $this->wechat_app
]);
}
public function actionMpTplMsg()
{
$form = new WechatAppTplMsgForm();
@ -72,9 +68,9 @@ class WechatController extends Controller
$list = $form->search();
return $this->render('mp-tpl-msg',[
'list' => $list
]);
]);
}
public function actionMpSlide()
{
$form = new SlideListForm();
@ -84,7 +80,7 @@ class WechatController extends Controller
$data = $form->search();
return $this->render('mp-slide', $data);
}
public function actionMpSlideEdit($id = 0)
{
$zone_id = Banner::ZONE_ID_WXAPP_INDEX;
@ -114,28 +110,14 @@ class WechatController extends Controller
$data = $form->save();
return $this->responseHandler($data);
}
$store = Store::find()->select('id,name')->where(['is_delete' => 0])->asArray()->all();
$box = Box::find()->select('id,name,store_id')->where(['is_delete' => 0])->asArray()->all();
$notice = Notice::find()->alias('n')
->select('n.id,n.store_id,rt.title as name')
->leftJoin(['rt' => RichText::tableName()],'rt.id=n.rich_text_id')
->where([
'n.cx_mch_id' => $this->cx_mch_id,
'n.is_delete' => 0,
'n.is_index' => 1,
])->asArray()->all();
$return_url = \Yii::$app->request->referrer;
return $this->render('mp-slide-edit', [
'model' => $model,
'return_url' => $return_url,
'links' => (new PickLinkForm())->getPickLink(),
'store' => $store,
'box' => $box,
'notice' => $notice,
'links' => (new PickLinkForm())->getPickLink()
]);
}
public function actionMpSlideShow()
{
if(!\Yii::$app->request->isPost){
@ -149,7 +131,7 @@ class WechatController extends Controller
$data = $form->show();
return $this->responseHandler($data);
}
public function actionMpSlideHide()
{
if(!\Yii::$app->request->isPost){
@ -163,7 +145,7 @@ class WechatController extends Controller
$data = $form->hide();
return $this->responseHandler($data);
}
public function actionMpSlideDel()
{
if(!\Yii::$app->request->isPost){
@ -177,5 +159,5 @@ class WechatController extends Controller
$data = $form->delete();
return $this->responseHandler($data);
}
}

View File

@ -5,9 +5,9 @@
* @description KISS
* @date 2020-11-23
* @version 1.0.0
*
*
* _____LOG_____
*
*
*/
namespace app\modules\admin\models;
@ -15,10 +15,10 @@ use app\models\Banner;
use app\models\Model;
class SlideEditForm extends AdminModel
class SlideEditForm extends AdminModel
{
public $model;
public $cx_mch_id;
public $user_id;
public $zone_id;
@ -29,7 +29,7 @@ class SlideEditForm extends AdminModel
public $title;
public $page_url;
public $sort;
public $media;
public $status;
public $video_url;
@ -47,7 +47,7 @@ class SlideEditForm extends AdminModel
[['video_url'], 'required', 'on' => 'video'],
];
}
public function attributeLabels() {
return [
'app_id' => '小程序AppId',
@ -95,7 +95,7 @@ class SlideEditForm extends AdminModel
}
if(!$this->model->save()){
return $this->getModelError($this->model);
}
}
return [
'code' => 0,
'msg' => '保存成功'

View File

@ -5,9 +5,9 @@
* @description KISS
* @date 2020-11-24
* @version 1.0.0
*
*
* _____LOG_____
*
*
*/
use app\widgets\PickLinker;
@ -22,214 +22,222 @@ $url_type_labels = Banner::urlTypeLabels();
$status_labels = Banner::statusLabels();
$media_labels = Banner::mediaLabels();
?>
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-card-header"><?= $this->title ?></div>
<div class="layui-card-body">
<div class="layui-row">
<div class="layui-col-md6">
<div class="layui-form">
<div class="layui-form-item">
<label class="layui-form-label">标题</label>
<div class="layui-input-inline">
<input type="text" name="title" placeholder="请输入标题" autocomplete="off" class="layui-input" value="<?= $model->title ?>">
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-card-header"><?= $this->title ?></div>
<div class="layui-card-body">
<div class="layui-row">
<div class="layui-col-md6">
<div class="layui-form">
<div class="layui-form-item">
<label class="layui-form-label">标题</label>
<div class="layui-input-inline">
<input type="text" name="title" placeholder="请输入标题" autocomplete="off" class="layui-input" value="<?= $model->title ?>">
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="block-url">
<div class="layui-form-item">
<label class="layui-form-label">链接类型</label>
<div class="layui-input-block url-type">
<?php foreach ($url_type_labels as $key => $val):?>
<input type="radio" name="url_type" value="<?=$key?>" title="<?=$val?>" <?= $model->url_type == $key ? 'checked=""' : ''?>>
<?php endforeach;?>
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item" v-if="url_type == <?=Banner::URL_TYPE_MP_PAGE?>">
<label class="layui-form-label">小程序页面链接</label>
<div class="layui-inline ">
<input type="text" name="page_url" placeholder="" autocomplete="off" class="layui-input page-url" value="<?= $model->url_type == 0 ? $model->page_url : '' ?>" >
</div>
<div class="layui-inline ">
<button class="layui-btn pick-link-btn">选择链接</button>
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item" v-if="url_type == <?=Banner::URL_TYPE_LINK?>">
<label class="layui-form-label">外部链接链接</label>
<div class="layui-input-inline">
<input type="text" name="page_url" placeholder="" autocomplete="off" class="layui-input page-url" value="<?= $model->url_type == 1 ? $model->page_url : '' ?>">
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item" v-if="url_type == <?=Banner::URL_TYPE_MP?>">
<label class="layui-form-label">小程序AppID</label>
<div class="layui-input-inline">
<input type="text" name="app_id" placeholder="" autocomplete="off" class="layui-input" value="<?= $model->app_id ?>">
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">排序</label>
<div class="layui-input-inline">
<input type="number" name="sort" placeholder="请输入数字" autocomplete="off" class="layui-input" value="<?= $model->sort ? $model->sort : 100 ?>">
</div>
<div class="layui-form-mid layui-word-aux">升序,值越小排序越靠前</div>
</div>
<div class="block-url">
<div class="layui-form-item">
<label class="layui-form-label">链接类型</label>
<div class="layui-input-block url-type">
<?php foreach ($url_type_labels as $key => $val):?>
<input type="radio" name="url_type" value="<?=$key?>" title="<?=$val?>" <?= $model->url_type == $key ? 'checked=""' : ''?>>
<?php endforeach;?>
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item" v-if="url_type == <?=Banner::URL_TYPE_MP_PAGE?>">
<label class="layui-form-label">小程序页面链接</label>
<div class="layui-inline ">
<input type="text" name="page_url" placeholder="" autocomplete="off" class="layui-input page-url" value="<?= $model->url_type == 0 ? $model->page_url : '' ?>" >
</div>
<div class="layui-inline ">
<button class="layui-btn pick-link-btn">选择链接</button>
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item" v-if="url_type == <?=Banner::URL_TYPE_LINK?>">
<label class="layui-form-label">外部链接链接</label>
<div class="layui-input-inline">
<input type="text" name="page_url" placeholder="" autocomplete="off" class="layui-input page-url" value="<?= $model->url_type == 1 ? $model->page_url : '' ?>">
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item" v-if="url_type == <?=Banner::URL_TYPE_MP?>">
<label class="layui-form-label">小程序AppID</label>
<div class="layui-input-inline">
<input type="text" name="app_id" placeholder="" autocomplete="off" class="layui-input" value="<?= $model->app_id ?>">
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">排序</label>
<div class="layui-input-inline">
<input type="number" name="sort" placeholder="请输入数字" autocomplete="off" class="layui-input" value="<?= $model->sort ? $model->sort : 100 ?>">
</div>
<div class="layui-form-mid layui-word-aux">升序,值越小排序越靠前</div>
</div>
</div>
<?= PickFile::widget([
'accept' => 'images',
'id' => 'img_url_upload',
'name' => 'img_url',
'label' => '图片',
'value' => $model->img_url,
'tip' => '图片大小750×800',
'imageCompressEnable' => 1,
'imageCompressBorder' => 750
])?>
<?= PickFile::widget([
'accept' => 'video',
'id' => 'video_url_upload',
'name' => 'video_url',
'label' => '视频',
'value' => $model->video_url,
'tip' => ''
])?>
<div class="layui-form-item">
<label class="layui-form-label">状态</label>
<div class="layui-input-block url-type">
<input type="radio" name="status" value="0" title="隐藏" <?= $model->status == 0 ? 'checked=""' : ''?>>
<input type="radio" name="status" value="1" title="显示" <?= $model->status == 1 ? 'checked=""' : ''?>>
<div class="layui-form-item">
<label class="layui-form-label">媒体类型</label>
<div class="layui-input-block media">
<?php foreach ($media_labels as $key => $val):?>
<input type="radio" name="media" value="<?=$key?>" title="<?=$val?>" <?= $model->media == $key ? 'checked=""' : ''?>>
<?php endforeach;?>
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<div class="" >
<input type="hidden" name="media" value="0">
<button class="layui-btn" lay-submit="" lay-filter="layui-form-submit">保存</button>
<?= PickFile::widget([
'accept' => 'images',
'id' => 'img_url_upload',
'name' => 'img_url',
'label' => '图片',
'value' => $model->img_url,
'tip' => '图片大小750×330',
'imageCompressEnable' => 1,
'imageCompressBorder' => 750
])?>
<?= PickFile::widget([
'accept' => 'video',
'id' => 'video_url_upload',
'name' => 'video_url',
'label' => '视频',
'value' => $model->video_url,
'tip' => ''
])?>
<div class="layui-form-item">
<label class="layui-form-label">状态</label>
<div class="layui-input-block url-type">
<input type="radio" name="status" value="0" title="隐藏" <?= $model->status == 0 ? 'checked=""' : ''?>>
<input type="radio" name="status" value="1" title="显示" <?= $model->status == 1 ? 'checked=""' : ''?>>
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<div class="" >
<button class="layui-btn" lay-submit="" lay-filter="layui-form-submit">保存</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<?= PickLinker::widget(["links" => $links, "store" => $store,"box" => $box,"notice" => $notice,"link_input_class" => ".page-url", "link_select_btn" => '.pick-link-btn'])?>
<?= PickLinker::widget(["links" => $links, "link_input_class" => ".page-url", "link_select_btn" => '.pick-link-btn'])?>
<script>
<?php $this->beginBlock('js_script_wrap') ?>
var vm = new Vue({
el:".block-url",
data:{
url_type:<?=$model->url_type != null ? $model->url_type : 0?>,
media:<?=$model->media != null ? $model->media : 0?>,
}
});
layui.config({
base: '/statics/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'user', 'upload', 'layer'], function () {
var $ = layui.$
, admin = layui.admin
, upload = layui.upload
, layer = layui.layer
, form = layui.form;
form.render();
//提交
var submitLock = false;
form.on('submit(layui-form-submit)', function (obj) {
if (submitLock) {
return false;
<script>
<?php $this->beginBlock('js_script_wrap') ?>
var vm = new Vue({
el:".block-url",
data:{
url_type:<?=$model->url_type != null ? $model->url_type : 0?>,
media:<?=$model->media != null ? $model->media : 0?>,
}
submitLock = true;
//请求登入接口
//console.log(obj)
var url = '<?= \Yii::$app->urlManager->createUrl(["/admin/wechat/mp-slide-edit", 'id' => $model->id ? $model->id : 0]) ?>';
var returnUrl = "<?= $return_url ?>";
var data = obj.field;
data._csrf = _csrf;
$.ajax(url, {
type: "POST",
dataType: "json",
data: data,
timeout: 10000,
success: function (res) {
if (res.code == 0) {
layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
}, function () {
if(returnUrl){
location.href = returnUrl;
} else {
location.reload();
}
});
} else {
layer.msg(res.msg, {
});
layui.config({
base: '/statics/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'user', 'upload', 'layer'], function () {
var $ = layui.$
, admin = layui.admin
, upload = layui.upload
, layer = layui.layer
, form = layui.form;
form.render();
//提交
var submitLock = false;
form.on('submit(layui-form-submit)', function (obj) {
if (submitLock) {
return false;
}
submitLock = true;
//请求登入接口
//console.log(obj)
var url = '<?= \Yii::$app->urlManager->createUrl(["/admin/wechat/mp-slide-edit", 'id' => $model->id ? $model->id : 0]) ?>';
var returnUrl = "<?= $return_url ?>";
var data = obj.field;
data._csrf = _csrf;
$.ajax(url, {
type: "POST",
dataType: "json",
data: data,
timeout: 10000,
success: function (res) {
if (res.code == 0) {
layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
}, function () {
if(returnUrl){
location.href = returnUrl;
} else {
location.reload();
}
});
} else {
layer.msg(res.msg, {
offset: '15px'
, icon: 2
, time: 1000
}, function () {
});
}
},
error: function (xhr, type, err) {
layer.msg(xhr.responseText, {
offset: '15px'
, icon: 2
, time: 1000
}, function () {
});
},
complete: function () {
submitLock = false;
}
},
error: function (xhr, type, err) {
layer.msg(xhr.responseText, {
offset: '15px'
, icon: 2
, time: 1000
}, function () {
});
},
complete: function () {
submitLock = false;
}
})
});
//链接类型切换
$('.url-type').on("click",".layui-form-radio",function(){
var url_type = $('.url-type input:radio:checked').val();
vm.url_type = url_type;
})
//媒体类型切换
$('.media').on("click",".layui-form-radio",function(){
var media = $('.media input:radio:checked').val();
vm.media = media;
if(vm.media == 0){
$("#video_url_upload").hide();
$("#img_url_upload").show();
}
if(vm.media == 1){
$("#img_url_upload").hide();
$("#video_url_upload").show();
}
});
function init_page()
{
if(vm.media == 0){
$("#video_url_upload").hide();
$("#img_url_upload").show();
}
if(vm.media == 1){
$("#img_url_upload").hide();
$("#video_url_upload").show();
}
}
init_page();
});
//链接类型切换
$('.url-type').on("click",".layui-form-radio",function(){
var url_type = $('.url-type input:radio:checked').val();
vm.url_type = url_type;
})
//媒体类型切换
$('.media').on("click",".layui-form-radio",function(){
var media = $('.media input:radio:checked').val();
vm.media = media;
if(vm.media == 0){
$("#video_url_upload").hide();
$("#img_url_upload").show();
}
if(vm.media == 1){
$("#img_url_upload").hide();
$("#video_url_upload").show();
}
});
function init_page()
{
if(vm.media == 0){
$("#video_url_upload").hide();
$("#img_url_upload").show();
}
if(vm.media == 1){
$("#img_url_upload").hide();
$("#video_url_upload").show();
}
}
init_page();
});
<?php $this->endBlock(); ?>
</script>
<?php $this->endBlock(); ?>
</script>
<?php $this->registerJs($this->blocks['js_script_wrap'], \yii\web\View::POS_END); ?>

View File

@ -1,417 +1,417 @@
<?php
/**
* @author Any
* @description KISS
* @date 2020-11-24
* @version 1.0.0
*
* _____LOG_____
*
*/
use yii\widgets\LinkPager;
use app\models\Banner;
$this->title = '轮播图';
$this->params['breadcrumbs'][] = $this->title;
$status_labels = Banner::statusLabels();
$status = \Yii::$app->request->get('status');
?>
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-card-header">
<?= $this->title ?>
</div>
<div class="layui-card-header layuiadmin-card-header-auto">
<div class="layui-form-item">
<div class="layui-inline">
<a class=" layui-btn layui-btn-sm" href="<?=\Yii::$app->urlManager->createUrl(["admin/wechat/mp-slide-edit"])?>">添加轮播图</a>
</div>
<div class="layui-inline layui-float-right layui-form">
<div class="layui-inline layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<select class="layui-select" lay-filter="batch-action">
<option value="0">批量操作</option>
<option value="hide">批量隐藏</option>
<option value="show">批量显示</option>
<option value="del">批量删除</option>
</select>
</div>
</div>
</div>
<div class="layui-inline layui-form-item">
<div class="layui-input-inline">
<select class="layui-select" name="status">
<option value="" <?=$status === null ? 'selected' : ''?>>全部状态</option>
<?php foreach ($status_labels as $key => $val):?>
<option value="<?=$key?>" <?=$status == $key && $status != null ? 'selected' : ''?>><?=$val?></option>
<?php endforeach;?>
</select>
</div>
</div>
<div class="layui-inline layui-form-item">
<label class="layui-form-label">关键词</label>
<div class="layui-input-block">
<input type="text" name="keywords" placeholder="搜索标题" autocomplete="off" class="layui-input" value="<?=\Yii::$app->request->get("keywords")?>">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layuiadmin-btn-useradmin" lay-submit lay-filter="layui-form-search">
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
</button>
</div>
</div>
</div>
</div>
<div class="layui-card-body">
<table class="layui-table layui-form">
<thead>
<tr>
<th>
<div class="layui-table-cell laytable-cell-checkbox">
<input type="checkbox" name="layuitable_checkbox" lay-skin="primary" >
</div>
</th>
<th>ID</th>
<th>标题</th>
<th>内容</th>
<th>链接</th>
<th>排序</th>
<th>添加时间</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach ($list as $index => $item):?>
<tr>
<td>
<div class="layui-table-cell laytable-cell-checkbox">
<input type="checkbox" name="layuitable_checkbox" lay-skin="primary" value="<?=$item['id']?>">
</div>
</td>
<td><?=$item["id"]?></td>
<td><?=$item["title"]?></td>
<td>
<?php if($item['media'] == Banner::MEDIA_IMG):?>
<img src="<?=$item["img_url"]?>" style="width:168px;max-width: 168px;">
<?php endif;?>
<?php if($item['media'] == Banner::MEDIA_VIDEO):?>
<video src="<?=$item["video_url"]?>" style="width:168px;max-width: 168px;" controls=""></video>
<?php endif;?>
</td>
<td>
<span class="layui-badge layui-bg-orange"><?=$item['url_type_cn']?></span>
<?php if($item['url_type'] == Banner::URL_TYPE_MP):?>
<?=$item['app_id']?>
<?php else:?>
<?=$item['page_url']?>
<?php endif;?>
</td>
<td><?=$item["sort"]?></td>
<td><?=$item["created_at_cn"]?></td>
<td>
<?php if($item['status'] == Banner::STATUS_HIDE):?>
<span class="layui-badge layui-bg-gray"><?=$item["status_cn"]?></span>
<?php elseif($item['status'] == Banner::STATUS_SHOW):?>
<span class="layui-badge layui-bg-blue"><?=$item["status_cn"]?></span>
<?php endif;?>
</td>
<td>
<?php if($item['status'] == Banner::STATUS_HIDE):?>
<a href="javascript:;" data-id="<?=$item["id"]?>" class="layui-btn layui-btn-normal layui-btn-xs show-btn">显示</a>
<a href="javascript:;" data-id="<?=$item["id"]?>" class="layui-btn layui-btn-danger layui-btn-xs del-btn">删除</a>
<?php elseif($item['status'] == Banner::STATUS_SHOW):?>
<a href="javascript:;" data-id="<?=$item["id"]?>" class="layui-btn layui-btn-warm layui-btn-xs hide-btn">隐藏</a>
<?php endif;?>
<a href="<?=\Yii::$app->urlManager->createUrl(['admin/wechat/mp-slide-edit', 'id' => $item['id']])?>" class="layui-btn layui-btn-xs">编辑</a>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<div class="layui-table-page layui-text-center">
<?php echo LinkPager::widget([
'pagination' => $pagination,
'prevPageLabel' => '上一页',
'nextPageLabel' => '下一页',
'firstPageLabel' => '首页',
'lastPageLabel' => '尾页',
'maxButtonCount' => 5,
'options' => [
'class' => 'layui-pagination layui-laypage',
],
'prevPageCssClass' => 'layui-laypage-prev',
'pageCssClass' => "layui-laypage-item",
'nextPageCssClass' => 'layui-laypage-first',
'firstPageCssClass' => 'layui-laypage-last',
'lastPageCssClass' => 'layui-laypage-last',
'linkOptions' => [
'class' => 'page-link',
],
'disabledListItemSubTagOptions' => ['tag' => 'a', 'class' => 'layui-disabled'],
])
?>
</div>
</div>
</div>
</div>
<script>
<?php $this->beginBlock('js_script_wrap') ?>
layui.config({
base: '/statics/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'user'], function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin;
//pagination search
$(".layui-pagination").append('<span class="layui-laypage-skip " style="margin-left:15px;">到第<input type="text" min="1" value="" class="layui-input" id="invalue">页<button type="button" class="layui-laypage-btn" id="skip">确定</button></span>');
$('#skip').click(function() {
var a_elem = $('.layui-pagination .layui-laypage-item.active a');
var href = a_elem.attr('href');
var cur_page = a_elem.attr('data-page');
cur_page = cur_page * 1 + 1;
var page = $('#invalue').val();
var before_str = 'page=' + cur_page;
var after_str = 'page=' + page;
var reg = new RegExp(before_str);
var href = href.replace(reg,after_str);
location.href = href;
});
form.render();
//search
form.on('submit(layui-form-search)', function (obj) {
var url = '<?=\Yii::$app->urlManager->createUrl(["admin/wechat/mp-slide"])?>';
url += '?' + wrx.object_to_url_params(obj.field);
location.href = url;
});
//全选操作
$('.layui-table .laytable-cell-checkbox').eq(0).on('click','.layui-form-checkbox',function(){
var checked = $('.layui-table .laytable-cell-checkbox').eq(0).find("input").prop("checked");
//console.log(checked)
if(checked){
//select all
$('.layui-table .laytable-cell-checkbox').each(function(index){
var checked = $('.layui-table .laytable-cell-checkbox').eq(index).find("input").prop("checked");
if(!checked){
$('.layui-table .laytable-cell-checkbox').eq(index).find('.layui-form-checkbox').trigger("click");
}
});
} else {
$('.layui-table .laytable-cell-checkbox').each(function(index){
var checked = $('.layui-table .laytable-cell-checkbox').eq(index).find("input").prop("checked");
if(checked){
$('.layui-table .laytable-cell-checkbox').eq(index).find('.layui-form-checkbox').trigger("click");
}
});
}
})
//显示
$(".layui-table").on("click",".show-btn",function(){
var id = $(this).attr("data-id");
layer.confirm('你确定将此项显示吗?', {
btn: ['确定','取消']
}, function(){
var url = '<?=\Yii::$app->urlManager->createUrl(["/admin/wechat/mp-slide-show"])?>';
$.ajax(url,{
type:"POST",
dataType:"json",
data:{
slide_id:id,
_csrf:_csrf
},
success:function(res){
if(res.code == 0){
layer.msg(res.msg, {
offset: '15px'
,icon: 1
,time: 1000
}, function(){
location.reload();
});
} else {
layer.msg(res.msg, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
},
error:function(xhr,type,err){
layer.msg(xhr.responseText, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
})
}, function(){
});
});
//隐藏
$(".layui-table").on("click",".hide-btn",function(){
var id = $(this).attr("data-id");
layer.confirm('你确定将此项隐藏吗?', {
btn: ['确定','取消']
}, function(){
var url = '<?=\Yii::$app->urlManager->createUrl(["/admin/wechat/mp-slide-hide"])?>';
$.ajax(url,{
type:"POST",
dataType:"json",
data:{
slide_id:id,
_csrf:_csrf
},
success:function(res){
if(res.code == 0){
layer.msg(res.msg, {
offset: '15px'
,icon: 1
,time: 1000
}, function(){
location.reload();
});
} else {
layer.msg(res.msg, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
},
error:function(xhr,type,err){
layer.msg(xhr.responseText, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
})
}, function(){
});
});
//删除
$(".layui-table").on("click",".del-btn",function(){
var id = $(this).attr("data-id");
layer.confirm('你确定将此项删除吗?', {
btn: ['确定','取消']
}, function(){
var url = '<?=\Yii::$app->urlManager->createUrl(["/admin/wechat/mp-slide-del"])?>';
$.ajax(url,{
type:"POST",
dataType:"json",
data:{
slide_id:id,
_csrf:_csrf
},
success:function(res){
if(res.code == 0){
layer.msg(res.msg, {
offset: '15px'
,icon: 1
,time: 1000
}, function(){
location.reload();
});
} else {
layer.msg(res.msg, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
},
error:function(xhr,type,err){
layer.msg(xhr.responseText, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
})
}, function(){
});
});
form.on('select(batch-action)', function(data){
console.log(data.value); //得到被选中的值
var v = data.value;
var ids = [];
$('.layui-table .laytable-cell-checkbox input:checkbox:checked').each(function(){
var id = $(this).val();
ids.push(id)
});
if(ids.length == 0){
return layer.msg("未选中任何选项");
}
var url = null;
var tip = null;
if(v == 'show'){
url = '<?=\Yii::$app->urlManager->createUrl(['/admin/wechat/mp-slide-show'])?>';
tip = '你确定显示此项吗?';
}
if(v == 'hide'){
url = '<?=\Yii::$app->urlManager->createUrl(['/admin/wechat/mp-slide-hide'])?>';
tip = '你确定隐藏此项吗?';
}
if(v == 'del'){
url = '<?=\Yii::$app->urlManager->createUrl(['/admin/wechat/mp-slide-del'])?>';
tip = '你确定删除此项吗?';
}
//console.log(url,tip);
if(url == null){
return ;
}
layer.confirm(tip, {
btn: ['确定','取消']
}, function(){
$.ajax(url,{
type:"POST",
dataType:"json",
data:{
slide_id:ids,
_csrf:_csrf
},
success:function(res){
if(res.code == 0){
layer.msg(res.msg, {
offset: '15px'
,icon: 1
,time: 1000
}, function(){
location.reload();
});
} else {
layer.msg(res.msg, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
},
error:function(xhr,type,err){
layer.msg(xhr.responseText, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
})
}, function(){
});
});
});
<?php $this->endBlock(); ?>
</script>
<?php
/**
* @author Any
* @description KISS
* @date 2020-11-24
* @version 1.0.0
*
* _____LOG_____
*
*/
use yii\widgets\LinkPager;
use app\models\Banner;
$this->title = '轮播图';
$this->params['breadcrumbs'][] = $this->title;
$status_labels = Banner::statusLabels();
$status = \Yii::$app->request->get('status');
?>
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-card-header">
<?= $this->title ?>
</div>
<div class="layui-card-header layuiadmin-card-header-auto">
<div class="layui-form-item">
<div class="layui-inline">
<a class=" layui-btn layui-btn-sm" href="<?=\Yii::$app->urlManager->createUrl(["admin/wechat/mp-slide-edit"])?>">添加轮播图</a>
</div>
<div class="layui-inline layui-float-right layui-form">
<div class="layui-inline layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<select class="layui-select" lay-filter="batch-action">
<option value="0">批量操作</option>
<option value="hide">批量隐藏</option>
<option value="show">批量显示</option>
<option value="del">批量删除</option>
</select>
</div>
</div>
</div>
<div class="layui-inline layui-form-item">
<div class="layui-input-inline">
<select class="layui-select" name="status">
<option value="" <?=$status === null ? 'selected' : ''?>>全部状态</option>
<?php foreach ($status_labels as $key => $val):?>
<option value="<?=$key?>" <?=$status == $key && $status != null ? 'selected' : ''?>><?=$val?></option>
<?php endforeach;?>
</select>
</div>
</div>
<div class="layui-inline layui-form-item">
<label class="layui-form-label">关键词</label>
<div class="layui-input-block">
<input type="text" name="keywords" placeholder="搜索标题" autocomplete="off" class="layui-input" value="<?=\Yii::$app->request->get("keywords")?>">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layuiadmin-btn-useradmin" lay-submit lay-filter="layui-form-search">
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
</button>
</div>
</div>
</div>
</div>
<div class="layui-card-body">
<table class="layui-table layui-form">
<thead>
<tr>
<th>
<div class="layui-table-cell laytable-cell-checkbox">
<input type="checkbox" name="layuitable_checkbox" lay-skin="primary" >
</div>
</th>
<th>ID</th>
<th>标题</th>
<th>内容</th>
<th>链接</th>
<th>排序</th>
<th>添加时间</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach ($list as $index => $item):?>
<tr>
<td>
<div class="layui-table-cell laytable-cell-checkbox">
<input type="checkbox" name="layuitable_checkbox" lay-skin="primary" value="<?=$item['id']?>">
</div>
</td>
<td><?=$item["id"]?></td>
<td><?=$item["title"]?></td>
<td>
<?php if($item['media'] == Banner::MEDIA_IMG):?>
<img src="<?=$item["img_url"]?>" style="width:168px;max-width: 168px;">
<?php endif;?>
<?php if($item['media'] == Banner::MEDIA_VIDEO):?>
<video src="<?=$item["video_url"]?>" style="width:168px;max-width: 168px;" controls=""></video>
<?php endif;?>
</td>
<td>
<span class="layui-badge layui-bg-orange"><?=$item['url_type_cn']?></span>
<?php if($item['url_type'] == Banner::URL_TYPE_MP):?>
<?=$item['app_id']?>
<?php else:?>
<?=$item['page_url']?>
<?php endif;?>
</td>
<td><?=$item["sort"]?></td>
<td><?=$item["created_at_cn"]?></td>
<td>
<?php if($item['status'] == Banner::STATUS_HIDE):?>
<span class="layui-badge layui-bg-gray"><?=$item["status_cn"]?></span>
<?php elseif($item['status'] == Banner::STATUS_SHOW):?>
<span class="layui-badge layui-bg-blue"><?=$item["status_cn"]?></span>
<?php endif;?>
</td>
<td>
<?php if($item['status'] == Banner::STATUS_HIDE):?>
<a href="javascript:;" data-id="<?=$item["id"]?>" class="layui-btn layui-btn-normal layui-btn-xs show-btn">显示</a>
<a href="javascript:;" data-id="<?=$item["id"]?>" class="layui-btn layui-btn-danger layui-btn-xs del-btn">删除</a>
<?php elseif($item['status'] == Banner::STATUS_SHOW):?>
<a href="javascript:;" data-id="<?=$item["id"]?>" class="layui-btn layui-btn-warm layui-btn-xs hide-btn">隐藏</a>
<?php endif;?>
<a href="<?=\Yii::$app->urlManager->createUrl(['admin/wechat/mp-slide-edit', 'id' => $item['id']])?>" class="layui-btn layui-btn-xs">编辑</a>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<div class="layui-table-page layui-text-center">
<?php echo LinkPager::widget([
'pagination' => $pagination,
'prevPageLabel' => '上一页',
'nextPageLabel' => '下一页',
'firstPageLabel' => '首页',
'lastPageLabel' => '尾页',
'maxButtonCount' => 5,
'options' => [
'class' => 'layui-pagination layui-laypage',
],
'prevPageCssClass' => 'layui-laypage-prev',
'pageCssClass' => "layui-laypage-item",
'nextPageCssClass' => 'layui-laypage-first',
'firstPageCssClass' => 'layui-laypage-last',
'lastPageCssClass' => 'layui-laypage-last',
'linkOptions' => [
'class' => 'page-link',
],
'disabledListItemSubTagOptions' => ['tag' => 'a', 'class' => 'layui-disabled'],
])
?>
</div>
</div>
</div>
</div>
<script>
<?php $this->beginBlock('js_script_wrap') ?>
layui.config({
base: '/statics/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'user'], function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin;
//pagination search
$(".layui-pagination").append('<span class="layui-laypage-skip " style="margin-left:15px;">到第<input type="text" min="1" value="" class="layui-input" id="invalue">页<button type="button" class="layui-laypage-btn" id="skip">确定</button></span>');
$('#skip').click(function() {
var a_elem = $('.layui-pagination .layui-laypage-item.active a');
var href = a_elem.attr('href');
var cur_page = a_elem.attr('data-page');
cur_page = cur_page * 1 + 1;
var page = $('#invalue').val();
var before_str = 'page=' + cur_page;
var after_str = 'page=' + page;
var reg = new RegExp(before_str);
var href = href.replace(reg,after_str);
location.href = href;
});
form.render();
//search
form.on('submit(layui-form-search)', function (obj) {
var url = '<?=\Yii::$app->urlManager->createUrl(["admin/wechat/mp-slide"])?>';
url += '?' + wrx.object_to_url_params(obj.field);
location.href = url;
});
//全选操作
$('.layui-table .laytable-cell-checkbox').eq(0).on('click','.layui-form-checkbox',function(){
var checked = $('.layui-table .laytable-cell-checkbox').eq(0).find("input").prop("checked");
//console.log(checked)
if(checked){
//select all
$('.layui-table .laytable-cell-checkbox').each(function(index){
var checked = $('.layui-table .laytable-cell-checkbox').eq(index).find("input").prop("checked");
if(!checked){
$('.layui-table .laytable-cell-checkbox').eq(index).find('.layui-form-checkbox').trigger("click");
}
});
} else {
$('.layui-table .laytable-cell-checkbox').each(function(index){
var checked = $('.layui-table .laytable-cell-checkbox').eq(index).find("input").prop("checked");
if(checked){
$('.layui-table .laytable-cell-checkbox').eq(index).find('.layui-form-checkbox').trigger("click");
}
});
}
})
//显示
$(".layui-table").on("click",".show-btn",function(){
var id = $(this).attr("data-id");
layer.confirm('你确定将此项显示吗?', {
btn: ['确定','取消']
}, function(){
var url = '<?=\Yii::$app->urlManager->createUrl(["/admin/wechat/mp-slide-show"])?>';
$.ajax(url,{
type:"POST",
dataType:"json",
data:{
slide_id:id,
_csrf:_csrf
},
success:function(res){
if(res.code == 0){
layer.msg(res.msg, {
offset: '15px'
,icon: 1
,time: 1000
}, function(){
location.reload();
});
} else {
layer.msg(res.msg, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
},
error:function(xhr,type,err){
layer.msg(xhr.responseText, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
})
}, function(){
});
});
//隐藏
$(".layui-table").on("click",".hide-btn",function(){
var id = $(this).attr("data-id");
layer.confirm('你确定将此项隐藏吗?', {
btn: ['确定','取消']
}, function(){
var url = '<?=\Yii::$app->urlManager->createUrl(["/admin/wechat/mp-slide-hide"])?>';
$.ajax(url,{
type:"POST",
dataType:"json",
data:{
slide_id:id,
_csrf:_csrf
},
success:function(res){
if(res.code == 0){
layer.msg(res.msg, {
offset: '15px'
,icon: 1
,time: 1000
}, function(){
location.reload();
});
} else {
layer.msg(res.msg, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
},
error:function(xhr,type,err){
layer.msg(xhr.responseText, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
})
}, function(){
});
});
//删除
$(".layui-table").on("click",".del-btn",function(){
var id = $(this).attr("data-id");
layer.confirm('你确定将此项删除吗?', {
btn: ['确定','取消']
}, function(){
var url = '<?=\Yii::$app->urlManager->createUrl(["/admin/wechat/mp-slide-del"])?>';
$.ajax(url,{
type:"POST",
dataType:"json",
data:{
slide_id:id,
_csrf:_csrf
},
success:function(res){
if(res.code == 0){
layer.msg(res.msg, {
offset: '15px'
,icon: 1
,time: 1000
}, function(){
location.reload();
});
} else {
layer.msg(res.msg, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
},
error:function(xhr,type,err){
layer.msg(xhr.responseText, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
})
}, function(){
});
});
form.on('select(batch-action)', function(data){
console.log(data.value); //得到被选中的值
var v = data.value;
var ids = [];
$('.layui-table .laytable-cell-checkbox input:checkbox:checked').each(function(){
var id = $(this).val();
ids.push(id)
});
if(ids.length == 0){
return layer.msg("未选中任何选项");
}
var url = null;
var tip = null;
if(v == 'show'){
url = '<?=\Yii::$app->urlManager->createUrl(['/admin/wechat/mp-slide-show'])?>';
tip = '你确定显示此项吗?';
}
if(v == 'hide'){
url = '<?=\Yii::$app->urlManager->createUrl(['/admin/wechat/mp-slide-hide'])?>';
tip = '你确定隐藏此项吗?';
}
if(v == 'del'){
url = '<?=\Yii::$app->urlManager->createUrl(['/admin/wechat/mp-slide-del'])?>';
tip = '你确定删除此项吗?';
}
//console.log(url,tip);
if(url == null){
return ;
}
layer.confirm(tip, {
btn: ['确定','取消']
}, function(){
$.ajax(url,{
type:"POST",
dataType:"json",
data:{
slide_id:ids,
_csrf:_csrf
},
success:function(res){
if(res.code == 0){
layer.msg(res.msg, {
offset: '15px'
,icon: 1
,time: 1000
}, function(){
location.reload();
});
} else {
layer.msg(res.msg, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
},
error:function(xhr,type,err){
layer.msg(xhr.responseText, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
})
}, function(){
});
});
});
<?php $this->endBlock(); ?>
</script>
<?php $this->registerJs($this->blocks['js_script_wrap'], \yii\web\View::POS_END); ?>

View File

@ -1,107 +1,107 @@
<?php
/**
* @author Any
* @description KISS
* @date 2018-12-20
* @version 1.0.0
*/
$this->title = '订阅消息';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-card-header"><?= $this->title ?></div>
<div class="layui-card-body">
<div class="layui-row">
<div class="layui-col-md5">
<div class="layui-form">
<?php foreach ($list as $index => $item): ?>
<div class="layui-form-item">
<label class="layui-form-label"><?= $item["label"] ?></label>
<div class="layui-input-block">
<input type="text" name="template_ids[<?= $item["key"] ?>]" lay-verify="required" placeholder="" value="<?= $item['value'] ?>" autocomplete="off" class="layui-input">
<div class="layui-form-mid layui-word-aux"><?= $item["tip"] ?></div>
</div>
</div>
<?php endforeach; ?>
<div class="layui-form-item">
<div class="layui-input-block">
<div class="" >
<button class="layui-btn" lay-submit="" lay-filter="admin-setting-password">立即提交</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
<?php $this->beginBlock('js_script_wrap') ?>
layui.config({
base: '/statics/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'user'], function () {
var $ = layui.$
, setter = layui.setter
, admin = layui.admin
, form = layui.form
, router = layui.router()
, search = router.search;
form.render();
//提交
var submitLock = false;
form.on('submit(admin-setting-password)', function (obj) {
if (submitLock) {
return false;
}
submitLock = true;
//请求登入接口
//console.log(obj)
var url = '<?= \Yii::$app->urlManager->createUrl(["/admin/wechat/mp-tpl-msg"]) ?>';
var returnUrl = "";
var data = obj.field;
data._csrf = _csrf;
$.ajax(url, {
type: "POST",
dataType: "json",
data: data,
timeout: 10000,
success: function (res) {
if (res.code == 0) {
layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
}, function () {
location.reload();
});
} else {
layer.msg(res.msg, {
offset: '15px'
, icon: 2
, time: 1000
}, function () {
});
}
},
error: function (xhr, type, err) {
layer.msg(xhr.responseText, {
offset: '15px'
, icon: 2
, time: 1000
}, function () {
});
},
complete: function () {
submitLock = false;
}
})
});
});
<?php $this->endBlock(); ?>
</script>
<?php $this->registerJs($this->blocks['js_script_wrap'], \yii\web\View::POS_END); ?>
<?php
/**
* @author Any
* @description KISS
* @date 2018-12-20
* @version 1.0.0
*/
$this->title = '订阅消息';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-card-header"><?= $this->title ?></div>
<div class="layui-card-body">
<div class="layui-row">
<div class="layui-col-md5">
<div class="layui-form">
<?php foreach ($list as $index => $item): ?>
<div class="layui-form-item">
<label class="layui-form-label"><?= $item["label"] ?></label>
<div class="layui-input-block">
<input type="text" name="template_ids[<?= $item["key"] ?>]" lay-verify="required" placeholder="" value="<?= $item['value'] ?>" autocomplete="off" class="layui-input">
<div class="layui-form-mid layui-word-aux"><?= $item["tip"] ?></div>
</div>
</div>
<?php endforeach; ?>
<div class="layui-form-item">
<div class="layui-input-block">
<div class="" >
<button class="layui-btn" lay-submit="" lay-filter="admin-setting-password">立即提交</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
<?php $this->beginBlock('js_script_wrap') ?>
layui.config({
base: '/statics/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'user'], function () {
var $ = layui.$
, setter = layui.setter
, admin = layui.admin
, form = layui.form
, router = layui.router()
, search = router.search;
form.render();
//提交
var submitLock = false;
form.on('submit(admin-setting-password)', function (obj) {
if (submitLock) {
return false;
}
submitLock = true;
//请求登入接口
//console.log(obj)
var url = '<?= \Yii::$app->urlManager->createUrl(["/admin/wechat/mp-tpl-msg"]) ?>';
var returnUrl = "";
var data = obj.field;
data._csrf = _csrf;
$.ajax(url, {
type: "POST",
dataType: "json",
data: data,
timeout: 10000,
success: function (res) {
if (res.code == 0) {
layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
}, function () {
location.reload();
});
} else {
layer.msg(res.msg, {
offset: '15px'
, icon: 2
, time: 1000
}, function () {
});
}
},
error: function (xhr, type, err) {
layer.msg(xhr.responseText, {
offset: '15px'
, icon: 2
, time: 1000
}, function () {
});
},
complete: function () {
submitLock = false;
}
})
});
});
<?php $this->endBlock(); ?>
</script>
<?php $this->registerJs($this->blocks['js_script_wrap'], \yii\web\View::POS_END); ?>

View File

@ -1,169 +1,159 @@
<?php
/**
* @author Any
* @description Do it yourself.
* @date 2018-6-21 23:20:52
* @version 1.0.0
*/
$this->title = '微信配置';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-card-header"><?= $this->title?></div>
<div class="layui-card-body">
<div class="layui-row">
<div class="layui-col-md5">
<div class="layui-form">
<div class="layui-form-item">
<label class="layui-form-label">微信小程序名称</label>
<div class="layui-input-block">
<input type="text" name="name" lay-verify="required" placeholder="请输入微信小程序名称" autocomplete="off" class="layui-input" value="<?=$model->name?>">
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">微信小程序AppId</label>
<div class="layui-input-block">
<input type="text" name="app_id" lay-verify="required" placeholder="请输入微信小程序AppId" autocomplete="off" class="layui-input" value="<?=$model->app_id?>">
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">微信小程序AppSecret</label>
<div class="layui-input-block">
<input type="text" name="app_secret" lay-verify="required" placeholder="请输入微信小程序AppSecret" autocomplete="off" class="layui-input" value="<?=$model->app_secret?>">
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">微信支付商户号</label>
<div class="layui-input-block">
<input type="text" name="mch_id" lay-verify="required" placeholder="请输入微信支付商户号" autocomplete="off" class="layui-input" value="<?=$model->mch_id?>">
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">微信支付Apiv2密钥</label>
<div class="layui-input-block">
<div class="input-hide">
<input type="text" name="key" lay-verify="required" placeholder="请输入微信支付Apiv2密钥" autocomplete="off" class="layui-input" value="<?=$model->key?>">
<div class="tip-block">已隐藏内容,点击查看或编辑</div>
</div>
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">微信支付Apiv3密钥</label>
<div class="layui-input-block">
<div class="input-hide">
<input type="text" name="key_three" lay-verify="required" placeholder="请输入微信支付Apiv3密钥" autocomplete="off" class="layui-input" value="<?=$model->key_three?>">
<div class="tip-block">已隐藏内容,点击查看或编辑</div>
</div>
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">微信支付apiclient_cert.pem</label>
<div class="layui-input-block">
<div class="input-hide">
<textarea name="cert_pem" placeholder="" class="layui-textarea"><?= $model->cert_pem ?></textarea>
<div class="tip-block">已隐藏内容,点击查看或编辑</div>
</div>
<div class="layui-form-mid layui-word-aux">使用文本编辑器打开apiclient_cert.pem文件将文件的全部内容复制进来</div>
</div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">微信支付apiclient_key.pem</label>
<div class="layui-input-block">
<div class="input-hide">
<textarea name="key_pem" placeholder="" class="layui-textarea"><?= $model->key_pem ?></textarea>
<div class="tip-block">已隐藏内容,点击查看或编辑</div>
</div>
<div class="layui-form-mid layui-word-aux">使用文本编辑器打开apiclient_key.pem文件将文件的全部内容复制进来</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<div class="" >
<button class="layui-btn" lay-submit="" lay-filter="admin-setting-wechat">立即提交</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
<?php $this->beginBlock('js_script_wrap') ?>
layui.config({
base: '/statics/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'user'], function(){
var $ = layui.$
,setter = layui.setter
,admin = layui.admin
,form = layui.form
,router = layui.router()
,search = router.search;
form.render();
//提交
var submitLock = false;
form.on('submit(admin-setting-wechat)', function(obj){
if(submitLock){
return false;
}
submitLock = true;
//请求登入接口
//console.log(obj)
var url = '<?=\Yii::$app->urlManager->createUrl(["/admin/wechat/mp"])?>';
var returnUrl = "<?=\Yii::$app->request->get('return_url')?>";
var data = obj.field;
data._csrf = _csrf;
$.ajax(url,{
type:"POST",
dataType:"json",
data:data,
timeout:10000,
success:function(res){
if(res.code == 0){
layer.msg(res.msg, {
offset: '15px'
,icon: 1
,time: 1000
}, function(){
location.reload();
});
} else {
layer.msg(res.msg, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
},
error:function(xhr,type,err){
},
complete:function(){
submitLock = false;
}
})
});
$('.input-hide .tip-block').each(function(index){
$('.input-hide .tip-block').eq(index).bind('click',function(){
$('.input-hide .tip-block').eq(index).hide();
});
});
});
<?php $this->endBlock(); ?>
</script>
<?php $this->registerJs($this->blocks['js_script_wrap'],\yii\web\View::POS_END); ?>
<?php
/**
* @author Any
* @description Do it yourself.
* @date 2018-6-21 23:20:52
* @version 1.0.0
*/
$this->title = '微信配置';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-card-header"><?= $this->title?></div>
<div class="layui-card-body">
<div class="layui-row">
<div class="layui-col-md5">
<div class="layui-form">
<div class="layui-form-item">
<label class="layui-form-label">微信小程序名称</label>
<div class="layui-input-block">
<input type="text" name="name" lay-verify="required" placeholder="请输入微信小程序名称" autocomplete="off" class="layui-input" value="<?=$model->name?>">
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">微信小程序AppId</label>
<div class="layui-input-block">
<input type="text" name="app_id" lay-verify="required" placeholder="请输入微信小程序AppId" autocomplete="off" class="layui-input" value="<?=$model->app_id?>">
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">微信小程序AppSecret</label>
<div class="layui-input-block">
<input type="text" name="app_secret" lay-verify="required" placeholder="请输入微信小程序AppSecret" autocomplete="off" class="layui-input" value="<?=$model->app_secret?>">
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">微信支付商户号</label>
<div class="layui-input-block">
<input type="text" name="mch_id" lay-verify="required" placeholder="请输入微信支付商户号" autocomplete="off" class="layui-input" value="<?=$model->mch_id?>">
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">微信支付Api密钥</label>
<div class="layui-input-block">
<div class="input-hide">
<input type="text" name="key" lay-verify="required" placeholder="请输入微信支付Api密钥" autocomplete="off" class="layui-input" value="<?=$model->key?>">
<div class="tip-block">已隐藏内容,点击查看或编辑</div>
</div>
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">微信支付apiclient_cert.pem</label>
<div class="layui-input-block">
<div class="input-hide">
<textarea name="cert_pem" placeholder="" class="layui-textarea"><?= $model->cert_pem ?></textarea>
<div class="tip-block">已隐藏内容,点击查看或编辑</div>
</div>
<div class="layui-form-mid layui-word-aux">使用文本编辑器打开apiclient_cert.pem文件将文件的全部内容复制进来</div>
</div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">微信支付apiclient_key.pem</label>
<div class="layui-input-block">
<div class="input-hide">
<textarea name="key_pem" placeholder="" class="layui-textarea"><?= $model->key_pem ?></textarea>
<div class="tip-block">已隐藏内容,点击查看或编辑</div>
</div>
<div class="layui-form-mid layui-word-aux">使用文本编辑器打开apiclient_key.pem文件将文件的全部内容复制进来</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<div class="" >
<button class="layui-btn" lay-submit="" lay-filter="admin-setting-wechat">立即提交</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
<?php $this->beginBlock('js_script_wrap') ?>
layui.config({
base: '/statics/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'user'], function(){
var $ = layui.$
,setter = layui.setter
,admin = layui.admin
,form = layui.form
,router = layui.router()
,search = router.search;
form.render();
//提交
var submitLock = false;
form.on('submit(admin-setting-wechat)', function(obj){
if(submitLock){
return false;
}
submitLock = true;
//请求登入接口
//console.log(obj)
var url = '<?=\Yii::$app->urlManager->createUrl(["/admin/wechat/mp"])?>';
var returnUrl = "<?=\Yii::$app->request->get('return_url')?>";
var data = obj.field;
data._csrf = _csrf;
$.ajax(url,{
type:"POST",
dataType:"json",
data:data,
timeout:10000,
success:function(res){
if(res.code == 0){
layer.msg(res.msg, {
offset: '15px'
,icon: 1
,time: 1000
}, function(){
location.reload();
});
} else {
layer.msg(res.msg, {
offset: '15px'
,icon: 2
,time: 1000
}, function(){
});
}
},
error:function(xhr,type,err){
},
complete:function(){
submitLock = false;
}
})
});
$('.input-hide .tip-block').each(function(index){
$('.input-hide .tip-block').eq(index).bind('click',function(){
$('.input-hide .tip-block').eq(index).hide();
});
});
});
<?php $this->endBlock(); ?>
</script>
<?php $this->registerJs($this->blocks['js_script_wrap'],\yii\web\View::POS_END); ?>

View File

@ -9,181 +9,99 @@
?>
<script id="pick_link_html" type="text/html">
<div class="pick-link-panel">
<div class="pick-link-panel-body">
<div class="input-row layui-mb-15 layui-row layui-clearfix">
<label class="layui-col-sm2">选择链接</label>
<div class="layui-col-sm10">
<select class="form-control pick-link-list">
<?php foreach($links as $index => $item):?>
<option value="<?=$index?>"><?=$item["name"]?></option>
<?php endforeach;?>
</select>
<div class="pick-link-panel">
<div class="pick-link-panel-body">
<div class="input-row layui-mb-15 layui-row layui-clearfix">
<label class="layui-col-sm2">选择链接</label>
<div class="layui-col-sm10">
<select class="form-control pick-link-list">
<?php foreach($links as $index => $item):?>
<option value="<?=$index?>"><?=$item["name"]?></option>
<?php endforeach;?>
</select>
</div>
</div>
<div class="input-row-param layui-mb-15 layui-hide layui-row">
<label class="layui-col-sm2">{}</label>
<div class="layui-col-sm10">
<input class="form-control param-input" data-key="{}">
<p class="tip">{}</p>
</div>
</div>
</div>
<div class="input-row layui-mb-15 layui-row layui-clearfix" id="store" style="display: none">
<label class="layui-col-sm2">选择门店</label>
<div class="layui-col-sm10">
<select class="form-control" name="store">
<?php foreach($store as $index => $item):?>
<option value="<?=$item['id']?>"><?=$item["name"]?></option>
<?php endforeach;?>
</select>
</div>
<div class="pick-link-panel-footer layui-text-center layui-mt-15 layui-mb-15">
<a class="layui-btn layui-btn-sm cancel-btn " href="javascript:;">取消</a>
<a class="layui-btn layui-btn-sm confirm-btn" href="javascript:;">确定</a>
</div>
<div class="input-row layui-mb-15 layui-row layui-clearfix" id="box" style="display: none">
<label class="layui-col-sm2">选择包厢</label>
<div class="layui-col-sm10">
<select class="form-control" name="box">
<?php foreach($box as $index => $item):?>
<option value="<?=$item['id']?>" store_id="<?=$item['store_id']?>"><?=$item["name"]?></option>
<?php endforeach;?>
</select>
</div>
</div>
<div class="input-row layui-mb-15 layui-row layui-clearfix" id="notice" style="display: none">
<label class="layui-col-sm2">选择布告</label>
<div class="layui-col-sm10">
<select class="form-control" name="notice">
<?php foreach($notice as $index => $item):?>
<option value="<?=$item['id']?>"><?=$item["name"]?></option>
<?php endforeach;?>
</select>
</div>
</div>
</div>
<div class="pick-link-panel-footer layui-text-center layui-mt-15 layui-mb-15">
<a class="layui-btn layui-btn-sm cancel-btn " href="javascript:;">取消</a>
<a class="layui-btn layui-btn-sm confirm-btn" href="javascript:;">确定</a>
</div>
</div>
</div>
</script>
<script>
<?php $this->beginBlock('js_script_wrap') ?>
$(document).ready(function(){
//选择链接
$(".layui-form").on("click","<?=$link_select_btn?>",function(){
var content = $("#pick_link_html").html();
var links = '<?= json_encode($links)?>';
links = JSON.parse(links);
layer.open({
type: 1,
title:'选择链接',
offset:'50px',
area: ['560px', '300px'], //宽高
content: content,
success:function(layero, index){
//console.log(layero, index);
var url = null;
var params = {};
var selected_index = 0;
$('.pick-link-panel').on('change','.pick-link-list',function(){
var index = $(this).val();
index = index * 1;
if(index == 2 || index == 5){
$('#store').show();
$('#notice').hide();
$('#box').hide();
}else if(index == 3){
$('#box').show();
$('#store').hide();
$('#notice').hide();
}else if(index == 4){
$('#box').hide();
$('#store').hide();
$('#notice').show();
}else{
$('#box').hide();
$('#store').hide();
$('#notice').hide();
}
selected_index = index;
var link = links[index];
url = link.link;
if(link.params.length != 0){
var param_html_template = $('.pick-link-panel .input-row-param.layui-hide').html();
//remove
<?php $this->beginBlock('js_script_wrap') ?>
$(document).ready(function(){
//选择链接
$(".layui-form").on("click","<?=$link_select_btn?>",function(){
var content = $("#pick_link_html").html();
var links = '<?= json_encode($links)?>';
links = JSON.parse(links);
layer.open({
type: 1,
title:'选择链接',
offset:'50px',
area: ['560px', '300px'], //宽高
content: content,
success:function(layero, index){
//console.log(layero, index);
var url = null;
var params = {};
var selected_index = 0;
$('.pick-link-panel').on('change','.pick-link-list',function(){
var index = $(this).val();
index = index * 1;
selected_index = index;
var link = links[index];
//console.log(link)
url = link.link;
if(link.params.length != 0){
var param_html_template = $('.pick-link-panel .input-row-param.layui-hide').html();
//remove
$(".pick-link-panel .input-row-param").each(function(index){
if(index > 0){
$(".pick-link-panel .input-row-param").eq(index).remove();
}
});
//add
var param_html = '';
for(var i in link.params){
var html = '<div class="input-row-param layui-mb-15 layui-row">{}</div>'.format(param_html_template.format(link.params[i]['key'],link.params[i]['key'],link.params[i]['desc']));
param_html += html;
}
$('.pick-link-panel .input-row-param.layui-hide').after(param_html);
}
});
$('.pick-link-panel').on('click','.confirm-btn',function(){
url = links[selected_index]['link'];
var c = $(".pick-link-panel .input-row-param").length;
$(".pick-link-panel .input-row-param").each(function(index){
if(index > 0){
$(".pick-link-panel .input-row-param").eq(index).remove();
var key = $(".pick-link-panel .input-row-param").eq(index).find('.param-input').attr('data-key');
var value = $(".pick-link-panel .input-row-param").eq(index).find('.param-input').val();
params[key] = value;
//console.log(params)
}
});
//add
var param_html = '';
for(var i in link.params){
var html = '<div class="input-row-param layui-mb-15 layui-row">{}</div>'.format(param_html_template.format(link.params[i]['key'],link.params[i]['key'],link.params[i]['desc']));
param_html += html;
}
$('.pick-link-panel .input-row-param.layui-hide').after(param_html);
}
});
$('.pick-link-panel').on('click','.confirm-btn',function(){
url = links[selected_index]['link'];
var regPos = /^\d+$/; // 非负整数
if(selected_index == 2){
params['storeId'] = $("select[name='store'] option:selected").val();
if(!regPos.test(params['storeId'])){
layer.msg('请选择门店', {
offset: '15px'
, icon: 2
, time: 1000
});
return false
}
}else if(selected_index == 3){
params['id'] = $("select[name='box'] option:selected").val();
params['storeId'] = $("select[name='box'] option:selected").attr('store_id');
if(!regPos.test(params['id'])){
layer.msg('请选择包厢', {
offset: '15px'
, icon: 2
, time: 1000
});
return false
}
}else if(selected_index == 4){
params['id'] = $("select[name='notice'] option:selected").val();
if(!regPos.test(params['id'])){
layer.msg('请选择布告', {
offset: '15px'
, icon: 2
, time: 1000
});
return false
}
}else if(selected_index == 5){
params['storeId'] = $("select[name='store'] option:selected").val();
if(!regPos.test(params['storeId'])){
layer.msg('请选择门店', {
offset: '15px'
, icon: 2
, time: 1000
});
return false
}
params['is'] = true;
}
var l = wrx.object_length(params);
url = l == 0 ? url : url + '?' + wrx.object_to_url_params(params);
$('<?=$link_input_class?>').val(url);
layer.close(index);
})
$('.pick-link-panel').on('click','.cancel-btn',function(){
layer.close(index);
});
}
var l = wrx.object_length(params);
url = l == 0 ? url : url + '?' + wrx.object_to_url_params(params);
$('<?=$link_input_class?>').val(url);
layer.close(index);
})
$('.pick-link-panel').on('click','.cancel-btn',function(){
layer.close(index);
});
}
});
});
});
})
<?php $this->endBlock(); ?>
})
<?php $this->endBlock(); ?>
</script>
<?php $this->registerJs($this->blocks['js_script_wrap'], \yii\web\View::POS_END); ?>