old_flsystem/PCRobot/PCWechat/WechatUser.cs

380 lines
9.8 KiB
C#
Raw Permalink Normal View History

2022-09-20 03:10:29 +00:00
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using PCRobot.Entitys.Enterprise;
using PCRobot.Utils;
namespace PCRobot.PCWechat
{
public enum WechatType
{
/// <summary>
/// 普通微信
/// </summary>
Xiaoxie = 1,
/// <summary>
/// 企业微信
/// </summary>
Xiaoxie_QY = 2,
}
public class WechatUser
{
public WechatUser() { }
/// <summary>
/// 是否在检测僵尸粉
/// </summary>
internal bool IsZombizRun = false;
/// <summary>
/// 是否在获取信息操作中集合
/// </summary>
public Dictionary<RobotIsRunType, bool> IsGetDic { get; set; } = new Dictionary<RobotIsRunType, bool>();
/// <summary>
/// 是否在获取群成员信息/好友信息/搜索信息/企业Cdn下载/通过好友
/// </summary>
public Dictionary<string, bool> IsGetContactDic { get; internal set; } = new Dictionary<string, bool>();
/// <summary>
/// 是否在获取朋友圈数据/上传朋友圈图片
/// </summary>
internal Dictionary<string, bool> IsOperCirCleInfoDic { get; set; } = new Dictionary<string, bool>();
/// <summary>
/// 类型
/// </summary>
public WechatType Type { get; set; }
/// <summary>
/// 句柄ID
/// </summary>
public int Pid { get; set; }
/// <summary>
/// 客户端ID
/// </summary>
public uint DwClientId { get; set; }
/// <summary>
/// 微信ID
/// </summary>
public string Wxid { get; set; }
/// <summary>
/// 昵称
/// </summary>
public string Nickname { get; set; }
/// <summary>
/// 头像地址
/// </summary>
public string HeaderUrl { get; set; }
/// <summary>
/// 用户数据库地址
/// </summary>
public string DBFile { get; set; }
public string Phone { get; set; }
/// <summary>
/// 生命周期
/// </summary>
public DateTime HeartBreakTime { get; set; } = DateTime.Now;
/// <summary>
/// 微信Uin
/// </summary>
public string Uin { get; internal set; }
/// <summary>
/// 个人微信用户数据
/// </summary>
public Dictionary<string, FriendInfo> Friends = new Dictionary<string, FriendInfo>();
/// <summary>
/// 个人群组数据
/// </summary>
public Dictionary<string, GroupInfo> Groups = new Dictionary<string, GroupInfo>();
/// <summary>
/// 企业微信用户数据
/// </summary>
public Dictionary<string, WorkFriendInfo> WorkFriends { get; internal set; } = new Dictionary<string, WorkFriendInfo>();
/// <summary>
/// 企业微信群组数据
/// </summary>
public Dictionary<string, WorkGroupInfo> WorkGroups { get; internal set; } = new Dictionary<string, WorkGroupInfo>();
/// <summary>
/// 企业搜索用户数据
/// </summary>
public Dictionary<string, FriendInfoHandlerEnterprise> FriendHandlerDic { get; internal set; } = new Dictionary<string, FriendInfoHandlerEnterprise>();
/// <summary>
/// 企业Cdn文件数据
/// </summary>
public Dictionary<string, FileC2cCdnInfo> FileC2cCdnInfoDic { get; internal set; } = new Dictionary<string, FileC2cCdnInfo>();
/// <summary>
/// 自动登录授权小程序
/// </summary>
public Dictionary<string, string> AutoAuthLoginMiNiApps = new Dictionary<string, string>();
/// <summary>
/// 朋友圈上传图片,返回网络地址
/// </summary>
public Dictionary<string, string> UpLoadImages = new Dictionary<string, string>();
/// <summary>
/// 发送朋友圈后返回的id
/// </summary>
public string SendCircleId;
/// <summary>
/// 朋友圈数据保存,key为用户账号(0为非指定用户数据)
/// </summary>
internal Dictionary<string, string> CirCleInfoOriDic { get; set; } = new Dictionary<string, string>();
}
/// <summary>
/// 获取普通微信运行类型
/// </summary>
public enum RobotIsRunType
{
= 0,
= 1,
= 2,//如果是企业获取的是外部好友列表
= 3,
= 4,
= 5,
= 6,
= 7,
//企业特有
= 50,
= 51,
= 52,
}
public class FriendBase
{
/// <summary>
/// 昵称
/// </summary>
public string nickname { get; set; }
/// <summary>
/// 备注
/// </summary>
public string remark { get; set; }
/// <summary>
/// 群主ID
/// </summary>
public string manager_wxid { get; set; } = string.Empty;
/// <summary>
/// 是否为管理员
/// </summary>
public int is_manager { get; set; } = 0;
/// <summary>
/// 群成员
/// </summary>
public string member_list { get; set; } = string.Empty;
}
/// <summary>
/// 个人微信信息
/// </summary>
public class FriendInfo : FriendBase
{
/// <summary>
/// wxid
/// </summary>
public string wxid { get; set; }
/// <summary>
/// 微信号
/// </summary>
public string account { get; set; }
/// <summary>
/// 头像地址
/// </summary>
public string avatar { get; set; }
/// <summary>
/// 性别 0未知1男,2女
/// </summary>
public int sex { get; set; }
/// <summary>
/// 祖国
/// </summary>
public string country { get; set; }
/// <summary>
/// 省份
/// </summary>
public string province { get; set; }
/// <summary>
/// 城市
/// </summary>
public string city { get; set; }
/// <summary>
/// 是否是僵尸粉
/// </summary>
public int is_zombie { get; set; } = -1;
}
/// <summary>
/// 个人微信群信息
/// </summary>
public class GroupInfo : GroupBase
{
public string wxid { get; set; }
/// <summary>
/// 昵称
/// </summary>
public string nickname { get; set; }
/// <summary>
/// 群头像
/// </summary>
public string avatar { get; set; }
///// <summary>
///// 群主ID
///// </summary>
//public string manager_wxid { get; set; }
///// <summary>
///// 是否为管理员
///// </summary>
//public int is_manager { get; set; }
/// <summary>
/// 群人数
/// </summary>
public int total_member { get; set; }
/// <summary>
/// 群成员
/// </summary>
public List<FriendInfo> friends { get; set; }
}
/// <summary>
/// 群基类
/// </summary>
public class GroupBase
{
}
/// <summary>
/// 企业用户信息
/// </summary>
public class WorkFriendInfo : FriendBase
{
/// <summary>
/// 账号
/// </summary>
public string acctid { get; set; }
/// <summary>
/// 手机号
/// </summary>
public string mobile { get; set; }
/// <summary>
/// 头像
/// </summary>
public string avatar { get; set; }
/// <summary>
/// 会话id
/// </summary>
public string conversation_id { get; set; }
/// <summary>
/// 公司ID
/// </summary>
public string corp_id { get; set; }
/// <summary>
/// 用户描述
/// </summary>
public string desc { get; set; }
/// <summary>
/// 对外职位名称
/// </summary>
public string external_job { get; set; }
/// <summary>
/// 公司内部职位
/// </summary>
public string position { get; set; }
/// <summary>
/// 真实姓名
/// </summary>
public string realname { get; set; }
/// <summary>
/// 性别
/// </summary>
public int sex { get; set; }
/// <summary>
/// 用户ID
/// </summary>
public string user_id { get; set; }
/// <summary>
/// 用户名称
/// </summary>
public string username { get; set; }
}
/// <summary>
/// 企业群数据
/// </summary>
public class WorkGroupInfo : GroupBase
{
//{"conversation_id":"R:1970325073072411","create_user_id":"1688853956450720","is_manager":0,"nickname":"网络科技有限公司","total":5}
/// <summary>
/// 会话ID
/// </summary>
public string conversation_id { get; set; }
///// <summary>
///// 群主
///// </summary>
//public string create_user_id { get; set; }
///// <summary>
///// 是否是管理员
///// </summary>
//public int is_manager { get; set; }
/// <summary>
/// 群昵称
/// </summary>
public string GroupNick { get; set; }
/// <summary>
/// 群人数
/// </summary>
public int total { get; set; }
/// <summary>
/// 群成员
/// </summary>
public List<WorkFriendInfo> friends { get; set; }
}
}