企业微信家校沟通工具类

简介: 企业微信家校沟通工具类

1.引入maven依赖:

<dependency>
    <groupId>com.github.binarywang</groupId>
    <artifactId>weixin-java-cp</artifactId>
    <version>3.8.0</version>
</dependency>

2.重写WxCpExternalContactServiceImpl(如果要扩充,可以自行查询官方文档-家校沟通进行扩展):

/**
 * description: 家校沟通消息发送实现
 * create by: YangLinWei
 * create time: 2020/8/31 3:12 下午
 */
public class WxCpExternalServiceImpl extends WxCpExternalContactServiceImpl {
    private final WxCpService mainService;
    public static final String GET_ALL_DEPARTMENT_LIST = "/cgi-bin/school/department/list";
    public static final String GET_STUDENT_PARENT_LIST = "/cgi-bin/school/user/list";
    private static final String MESSAGE_SEND_URL = "/cgi-bin/externalcontact/message/send";
    private static final String SUBSCRIBE_QR_CODE = "/cgi-bin/externalcontact/get_subscribe_qr_code";
    public WxCpExternalServiceImpl(WxCpService mainService) {
        super(mainService);
        this.mainService = mainService;
    }
    /**
     * 获取部门列表
     *
     * @return 获取所有部门
     */
    public String getAllDepartmentList() throws WxErrorException {
        String url = this.mainService.getWxCpConfigStorage().getApiUrl(GET_ALL_DEPARTMENT_LIST);
        return this.mainService.get(url, null);
    }
    /**
     * 获取部门列表
     *
     * @param departMentId 部门id
     * @return 获取指定部门及其下的子部门
     */
    public String getAllDepartmentList(int departMentId) throws WxErrorException {
        String url = this.mainService.getWxCpConfigStorage().getApiUrl(GET_ALL_DEPARTMENT_LIST);
        return this.mainService.get(url, "id=" + departMentId);
    }
    /**
     * 获取获取部门成员详情
     *
     * @param departMentId 部门id
     * @param featchChild  是否递归获取子部门下面的成员
     * @return
     * @throws WxErrorException
     */
    public String getUserList(int departMentId, boolean featchChild) throws WxErrorException {
        String url = this.mainService.getWxCpConfigStorage().getApiUrl(GET_STUDENT_PARENT_LIST + "?department_id=" + departMentId + (featchChild ? "&fetch_child=FETCH_CHILD" : ""));
       return this.mainService.get(url, null);
    }
    /**
     * 消息发送
     *
     * @param message 发送的消息
     * @return
     * @throws WxErrorException
     */
    public String messageSend(WxCpExternalMessage message) throws WxErrorException {
        String url = this.mainService.getWxCpConfigStorage().getApiUrl(MESSAGE_SEND_URL);
      return  this.mainService.post(url, message.toJson());
    }
    /**
     * 获取「学校通知」二维码
     *
     * @return
     * @throws WxErrorException
     */
    public String getQrCode() throws WxErrorException {
        String url = this.mainService.getWxCpConfigStorage().getApiUrl(SUBSCRIBE_QR_CODE);
        return this.mainService.get(url, null);
    }
}

3.调用方式:

// 初始化工具类
WxCpDefaultConfigImpl config = new WxCpDefaultConfigImpl();
config.setCorpId("corpId企业id");
config.setCorpSecret("corpSecret应用秘钥");
config.setAgentId("agentId应用id");
WxCpServiceImpl wxCpService = new WxCpServiceImpl();
wxCpService.setWxCpConfigStorage(config);
WxCpExternalServiceImpl wxCpExternalService = new WxCpExternalServiceImpl(wxCpService);
//发送纯文本
WxCpExternalMessage message = WxCpExternalMessage.TEXT()
                   .agentId("agentId应用id")
                   .toParentUserid("家长id集合")
                   .content("发送内容")
                   .build();
wxCpExternalService.messageSend(message);

备注:这里的WxCpExternalMessage我是仿照WxcpMessage构造的,此处不再贴代码,需要的可以私聊。

目录
相关文章
|
NoSQL 安全 搜索推荐
连接微信群、Slack 和 GitHub:社区开放沟通的基础设施搭建
在开源社区中,开放的一个重要意义是社区内的沟通、讨论应该是透明、包容并且方便所有成员访问的。这意味着社区中的任何人都应该能够参与讨论和决策过程,并且所有相关信息应该公开和自由地与他人共享。
276 0
|
Android开发 开发者
移动应用可以通过微信沟通接口连接公众号 微信涨粉多了一个新通道
  开发一个移动APP一般都会添加自己的主页或微信号,如果你知晓营销的话。这个关注功能可能需要用js来实现,虽然如今的手机大都是智能机了,但还是要考虑一些配置不是那么好的机友。现在好了,微信沟通接口上线,开启移动应用与公众号的连接。
795 0
|
18天前
|
小程序 前端开发 API
微信小程序全栈开发中的异常处理与日志记录
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的异常处理和日志记录,强调其对确保应用稳定性和用户体验的重要性。异常处理涵盖前端(网络、页面跳转、用户输入、逻辑异常)和后端(数据库、API、业务逻辑)方面;日志记录则关注关键操作和异常情况的追踪。实践中,前端可利用try-catch处理异常,后端借助日志框架记录异常,同时采用集中式日志管理工具提升分析效率。开发者应注意安全性、性能和团队协作,以优化异常处理与日志记录流程。
|
18天前
|
小程序 安全 数据安全/隐私保护
微信小程序全栈开发中的身份认证与授权机制
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的身份认证与授权机制。身份认证包括手机号验证、微信登录和第三方登录,而授权机制涉及角色权限控制、ACL和OAuth 2.0。实践中,开发者可利用微信登录获取用户信息,集成第三方登录,以及实施角色和ACL进行权限控制。注意点包括安全性、用户体验和合规性,以保障小程序的安全运行和良好体验。通过这些方法,开发者能有效掌握小程序全栈开发技术。
|
18天前
|
JavaScript 前端开发 小程序
微信小程序全栈开发之性能优化策略
【4月更文挑战第12天】本文探讨了微信小程序全栈开发的性能优化策略,包括前端的资源和渲染优化,如图片压缩、虚拟DOM、代码分割;后端的数据库和API优化,如索引创建、缓存使用、RESTful API设计;以及服务器的负载均衡和CDN加速。通过这些方法,开发者可提升小程序性能,优化用户体验,增强商业价值。
|
18天前
|
小程序 前端开发 JavaScript
微信小程序全栈开发中的PWA技术应用
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中PWA技术的应用,PWA结合Web的开放性和原生应用的性能,提供离线访问、后台运行、桌面图标和原生体验。开发者可利用Service Worker实现离线访问,Worker处理后台运行,Web App Manifest添加桌面图标,CSS和JavaScript提升原生体验。实践中需注意兼容性、性能优化和用户体验。PWA技术能提升小程序的性能和用户体验,助力开发者打造优质小程序。
|
7天前
|
数据采集 存储 人工智能
【Python+微信】【企业微信开发入坑指北】4. 企业微信接入GPT,只需一个URL,自动获取文章总结
【Python+微信】【企业微信开发入坑指北】4. 企业微信接入GPT,只需一个URL,自动获取文章总结
21 0

热门文章

最新文章