.Net6+Furion+Sqlsugar+SenparcSdk开发微信公众号系列之十二:用户管理
2022/6/7 2:19:53
本文主要是介绍.Net6+Furion+Sqlsugar+SenparcSdk开发微信公众号系列之十二:用户管理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、用户标签管理
1.1、创建标签
Services文件夹下新建User文件夹和用户服务类
Dto文件夹下新建TagInput.cs
public class TagInput { /// <summary> /// 标签名称 /// </summary> public string Name { get; set; } }
新建添加标签接口
/// <summary> /// 创建标签 /// </summary> /// <returns></returns> [HttpPost("/user/tag/add")] public async Task<dynamic> CreateTag(TagInput input) { return await UserTagApi.CreateAsync(AppId, input.Name); }
测试一下,成功显示
1.2、获取公众号已创建的标签
新建接口
/// <summary> /// 获取公众号已创建的标签 /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpGet("/user/tag/list")] public async Task<dynamic> GetTags(TagInput input) { return await UserTagApi.GetAsync(AppId); }
测试接口
1.3、编辑标签
TagInput.cs新增UpdateTagInput类
public class UpdateTagInput: TagInput { public int Id { get; set; } }
新建接口
/// <summary> /// 编辑标签 /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost("/user/tag/update")] public async Task<dynamic> UpdateTag(UpdateTagInput input) { return await UserTagApi.UpdateAsync(AppId, input.Id, input.Name); }
测试一下
再查看接口
1.4、删除标签
新建接口
/// <summary> /// 删除标签 /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost("/user/tag/delete")] public async Task<dynamic> DeleteTag(UpdateTagInput input) { return await UserTagApi.DeleteAsync(AppId, input.Id); }
测试一下
再获取一下列表,成功删除
1.5、获取标签下粉丝列表
新建接口
/// <summary> /// 获取标签下粉丝列表 /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpGet("/user/tag/user")] public async Task<dynamic> GetTagUser(UpdateTagInput input) { return await UserTagApi.GetAsync(AppId, input.Id); }
测试一下,因为还没打标签所以是空的
二、用户管理
2.1、批量为用户打标签
TagInput.cs新建UserTagInput.cs
public class UserTagInput : UpdateTagInput { public List<string> Users { get; set; } = new List<string>(); }
新建接口
/// <summary> /// 批量为用户打标签 /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost("/user/tag/batch")] public async Task<dynamic> BatchTag(UserTagInput input) { return await UserTagApi.BatchTaggingAsync(AppId, input.Id, input.Users); }
测试接口
再看一下获取标签下用户接口
2.2、批量为用户取消标签
新建接口
/// <summary> /// 批量为用户取消标签 /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost("/user/tag/unbatch")] public async Task<dynamic> BatchUnTag(UserTagInput input) { return await UserTagApi.BatchUntaggingAsync(AppId, input.Id, input.Users); }
测试接口
再获取一下
2.3、获取用户身上的标签列表
新建接口
/// <summary> /// 获取用户身上的标签列表 /// </summary> /// <param name="openid"></param> /// <returns></returns> [HttpGet("/user/tag/batchlist/{openid}")] public async Task<dynamic> UserTagList(string openid) { return await UserTagApi.UserTagListAsync(AppId, openid); }
测试一下
2.4、设置用户备注名
Dto文件夹新建UserInput.cs
namespace WeiXinApi.Application.Services { public class UserInput { /// <summary> /// 微信号 /// </summary> public string OpenId { get; set; } /// <summary> /// 备注 /// </summary> public string Remark { get; set; } } }
新建接口
/// <summary> /// 设置用户备注名 /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost("/user/updateremark")] public async Task<dynamic> UpdateRemark(UserInput input) { return await UserApi.UpdateRemarkAsync(AppId, input.OpenId, input.Remark); }
测试接口
2.5、获取用户基本信息
新建接口
/// <summary> /// 获取用户基本信息 /// </summary> /// <param name="openid"></param> /// <returns></returns> [HttpGet("/user/info/{openid}")] public async Task<dynamic> UserInfo(string openid) { return await UserApi.InfoAsync(AppId, openid); }
测试一下,可以看到备注是我们之前设置的
2.6、获取用户列表
UserInput.cs下新建UserListInput.cs
public class UserListInput { /// <summary> /// 第一个拉取的OPENID,不填默认从头开始拉取 /// </summary> public string NextOpenId { get; set; } }
新建接口
/// <summary> /// 获取用户列表 /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpGet("/user/list")] public async Task<dynamic> UserList([FromQuery] UserListInput input) { return await UserApi.GetAsync(AppId, input.NextOpenId); }
测试一下
三、黑名单管理
3.1、拉黑用户
/// <summary> /// 批量拉黑用户 /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost("/user/batchblacklist")] public async Task<dynamic> Batchblacklist(BlackInput input) { return await UserApi.BatchBlackListAsync(AppId, input.OpenidList); }
测试接口
3.2、黑名单列表
BlackInput新增字段
/// <summary> /// 当 begin_openid 为空时,默认从开头拉取。 /// </summary> public string BeginOpenid { get; set; }
新增接口
/// <summary> /// 获取黑名单列表 /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpGet("/user/blacklist")] public async Task<dynamic> GetBlackList([FromQuery] BlackInput input) { return await UserApi.GetBlackListAsync(AppId, input.BeginOpenid); }
测试一下
3.3、取消拉黑用户
新建接口
/// <summary> /// 批量取消拉黑用户 /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost("/user/batchunblackList")] public async Task<dynamic> BatchUnBlackList(BlackInput input) { return await UserApi.BatchUnBlackListAsync(AppId, input.OpenidList); }
测试一下
再获取黑名单看下
四、本章Gitee链接地址
https://gitee.com/huguodong520/weixinapi/tree/%E7%94%A8%E6%88%B7%E7%AE%A1%E7%90%86/
这篇关于.Net6+Furion+Sqlsugar+SenparcSdk开发微信公众号系列之十二:用户管理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-11-18微软研究:RAG系统的四个层次提升理解与回答能力
- 2024-11-15C#中怎么从PEM格式的证书中提取公钥?-icode9专业技术文章分享
- 2024-11-14云架构设计——如何用diagrams.net绘制专业的AWS架构图?
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#
- 2024-01-24Advanced .Net Debugging 1:你必须知道的调试工具