215 lines
6.9 KiB
C#
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();
|
|
}
|
|
}
|