old_flsystem/PCRobot/PCWechat/WechatBase.cs

215 lines
6.9 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using PCRobot.Entitys.Enterprise;
namespace PCRobot.PCWechat
{
/// <summary>
/// 微信基类
/// </summary>
public abstract class WechatBase
{
public WechatUser User { get; private set; }
public WechatBase(WechatUser User)
{
this.User = User;
}
/// <summary>
/// 消息ID
/// </summary>
public string ServerMsgID { get; set; }
/// <summary>
/// 获取列表 - 发送服务端
/// </summary>
/// <param name="isUpdata"></param>
public abstract void GetContact(bool isUpdata);
/// <summary>
/// 删除好友
/// </summary>
/// <param name="msg"></param>
public abstract void DeleteFriend(string msg);
/// <summary>
/// 修改好友备注【好友操作】
/// </summary>
/// <param name="username">好友账号</param>
/// <param name="remark">备注</param>
/// <returns></returns>
public abstract void ModifyFriendRemark(string username, string remark);
/// <summary>
/// 接收好友申请
/// </summary>
/// <param name="username"></param>
/// <param name="msg"></param>
/// <returns></returns>
public abstract void AcceptFriend(string msg);
/// <summary>
/// 发送消息
/// </summary>
/// <param name="username">接收者账号</param>
/// <param name="message">发送的消息</param>
public abstract void SendMessage(string username, string message, string msgId = "", string usernick = "",
string quoteMess = "");
/// <summary>
/// 发送小程序
/// </summary>
/// <param name="username"></param>
/// <param name="msg"></param>
public abstract void SendProgramMessage(string username, string msg);
/// <summary>
/// 发送文件消息
/// </summary>
/// <param name="username">接收者的微信</param>
/// <param name="file">文件的路径</param>
public abstract void SendFile(string username, string file);
/// <summary>
/// 发送名片
/// </summary>
/// <param name="username">接收者的微信</param>
/// <param name="cardwxid">名片微信</param>
public abstract void SendCard(string username, string cardwxid);
/// <summary>
/// 发送链接(卡片)
/// </summary>
/// <param name="username">接收者的账号</param>
/// <param name="title">链接标题</param>
/// <param name="desc">链接描述</param>
/// <param name="url">链接地址</param>
/// <param name="image_url">链接图片URL</param>
public abstract void SendLinkMessage(string username, string title, string desc, string url, string image_url);
/// <summary>
/// 发送图片
/// </summary>
/// <param name="username">接收者的微信</param>
/// <param name="imgPath">图片的路径</param>
public abstract void SendImage(string username, string imgPath);
/// <summary>
/// 发送视频
/// </summary>
/// <param name="username">接收者的微信</param>
/// <param name="path">视频路径</param>
public abstract void SendVideo(string username, string path);
/// <summary>
/// 修改群公告(可用于@全体)【群操作】
/// </summary>
/// <param name="groupid">群ID</param>
/// <param name="notice">新公告</param>
/// <returns></returns>
public abstract void ModifyGroupNotice(string groupid, string notice);
/// <summary>
/// 创建群
/// </summary>
/// <param name="usernames">两个以上用户账号</param>
public abstract Task<CreateGroupInfo> CreateGroup(string[] usernames);
/// <summary>
/// 发送服务端_创建群
/// </summary>
/// <param name="usernames"></param>
public abstract void Ser_CreateGroup(string[] usernames);
/// <summary>
/// 删除群用户
/// </summary>
/// <param name="groupid">群ID</param>
/// <param name="usernames">要删除的用户账号</param>
public abstract void DeleteGroupMember(string groupid, string[] usernames);
/// <summary>
/// 退出并删除群【群操作】
/// </summary>
/// <param name="groupid">群ID</param>
/// <returns></returns>
public abstract void QuitAndDelGroup(string groupid);
/// <summary>
/// 修改群名称
/// </summary>
/// <param name="groupid">要修改的群账号</param>
/// <param name="newName">新群名</param>
/// <returns></returns>
public abstract void ModifyGroupName(string groupid, string newName);
/// <summary>
/// 获取个人信息
/// </summary>
/// <returns></returns>
public abstract Task<FriendBase> GetSelfInfo();
/// <summary>
/// 发送服务端_获取个人信息
/// </summary>
public abstract void Ser_GetSelfInfo();
/// <summary>
/// 发送服务端_获取好友或群信息
/// </summary>
public abstract void Ser_GetContact(string username);
/// <summary>
/// 获取单个用户信息
/// </summary>
/// <param name="username">获取信息的用户账号</param>
/// <returns></returns>
public abstract Task<FriendBase> GetFriendInfo(string username);
/// <summary>
/// 获取群好友信息
/// </summary>
/// <param name="userName">用户账号</param>
/// <param name="groupId">群账号</param>
/// <param name="IsFlush">是否刷新</param>
/// <returns></returns>
public abstract void GetFriendInfo(string userName, string groupId, bool IsFlush = false);
/// <summary>
/// 获取所有群组列表(不包含用户详细信息)
/// </summary>
/// <returns></returns>
public abstract Task<Dictionary<string, GroupBase>> GetGroupInfos();
/// <summary>
/// 获取指定群组成员信息
/// </summary>
/// <param name="groupid">群ID</param>
/// <returns></returns>
public abstract Task<GroupBase> GetGroupMemberInfo(string groupid);
/// <summary>
/// 退出微信
/// </summary>
/// <exception cref="Exception"></exception>
public abstract void OutLogin();
/// <summary>
/// 退出微信
/// </summary>
public abstract void OutLogin(string message);
/// <summary>
/// 微信版本
/// </summary>
/// <returns></returns>
public abstract string GetVersion();
}
}