380 lines
9.8 KiB
C#
380 lines
9.8 KiB
C#
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; }
|
||
|
||
}
|
||
}
|