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 )