moonsflyer 2 months ago
parent
commit
0add25a084

+ 0 - 39
app/admin/controller/setting/CustomerService.php

@@ -1,39 +0,0 @@
-<?php
-namespace app\admin\controller\setting;
-
-use app\common\basics\AdminBase;
-use app\common\server\ConfigServer;
-use app\common\server\JsonServer;
-use app\common\server\UrlServer;
-
-class CustomerService extends AdminBase
-{
-    public function index()
-    {
-        $image = ConfigServer::get('customer_service', 'image', '');
-        $image = $image ? UrlServer::getFileUrl($image) : '';
-        $config = [
-            'type'              => ConfigServer::get('customer_service', 'type', 1),
-            'wechat'            => ConfigServer::get('customer_service', 'wechat', ''),
-            'phone'             => ConfigServer::get('customer_service', 'phone', ''),
-            'business_time'     => ConfigServer::get('customer_service', 'business_time', ''),
-            'image'             => $image,
-        ];
-        return view('', [
-            'config' => $config
-        ]);
-    }
-
-    public function set()
-    {
-        $post = $this->request->post();
-        ConfigServer::set('customer_service', 'type', $post['type']);
-        ConfigServer::set('customer_service', 'wechat', $post['wechat']);
-        ConfigServer::set('customer_service', 'phone', $post['phone']);
-        ConfigServer::set('customer_service', 'business_time', $post['business_time']);
-        if(isset($post['image'])){
-            ConfigServer::set('customer_service', 'image', clearDomain($post['image']));
-        }
-        return JsonServer::success('设置成功');
-    }
-}

+ 0 - 23
app/admin/controller/wechat/Hfive.php

@@ -1,23 +0,0 @@
-<?php
-namespace  app\admin\controller\wechat;
-
-use app\common\basics\AdminBase;
-use app\admin\logic\wechat\HfiveLogic;
-use app\common\server\JsonServer;
-
-class Hfive extends AdminBase
-{
-    /**
-     * H5商城设置
-     */
-    public function set()
-    {
-        if($this->request->isPost()) {
-            $params = $this->request->post();
-            HfiveLogic::set($params);
-            return JsonServer::success('设置成功');
-        }
-        $config = HfiveLogic::getConfig();
-        return view('set', ['config' => $config]);
-    }
-}

+ 0 - 31
app/admin/controller/wechat/Mnp.php

@@ -1,31 +0,0 @@
-<?php
-namespace  app\admin\controller\wechat;
-
-use app\common\basics\AdminBase;
-use app\admin\logic\wechat\MnpLogic;
-use app\common\server\JsonServer;
-use app\common\server\ConfigServer;
-
-class Mnp extends AdminBase
-{
-    /**
-     * 小程序设置
-     */
-    public function setMnp()
-    {
-        if($this->request->isAjax()) {
-            $post = $this->request->post();
-            if(isset($post['qr_code'])){
-                $domain = $this->request->domain();
-                $post['qr_code'] = str_replace($domain, '', $post['qr_code']);
-            }else{
-                $post['qr_code'] = '';
-            }
-            MnpLogic::setMnp($post);
-            return JsonServer::success('设置成功');
-        }
-
-        $mnp = MnpLogic::getMnp();
-        return view('set_mnp', ['mnp' => $mnp]);
-    }
-}

+ 0 - 55
app/admin/controller/wechat/Oa.php

@@ -1,55 +0,0 @@
-<?php
-namespace  app\admin\controller\wechat;
-
-use app\common\basics\AdminBase;
-use app\admin\logic\wechat\OaLogic;
-use app\common\server\JsonServer;
-use app\common\server\ConfigServer;
-
-class Oa extends AdminBase
-{
-    /**
-     * 公众号设置
-     */
-    public function setOa()
-    {
-        if($this->request->isAjax()){
-            $post = $this->request->post();
-            if(isset($post['qr_code']) && !empty($post['qr_code'])) {
-                $domain = $this->request->domain();
-                $post['qr_code'] = str_replace($domain, '', $post['qr_code']);
-            }else{
-                $post['qr_code'] = '';
-            }
-            OaLogic::setOa($post);
-            return JsonServer::success('设置成功');
-        }
-        $oa = OaLogic::getOa();
-        return view('setoa', ['oa' => $oa]);
-    }
-
-    /**
-     * 菜单管理
-     */
-    public function oaMenu()
-    {
-        $wechat_menu = ConfigServer::get('menu', 'wechat_menu',[]);
-        return view('oamenu', ['menu' => $wechat_menu]);
-    }
-
-    /**
-     * 发布菜单
-     */
-    public function pulishMenu()
-    {
-        $menu = $this->request->post('button');
-        if(empty($menu)){
-            return JsonServer::error('请设置菜单');
-        }
-        $result = OaLogic::pulishMenu($menu);
-        if($result){
-            return JsonServer::success('菜单发布成功');
-        }
-        return JsonServer::error(OaLogic::getError());
-    }
-}

+ 0 - 26
app/admin/controller/wechat/Op.php

@@ -1,26 +0,0 @@
-<?php
-namespace  app\admin\controller\wechat;
-
-use app\common\basics\AdminBase;
-use app\admin\logic\wechat\OpLogic;
-use app\common\server\JsonServer;
-
-class Op extends AdminBase
-{
-    /**
-     * 开放平台配置
-     */
-    public function config()
-    {
-        if($this->request->isAjax()){
-            $post = $this->request->post();
-            OpLogic::setConfig($post);
-            return JsonServer::success('设置成功');
-        }
-
-        return view('config', [
-            'config' => OpLogic::getConfig(['app_id','secret']), //微信公众开放平台-APP应用
-            'web_config' => OpLogic::getConfig(['web_app_id','web_secret'])  //微信公众开放平台-网站应用
-        ]);
-    }
-}

+ 0 - 23
app/admin/controller/wechat/Pc.php

@@ -1,23 +0,0 @@
-<?php
-namespace  app\admin\controller\wechat;
-
-use app\admin\logic\wechat\PcLogic;
-use app\common\basics\AdminBase;
-use app\common\server\JsonServer;
-
-class Pc extends AdminBase
-{
-    /**
-     * PC商城设置
-     */
-    public function set()
-    {
-        if($this->request->isPost()) {
-            $params = $this->request->post();
-            PcLogic::set($params);
-            return JsonServer::success('设置成功');
-        }
-        $config = PcLogic::getConfig();
-        return view('set', ['config' => $config]);
-    }
-}

+ 0 - 99
app/admin/controller/wechat/Reply.php

@@ -1,99 +0,0 @@
-<?php
-namespace  app\admin\controller\wechat;
-
-use app\common\basics\AdminBase;
-use app\admin\logic\wechat\ReplyLogic;
-use app\common\server\JsonServer;
-use app\common\server\ConfigServer;
-use app\common\model\wechat\Wechat;
-use app\admin\validate\wechat\ReplyValidate;
-
-class Reply extends AdminBase
-{
-    public function lists(){
-        if($this->request->isAjax()){
-            $get = $this->request->get();
-            $data = ReplyLogic::lists($get);
-            return JsonServer::success('', $data);
-        }
-
-        $type_list= Wechat::getCustomReply();
-        return view('lists', ['type_list' => $type_list]);
-    }
-
-    public function add()
-    {
-        if($this->request->isAjax()){
-            try{
-                $post = $this->request->post();
-                validate(ReplyValidate::class)->scene($post['reply_type'])->check($post);
-            }catch(\think\exception\ValidateException $e) {
-                return JsonServer::error($e->getError());
-            }
-            $result= ReplyLogic::add($post);
-            if($result) {
-                return JsonServer::success('新增成功');
-            }else{
-                return JsonServer::error('新增失败');
-            }
-        }
-
-        $type = $this->request->get('type');
-        $template = 'add_'.$type;
-        return view($template);
-    }
-
-    public function edit()
-    {
-        if($this->request->isAjax()){
-            try{
-                $post = $this->request->post();
-                validate(ReplyValidate::class)->scene($post['reply_type'])->check($post);
-            }catch(\think\exception\ValidateException $e) {
-                return JsonServer::error($e->getError());
-            }
-            $result= ReplyLogic::edit($post);
-            if($result) {
-                return JsonServer::success('编辑成功');
-            }else{
-                return JsonServer::error('编辑失败');
-            }
-        }
-
-        $id = $this->request->get('id');
-        $detail = ReplyLogic::getReply($id);
-        $template = 'edit_'.$detail['reply_type'];
-        return view($template, ['detail' => $detail]);
-    }
-
-    public function del(){
-        if($this->request->isPost()) {
-            try{
-                $post = $this->request->post();
-                validate(ReplyValidate::class)->scene('del')->check($post);
-            }catch(\think\exception\ValidateException $e) {
-                return JsonServer::error($e->getError());
-            }
-            $result = ReplyLogic::del($post['id']);
-            if($result) {
-                return JsonServer::success('删除成功');
-            }else{
-                return JsonServer::error('删除失败');
-            }
-        }else{
-            return JsonServer::error('请求类型错误');
-        }
-    }
-
-    public function changeFields(){
-        $pk_value = $this->request->post('id');
-        $field = $this->request->post('field');
-        $field_value = $this->request->post('value');
-        $reply_type = $this->request->post('reply_type');
-        $result = ReplyLogic::changeFields($pk_value, $field, $field_value,$reply_type);
-        if ($result) {
-            return JsonServer::success('修改成功');
-        }
-        return JsonServer::error('修改失败');
-    }
-}

+ 0 - 85
app/admin/logic/wechat/HfiveLogic.php

@@ -1,85 +0,0 @@
-<?php
-// +----------------------------------------------------------------------
-// | likeshop开源商城系统
-// +----------------------------------------------------------------------
-// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
-// | gitee下载:https://gitee.com/likeshop_gitee
-// | github下载:https://github.com/likeshop-github
-// | 访问官网:https://www.likeshop.cn
-// | 访问社区:https://home.likeshop.cn
-// | 访问手册:http://doc.likeshop.cn
-// | 微信公众号:likeshop技术社区
-// | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识
-// |  likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识
-// | 禁止对系统程序代码以任何目的,任何形式的再发布
-// | likeshop团队版权所有并拥有最终解释权
-// +----------------------------------------------------------------------
-// | author: likeshop.cn.team
-// +----------------------------------------------------------------------
-
-namespace app\admin\logic\wechat;
-
-use app\common\basics\Logic;
-use app\common\server\ConfigServer;
-use think\facade\Env;
-
-class HfiveLogic extends Logic
-{
-
-    /**
-     * 获取H5商城设置
-     */
-    public static function getConfig()
-    {
-        $config = [
-            'is_open' => ConfigServer::get('h5', 'is_open', 1),
-            'page' => ConfigServer::get('h5', 'page', 1),
-            'page_url' => ConfigServer::get('h5', 'page_url', ''),
-            'h5_url' => request()->domain() . '/mobile'
-        ];
-
-        return $config;
-    }
-
-    /**
-     * H5商城设置
-     */
-    public static function set($params)
-    {
-        ConfigServer::set('h5', 'is_open', $params['is_open']);
-        ConfigServer::set('h5', 'page', $params['page']);
-        ConfigServer::set('h5', 'page_url', $params['page_url']);
-
-
-        // 恢复原入口
-        if(file_exists('./mobile/index_lock.html')) {
-            // 存在则原商城入口被修改过,先清除修改后的入口
-            unlink('./mobile/index.html');
-            // 恢复原入口
-            rename('./mobile/index_lock.html', './mobile/index.html');
-
-            // 删除旧的缓存文件
-            array_map('unlink', glob('../runtime/index/temp/'.'*.php'));
-        }
-
-        // H5商城关闭 且 显示空白页
-        if($params['is_open'] == 0 && $params['page'] == 1) {
-            // 变更文件名
-            rename('./mobile/index.html', './mobile/index_lock.html');
-            // 创建新空白文件
-            $newfile = fopen('./mobile/index.html', 'w');
-            fclose($newfile);
-        }
-
-        // H5商城关闭 且 跳转指定页
-        if($params['is_open'] == 0 && $params['page'] == 2 && !empty($params['page_url'])) {
-            // 变更文件名
-            rename('./mobile/index.html', './mobile/index_lock.html');
-            // 创建重定向文件
-            $newfile = fopen('./mobile/index.html', 'w');
-            $content = '<script>window.location.href = "' . $params['page_url'] . '";</script>';
-            fwrite($newfile, $content);
-            fclose($newfile);
-        }
-    }
-}

+ 0 - 85
app/admin/logic/wechat/MnpLogic.php

@@ -1,85 +0,0 @@
-<?php
-// +----------------------------------------------------------------------
-// | likeshop开源商城系统
-// +----------------------------------------------------------------------
-// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
-// | gitee下载:https://gitee.com/likeshop_gitee
-// | github下载:https://github.com/likeshop-github
-// | 访问官网:https://www.likeshop.cn
-// | 访问社区:https://home.likeshop.cn
-// | 访问手册:http://doc.likeshop.cn
-// | 微信公众号:likeshop技术社区
-// | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识
-// |  likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识
-// | 禁止对系统程序代码以任何目的,任何形式的再发布
-// | likeshop团队版权所有并拥有最终解释权
-// +----------------------------------------------------------------------
-// | author: likeshop.cn.team
-// +----------------------------------------------------------------------
-
-namespace app\admin\logic\wechat;
-
-use app\common\basics\Logic;
-use app\common\server\ConfigServer;
-use app\common\server\UrlServer;
-use app\common\server\WeChatServer;
-use EasyWeChat\Factory;
-use EasyWeChat\Kernel\Exceptions\Exception;
-
-class MnpLogic extends Logic
-{
-    /**
-     * 获取小程序配置
-     */
-    public static function getMnp()
-    {
-        $domain_name = $_SERVER['SERVER_NAME'];
-        $qr_code = ConfigServer::get('mnp', 'qr_code', '');
-        $config = [
-            'name'                  => ConfigServer::get('mnp', 'name', ''),
-            'original_id'           => ConfigServer::get('mnp', 'original_id', ''),
-            'qr_code'               => $qr_code,
-            'abs_qr_code'           => UrlServer::getFileUrl($qr_code),
-            'app_id'                => ConfigServer::get('mnp', 'app_id', ''),
-            'app_secret'            => ConfigServer::get('mnp', 'secret', ''),
-            'request_domain'        => 'https://'.$domain_name,
-            'socket_domain'         => 'wss://'.$domain_name,
-            'uploadfile_domain'     => 'https://'.$domain_name,
-            'downloadfile_domain'   => 'https://'.$domain_name,
-            'udp_domain'            => 'udp://'.$domain_name,
-            'tcp_domain'            => 'tcp://'.$domain_name,
-            'business_domain'       => $domain_name,
-            'url'                   => url('api/wechat/index',[],'',true),
-            'token'                 => ConfigServer::get('mnp', 'token', 'LikeMall'),
-            'encoding_ses_key'      => ConfigServer::get('mnp', 'encoding_ses_key', ''),
-            'encryption_type'       => ConfigServer::get('mnp', 'encryption_type', ''),
-            'data_type'             => ConfigServer::get('mnp', 'data_type', ''),
-            
-            // 小程序同步发货开关 1开启 0关闭
-            'express_send_sync'     => ConfigServer::get('mnp', 'express_send_sync', 1),
-        ];
-        return $config;
-    }
-
-    public static function setMnp($post)
-    {
-        if($post){
-            $encryption_type  = $post['encryption_type'] ?? '';
-            $data_type  = $post['data_type'] ?? '';
-
-            ConfigServer::set('mnp','name',$post['name']);
-            ConfigServer::set('mnp','original_id',$post['original_id']);
-            ConfigServer::set('mnp','qr_code', $post['qr_code']);
-            ConfigServer::set('mnp','app_id',$post['app_id']);
-            ConfigServer::set('mnp','secret',$post['app_secret']);
-            ConfigServer::set('mnp','token',$post['token']);
-            ConfigServer::set('mnp','encoding_ses_key',$post['encoding_ses_key']);
-            ConfigServer::set('mnp','encryption_type', $encryption_type);
-            ConfigServer::set('mnp','data_type', $data_type);
-    
-    
-            ConfigServer::set('mnp','express_send_sync', $post['express_send_sync'] ?? 1);
-        }
-        return true;
-    }
-}

+ 0 - 95
app/admin/logic/wechat/OaLogic.php

@@ -1,95 +0,0 @@
-<?php
-// +----------------------------------------------------------------------
-// | likeshop开源商城系统
-// +----------------------------------------------------------------------
-// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
-// | gitee下载:https://gitee.com/likeshop_gitee
-// | github下载:https://github.com/likeshop-github
-// | 访问官网:https://www.likeshop.cn
-// | 访问社区:https://home.likeshop.cn
-// | 访问手册:http://doc.likeshop.cn
-// | 微信公众号:likeshop技术社区
-// | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识
-// |  likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识
-// | 禁止对系统程序代码以任何目的,任何形式的再发布
-// | likeshop团队版权所有并拥有最终解释权
-// +----------------------------------------------------------------------
-// | author: likeshop.cn.team
-// +----------------------------------------------------------------------
-
-namespace app\admin\logic\wechat;
-
-use app\common\basics\Logic;
-use app\common\server\ConfigServer;
-use app\common\server\UrlServer;
-use app\common\server\WeChatServer;
-use EasyWeChat\Factory;
-use EasyWeChat\Kernel\Exceptions\Exception;
-
-class OaLogic extends Logic
-{
-    public static function setOa($post)
-    {
-        ConfigServer::set('oa','name', trim($post['name']));
-        ConfigServer::set('oa','original_id', trim($post['original_id']));
-        ConfigServer::set('oa','app_id',$post['app_id']);
-        ConfigServer::set('oa','secret',$post['app_secret']);
-        ConfigServer::set('oa','token',$post['token']);
-        ConfigServer::set('oa','encoding_ses_key',$post['encoding_ses_key']);
-        ConfigServer::set('oa','encryption_type',$post['encryption_type']);
-        ConfigServer::set('oa','qr_code',$post['qr_code']);
-    }
-
-    public static function getOa()
-    {
-        $domain_name = $_SERVER['SERVER_NAME'];
-        $qr_code = ConfigServer::get('oa', 'qr_code', '');
-        $config = [
-            'name'              => ConfigServer::get('oa', 'name', ''),
-            'original_id'       => ConfigServer::get('oa', 'original_id', ''),
-            'qr_code'           => $qr_code,
-            'abs_qr_code'       => UrlServer::getFileUrl($qr_code),
-            'app_id'            => ConfigServer::get('oa', 'app_id', ''),
-            'app_secret'        => ConfigServer::get('oa', 'secret', ''),
-            'url'               => url('api/wechat/index',[],'',true),
-            'token'             => ConfigServer::get('oa', 'token', 'LikeMall'),
-            'encoding_ses_key'  => ConfigServer::get('oa', 'encoding_ses_key', ''),
-            'encryption_type'   => ConfigServer::get('oa', 'encryption_type', 1),
-            'business_domain'   => $domain_name,
-            'safety_domain'     => $domain_name,
-            'auth_domain'       => $domain_name,
-        ];
-        return $config;
-    }
-
-    /**
-     * 发布菜单
-     */
-    public static function pulishMenu($menu)
-    {
-        try {
-            $config = WeChatServer::getOaConfig();
-
-            if(empty($config['app_id']) || empty($config['secret'])){
-                throw new \think\Exception('请先配置微信公众号参数');
-            }
-
-            $app = Factory::officialAccount($config);
-
-            $result = $app->menu->create($menu);
-
-            if($result['errcode'] == 0){
-                ConfigServer::set('menu','wechat_menu',$menu);
-                return true;
-            }
-            self::$error = '菜单发布失败:'.json_encode($result);
-            return false;
-        } catch (\think\Exception $e){
-            self::$error = $e->getError();
-            return false;
-        } catch(\Exception $e) {
-            self::$error = $e->getMessage();
-            return false;
-        }
-    }
-}

+ 0 - 44
app/admin/logic/wechat/OpLogic.php

@@ -1,44 +0,0 @@
-<?php
-// +----------------------------------------------------------------------
-// | likeshop开源商城系统
-// +----------------------------------------------------------------------
-// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
-// | gitee下载:https://gitee.com/likeshop_gitee
-// | github下载:https://github.com/likeshop-github
-// | 访问官网:https://www.likeshop.cn
-// | 访问社区:https://home.likeshop.cn
-// | 访问手册:http://doc.likeshop.cn
-// | 微信公众号:likeshop技术社区
-// | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识
-// |  likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识
-// | 禁止对系统程序代码以任何目的,任何形式的再发布
-// | likeshop团队版权所有并拥有最终解释权
-// +----------------------------------------------------------------------
-// | author: likeshop.cn.team
-// +----------------------------------------------------------------------
-
-namespace app\admin\logic\wechat;
-
-use app\common\basics\Logic;
-use app\common\server\ConfigServer;
-
-class OpLogic extends Logic
-{
-    public static function getConfig($config_list)
-    {
-        $config = [];
-        foreach ($config_list as $config_name){
-            $value = ConfigServer::get('op', $config_name, '');
-            $config[$config_name] = $value;
-        }
-        return $config;
-    }
-
-    public static function setConfig($config_list)
-    {
-        foreach ($config_list as $config_name => $config_value){
-            ConfigServer::set('op',$config_name,$config_value);
-        }
-        return true;
-    }
-}

+ 0 - 84
app/admin/logic/wechat/PcLogic.php

@@ -1,84 +0,0 @@
-<?php
-// +----------------------------------------------------------------------
-// | likeshop开源商城系统
-// +----------------------------------------------------------------------
-// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
-// | gitee下载:https://gitee.com/likeshop_gitee
-// | github下载:https://github.com/likeshop-github
-// | 访问官网:https://www.likeshop.cn
-// | 访问社区:https://home.likeshop.cn
-// | 访问手册:http://doc.likeshop.cn
-// | 微信公众号:likeshop技术社区
-// | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识
-// |  likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识
-// | 禁止对系统程序代码以任何目的,任何形式的再发布
-// | likeshop团队版权所有并拥有最终解释权
-// +----------------------------------------------------------------------
-// | author: likeshop.cn.team
-// +----------------------------------------------------------------------
-
-namespace app\admin\logic\wechat;
-
-use app\common\basics\Logic;
-use app\common\server\ConfigServer;
-
-class PcLogic extends Logic
-{
-
-    /**
-     * 获取PC商城设置
-     */
-    public static function getConfig()
-    {
-        $config = [
-            'is_open' => ConfigServer::get('pc', 'is_open', 1),
-            'page' => ConfigServer::get('pc', 'page', 1),
-            'page_url' => ConfigServer::get('pc', 'page_url', ''),
-            'pc_url' => request()->domain() . '/pc'
-        ];
-
-        return $config;
-    }
-
-    /**
-     * PC商城设置
-     */
-    public static function set($params)
-    {
-        ConfigServer::set('pc', 'is_open', $params['is_open']);
-        ConfigServer::set('pc', 'page', $params['page']);
-        ConfigServer::set('pc', 'page_url', $params['page_url']);
-
-
-        // 恢复原入口
-        if(file_exists('./pc/index_lock.html')) {
-            // 存在则原商城入口被修改过,先清除修改后的入口
-            unlink('./pc/index.html');
-            // 恢复原入口
-            rename('./pc/index_lock.html', './pc/index.html');
-
-            // 删除旧的缓存文件
-            array_map('unlink', glob('../runtime/index/temp/'.'*.php'));
-        }
-
-        // pc商城关闭 且 显示空白页
-        if($params['is_open'] == 0 && $params['page'] == 1) {
-            // 变更文件名
-            rename('./pc/index.html', './pc/index_lock.html');
-            // 创建新空白文件
-            $newfile = fopen('./pc/index.html', 'w');
-            fclose($newfile);
-        }
-
-        // pc商城关闭 且 跳转指定页
-        if($params['is_open'] == 0 && $params['page'] == 2 && !empty($params['page_url'])) {
-            // 变更文件名
-            rename('./pc/index.html', './pc/index_lock.html');
-            // 创建重定向文件
-            $newfile = fopen('./pc/index.html', 'w');
-            $content = '<script>window.location.href = "' . $params['page_url'] . '";</script>';
-            fwrite($newfile, $content);
-            fclose($newfile);
-        }
-    }
-}

+ 0 - 104
app/admin/logic/wechat/ReplyLogic.php

@@ -1,104 +0,0 @@
-<?php
-// +----------------------------------------------------------------------
-// | likeshop开源商城系统
-// +----------------------------------------------------------------------
-// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
-// | gitee下载:https://gitee.com/likeshop_gitee
-// | github下载:https://github.com/likeshop-github
-// | 访问官网:https://www.likeshop.cn
-// | 访问社区:https://home.likeshop.cn
-// | 访问手册:http://doc.likeshop.cn
-// | 微信公众号:likeshop技术社区
-// | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识
-// |  likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识
-// | 禁止对系统程序代码以任何目的,任何形式的再发布
-// | likeshop团队版权所有并拥有最终解释权
-// +----------------------------------------------------------------------
-// | author: likeshop.cn.team
-// +----------------------------------------------------------------------
-
-namespace app\admin\logic\wechat;
-
-use app\common\basics\Logic;
-use app\common\server\ConfigServer;
-use app\common\server\UrlServer;
-use app\common\server\WeChatServer;
-use EasyWeChat\Factory;
-use EasyWeChat\Kernel\Exceptions\Exception;
-use app\common\model\wechat\WechatReply;
-use app\common\model\wechat\Wechat;
-
-class ReplyLogic extends Logic
-{
-    public static function lists($get)
-    {
-        $where[] = ['del','=',0];
-
-        if(isset($get['type'])){ // 回复类型
-            $where[] = ['reply_type','=',$get['type']];
-        }
-
-        $count = WechatReply::where($where)->count();
-        $list = WechatReply::where($where)
-            ->order([
-                'sort' => 'asc',
-                'id' => 'desc'
-            ])
-            ->page($get['page'],$get['limit'])
-            ->select()
-            ->toArray();
-
-        foreach ($list as $key =>  $reply) {
-            // 内容类型
-            $reply['content_type'] && $list[$key]['content_type'] = '文本';
-            // 匹配类型
-            switch ($reply['matching_type']){
-                case 1:
-                    $list[$key]['matching_type'] = '全匹配';
-                    break;
-                case 2:
-                    $list[$key]['matching_type'] = '模糊匹配';
-                    break;
-            }
-        }
-        return ['count'=>$count,'list'=>$list];
-    }
-
-    public static function add($post)
-    {
-        $post['create_time'] = time();
-        $post['del'] = 0;
-
-        if($post['reply_type'] !== WeChat::msg_type_text && $post['status']){
-            // 除了关键词回复,其他回复类型开启记录只允许一条,若当前正在新增的记录将是开启状态,则该回复类型下的现有记录需先更新为停用状态
-            WechatReply::where(['reply_type'=>$post['reply_type']])->update(['update_time'=>time(),'status'=>0]);
-        }
-        return WechatReply::insert($post);
-    }
-
-    public static function getReply($id)
-    {
-        $detail =  WechatReply::findOrEmpty($id);
-        $detail = $detail->isEmpty() ? [] : $detail->toArray();
-        return $detail;
-    }
-
-    public static function edit($post){
-        $post['update_time'] = time();
-        if($post['reply_type'] !== WeChat::msg_type_text && $post['status']){
-            WechatReply::where(['reply_type'=>$post['reply_type']])->update(['update_time'=>time(),'status'=>0]);
-        }
-        return WechatReply::where(['id'=>$post['id']])->update($post);
-    }
-
-    public static function del($id){
-        return WechatReply::where(['id'=>$id])->update(['update_time'=>time(),'del'=>1]);
-    }
-
-    public static function changeFields($id,$field,$field_value,$reply_type){
-        if( 'status' === $field && $field_value && $reply_type !== WeChat::msg_type_text){
-            WechatReply::where(['reply_type'=>$reply_type])->update(['update_time'=>time(),'status'=>0]);
-        }
-        return WechatReply::where(['id'=>$id])->update(['update_time'=>time(),$field=>$field_value]);
-    }
-}

+ 0 - 28
app/admin/validate/wechat/ReplyValidate.php

@@ -1,28 +0,0 @@
-<?php
-namespace app\admin\validate\wechat;
-
-use think\Validate;
-
-class ReplyValidate extends Validate
-{
-    protected $rule = [
-        'id'            => 'require',
-        'name'          => 'require|unique:wechatReply,name^del',
-        'keyword'       => 'require|max:5',
-        'content'       => 'require',
-    ];
-    protected $message = [
-        'id.require'            => '请选择回复',
-        'name.require'          => '请输入规则名称',
-        'name.unique'           => '规则名称重复',
-        'keyword.require'       => '请输入关键词',
-        'keyword.max'           => '关键词不能超过5个字',
-        'content.require'       => '请输入回复内容',
-    ];
-    protected $scene = [
-        'subscribe' =>  ['name','content'],
-        'text'      =>  ['name','keyword','content'],
-        'default'   =>  ['name','content'],
-        'del'       =>  ['id'],
-    ];
-}

+ 0 - 98
app/admin/view/wechat/hfive/set.html

@@ -1,98 +0,0 @@
-{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>

+ 0 - 338
app/admin/view/wechat/mnp/set_mnp.html

@@ -1,338 +0,0 @@
-{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。jpg,jpeg,png格式</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 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>

+ 0 - 1284
app/admin/view/wechat/oa/oamenu.html

@@ -1,1284 +0,0 @@
-{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">
-                        *配置微信公众号菜单,点击确认,保存菜单并发布至微信公众号。
-                    </div>
-                </div>
-            </div>
-        </div>
-        <div class="layui-form" lay-filter="">
-            <div id="app" class="row">
-                <div class="col-sm-12">
-                    <div class="wechat-reply-wrapper wechat-menu">
-                        <div class="ibox-content clearfix">
-                            <div class="view-wrapper col-sm-4">
-                                <div class="mobile-header">公众号</div>
-                                <section class="view-body">
-                                    <div class="time-wrapper"><span class="time">{:date('H:i:s', time())}</span></div>
-                                </section>
-                                <div class="menu-footer">
-                                    <ul class="flex" id="menu">
-                                        {foreach $menu as $item_menu => $val_menu}
-                                        <li data-id={$item_menu}>
-                                            <span class="active-menu"><i class="icon-sub"></i>{$val_menu.name}</span>
-                                            <div class="sub-menu">
-                                                <ul>
-                                                    {foreach $val_menu.sub_button as $item_child => $val_child }
-                                                    <li data-id={$item_menu}_{$item_child}>
-                                                        <span class="active-menu">{$val_child.name}</span>
-                                                    </li>
-                                                    {/foreach}
-                                                    {if count($val_menu.sub_button) <5}
-                                                    <li data-id={$item_menu}_1 class="add-menu"><i class="icon-add"></i>
-                                                    </li>
-                                                    {/if}
-
-                                                </ul>
-                                            </div>
-                                        </li>
-                                        {/foreach}
-                                        {if (!empty($menu) && count($menu) < 3) }
-                                        <li data-id={++$item_menu} class="add-menu"><i class="icon-add"></i></li>
-                                        {/if}
-                                        {if empty($menu) }
-                                        <li data-id=1 class="add-menu"><i class="icon-add"></i></li>
-                                        {/if}
-                                    </ul>
-                                </div>
-                            </div>
-                            <div class="control-wrapper menu-control col-sm-8">
-                                <h3 class="popover-title">菜单名称 <a class="fr del-menu" href="javascript:void(0);">删除</a>
-                                </h3>
-                                <p class="tips-txt">已添加子菜单,仅可设置菜单名称。</p>
-                                <div class="layui-form layui-card-header layuiadmin-card-header-auto">
-
-                                    <div class="layui-form-item">
-                                        <div class="layui-inline">
-                                            <label class="layui-form-label">菜单名称</label>
-                                            <div class="layui-input-block">
-                                                <input type="text" name="name" id="menu_name" placeholder="请输入"
-                                                       autocomplete="off" class="layui-input">
-                                            </div>
-                                        </div>
-
-                                        <div class="layui-inline">
-                                            <label class="layui-form-label">菜单类型</label>
-                                            <div class="layui-input-block">
-                                                <select lay-filter="menu_type" class="select" id="menu_type">
-                                                    <option value="click">关键字</option>
-                                                    <option value="view">跳转网页</option>
-                                                    <option value="miniprogram">小程序</option>
-                                                </select>
-                                            </div>
-                                        </div>
-
-
-                                        <div class="layui-inline click">
-                                            <label class="layui-form-label">关键字</label>
-                                            <div class="layui-input-block">
-                                                <input type="text" name="key" id="key" placeholder="请输入"
-                                                       autocomplete="off" class="layui-input">
-                                            </div>
-                                        </div>
-
-                                        <div class="layui-inline view" style="display: none">
-                                            <label class="layui-form-label">网页链接</label>
-                                            <div class="layui-input-block">
-                                                <input type="text" name="url" id="url" placeholder="请输入"
-                                                       autocomplete="off" class="layui-input">
-                                            </div>
-                                        </div>
-
-                                        <div class="layui-inline miniprogram" style="display: none">
-                                            <label class="layui-form-label">appid</label>
-                                            <div class="layui-input-block">
-                                                <input type="text" name="appid" id="appid" placeholder="请输入"
-                                                       autocomplete="off" class="layui-input">
-                                            </div>
-                                        </div>
-
-                                        <div class="layui-inline miniprogram" style="display: none">
-                                            <label class="layui-form-label">小程序路径</label>
-                                            <div class="layui-input-block">
-                                                <input type="text" name="pagepath" id="pagepath" placeholder="请输入"
-                                                       autocomplete="off" class="layui-input">
-                                            </div>
-                                        </div>
-
-                                        <div class="layui-block">
-                                            <button class="layui-btn layui-btn-sm layui-btn-add_menu {$view_theme_color}">
-                                                确定
-                                            </button>
-                                        </div>
-
-
-                                    </div>
-                                </div>
-
-
-                            </div>
-                        </div>
-                    </div>
-                </div>
-                <div class="layui-form-item">
-                    <div class="layui-input-block">
-                        <button class="layui-btn {$view_theme_color} publish" lay-submit lay-filter="setmnp">发布菜单
-                        </button>
-                    </div>
-                </div>
-            </div>
-        </div>
-    </div>
-</div>
-<style>
-    @charset "UTF-8";
-    .flex {
-        display: -webkit-box;
-        display: -moz-box;
-        display: -webkit-flex;
-        display: -moz-flex;
-        display: -ms-flexbox;
-        display: flex;
-    }
-
-    #app {
-        padding-bottom: 80px
-    }
-
-    #app .layout {
-        border: 1px solid #d7dde4;
-        background: #f5f7f9;
-        position: relative;
-        border-radius: 4px;
-        overflow: hidden
-    }
-
-    #app .layout-logo {
-        width: 100px;
-        height: 30px;
-        background: #5b6270;
-        border-radius: 3px;
-        float: left;
-        position: relative;
-        top: 15px;
-        left: 20px
-    }
-
-    #app .layout-copy {
-        text-align: center;
-        padding: 10px 0 20px;
-        color: #9ea7b4
-    }
-
-    #app .layout-ceiling {
-        background: #464c5b;
-        padding: 10px 0;
-        overflow: hidden
-    }
-
-    #app .layout-ceiling-main {
-        float: right;
-        margin-right: 15px;
-    }
-
-    #app .layout-ceiling-main a {
-        color: #9ba7b5
-    }
-
-    #app .layout-breadcrumb {
-        padding: 10px 15px 0
-    }
-
-    #app .layout-content {
-        min-height: 200px;
-        margin: 15px;
-        overflow: hidden;
-        background: #fff;
-        border-radius: 4px;
-        margin-right: 0;
-    }
-
-    #app .layout-content-main {
-        padding-left: 10px;
-        position: relative;
-        width: 98.5%;
-    }
-
-    #app .layout-copy {
-        text-align: center;
-        padding: 10px 0 20px;
-        color: #9ea7b4
-    }
-
-    #app .layout-menu-left {
-        background: #464c5b
-    }
-
-    #app .layout-header {
-        height: 40px;
-        padding-left: 15px;
-        background: #fff;
-        box-shadow: 0 1px 1px rgba(0, 0, 0, .1)
-    }
-
-    #app .layout-logo-left {
-        width: 90%;
-        height: 30px;
-        background: #5b6270;
-        border-radius: 3px;
-        margin: 15px auto
-    }
-
-    #app .m-frame {
-        position: absolute;
-        background-color: #fff;
-    }
-
-    #app .m-tag-item {
-        display: inline-block
-    }
-
-    #app .layout-header {
-        padding-left: 15px;
-        margin-bottom: 5px;
-    }
-
-    #table-list {
-        padding: 25px 25px 0 25px;
-    }
-
-    #table-list .mp-search-wrapper {
-        float: right;
-        margin-left: 12px;
-    }
-
-    #table-list .mp-header-wrapper {
-        overflow: hidden;
-    }
-
-    #table-list .mp-header-wrapper h1 {
-        padding-left: 15px;
-        float: left;
-        font-size: 18px;
-        line-height: 24px;
-        padding-bottom: 20px;
-        font-weight: 400;
-        color: #464c5b;
-    }
-
-    .mp-form {
-        padding: 20px 20px 20px 0;
-    }
-
-    .mp-form .ivu-tree li {
-        margin: 0;
-    }
-
-    .mp-form .ivu-color-picker .ivu-select-dropdown {
-        left: -38px !important;
-    }
-
-    .mp-form .mp-upload {
-        display: inline-block;
-    }
-
-    .mp-form .demo-upload-list {
-        display: inline-block;
-        width: 60px;
-        height: 60px;
-        text-align: center;
-        line-height: 60px;
-        border: 1px solid transparent;
-        border-radius: 4px;
-        overflow: hidden;
-        background: #fff;
-        position: relative;
-        box-shadow: 0 1px 1px rgba(0, 0, 0, .2);
-        margin-right: 4px;
-    }
-
-    .mp-form .demo-upload-list img {
-        width: 100%;
-        height: 100%;
-    }
-
-    .mp-form .demo-upload-list-cover {
-        display: none;
-        position: absolute;
-        top: 0;
-        bottom: 0;
-        left: 0;
-        right: 0;
-        background: rgba(0, 0, 0, .6);
-    }
-
-    .mp-form .demo-upload-list:hover .demo-upload-list-cover {
-        display: block;
-    }
-
-    .mp-form .demo-upload-list-cover i {
-        color: #fff;
-        font-size: 20px;
-        cursor: pointer;
-        margin: 0 2px;
-    }
-
-    [v-cloak] {
-        display: none
-    }
-
-    .mp-form .mp-upload-btn {
-        width: 58px;
-        height: 58px;
-        line-height: 58px;
-    }
-
-    .mp-form .add-submit-item .ivu-btn {
-        position: fixed;
-        left: 0;
-        bottom: 0;
-        border-radius: 0;
-    }
-
-
-    .frameMove-enter-active {
-        animation-name: slideInLeft;
-        animation-duration: 0.4s !important;
-    }
-
-    .frameMove-leave-active {
-        animation-name: slideOutRight;
-        animation-duration: 0.4s !important;
-    }
-
-    .vertical-center-modal {
-        display: flex;
-        align-items: center;
-        justify-content: center;
-    }
-
-    .vertical-center-modal .ivu-modal {
-        top: 0;
-    }
-
-    .vertical-center-modal .ivu-modal-header {
-        z-index: 9;
-        position: relative;
-    }
-
-    .vertical-center-modal .ivu-modal-close {
-        z-index: 10;
-    }
-
-    .layout-header {
-        height: 40px;
-        background: #fff;
-        box-shadow: 0 1px 1px rgba(0, 0, 0, .1);
-    }
-
-    .wechat-reply-wrapper .fl {
-        float: left;
-    }
-
-    .wechat-reply-wrapper .fr {
-        float: right;
-    }
-
-    .wechat-reply-wrapper .clearfix:after {
-        content: ".";
-        display: block;
-        height: 0;
-        visibility: hidden;
-        clear: both;
-    }
-
-    .wechat-reply-wrapper .ibox-title {
-        padding: 15px;
-        font-size: 16px;
-        border-bottom: 1px solid #e7eaec;
-    }
-
-    .wechat-reply-wrapper .ibox-title p {
-        border-left: 2px solid #2494f2;
-        text-indent: 8px;
-    }
-
-    .wechat-reply-wrapper .ibox-content {
-        padding: 15px;
-        display: flex;
-        flex-wrap: wrap
-    }
-
-    .wechat-reply-wrapper .ibox-content .view-wrapper {
-        position: relative;
-        margin-right: 20px;
-        width: 317px;
-        background-image: url("/static/admin/images/mobile_head.png");
-        background-repeat: no-repeat;
-        background-position: left top;
-        background-color: #f5f5f5;
-        margin-bottom: 20px;
-    }
-
-    .wechat-reply-wrapper .ibox-content .view-wrapper .mobile-header {
-        position: absolute;
-        left: 0;
-        top: 36px;
-        width: 100%;
-        text-align: center;
-        color: #fff;
-        font-size: 16px;
-    }
-
-    .wechat-reply-wrapper .ibox-content .view-wrapper .view-body {
-        margin-top: 65px;
-        height: 500px;
-    }
-
-    .wechat-reply-wrapper .view-wrapper .view-body .time-wrapper {
-        margin-bottom: 10px;
-        text-align: center;
-    }
-
-    .wechat-reply-wrapper .view-wrapper .view-body .time-wrapper .time {
-        display: inline-block;
-        color: #f5f5f5;
-        display: inline-block;
-        color: #f5f5f5;
-        background: rgba(0, 0, 0, .3);
-        padding: 3px 8px;
-        border-radius: 3px;
-        font-size: 12px;
-    }
-
-    .wechat-reply-wrapper .view-wrapper .view-body .view-item {
-        display: none;
-    }
-
-    .wechat-reply-wrapper .view-wrapper .view-body .view-item.show {
-        display: none;
-    }
-
-    .wechat-reply-wrapper .view-wrapper .view-body .view-item .avatar {
-        width: 40px;
-        height: 40px;
-    }
-
-    .wechat-reply-wrapper .view-wrapper .view-body .view-item .avatar img {
-        max-width: 100%;
-        height: auto;
-    }
-
-    .wechat-reply-wrapper .view-wrapper .view-body .view-item .box-content {
-        position: relative;
-        max-width: 60%;
-        min-height: 40px;
-        margin-left: 15px;
-        padding: 10px;
-        border: 1px solid #ccc;
-        word-break: break-all;
-        word-wrap: break-word;
-        line-height: 1.5;
-        border-radius: 5px;
-    }
-
-    .wechat-reply-wrapper .view-wrapper .view-body .view-item .box-content .picbox {
-        max-width: 100%;
-    }
-
-    .wechat-reply-wrapper .view-wrapper .view-body .view-item .box-content:before {
-        content: '';
-        position: absolute;
-        left: -13px;
-        top: 11px;
-        display: block;
-        width: 0;
-        height: 0;
-        border-left: 8px solid transparent;
-        border-right: 8px solid transparent;
-        border-top: 10px solid #ccc;
-        -webkit-transform: rotate(90deg);
-        transform: rotate(90deg);
-    }
-
-    .wechat-reply-wrapper .view-wrapper .view-body .view-item .box-content:after {
-        content: '';
-        content: '';
-        position: absolute;
-        left: -12px;
-        top: 11px;
-        display: block;
-        width: 0;
-        height: 0;
-        border-left: 8px solid transparent;
-        border-right: 8px solid transparent;
-        border-top: 10px solid #f5f5f5;
-        -webkit-transform: rotate(90deg);
-        transform: rotate(90deg);
-    }
-
-    .wechat-reply-wrapper .submit {
-        text-align: center;
-    }
-
-    /* 图文 */
-    .view-wrapper .view-body .view-item.news-box {
-        width: 100%;
-        background-color: #fff;
-        border-radius: 5px;
-    }
-
-    .view-wrapper .view-body .view-item .vn-content {
-        padding: 0;
-    }
-
-    .view-wrapper .view-body .view-item .vn-content .vn-title {
-        line-height: 1.5;
-        font-size: 16px;
-    }
-
-    .view-wrapper .view-body .view-item .vn-content .vn-time {
-        padding: 5px 0;
-        font-size: 12px;
-        color: #999;
-    }
-
-    .view-wrapper .view-body .view-item .vn-content .vn-picture {
-        width: 100%;
-        height: 150px;
-        background-size: cover;
-        background-position: center center;
-        border-radius: 5px 5px 0 0;
-    }
-
-    .view-wrapper .view-body .view-item .vn-content .vn-picture-info {
-        line-height: 22px;
-        color: #7b7b7b;
-        padding: 0;
-        display: block;
-        overflow: hidden;
-        word-break: break-all;
-        text-overflow: ellipsis;
-        font-size: 12px;
-        white-space: nowrap;
-    }
-
-    .view-wrapper .view-body .view-item .vn-more {
-        display: block;
-        padding: 10px 0 0;
-        border-top: 1px solid #dddddd;
-        overflow: hidden;
-        white-space: nowrap;
-        text-overflow: ellipsis;
-    }
-
-    .view-wrapper .view-body .view-item .vn-content .con-item-box {
-        position: relative;
-    }
-
-    .view-wrapper .view-body .view-item .vn-content .con-item-box .first-title {
-        width: 100%;
-        height: 44px;
-        line-height: 44px;
-        font-size: 14px;
-        position: absolute;
-        left: 0;
-        bottom: 0;
-        overflow: hidden;
-        text-overflow: ellipsis;
-        white-space: nowrap; /*background: rgba(0,0,0,.8);*/
-        color: #fff;
-        text-indent: 1em;
-    }
-
-    .view-wrapper .view-body .view-item .vn-content .con-item-list {
-        margin-top: 10px;
-        margin: 6px 10px 0 10px;
-        border-top: 1px solid #FBFBFB;
-    }
-
-    .view-wrapper .view-body .view-item .vn-content .con-item-list .list-tit-info {
-        width: 70%;
-        line-height: 1.5;
-        word-wrap: break-word;
-    }
-
-    .view-wrapper .view-body .view-item .vn-content .con-item-list .list-pic {
-        width: 20%;
-        min-height: 50px;
-        background-size: cover;
-        background-position: center center;
-    }
-
-
-    /* 音乐 */
-    .view-wrapper .view-body .view-item.music-box .box-content {
-        position: relative;
-        width: 100%;
-        background: #080;
-        color: #fff;
-        border-color: #080;
-    }
-
-    .view-wrapper .view-body .view-item.music-box .box-content p {
-        width: 75%;
-        overflow: hidden;
-        white-space: nowrap;
-        text-overflow: ellipsis;
-    }
-
-    .view-wrapper .view-body .view-item.music-box .box-content .music-icon {
-        position: absolute;
-        right: 11px;
-        top: 50%;
-        width: 30px;
-        height: 30px;
-        background: #0a0;
-        text-align: center;
-        line-height: 30px;
-        margin-top: -15px;
-        font-size: 16px;
-    }
-
-
-    .view-wrapper .view-body .view-item.music-box .box-content:after {
-        display: none;
-    }
-
-    .view-wrapper .view-body .view-item.music-box .box-content:before {
-        border-top: 10px solid #080;
-    }
-
-    /* 视频 */
-    .view-wrapper .view-body .view-item.video-box {
-        width: 100%;
-        background-color: #fff;
-        border: 1px solid #ccc;
-        border-radius: 5px;
-    }
-
-    .view-wrapper .view-body .view-item.video-box .vn-title {
-        overflow: hidden;
-        white-space: nowrap;
-        text-overflow: ellipsis;
-    }
-
-    /* 右侧控制器 */
-    .wechat-reply-wrapper .ibox-content .control-wrapper {
-        position: relative;
-        width: 535px;
-        height: 565px;
-        padding: 0;
-        border: 1px solid #e2e2e2;
-        display: none
-    }
-
-    .wechat-reply-wrapper .ibox-content .control-wrapper .control-title {
-        position: absolute;
-        left: 71px;
-        top: -12px;
-        width: auto;
-        padding: 0 10px;
-        font-size: 20px;
-        background-color: #fff;
-    }
-
-    .wechat-reply-wrapper .ibox-content .control-wrapper .control-body {
-        margin-top: 40px;
-        padding: 0 10px;
-    }
-
-    .wechat-reply-wrapper .ibox-content .control-wrapper .control-body .form-group label {
-        font-weight: normal;
-    }
-
-    .wechat-reply-wrapper .ibox-content .control-wrapper .control-body .form-group .tips:after {
-        content: '*';
-        color: red;
-        position: absolute;
-        margin-left: 4px;
-        font-weight: bold;
-        line-height: 1.8em;
-    }
-
-    .wechat-reply-wrapper .ibox-content .control-wrapper .control-body .form-group .group-item {
-        position: relative;
-    }
-
-    .wechat-reply-wrapper .ibox-content .control-wrapper .control-body .form-group .group-item .file-btn {
-        position: absolute;
-        right: 15px;
-        top: 0;
-        display: block;
-        width: 66px;
-        border-radius: 6px;
-        cursor: pointer;
-        padding: .5rem;
-        background-color: #18a689;
-        color: #fff;
-        text-align: center;
-        height: 100%;
-        line-height: 23px;
-    }
-
-    .wechat-reply-wrapper .ibox-content .control-wrapper .control-body .form-group .group-item textarea {
-        resize: none;
-        width: 100%;
-        height: 100px;
-        padding: 10px;
-    }
-
-    .wechat-reply-wrapper .ibox-content .control-wrapper .control-body .tips-info {
-        padding-left: 100px;
-        font-size: 12px;
-        color: #737373;
-    }
-
-    .wechat-reply-wrapper .ibox-content .control-wrapper .control-body .control-main .control-item {
-        display: none;
-    }
-
-    .wechat-reply-wrapper .ibox-content .control-wrapper .control-body .control-main .control-item.show {
-        display: block;
-    }
-
-    /* 微信菜单定制 */
-    .wechat-menu {
-        position: relative;
-    }
-
-    .wechat-menu ul {
-        padding: 0;
-    }
-
-    .wechat-menu .menu-footer {
-        position: absolute;
-        left: 0;
-        bottom: -10px;
-        width: 100%;
-        padding-left: 43px;
-        box-sizing: border-box;
-        background: url("/static/admin/images/mobile_foot.png") no-repeat 0 0;
-        border-top: 1px solid #e7e7eb;
-    }
-
-    .wechat-menu .menu-footer span {
-        display: block;
-    }
-
-    .wechat-menu .menu-footer .icon-add {
-        background: url("/static/admin/images/index.png") 0 0 no-repeat;
-        width: 14px;
-        height: 14px;
-        vertical-align: middle;
-        display: inline-block;
-        margin-top: -2px;
-        border-bottom: none !important;
-    }
-
-    .wechat-menu .menu-footer li {
-        position: relative;
-        -webkit-flex: 1;
-        -moz-flex: 1;
-        -ms-flex: 1;
-        flex: 1;
-        height: 50px;
-        line-height: 50px;
-        text-align: center;
-        cursor: pointer;
-        list-style: none;
-        border: 1px solid transparent;
-        border-right: 1px solid #e7e7eb;
-    }
-
-    .wechat-menu .menu-footer .icon-sub {
-        background: url("/static/admin/images/index.png") 0 -48px no-repeat;
-        width: 7px;
-        height: 7px;
-        vertical-align: middle;
-        display: inline-block;
-        margin-right: 2px;
-        margin-top: -2px;
-    }
-
-    .wechat-menu .menu-footer .sub-menu {
-        position: absolute;
-        border-radius: 3px;
-        border: 1px solid #d0d0d0;
-        display: block;
-        bottom: 60px;
-        width: 100%;
-        background-color: #fafafa;
-    }
-
-    .wechat-menu .menu-footer .sub-menu:after {
-        content: '';
-        position: absolute;
-        width: 10px;
-        height: 10px;
-        background: #fafafa;
-        -webkit-transform: rotate(45deg);
-        -moz-transform: rotate(45deg);
-        -ms-transform: rotate(45deg);
-        transform: rotate(45deg);
-        bottom: -5px;
-        border-bottom: 1px solid #d0d0d0;
-        border-right: 1px solid #d0d0d0;
-        left: 50%;
-        margin-left: -5px;
-    }
-
-    .wechat-menu .menu-footer .sub-menu li {
-        border-right: 0;
-        border-bottom: 1px solid #d0d0d0;
-    }
-
-    .wechat-menu .menu-footer .sub-menu li:last-child {
-        border-bottom: 0;
-    }
-
-    .wechat-menu .menu-footer .active {
-        border: 1px solid #44b549;
-    }
-
-    .wechat-menu .menu-footer .sub-menu li.active {
-        border: 1px solid #44b549 !important;
-    }
-
-    /* 右侧 */
-    .wechat-menu .menu-control .popover-title {
-        padding: 8px 14px;
-        margin: 0;
-        font-size: 14px;
-        background-color: #f7f7f7;
-        border-bottom: 1px solid #ebebeb;
-        border-radius: 5px 5px 0 0;
-        font-weight: 400;
-        wechat-reply-wrapper . ibox-content . control-wrapper
-    }
-
-    .wechat-menu .menu-control .popover-title a {
-        color: #06C;
-        font-size: 12px;
-    }
-
-    .wechat-menu .menu-control .tips-txt {
-        line-height: 40px;
-        padding: 0 20px;
-    }
-
-    .wechat-reply-wrapper .ibox-content .control-wrapper .control-body.menu-content {
-        padding: 0 20px;
-        margin-top: 0;
-    }
-
-    .wechat-reply-wrapper .ibox-content .control-wrapper .control-body.menu-content .radio {
-        display: inline-block !important;
-        width: 45%;
-    }
-
-    .wechat-reply-wrapper .ibox-content .control-wrapper .control-body.menu-content .menu-control-box {
-        padding: 0 20px;
-    }
-
-    .wechat-reply-wrapper .ibox-content .control-wrapper .control-body.menu-content .menu-control-box .radio {
-        display: block !important;
-        width: 100%;
-    }
-
-    .menu-control-box .item {
-        display: none;
-    }
-
-    .menu-control-box .show {
-        display: block;
-    }
-
-
-</style>
-<script>
-    layui.config({
-        version:"{$front_version}",
-        base: '/static/lib/' //静态资源所在路径
-    }).use(['element', 'table', 'jquery'], function () {
-        var $ = layui.$, form = layui.form;
-        var menu = JSON.parse('{:json_encode($menu)}');
-
-        // 菜单被选中
-        $(document).on('click', '.active-menu', function () {
-
-            var ids = $(this).parent().attr("data-id");
-            var id = ids.split("_");
-
-            $('.active').removeClass('active');
-            $(this).addClass("active");
-
-            if (id.length < 2) {  // 一级菜单
-                var one_id = $('.active').parent().index();
-                menu_info = menu[one_id];
-
-            } else { // 二级菜单
-                var two_id = $('.active').parent().index();
-                var one_id = $('.active').parent().parent().parent().parent().index();
-                menu_info = menu[one_id].sub_button[two_id];
-
-            }
-
-            if (menu_info) {
-                // 回显菜单信息
-                menuInfo(menu_info);
-                // 显示 右侧菜单控制框
-                $('.menu-control').css('display', 'block');
-            } else { //
-                initMenu();
-            }
-
-        })
-
-        //删除菜单
-        $(document).on('click', '.del-menu', function () {
-            var data_id = $('.active').parent();
-
-            //用于判断几级菜单
-            var ids = data_id.attr("data-id");
-            var id = ids.split("_");
-
-            if (id.length == 1) { // 一级菜单
-                var one_id = $('.active').parent().index();
-                menu.splice(one_id, 1);
-
-                if (menu.length == 2) { // 如果一级菜单的第3个菜单被删除了,要追加一个 添加一级菜单 的按钮
-                    var data_id = parseInt(id[0]) + 1;
-                    $('#menu').append("<li data-id='" + data_id + " ' class='add-menu'> <i class='icon-add'></i></li>");
-                }
-
-            } else {  // 二级菜单
-
-                var two_id = $('.active').parent().index();
-                var one_id = $('.active').parent().parent().parent().parent().index();
-
-                menu[one_id].sub_button.splice(two_id, 1);
-
-                if (menu[one_id].sub_button.length < 5) { // 二级菜单数量限制判断
-
-                    var sub_button_id = parseInt(id[1]) + 1
-                    var data_id = id[0] + '_' + sub_button_id;
-                    if (menu[one_id].sub_button.length == 4) { // 如果删除的是二级菜单的第5个菜单,追加 添加菜单按钮
-                        $('.active').parent().parent().append("<li  data-id='" + data_id + " ' class='add-menu'><i class='icon-add'></i></li>");
-                    }
-
-                }
-            }
-
-            $('.active').parent().remove()
-            $('.active').removeClass('active');
-            $('.menu-control').css('display', 'none');
-
-        })
-
-        //添加菜单
-        $(document).on('click', '.add-menu', function () {
-
-            if ($('.menu-control').css('display') == 'block') {
-                layer.msg('请先确定菜单', {
-                    time: 2000, //2s后自动关闭
-                });
-                return false;
-            }
-
-            $(this).removeClass("add-menu");
-
-            var ids = $(this).attr("data-id");
-            var id = ids.split("_");
-            $('.menu-control').css('display', 'block');
-            initMenu();
-
-            if (id.length == 1) { // 一级菜单
-                // 只有一个一级菜单
-                if (menu.length < 2) {
-                    var data_id = menu.length + 1
-                    // 追加 添加菜单按钮
-                    $(this).parent().append("<li data-id='" + data_id + " ' class='add-menu'> <i class='icon-add'></i></li>");
-                    // 移除添加图标
-                    $(this).children().remove();
-                    // 增加 一级菜单 文本
-                    $(this).append("<span class='active-menu'> <i class='icon-sub'></i>一级菜单</span>")
-                    // 置为 被激活状态
-                    $(this).children().addClass('active');
-                }
-                // 最后一个一级菜单
-                if (menu.length == 2) {
-                    $(this).children().remove();
-                    $(this).append("<span class='active-menu'><i class='icon-sub'></i>一级菜单</span>")
-                    $(this).children().addClass('active');
-
-                }
-                // 追加 二级菜单添加按钮
-                var data_id = id[0] + '_' + 0;
-                $(this).append("<div class='sub-menu'><ul><li data-id='" + data_id + "  'class='add-menu'><i class='icon-add'></i></li></ul></div>");
-
-
-            } else {   //二级菜单
-                var one_id = $(this).parent().parent().parent().index();
-
-                if (menu[one_id].sub_button.length < 4) { // 不是最后一个二级菜单
-                    var sub_button_id = parseInt(id[1]) + 1
-                    var data_id = id[0] + '_' + sub_button_id;
-                    $(this).parent().append("<li data-id='" + data_id + " ' class='add-menu'> <i class='icon-add'></i></li>");
-                    $(this).children().remove();
-                    $(this).append("<span class='active-menu' >二级菜单</span>")
-                    $(this).children().addClass('active');
-                    return 0;
-                }
-                // 最后一个二级菜单
-                if (menu[one_id].sub_button.length == 4) {
-                    $(this).children().remove();
-                    $(this).append("<span class='active-menu'>二级菜单</span>")
-                }
-
-                $(this).children().addClass('active');
-            }
-
-        })
-
-        // 右侧菜单控制器输入完菜单名称后,同步至被激活的菜单上
-        $(document).on('change', '#menu_name', function () {
-            menu_name = $(this).val();
-            active = $('.active').text(menu_name);
-        });
-
-        // 确认添加菜单
-        $(document).on('click', '.layui-btn-add_menu', function () {
-
-            var menu_name = $('#menu_name').val();
-            var menu_type = $('#menu_type').val();
-
-            var result = checkData(menu_name, menu_type);     //验证数据
-            if (result) {
-                mergeMenu(menu_name, menu_type);     //合并菜单
-                $('.active').removeClass('active');
-                $('.menu-control').css('display', 'none');
-            }
-        })
-
-        //菜单类型切换
-        form.on('select(menu_type)', function (data) {
-
-            if (data.value == 'click') {
-                $('.click').css('display', 'block');
-                $('.view').css('display', 'none');
-                $('.miniprogram').css('display', 'none');
-            }
-            if (data.value == 'view') {
-                $('.click').css('display', 'none');
-                $('.view').css('display', 'block');
-                $('.miniprogram').css('display', 'none');
-            }
-            if (data.value == 'miniprogram') {
-                $('.click').css('display', 'none');
-                $('.view').css('display', 'block');
-                $('.miniprogram').css('display', 'block');
-            }
-        })
-
-        //回显菜单信息
-        function menuInfo(menu_info) {
-
-            $('#menu_name').val(menu_info.name);
-
-            $("#menu_type").val(menu_info.type);
-
-            form.render('select');
-            if (menu_info.type == 'click') { // 关键字
-                $('.click').css('display', 'block');
-                $('.view').css('display', 'none');
-                $('.miniprogram').css('display', 'none');
-                $('#key').val(menu_info.key);
-            }
-            if (menu_info.type == 'view') { // 跳转网页
-                $('.click').css('display', 'none');
-                $('.view').css('display', 'block');
-                $('.miniprogram').css('display', 'none');
-                $('#url').val(menu_info.url);
-            }
-            if (menu_info.type == 'miniprogram') { // 小程序
-                $('.click').css('display', 'none');
-                $('.view').css('display', 'block');
-                $('.miniprogram').css('display', 'block');
-                $('#url').val(menu_info.url);
-                $('#appid').val(menu_info.appid);
-                $('#pagepath').val(menu_info.pagepath);
-            }
-
-        }
-
-        //验证数据
-        function checkData(name, type) {
-            if ($.trim(name) == '') {
-                layer.msg('请输入菜单名称', {
-                    time: 2000, //2s后自动关闭
-                });
-                return false;
-            }
-            switch (type) {
-                case 'click':
-                    if ($('#key').val() == '') {
-                        layer.msg('请输入关键词', {
-                            time: 2000, //2s后自动关闭
-                        });
-                        return false;
-
-                    }
-                    break;
-                case 'view':
-                    if ($('#url').val() == '') {
-                        layer.msg('请输入网页链接', {
-                            time: 2000, //2s后自动关闭
-                        });
-                        return false;
-
-                    }
-                    break;
-
-
-                case 'miniprogram':
-                    if ($('#url').val() == '') {
-                        layer.msg('请输入网页链接', {
-                            time: 2000, //2s后自动关闭
-                        });
-                        return false;
-
-                    }
-                    if ($('#appid').val() == '') {
-                        layer.msg('请输入appid', {
-                            time: 2000, //2s后自动关闭
-                        });
-                        return false;
-
-                    }
-                    if ($('#pagepath').val() == '') {
-                        layer.msg('请输入小程序路径', {
-                            time: 2000, //20s后自动关闭
-                        });
-                        return false;
-
-                    }
-                    break;
-            }
-            return true;
-        }
-
-        //合并菜单
-        function mergeMenu(name, type) {
-            var data_id = $('.active').parent();
-            var ids = data_id.attr("data-id");
-            var id = ids.split("_");
-            var data = new Object();
-            switch (type) {
-                case 'click':
-                    data = {
-                        'name': name,
-                        'key': $('#key').val(),
-                        'type': type,
-                    }
-                    break;
-                case 'view':
-                    data = {
-                        'name': name,
-                        'url': $('#url').val(),
-                        'type': type,
-                    }
-
-                    break;
-
-
-                case 'miniprogram':
-                    data = {
-                        'name': name,
-                        'url': $('#url').val(),
-                        'appid': $('#appid').val(),
-                        'pagepath': $('#pagepath').val(),
-                        'type': type,
-                    }
-                    break;
-            }
-            if (id.length < 2) {  // 一级菜单
-                var one_id = $('.active').parent().index();
-                data.sub_button = [];
-                if (menu[one_id]) {  //如果存在数组,进行更新
-                    menu[one_id] = data;
-                    return true
-                }
-                menu.push(data);
-            } else {   // 二级菜单
-                var two_id = $('.active').parent().index();
-                var one_id = $('.active').parent().parent().parent().parent().index();
-                if (menu[one_id].sub_button[two_id]) { //如果存在数组,进行更新
-                    menu[one_id].sub_button[two_id] = data;
-                    return true;
-                }
-                menu[one_id].sub_button.push(data);
-            }
-
-            return true;
-        }
-
-        //初始化菜单
-        function initMenu() {
-            // 显示 关键字输入框
-            $('.click').css('display', 'block');
-            // 隐藏 网页链接输入框
-            $('.view').css('display', 'none');
-            // 隐藏 appid/小程序路径 输入框
-            $('.miniprogram').css('display', 'none');
-            // 设置 菜单类型 为 click(关键字)
-            $("#menu_type").val('click');
-            // 刷新 下拉菜单
-            form.render('select');
-            // 设置输入框初始值为 空字符串
-            $('#menu_name').val('');
-            $('#url').val('');
-            $('#key').val('');
-            $('#appid').val('');
-            $('#pagepath').val('');
-        }
-
-        //发布
-        $(document).on('click', '.publish', function () {
-            if (menu.length === 0) {
-                layer.msg('请先设置菜单', {
-                    time: 2000, //20s后自动关闭
-                });
-                return false;
-            }
-            like.ajax({
-                url: '{:url("wechat.oa/pulishMenu")}',
-                data: JSON.stringify({button: menu}),
-                type: 'post',
-                dataType: 'json',
-                contentType: "application/json;charset=utf-8",
-                success: function (res) {
-                    if (res.code) {
-                        layui.layer.msg(res.msg, {
-                            offset: '15px'
-                            , icon: 1
-                            , time: 1000
-                        });
-                    } else {
-                        layui.layer.msg(res.msg, {
-                            offset: '15px'
-                            , icon: 2
-                            , time: 2000
-                        });
-                    }
-                }
-            })
-        })
-
-    });
-</script>

+ 0 - 244
app/admin/view/wechat/oa/setoa.html

@@ -1,244 +0,0 @@
-{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。jpg,jpeg,png格式</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>

+ 0 - 121
app/admin/view/wechat/op/config.html

@@ -1,121 +0,0 @@
-{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>

+ 0 - 98
app/admin/view/wechat/pc/set.html

@@ -1,98 +0,0 @@
-{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>

+ 0 - 48
app/admin/view/wechat/reply/add_default.html

@@ -1,48 +0,0 @@
-{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>

+ 0 - 49
app/admin/view/wechat/reply/add_subscribe.html

@@ -1,49 +0,0 @@
-{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>

+ 0 - 68
app/admin/view/wechat/reply/add_text.html

@@ -1,68 +0,0 @@
-{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>

+ 0 - 49
app/admin/view/wechat/reply/edit_default.html

@@ -1,49 +0,0 @@
-{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>

+ 0 - 50
app/admin/view/wechat/reply/edit_subscribe.html

@@ -1,50 +0,0 @@
-{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>

+ 0 - 67
app/admin/view/wechat/reply/edit_text.html

@@ -1,67 +0,0 @@
-{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>

+ 0 - 311
app/admin/view/wechat/reply/lists.html

@@ -1,311 +0,0 @@
-{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>