File Coverage

blib/lib/Weixin/Client/Private/_update_friend.pm
Criterion Covered Total %
statement 0 23 0.0
branch 0 10 0.0
condition n/a
subroutine 0 1 0.0
pod n/a
total 0 34 0.0


line stmt bran cond sub pod time code
1             package Weixin::Client;
2             sub _update_friend{
3 0     0     my $self = shift;
4 0           my $api = "https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxgetcontact";
5 0           my @query_string = (
6             skey => uri_escape($self->skey),
7             pass_ticket => $self->pass_ticket,
8             r => $self->now(),
9             skey => uri_escape($self->skey),
10             pass_ticket => $self->pass_ticket,
11             );
12 0           my $json = $self->http_post(gen_url($api,@query_string),("Content-Type"=>"application/json; charset=UTF-8"),Content=>"{}");
13 0 0         return unless defined $json;
14 0           my $d = $self->json_decode($json);
15 0 0         return unless defined $d;
16 0 0         return if $d->{BaseResponse}{Ret}!=0;
17 0 0         return if $d->{MemberCount} == 0;
18 0           my @friend_key = qw(HeadImgUrl NickName PYInitial PYQuanPin Alias Province City Sex Id Uin Signature DisplayName RemarkName RemarkPYInitial RemarkPYQuanPin);
19 0           for my $m (@{$d->{MemberList}}){
  0            
20 0 0         next if $m->{MemberCount}!=0;
21 0           $m->{Id} = $m->{UserName};delete $m->{UserName};
  0            
22 0           $m->{Sex} = code2sex($m->{Sex});
23 0           my $friend = {};
24 0           @{$friend}{@friend_key} = map {$_=encode_utf8($_);$_} @{$m}{@friend_key};
  0            
  0            
  0            
  0            
25 0           $self->add_friend($friend);
26             }
27             }
28             1;