diff --git a/app/pay/controller/PayController.php b/app/pay/controller/PayController.php
index abb6710..f9d989b 100644
--- a/app/pay/controller/PayController.php
+++ b/app/pay/controller/PayController.php
@@ -1,10 +1,10 @@
 <?php
 namespace app\pay\controller;
-use cmf\controller\HomeBaseController;
+use cmf\controller\PayBaseController;
 use app\integral\model\IntegralModel;
 use think\Db;
 
-class PayController extends HomeBaseController
+class PayController extends PayBaseController
 {
 
     //提交订单
diff --git a/simplewind/cmf/controller/HomeBaseController.php b/simplewind/cmf/controller/HomeBaseController.php
index 0ca8a2b..e9c2b87 100644
--- a/simplewind/cmf/controller/HomeBaseController.php
+++ b/simplewind/cmf/controller/HomeBaseController.php
@@ -56,7 +56,7 @@ class HomeBaseController extends BaseController
                 }
             }
         }else {
-//            $this->error('请从微信浏览器打开');
+            $this->error('请从微信浏览器打开');
         }
 
 
diff --git a/simplewind/cmf/controller/PayBaseController.php b/simplewind/cmf/controller/PayBaseController.php
new file mode 100644
index 0000000..3ca4e91
--- /dev/null
+++ b/simplewind/cmf/controller/PayBaseController.php
@@ -0,0 +1,241 @@
+<?php
+// +----------------------------------------------------------------------
+// | bronet [ 以客户为中心 以奋斗者为本 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2013-2017 http://www.bronet.cn All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
+// +---------------------------------------------------------------------
+// | Author: Dean <zxxjjforever@163.com>
+// +----------------------------------------------------------------------
+namespace cmf\controller;
+
+use app\user\model\UserModel;
+use think\Db;
+use app\admin\model\ThemeModel;
+use think\View;
+
+class PayBaseController extends BaseController
+{
+
+    public function _initialize()
+    {
+
+        parent::_initialize(); // TODO: Change the autogenerated stub
+        if (cmf_is_wechat()) {
+            if (empty(session('user.id'))) {
+                require_once EXTEND_PATH . '/WeChatCommon.php';
+                $wx = new \WeChatCommon();
+                if (request()->param('code') == NULL) {
+                    $wx->code();
+                } else {
+                    $code = request()->param('code');
+                    $info = $wx->getOpenid($code);
+                    if(Db::name('user')->where(['openid'=>$info['openid']])->count() == 0) {
+                        //注册新用户
+                        //拉去用户信息
+                        $return = $wx->getUserInfo($info);
+                        $data = [
+                            'user_type' => 2,
+                            'create_time' => time(),
+                            'user_nickname' => $return['nickname'],
+                            'sex' => $return['sex'],
+                            'avatar' => $return['headimgurl'],
+                            'openid' => $info['openid']
+                        ];
+                        if(Db::name('user')->insert($data)) {
+                            $userId = Db::name('user')->getLastInsID();
+                            session('user.id', $userId);
+                            session('user.openid', $info['openid']);
+                        }
+                    }else {
+                        $userId = Db::name('user')->where(['openid'=>$info['openid']])->value('id');
+                        session('user.id', $userId);
+                        session('user.openid', $info['openid']);
+                    }
+                }
+            }
+        }else {
+//            $this->error('请从微信浏览器打开');
+        }
+
+
+
+        // 监听home_init
+        hook('home_init');
+        parent::_initialize();
+        $siteInfo = cmf_get_site_info();
+        View::share('site_info', $siteInfo);
+    }
+
+    public function _initializeView()
+    {
+        $cmfThemePath    = config('cmf_theme_path');
+        $cmfDefaultTheme = cmf_get_current_theme();
+
+        $themePath = "{$cmfThemePath}{$cmfDefaultTheme}";
+
+        $root = cmf_get_root();
+        //使cdn设置生效
+        $cdnSettings = cmf_get_option('cdn_settings');
+        if (empty($cdnSettings['cdn_static_root'])) {
+            $viewReplaceStr = [
+                '__ROOT__'     => $root,
+                '__TMPL__'     => "{$root}/{$themePath}",
+                '__STATIC__'   => "{$root}/static",
+                '__WEB_ROOT__' => $root
+            ];
+        } else {
+            $cdnStaticRoot  = rtrim($cdnSettings['cdn_static_root'], '/');
+            $viewReplaceStr = [
+                '__ROOT__'     => $root,
+                '__TMPL__'     => "{$cdnStaticRoot}/{$themePath}",
+                '__STATIC__'   => "{$cdnStaticRoot}/static",
+                '__WEB_ROOT__' => $cdnStaticRoot
+            ];
+        }
+
+        $viewReplaceStr = array_merge(config('view_replace_str'), $viewReplaceStr);
+        config('template.view_base', "{$themePath}/");
+        config('view_replace_str', $viewReplaceStr);
+
+        $themeErrorTmpl = "{$themePath}/error.html";
+        if (file_exists_case($themeErrorTmpl)) {
+            config('dispatch_error_tmpl', $themeErrorTmpl);
+        }
+
+        $themeSuccessTmpl = "{$themePath}/success.html";
+        if (file_exists_case($themeSuccessTmpl)) {
+            config('dispatch_success_tmpl', $themeSuccessTmpl);
+        }
+
+
+    }
+
+    /**
+     * 加载模板输出
+     * @access protected
+     * @param string $template 模板文件名
+     * @param array $vars 模板输出变量
+     * @param array $replace 模板替换
+     * @param array $config 模板参数
+     * @return mixed
+     */
+    protected function fetch($template = '', $vars = [], $replace = [], $config = [])
+    {
+        $template = $this->parseTemplate($template);
+        $more     = $this->getThemeFileMore($template);
+        $this->assign('theme_vars', $more['vars']);
+        $this->assign('theme_widgets', $more['widgets']);
+        return parent::fetch($template, $vars, $replace, $config);
+    }
+
+    /**
+     * 自动定位模板文件
+     * @access private
+     * @param string $template 模板文件规则
+     * @return string
+     */
+    private function parseTemplate($template)
+    {
+        // 分析模板文件规则
+        $request = $this->request;
+        // 获取视图根目录
+        if (strpos($template, '@')) {
+            // 跨模块调用
+            list($module, $template) = explode('@', $template);
+        }
+
+        $viewBase = config('template.view_base');
+
+        if ($viewBase) {
+            // 基础视图目录
+            $module = isset($module) ? $module : $request->module();
+            $path   = $viewBase . ($module ? $module . DS : '');
+        } else {
+            $path = isset($module) ? APP_PATH . $module . DS . 'view' . DS : config('template.view_path');
+        }
+
+        $depr = config('template.view_depr');
+        if (0 !== strpos($template, '/')) {
+            $template   = str_replace(['/', ':'], $depr, $template);
+            $controller = cmf_parse_name($request->controller());
+            if ($controller) {
+                if ('' == $template) {
+                    // 如果模板文件名为空 按照默认规则定位
+                    $template = str_replace('.', DS, $controller) . $depr . $request->action();
+                } elseif (false === strpos($template, $depr)) {
+                    $template = str_replace('.', DS, $controller) . $depr . $template;
+                }
+            }
+        } else {
+            $template = str_replace(['/', ':'], $depr, substr($template, 1));
+        }
+        return $path . ltrim($template, '/') . '.' . ltrim(config('template.view_suffix'), '.');
+    }
+
+    /**
+     * 获取模板文件变量
+     * @param string $file
+     * @param string $theme
+     * @return array
+     */
+    private function getThemeFileMore($file, $theme = "")
+    {
+
+        //TODO 增加缓存
+        $theme = empty($theme) ? cmf_get_current_theme() : $theme;
+
+        // 调试模式下自动更新模板
+        if (APP_DEBUG) {
+            $themeModel = new ThemeModel();
+            $themeModel->updateTheme($theme);
+        }
+
+        $themePath = config('cmf_theme_path');
+        $file      = str_replace('\\', '/', $file);
+        $file      = str_replace('//', '/', $file);
+        $file      = str_replace(['.html', '.php', $themePath . $theme . "/"], '', $file);
+
+        $files = Db::name('theme_file')->field('more')->where(['theme' => $theme])->where(function ($query) use ($file) {
+            $query->where(['is_public' => 1])->whereOr(['file' => $file]);
+        })->select();
+
+        $vars    = [];
+        $widgets = [];
+        foreach ($files as $file) {
+            $oldMore = json_decode($file['more'], true);
+            if (!empty($oldMore['vars'])) {
+                foreach ($oldMore['vars'] as $varName => $var) {
+                    $vars[$varName] = $var['value'];
+                }
+            }
+
+            if (!empty($oldMore['widgets'])) {
+                foreach ($oldMore['widgets'] as $widgetName => $widget) {
+
+                    $widgetVars = [];
+                    if (!empty($widget['vars'])) {
+                        foreach ($widget['vars'] as $varName => $var) {
+                            $widgetVars[$varName] = $var['value'];
+                        }
+                    }
+
+                    $widget['vars']       = $widgetVars;
+                    $widgets[$widgetName] = $widget;
+                }
+            }
+        }
+
+        return ['vars' => $vars, 'widgets' => $widgets];
+    }
+
+    public function checkUserLogin()
+    {
+        $userId = cmf_get_current_user_id();
+        if (empty($userId)) {
+            $this->error("用户尚未登录", url("user/login/index"));
+        }
+    }
+
+}
\ No newline at end of file