func (s *MemberManager) GetHeadImgUrlsByGender(sex int) []string {
	uris := make([]string, 0)
	for _, v := range s.Group.MemberList {
		if v.Sex == sex {
			uris = append(uris, v.HeadImgUrl)
		}
	}
	return uris
}
GetHeadImgUrlByGender: get head img url detail by gender
package wxweb
import (
	"encoding/json"
	"fmt"
)
type MemberManager struct {
	Group *User
}
func CreateMemberManagerFromGroupContact(session *Session, user *User) (*MemberManager, error) {
	b, err := WebWxBatchGetContact(session.WxWebCommon, session.WxWebXcg, session.Cookies, []*User{{
		EncryChatRoomId: user.EncryChatRoomId,
		UserName:        user.UserName,
	}})
	if err != nil {
		return nil, err
	}
	return CreateMemberManagerFromBytes(session, b)
}
func CreateMemberManagerFromBytes(session *Session, b []byte) (*MemberManager, error) {
	var gcr WxWebBatchGetContactResponse
	if err := json.Unmarshal(b, &gcr); err != nil {
		return nil, err
	}
	if gcr.BaseResponse.Ret != 0 {
		return nil, fmt.Errorf("WebWxBatchGetContact ret=%d", gcr.BaseResponse.Ret)
	}
	if gcr.ContactList == nil || gcr.Count < 1 || len(gcr.ContactList) < 1 {
		return nil, fmt.Errorf("ContactList empty")
	}
	mm := &MemberManager{
		Group: gcr.ContactList[0],
	}
	return mm, nil
}
func (s *MemberManager) Update(session *Session) error {
	members := make([]*User, len(s.Group.MemberList))
	for i, v := range s.Group.MemberList {
		members[i] = &User{
			UserName:        v.UserName,
			EncryChatRoomId: s.Group.UserName,
		}
	}
	b, err := WebWxBatchGetContact(session.WxWebCommon, session.WxWebXcg, session.Cookies, members)
	if err != nil {
		return err
	}
	var gcr WxWebBatchGetContactResponse
	if err := json.Unmarshal(b, &gcr); err != nil {
		return err
	}
	s.Group.MemberList = gcr.ContactList
	return nil
}