马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本文重要形貌了判断小步调用户是否关注公众号的逻辑实现及部分代码
首先论述一下大抵流程:
1、在将小步调和公众号绑定至同一个微信开发平台下;
2、后端拉取公众号已关注用户列表,并获取此中每一个用户的unionID, 建立已关注用户表;
3、后端可做定时任务更新该表;
4、用户在小步调中登录注册时后端用code拿到用户的unionID并生存;
5、前端请求查询时,后端根据发起请求用户的unionID查表,判断该用户是否已关注;
一、数据库表和Mapper层
- 这里简单给出了建表语句和实体类, 具体mapper/service层可自行实现
- CREATE TABLE `public_user` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT,
- `open_id` varchar(50) DEFAULT NULL COMMENT 'openId',
- `union_id` varchar(50) DEFAULT NULL COMMENT 'union',
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=1DEFAULT CHARSET=utf8mb4;
- @Table(name = "public_user")
- @NoArgsConstructor
- @AllArgsConstructor
- @Builder
- @Data
- public class PublicUser implements Serializable {
- @Id
- @GeneratedValue(
- strategy = GenerationType.IDENTITY
- )
- private Long id;
- @Column(name = "open_id")
- private String openId;
- @Column(name = "union_id")
- private String unionId;
- }
- public interface PublicUserMapper {
- }
复制代码 二、微信公众号对接接口相关逻辑代码
1.三个基础接收对象类
- @Data
- public class WeixinUserInfoVo {
- private String openid;
- private String unionid;
- /**
- * 该值为0值 则没有openId和unionId
- */
- private Integer subscribe;
- private Integer errcode;
- }
- @Data
- public class WeixinUserListVo {
- private Integer errcode;
- @ApiModelProperty("关注该公众账号的总用户数")
- private Integer total;
- @ApiModelProperty("拉取的OPENID个数,最大值为10000")
- private Integer count;
- @ApiModelProperty("列表数据,OPENID的列表")
- private WxOpenidInfo data;
- @ApiModelProperty("拉取列表的最后一个用户的OPENID")
- private String next_openid;
- }
- @Data
- public class WxOpenidInfo {
- private List<String> openid;
- }
复制代码 2.调用微信接口相关
3.判断是否关注的逻辑
根据调用selectWeixinPublicUserInfoByUnionId的返回判断是否关注
①已关注(subscribe字段判断 1:已关注)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |