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);
}