热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

.Net6+Furion+Sqlsugar+SenparcSdk开发微信公众号系列之十二:用户管理

一、用户标签管理1.1、创建标签Services文件夹下新建User文件夹和用户服务类Dto文件夹下新建TagInput.cspublicclassTagInput{

一、用户标签管理

1.1、创建标签

Services文件夹下新建User文件夹和用户服务类

Dto文件夹下新建TagInput.cs

public class TagInput
{
///


/// 标签名称
///

public string Name { get; set; }
}

新建添加标签接口

///


/// 创建标签
///

///
[HttpPost("/user/tag/add")]
public async Task CreateTag(TagInput input)
{
return await UserTagApi.CreateAsync(AppId, input.Name);
}

测试一下,成功显示

 


1.2、获取公众号已创建的标签

新建接口

///


/// 获取公众号已创建的标签
///

///


///
[HttpGet("/user/tag/list")]
public async Task GetTags(TagInput input)
{
return await UserTagApi.GetAsync(AppId);
}

测试接口


1.3、编辑标签

TagInput.cs新增UpdateTagInput类

public class UpdateTagInput: TagInput
{
public int Id { get; set; }
}

新建接口

///


/// 编辑标签
///

///


///
[HttpPost("/user/tag/update")]
public async Task UpdateTag(UpdateTagInput input)
{
return await UserTagApi.UpdateAsync(AppId, input.Id, input.Name);
}

 测试一下

再查看接口


1.4、删除标签

 新建接口

///


/// 删除标签
///

///


///
[HttpPost("/user/tag/delete")]
public async Task DeleteTag(UpdateTagInput input)
{
return await UserTagApi.DeleteAsync(AppId, input.Id);
}

测试一下

再获取一下列表,成功删除


1.5、获取标签下粉丝列表

新建接口

///


/// 获取标签下粉丝列表
///

///


///
[HttpGet("/user/tag/user")]
public async Task GetTagUser(UpdateTagInput input)
{
return await UserTagApi.GetAsync(AppId, input.Id);
}

测试一下,因为还没打标签所以是空的


二、用户管理

2.1、批量为用户打标签

TagInput.cs新建UserTagInput.cs

public class UserTagInput : UpdateTagInput
{
public List Users { get; set; } = new List();
}

新建接口

///


/// 批量为用户打标签
///

///


///
[HttpPost("/user/tag/batch")]
public async Task BatchTag(UserTagInput input)
{
return await UserTagApi.BatchTaggingAsync(AppId, input.Id, input.Users);
}

测试接口

再看一下获取标签下用户接口


2.2、批量为用户取消标签

新建接口

///


/// 批量为用户取消标签
///

///


///
[HttpPost("/user/tag/unbatch")]
public async Task BatchUnTag(UserTagInput input)
{
return await UserTagApi.BatchUntaggingAsync(AppId, input.Id, input.Users);
}

测试接口

再获取一下


2.3、获取用户身上的标签列表

新建接口

///


/// 获取用户身上的标签列表
///

///


///
[HttpGet("/user/tag/batchlist/{openid}")]
public async Task UserTagList(string openid)
{
return await UserTagApi.UserTagListAsync(AppId, openid);
}

测试一下


2.4、设置用户备注名

Dto文件夹新建UserInput.cs


namespace WeiXinApi.Application.Services
{
public class UserInput
{
///


/// 微信号
///

public string OpenId { get; set; }
///
/// 备注
///

public string Remark { get; set; }
}
}

新建接口

///


/// 设置用户备注名
///

///


///
[HttpPost("/user/updateremark")]
public async Task UpdateRemark(UserInput input)
{
return await UserApi.UpdateRemarkAsync(AppId, input.OpenId, input.Remark);
}

测试接口


2.5、获取用户基本信息

新建接口

///


/// 获取用户基本信息
///

///


///
[HttpGet("/user/info/{openid}")]
public async Task UserInfo(string openid)
{
return await UserApi.InfoAsync(AppId, openid);
}

 测试一下,可以看到备注是我们之前设置的


2.6、获取用户列表

UserInput.cs下新建UserListInput.cs

public class UserListInput
{
///


/// 第一个拉取的OPENID,不填默认从头开始拉取
///

public string NextOpenId { get; set; }
}

新建接口

///


/// 获取用户列表
///

///


///
[HttpGet("/user/list")]
public async Task UserList([FromQuery] UserListInput input)
{
return await UserApi.GetAsync(AppId, input.NextOpenId);
}

测试一下


三、黑名单管理

3.1、拉黑用户

///


/// 批量拉黑用户
///

///


///
[HttpPost("/user/batchblacklist")]
public async Task Batchblacklist(BlackInput input)
{
return await UserApi.BatchBlackListAsync(AppId, input.OpenidList);
}

测试接口


3.2、黑名单列表

BlackInput新增字段

///


/// 当 begin_openid 为空时,默认从开头拉取。
///

public string BeginOpenid { get; set; }

新增接口

///


/// 获取黑名单列表
///

///


///
[HttpGet("/user/blacklist")]
public async Task GetBlackList([FromQuery] BlackInput input)
{
return await UserApi.GetBlackListAsync(AppId, input.BeginOpenid);
}

测试一下


3.3、取消拉黑用户

新建接口

///


/// 批量取消拉黑用户
///

///


///
[HttpPost("/user/batchunblackList")]
public async Task 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/



推荐阅读
  • Android开发常见问题汇总(含Gradle解决方案)第二篇
    本文继续深入探讨Android开发中常见的问题及其解决方案,特别聚焦于Gradle相关的挑战。通过详细分析和实例演示,帮助开发者高效解决构建过程中的各种难题,提升开发效率和项目稳定性。 ... [详细]
  • 深入解析Gradle中的Project核心组件
    在Gradle构建系统中,`Project` 是一个核心组件,扮演着至关重要的角色。通过使用 `./gradlew projects` 命令,可以清晰地列出当前项目结构中包含的所有子项目,这有助于开发者更好地理解和管理复杂的多模块项目。此外,`Project` 对象还提供了丰富的配置选项和生命周期管理功能,使得构建过程更加灵活高效。 ... [详细]
  • 从零起步:使用IntelliJ IDEA搭建Spring Boot应用的详细指南
    从零起步:使用IntelliJ IDEA搭建Spring Boot应用的详细指南 ... [详细]
  • 本文提供了 RabbitMQ 3.7 的快速上手指南,详细介绍了环境搭建、生产者和消费者的配置与使用。通过官方教程的指引,读者可以轻松完成初步测试和实践,快速掌握 RabbitMQ 的核心功能和基本操作。 ... [详细]
  • 在RabbitMQ中,消息发布者默认情况下不会接收到关于消息在Broker中状态的反馈,这可能导致消息丢失的问题。为了确保消息的可靠传输与投递,可以采用确认机制(如发布确认和事务模式)来验证消息是否成功抵达Broker,并采取相应的重试策略以提高系统的可靠性。此外,还可以配置消息持久化和镜像队列等高级功能,进一步增强消息的可靠性和高可用性。 ... [详细]
  • 前言: 网上搭建k8s的文章很多,但很多都无法按其说明在阿里云ecs服务器成功搭建,所以我就花了些时间基于自己成功搭建k8s的步骤写了个操作手册,希望对想搭建k8s环境的盆友有所帮 ... [详细]
  • 深入解析 UIImageView 与 UIImage 的关键细节与应用技巧
    本文深入探讨了 UIImageView 和 UIImage 的核心特性及应用技巧。首先,详细介绍了如何在 UIImageView 中实现动画效果,包括创建和配置 UIImageView 实例的具体步骤。此外,还探讨了 UIImage 的加载方式及其对性能的影响,提供了优化图像显示和内存管理的有效方法。通过实例代码和实际应用场景,帮助开发者更好地理解和掌握这两个重要类的使用技巧。 ... [详细]
  • 本文详细解析了JSONP(JSON with Padding)的跨域机制及其工作原理。JSONP是一种通过动态创建``标签来实现跨域请求的技术,其核心在于利用了浏览器对``标签的宽松同源策略。文章不仅介绍了JSONP的产生背景,还深入探讨了其具体实现过程,包括如何构造请求、服务器端如何响应以及客户端如何处理返回的数据。此外,还分析了JSONP的优势和局限性,帮助读者全面理解这一技术在现代Web开发中的应用。 ... [详细]
  • 基于Node.js的高性能实时消息推送系统通过集成Socket.IO和Express框架,实现了高效的高并发消息转发功能。该系统能够支持大量用户同时在线,并确保消息的实时性和可靠性,适用于需要即时通信的应用场景。 ... [详细]
  • 深入解析 Django 中用户模型的自定义方法与技巧 ... [详细]
  • 使用 MyEclipse 和 TestNG 测试框架在 Java 中高效进行单元测试
    通过MyEclipse集成TestNG测试框架,可以在Java开发中高效地进行单元测试。本文介绍了在JDK 1.8.0_121和MyEclipse 10.0离线环境下配置和使用TestNG的具体步骤,帮助开发者提高测试效率和代码质量。 ... [详细]
  • Spring Boot 实战(一):基础的CRUD操作详解
    在《Spring Boot 实战(一)》中,详细介绍了基础的CRUD操作,涵盖创建、读取、更新和删除等核心功能,适合初学者快速掌握Spring Boot框架的应用开发技巧。 ... [详细]
  • 在 Android 开发中,通过合理利用系统通知服务,可以显著提升应用的用户交互体验。针对 Android 8.0 及以上版本,开发者需首先创建并注册通知渠道。本文将详细介绍如何在应用中实现这一功能,包括初始化通知管理器、创建通知渠道以及发送通知的具体步骤,帮助开发者更好地理解和应用这些技术细节。 ... [详细]
  • 提升工作效率:掌握这些技巧,IDEA 使用效率翻倍 | IDEA 高效操作指南
    提升工作效率:掌握这些技巧,IDEA 使用效率翻倍 | IDEA 高效操作指南 ... [详细]
  • Gear 月度进展报告:2023年7月最新动态与技术升级
    Gear 月度进展报告:2023年7月最新动态与技术升级 ... [详细]
author-avatar
子华2502924833
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有