Circle-User

 view release on metacpan or  search on metacpan

lib/Circle/User.pm  view on Meta::CPAN

    my ($path) = @_;
    return build_url_template( "user", $path );
}

sub send_register_verify_code {
    my ($req) = @_;
    my $url = _build_url_template("sendRegisterVerifyCode");
    return http_json_post( $url, $req, 0 );
}

sub register {
    my ($req) = @_;
    my $url = _build_url_template("register");
    return http_json_post( $url, $req, 0 );
}

sub send_verify_code {
    my ($req) = @_;
    my $url = _build_url_template("sendVerifyCode");
    return http_json_post( $url, $req, 0 );
}

sub login {
    my ($req)    = @_;
    my $url      = _build_url_template("login");
    my $response = http_json_post( $url, $req, 0 );
    if ( $response->{status} == 200 ) {
        my $login_data = $response->{data};
        _save_session_data( $req, $login_data );
    }

    return $response;
}

sub _save_session_data {
    my ( $req, $login_data ) = @_;
    my $user_type    = defined $req->{email} ? 1             : 0;
    my $user_key     = defined $req->{email} ? 'email'       : 'phone';
    my $user_value   = defined $req->{email} ? $req->{email} : $req->{phone};
    my $user_id      = $login_data->{userId};
    my $session_key  = $login_data->{sessionKey};
    my $config       = load_config();
    my $session_path = $config->{user}->{sessionPath};
    my $full_path    = $ENV{HOME} . '/' . $session_path;

    if ( not -f $full_path ) {
        my $dirname = dirname($full_path);
        make_path($dirname);
    }
    my $content = qq(
##### user login information
userType=$user_type
userId=$user_id
$user_key=$user_value
sessionKey=$session_key
);
    open my $fd, ">:encoding(utf8)", $full_path;

    print $fd $content;
    close($fd);
    chmod 0600, $full_path;
}

sub logout {
    my $url = _build_url_template("logout");
    return http_json_post( $url, {} );
}

sub send_pay_verify_code {
    my ($req) = @_;
    my $url = _build_url_template("sendPayVerifyCode");
    return http_json_post( $url, $req );
}

sub set_pay_password {
    my ($req) = @_;
    my $url = _build_url_template("setPayPassword");
    return http_json_post( $url, $req );
}

sub have_pay_password {
    my $url = _build_url_template("havePayPassword");
    return http_json_get($url);
}

sub send_reset_password_verify_code {
    my ($req) = @_;
    my $url = _build_url_template("sendResetPasswordVerifyCode");
    return http_json_post( $url, $req, 0 );
}

sub reset_password {
    my ($req) = @_;
    my $url = _build_url_template("resetPassword");
    return http_json_post( $url, $req, 0);
}

sub add_contacts {
    my ($req) = @_;
    my $url = _build_url_template("addContacts");
    return http_json_post( $url, $req );
}

sub list_contacts {
    my $url = _build_url_template("listContacts");
    return http_json_get($url);
}

sub save_or_update_user_info {
    my ($req) = @_;
    my $url = _build_url_template("saveOrUpdateUserInfo");
    return http_json_post( $url, $req );
}

sub get_user_info {
    my $url = _build_url_template("userInfo");
    return http_json_get($url);
}

1;



( run in 1.584 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )