UMX消息是供应宝系统通信单元,每种消息由(消息域,消息类型,消息ID)识别。

功能通过UMX消息交互序列实现。

一种UMX消息可用来实现不同的功能。UMX消息和功能没有一一对应关系。

待办事宜是一种应用功能,支持分类。

待办事宜可以是:

.一个转发的消息

.一个关联记录(如一张待处理单据,一份待阅读公告).

使用说明:

.一种消息只会生成一种待办事宜

.应用插件可以根据消息的内容决定生成的待办事宜类型和提示信息

///< 待办事宜转换器接口
class ITodoCvt{
public:
    virtual int Add(CQQ_MSGTYPE msgtype,CQQ_MSGID msgid,TodoCvtFunc fp,CQQ_DOMAIN domain=0) = 0; ///< 增加一种消息映射
    virtual int Remove(CQQ_MSGTYPE msgtype,CQQ_MSGID msgid,CQQ_DOMAIN domain=0) = 0; ///< 删除一种消息映射
};

应用示例


int TodoCvt(CMsg *msg,CSEMQTodoItem *tdi) {
    ::MSGTYPE msgtype = msg->GetMsgType();
    ::MSGID msgid = msg->GetMsgID();
    CQQ_DOMAIN domain = msg->GetDomain();
    if (msgtype==MT_INDICATION&&msgid==1103&&domain==0) { ///< 离线消息
        tdi->todo_rootclass_ = WP_TODOTYPE_OFFMSG;
    }
    else if (msgtype==MT_INDICATION&&msgid==1231&&domain==0) { ///< 公告
        const char *szTitle = msg->GetParam("Notice_title"); ///< 公告只能以机构名义发布
        const char *szOrgID = msg->GetParam("Pub_orgid");
        const char *szOrgName = msg->GetParam("Pub_OrgName");
        tdi->todo_title_ = LogMsg("您接收到了一条来自%s(%s)的公告,%s",szOrgName,szOrgID,szTitle);
        tdi->todo_rootclass_ = WP_TODOTYPE_NOTICE;
    }
    return 0;
}

int CBBoxPlugin::Prepare() {
    parent::Prepare();
  ...

///< 为需要生成待办事宜的消息指定转换函数
    TODO_CVT::instance()->Add(MT_INDICATION,1103,TodoCvt); ///< 离线消息转待办事宜
    TODO_CVT::instance()->Add(MT_INDICATION,1231,TodoCvt); ///< 公告通知转待办事宜
    ...
    return 0;
}

UMX消息和待办事宜类型之间的转换方式相关推荐

  1. 自学Python第二十二天- Django框架(三) AJAX、文件上传、POST 请求类型之间的转换、多APP开发、iframe、验证码、分页器、类视图、中间件、信号、日志、缓存、celery异步

    Django官方文档 django 使用 AJAX django 项目中也可以使用 ajax 技术 前端 前端和其他 web 框架一样,需要注意的是,django 接收 POST 请求时,需要 csr ...

  2. strconv---用来基本类型之间的转换

    strconv---用来基本类型之间的转换 字符串转int:Atoi(s string)(i int,err error) int转字符串: Itoa(i int)string string转换为对应 ...

  3. mysql time类型转换_mysql8 参考手册--Date日期和Time时间类型之间的转换

    在某种程度上,您可以将值从一种时间类型转换为另一种时间类型.但是,价值可能会有所变化或信息丢失.在所有情况下,时间类型之间的转换都取决于结果类型的有效值范围.例如,尽管 DATE, DATETIME和 ...

  4. c语言 字符转int型,C语言—类型之间的转换

    原标题:C语言-类型之间的转换 当混合不同类型的数据进行计算时,便会发生类型转换. 当不同类型的数据进行计算时,应首先将操作数转换成相同的数据类型,然后再进行计算. 类型转换有两种形式,即隐式类型转换 ...

  5. pythonDay5-基本语法-中文编码-多行语句连接-输入输出-个人名片制作-类型之间的转换-判断用户的年龄

    python项目-Day5 pycharm快捷键 复制当前行ctrl+D 删除当前行ctrl+x 注释当前行ctrl+/ 多行注释"' "' 单行注释# 另起一行shift+ent ...

  6. javaScript基本数据类型与类型之间的转换

    1.number类型(数值类型) number类型又分为整数类型(int),浮点型(float). 整数类型就是整数比如:1 ,30,90等 浮点数就是有小数的数比如:0.1,9.99,5.55555 ...

  7. java类型之间的转换_JAVA基本数据类型及之间的转换

    一.数据类型 1.布尔型(boolean) :true/false,不可以以0或非0的数字代替:不能进行数据之间的转换. 2.整数类型 ** 整型默认为int型,而long类型表示的范围要超出int表 ...

  8. long(Long)与int(Integer)四种类型之间互相转换的方法分享

    最近开发的项目,里面的金额比较大,经常有long型 ,int型,那么他们之间怎么转换呢? 下文笔者将一一道来,如下所示: 一.将long型转化为int型,此处的long型是基础类型: long a = ...

  9. 26.JavaScript对象和基础类型之间的转换、hint、Symbol.toPrimitive、toString、valueOf

    文章目录 对象-基础类型转换 写在前面 对象类型转换规则 对象类型转换的结果 Hint String Number Default 转换需要的三个对象方法 Symbol.toPrimitive() t ...

最新文章

  1. react的安装使用
  2. pycharm 波浪线报绿 Typo: In word 'xxxx'(绿色波浪线)
  3. 三十三、自从我会了Python中的PIL,发现了其实超级简单
  4. ES10 可以使用几个新特性
  5. 用了都说好的SCI在线绘图工具来了~~~~~~~
  6. 软件中打开其他软件的方式
  7. html堆叠柱状图脚本,Highcharts 堆叠组柱形图
  8. radvd移植到arm交叉编译问题解决
  9. String、StringBuilder、StringBuffer 区别
  10. Ext.Net动态创建按钮-动态添加事件
  11. Red5边源服务器集群部署
  12. 银监计算机类 考试题库,银监会(计算机类)笔试资料-微观经济学试题库 .doc...
  13. 4.4 Hibernate高级功能
  14. WeCode在线少儿编程|为什么我们选择代码编程
  15. 16进制 颜色透明度
  16. 恩典时代集团与深圳植慧科技产业签署合作备忘录
  17. 7-11 特立独行的幸福 (25分)
  18. 假装写在了开头qwq
  19. python 采用to_csv保存数据不覆盖原有数据到文件中
  20. day07 c++复习 核心编程02 核心内容(1、友元 2、3、继承 )

热门文章

  1. 网络中的数据传输模式有哪些-镭速
  2. java提示OLE错误,java – 如何解决JXL错误:jxl.read.biff.BiffException:无法识别OLE流...
  3. S=S1 S2...Sn是一个长度为N的字符串,存放在一个数组中,编程将S改造之后输出:
  4. n 阶贝塞尔曲线计算公式实现
  5. onlyoffice docs 社区版部署(windows版)--使用于onlyoffice二次开发
  6. 阿里云与Intel开启“TOP游戏”云生态培育计划,共建精品游戏生态
  7. 全球26个主流视频网站全搞定,都可以用这个神器下载原版高清视频!
  8. 统计系列(三)利用Python进行参数估计
  9. Python统计学之样本和总体的关系
  10. 2021-2027全球与中国热成型塑料容器市场现状及未来发展趋势