API_USER::api_login PHP Method

api_login() public method

api_login function.
public api_login ( ) : void
return void
    function api_login()
    {
        $this->app_check("post");
        $_arr_userSubmit = $this->mdl_user->input_login_api();
        if ($_arr_userSubmit["alert"] != "ok") {
            $this->obj_api->halt_re($_arr_userSubmit);
        }
        $_arr_sign = array("act_post" => $GLOBALS["act_post"], "user_pass" => $_arr_userSubmit["user_pass"], $_arr_userSubmit["user_by"] => $_arr_userSubmit["user_str"]);
        if (!$this->obj_sign->sign_check(array_merge($this->appRequest, $_arr_sign), $this->appRequest["signature"])) {
            $_arr_return = array("alert" => "x050403");
            $this->obj_api->halt_re($_arr_return);
        }
        $_arr_userRow = $this->mdl_user->mdl_read($_arr_userSubmit["user_str"], $_arr_userSubmit["user_by"]);
        if ($_arr_userRow["alert"] != "y010102") {
            $this->obj_api->halt_re($_arr_userRow);
        }
        if ($_arr_userRow["user_status"] == "disable") {
            $_arr_return = array("alert" => "x010401");
            $this->obj_api->halt_re($_arr_return);
        }
        if (fn_baigoEncrypt($_arr_userSubmit["user_pass"], $_arr_userRow["user_rand"], true) != $_arr_userRow["user_pass"]) {
            $_arr_return = array("alert" => "x010213");
            $this->obj_api->halt_re($_arr_return);
        }
        //print_r($_arr_userRow);
        $_arr_userRowLogin = $this->mdl_user->mdl_login($_arr_userRow["user_id"]);
        unset($_arr_userRow["user_rand"], $_arr_userRow["user_pass"], $_arr_userRow["user_note"]);
        $_arr_userRow["user_access_token"] = $_arr_userRowLogin["user_access_token"];
        $_arr_userRow["user_access_expire"] = $_arr_userRowLogin["user_access_expire"];
        $_arr_userRow["user_refresh_token"] = $_arr_userRowLogin["user_refresh_token"];
        $_arr_userRow["user_refresh_expire"] = $_arr_userRowLogin["user_refresh_expire"];
        //unset($_arr_userRow["alert"]);
        $_str_src = fn_jsonEncode($_arr_userRow, "encode");
        $_str_code = $this->obj_crypt->encrypt($_str_src, $this->appRow["app_key"]);
        $_arr_return = array("code" => $_str_code);
        $_arr_return["alert"] = "y010401";
        $this->obj_api->halt_re($_arr_return);
    }

Usage Example

Example #1
0
if (!defined("IN_BAIGO")) {
    exit("Access Denied");
}
include_once BG_PATH_FUNC . "init.func.php";
//管理员通用
fn_init(true, false, "Content-type: application/json", true, "ajax");
include_once BG_PATH_CONTROL . "api/user.class.php";
//载入商家控制器
$api_user = new API_USER();
//初始化商家
switch ($GLOBALS["act_post"]) {
    case "reg":
        $api_user->api_reg();
        break;
    case "login":
        $api_user->api_login();
        break;
    case "edit":
        $api_user->api_edit();
        break;
    case "mailbox":
        $api_user->api_mailbox();
        break;
    case "nomail":
        $api_user->api_nomail();
        break;
    case "forgot":
        $api_user->api_forgot();
        break;
    case "del":
        $api_user->api_del();