微擎--登录页跳转修改

需要二开微擎框架的小伙伴可以参考下这篇文章。

上级发话,需求:登录后跳转到公众号管理页面。

熟悉微擎的都知道现在微擎登陆后默认跳转到的是系统管理页面http://www.******.cn/web/index.php?c=home&a=welcome&do=system&

由于开发需要,我们需要登陆后跳转到
http://www.******.cn/web/index.php?c=account&a=display&


查看登录页面后大家会发现,登录页面前后台都没有跳转链接。。。

经过仔细认真的查看代码,我发现控制跳转的决定性因素一个函数,改了这个函数才能改动跳转!

//在登录页面控制器的145行 (web/source/use/login.ctrl.php)
if (empty($forward)) {

        $forward = user_login_forward($_GPC['forward']);

        }

就是这个user_login_forward函数

其实web下的控制器对应的model函数都在framework/model中,如果了解不清的话,还是不太好找的

找了下发现这个函数在 framework/model/user.mod.php

function user_login_forward($forward = '') {
    global $_W;
    $login_forward = trim($forward);
    if (!empty($forward)) {
        return $login_forward;
    }
    if (user_is_vice_founder()) {
        return url('account/manage', array('account_type' => 1));
    }
    if (!empty($_W['isfounder'])) {

        //下面这代码即为控制登陆后跳转的代码。改为return url('account/display'); 即完成我所要的功能

        return url('home/welcome/system'); 
    }
    if ($_W['user']['type'] == ACCOUNT_OPERATE_CLERK) {
        return url('module/display');
    }
    $login_forward = url('account/display');
    if (!empty($_W['uniacid']) && !empty($_W['account'])) {
        $permission = uni_permission($_W['uid'], $_W['uniacid']);
        if (empty($permission)) {
            return $login_forward;
        }
        if ($_W['account']['type'] == ACCOUNT_TYPE_OFFCIAL_NORMAL || $_W['account']['type'] == ACCOUNT_TYPE_OFFCIAL_AUTH) {
            $login_forward = url('home/welcome');
        } elseif ($_W['account']['type'] == ACCOUNT_TYPE_APP_NORMAL) {
            $login_forward = url('wxapp/display/home');
        }
    }
    return $login_forward;
}

如果想修改其他web下的页面相对应的model函数,大致修改方法和这个一样的。如果找不到相应的函数,大家可以看下我的其他的关于微擎的文章,加深下对微擎框架的了解。

猜你喜欢

转载自blog.csdn.net/qq_32737755/article/details/79290077
今日推荐