企业微信小程序怎么弄到微信里(企业微信小程序怎么弄悬浮窗)

一、写在前面的话

1.1、现状

在目前的业务中我们有着很多的消息推送的需求,一开始我们是放在微信公众号的模板消息里面的。

后来因为便利性问题转移到了企业微信的应用消息。

但是随着消息种类、数量越来越多,就会显得很臃肿。所以在在近期的小程序整体完善后,业务调整为:

① 业务消息发送企业微信消息并链接到小程序

② 通知消息走目前的自建应用消息

1.2、预期达成

简单来说这次的调整主要预期有如下3个:

① 业务和通知分离

② 解决消息堆积和臃肿的问题

③ 切掉目前应用消息链接的H5页面

1.3、相关参考

因为这次修改时在之前的基础上进行的,所以如果你有一些云里雾里,可以先阅读下面的文章:

springboot集成企业微信收发应用消息

二、企业微信支持

2.1、官方说明

小程序通知消息,只允许绑定了小程序的应用发送,从2019年6月28日起,用户收到的小程序通知会出现在各个独立的应用中。

通过上述说明我们可以获得的信息有:

① 企业微信支持发送小程序消息

② 企业微信要绑定小程序

③ 用户接受的通知显示在小程序的应用中(这正是我想要的!)

④ 不支持全员发送了(因为现在消息分属小程序应用了)

2.2、请求示例


{
   "touser" : "zhangsan|lisi",
   "toparty": "1|2",
   "totag": "1|2",
   "msgtype" : "miniprogram_notice",
   "miniprogram_notice" : {
        "appid": "wx123123123123123",
        "page": "pages/index?userid=zhangsan&orderid=123123123",
        "title": "会议室预订成功通知",
        "description": "4月27日 16:16",
        "emphasis_first_item": true,
        "content_item": [
            {
                "key": "会议室",
                "value": "402"
            },
            {
                "key": "会议地点",
                "value": "广州TIT-402会议室"
            },
            {
                "key": "会议时间",
                "value": "2018年8月1日 09:00-09:30"
            },
            {
                "key": "参与人员",
                "value": "周剑轩"
            }
        ]
    },
   "enable_id_trans": 0,
   "enable_duplicate_check": 0,
   "duplicate_check_interval": 1800
}

Java

2.3、参数说明

参数

是否必须

说明

touser

成员ID列表(消息接收者,多个接收者用‘|’分隔,最多支持1000个)

toparty

部门ID列表,多个接收者用‘|’分隔,最多支持100个。

totag

标签ID列表,多个接收者用‘|’分隔,最多支持100个。

msgtype

消息类型,此时固定为:miniprogram_notice

appid

小程序appid,必须是与当前应用关联的小程序

page

点击消息卡片后的小程序页面,仅限本小程序内的页面。该字段不填则消息点击后不跳转。

title

消息标题,长度限制4-12个汉字(支持id转译)

description

消息描述,长度限制4-12个汉字(支持id转译)

emphasis_first_item

是否放大第一个content_item

content_item

消息内容键值对,最多允许10个item

key

长度10个汉字以内

value

长度30个汉字以内(支持id转译)

enable_id_trans

表示是否开启id转译,0表示否,1表示是,默认0

enable_duplicate_check

表示是否开启重复消息检查,0表示否,1表示是,默认0

duplicate_check_interval

表示是否重复消息检查的时间间隔,默认1800s,最大不超过4小时

2.4、官方示例效果

企业微信小程序怎么弄到微信里(企业微信小程序怎么弄悬浮窗)

三、整体改造过程

3.1、创建微信小程序

这个就不做过多的说明了…

3.2、创建小程序应用

这里选择关联已有的小程序,会自动跳转到微信登录平台,按说明一步步操作即可。

企业微信小程序怎么弄到微信里(企业微信小程序怎么弄悬浮窗)

创建完成后如下:

一个是应用

一个是微信小程序

企业微信小程序怎么弄到微信里(企业微信小程序怎么弄悬浮窗)

3.3、增加消息类型枚举类


    MSG_TYPE_00(0, "文本消息"),
    MSG_TYPE_01(1, "图片消息"),
    MSG_TYPE_02(2, "语音消息"),
    MSG_TYPE_03(3, "视频消息"),
    MSG_TYPE_04(4, "文件消息"),
    MSG_TYPE_05(5, "图文消息"),
    MSG_TYPE_06(6, "卡片消息"),
    MSG_TYPE_07(7, "小程序消息");

Java

3.4、增加小程序的业务分支

case 7:
    /*小程序消息发送*/
    MiniProgramDataDTO miniProgramDataDTO = new MiniProgramDataDTO();
    miniProgramDataDTO.setMsgtype("miniprogram_notice");
    miniProgramDataDTO.setTouser(msgHandlerVO.getToUser());
    miniProgramDataDTO.setToparty(msgHandlerVO.getToparty());
    miniProgramDataDTO.setMiniprogram_notice(msgHandlerVO.getMiniProgramDataVO());
    rltStr = HttpClientUtil.sendJsonStr(url, JSONObject.toJSONString(miniProgramDataDTO));
    break;

Java

3.5、附上我的微信小程序测试POJO


/**
* @author XA
* date 2020/11/18 14:30
 * description  小程序内容DTO
* params
* return
*/
@Data
public class MiniProgramDataDTO implements Serializable {

    /**
    * 消息类型,此时固定为:miniprogram_notice
    */
    private String msgtype;

    /**
    * 部门ID列表,多个接收者用‘|’分隔,最多支持100个。
    */
    private String toparty;

    /**
    * 成员ID列表(消息接收者,多个接收者用‘|’分隔,最多支持1000个)
    */
    private String touser;

    /**
    * 小程序消息内容
    */
    private MiniProgramDataVO miniprogram_notice;

}


/**
* @author XA
* date 2020/11/18 14:30
 * description  小程序内容VO
* params
* return
*/
@Data
public class MiniProgramDataVO implements Serializable {
    /**
    * appId
    */
    @NotBlank(message = "appId不能为空!")
    private String appid;

    /**
    * 小程序跳转页,不传则不跳转
    */
    @NotBlank(message = "小程序跳转页不能为空!")
    private String page;

    /**
    * 标题
    */
    @NotBlank(message = "标题不能为空!")
    private String title;

    /**
    * 消息描述
    */
    private String description;

    /**
    * 是否放大一级标题
    */
    private boolean emphasis_first_item;

    /**
    * 消息内容键值对,最多支持10个
    */
    private List<JSONObject> content_item;

}

Java

3.6、测试发送

企业微信小程序怎么弄到微信里(企业微信小程序怎么弄悬浮窗)

四、写在最后

4.1、效果展示

企业微信小程序怎么弄到微信里(企业微信小程序怎么弄悬浮窗)

4.2、注意事项

① 首次进入要进行微信授权

② 可能因为小程序登录过期(按各自业务处理),导致要重新登录

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 sumchina520@foxmail.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.yiheng8.com/161531.html