1. 前台控制器以及路由用例说明

1.1.1. 以登陆为主介绍

1.在网站根目录b2b2c/app/topc/controller 下面创建php文件passport.php 2.在passport.php里面写自己的登陆代码

   public function signin()
    {
        $pagedata['next_page'] = $this->__getFromUrl();
        $data = app::get('sysuser')->getConf('trustlogin_rule');

        .......

        $pagedata['isShowVcode'] = userAuth::isShowVcode('login');
        //echo '<pre>';print_r($pagedata);exit();
        return $this->page('topc/passport/signin/signin.html',$pagedata);
    }

3.在b2b2c/app/topc/view/passport/signin/下面创建signin.html 模板文件 代码如下

<div class="col-lg-7 login">
  <h1 class="header-title">用户登陆</h1>
 <form action="<{url action=topc_ctl_passport@login}>" method="post" id="ajaxForm" class="form-vertical">
    此处内容省略
  </form>
</div>

4.在路由配置里面为该方法配置路由器

    修改b2b2c/bootstrap/routes.php 添加如下代码
        route::get('passport-signin.html', [ 'middleware' => '自定义路由别名','uses' => 'topc_ctl_passport@signin' ]);

        注:get() 方法的第一个参数是你的前台显示的地址,第二个参数是个array,里面有2个参数,first:自定义路由别名
            second:控制器对应的方法
        路由的使用具体请看我们的路由文档

5.登陆处理

    上面的模板里面定义了提交的地址<{url action=topc_ctl_passport@login}>
    在passport.php里面创建login方法
    public function login()
    {
        $validator = validator::make(
            [input::get('account') , input::get('password')],
            ['required', 'required'],
            ['请输入账号!', '请输入密码!']
        );
        if ($validator->fails())
        {
            $messages = $validator->messagesInfo();
            foreach( $messages as $error )
            {
                return $this->splash('error',null,$error[0]);
            }
        }
        .......
        try
        {
            if (userAuth::attempt(input::get('account'), input::get('password')))
            {
                $url = input::get('next_page');
                return $this->splash('success',$url,$msg,true);
            }
        }
        catch(Exception $e)
        {
            userAuth::setAttemptNumber();
            if( userAuth::isShowVcode('login') )
            {
                $url = url::action('topc_ctl_passport@signin');
            }
            $msg = $e->getMessage();
            return $this->splash('error',$url,$msg,true);
        }
    }

6.在路由配置里面为login方法配置路由器

    修改b2b2c/bootstrap/routes.php 添加如下代码
        route::post('passport-signin.html', [ 'middleware' => '自定义路由别名','uses' => 'topc_ctl_passport@login' ]);

        注:get() 方法的第一个参数是你的前台显示的地址,第二个参数是个array,里面有2个参数,first:自定义路由别名
            second:控制器对应的方法
        路由的使用具体请看我们的路由文档

7.前台使用到此结束

results matching ""

    No results matching ""