富消息通知,web端收到消息的json和uniapp端收到的json,不一样

linchunpeng 21天前 161

1、web端的json

{
    "type": 12,
    "mentionedType": 0,
    "mentionedTargets": [],
    "extra": "",
    "pushContent": "订单通知",
    "fromSelf": false,
    "title": "订单通知",
    "desc": "您好,您刚在商城下单成功,请关注订单状态",
    "datas": [
        {
            "key": "所在企业",
            "value": "AAA保安公司"
        },
        {
            "key": "下单时间",
            "value": "2025-07-09 17:00:00"
        },
        {
            "key": "商品名称",
            "value": "iPhone 16 pro max"
        },
        {
            "key": "订单金额",
            "value": "7999.00"
        },
        {
            "key": "状态",
            "value": "待发货"
        }
    ],
    "exName": "商城应用",
    "exUrl": "https://docs.wildfirechat.cn/server/predefined_message_content.html"
}

2、uniapp端

{
            "type": 12,
            "mentionedType": 0,
            "extra": "",
            "pushContent": "订单通知",
            "fromSelf": false,
            "title": "订单通知",
            "desc": "您好,您刚在商城下单成功,请关注订单状态",
            "remark": "",
            "datas": [],
            "exName": "商城应用",
            "exPortrait": "",
            "exUrl": "https://docs.wildfirechat.cn/server/predefined_message_content.html",
            "appId": ""
        }

少了datas内容,这是为什么?

最新回复 (10)
  • HeavyRain 21天前
    引用 2
    检查一下消息的encode和decode方法,理论上payload是不会有问题的,可能是decode出的问题
  • linchunpeng 19天前
    引用 3
    你们的demo:https://gitee.com/wfchat/uni-chat-uts,跑起来,也是这个问题
  • x86 19天前
    引用 4
    uni-chat-uts 项目,是哪个端有问题?
  • linchunpeng 19天前
    引用 5
    安卓端
  • czh123 18天前
    引用 6

    encode()和decode()代码,请问这样有问题吗?

  • HeavyRain 18天前
    引用 7
    你看看decode里的payload里的二进制数据一致性转成字符串,看看是什么问题
  • x86 18天前
    引用 8

    请问这个消息通过什么发的?

    我们通过 pc 端去发 richNotification 消息,uni-chat-uts 的是对的,下面是我们的测试代码:

     let richNotification = new RichNotificationMessageContent();
                richNotification.title = 'title'
                richNotification.desc = 'desc'
                richNotification.remark = 'remark'
                richNotification.datas = [
                    {
                        key: '登录用户',
                        value: '野火 IM',
                        color: '#173155'
                    },
                    {
                        key: '登录用户1',
                        value: '野火 IM1',
                        color: '#173155'
                    },
                    {
                        key: '登录用户2',
                        value: '野火 IM2',
                        color: '#173155'
                    }
                ];
                richNotification.exName = 'exName'
                richNotification.exPortrait = 'exPortrait'
                richNotification.exUrl = 'https://wildfirechat.com'
                richNotification.appId = 'appId'
    
                let conversation = new Conversation(ConversationType.Single, "Ur_2U2QQ", 0)
                wfc.sendConversationMessage(conversation, richNotification)
    

    uni-chat-uts 收到的数据如下:

    {
        "type": 12,
        "mentionedType": 0,
        "extra": "",
        "pushContent": "title",
        "fromSelf": false,
        "title": "title",
        "desc": "desc",
        "remark": "remark",
        "datas": [
            {
                "key": "登录用户",
                "value": "野火 IM",
                "color": "#173155"
            },
            {
                "key": "登录用户1",
                "value": "野火 IM1",
                "color": "#173155"
            },
            {
                "key": "登录用户2",
                "value": "野火 IM2",
                "color": "#173155"
            }
        ],
        "exName": "exName",
        "exPortrait": "exPortrait",
        "exUrl": "https://wildfirechat.com",
        "appId": "appId"
    }
    
  • linchunpeng 18天前
    引用 9
    x86 请问这个消息通过什么发的? 我们通过 pc 端去发 richNotification 消息,uni-chat-uts 的是对的,下面是我们的测试代码: ``` let richNo ...
    通过服务端sdk接口,
    IMResult<SendMessageResult> sendResult = robotService.sendMessage(sender,
                            SendMessageStrategyFactory.getConversation(request.getTargetType(), targetId), payload);

    web端是正常的,uni-chat-uts没有datas
  • x86 18天前
    引用 10
    你好,这个场景,我们也复现不了。

    你可以用我们 demo 这么来测试,这个测试最终也是通过 server api 来发送消息的

    1. Android、iOS 、PC、Web 工作台,日报,写日志,发送到人的地方选择 uni-chat-uts 登录的用户
    2. uni-cha-uts 在 richNotification 加上相关日志,并确认。

  • x86 18天前
    引用 11
    linchunpeng 你们的demo:https://gitee.com/wfchat/uni-chat-uts,跑起来,也是这个问题
    这个你们是怎么测试的?请附上详细测试步骤
返回