old_flsystem/PCRobot/PCWechat/WechatUser.cs

380 lines
9.8 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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; }
}
}