如何利用龙虾技能,用api的方式给华为鸿蒙6.1的手机推送消息?
评论
收藏

如何利用龙虾技能,用api的方式给华为鸿蒙6.1的手机推送消息?

经验分享
凡星呀
2026-04-24 09:59·浏览量:130
凡星呀
影刀高级开发者
发布于 2026-04-24 09:59130浏览
# python3
# -*- coding: utf-8 -*-
"""
简单的推送消息脚本
将消息推送到华为负一屏
"""

import json
import time
import uuid
from datetime import datetime
import requests

# 授权码(必需)
AUTH_CODE = "按照步骤获取的授权码"
# 推送URL
PUSH_URL = "https://hiboard-claw-drcn.ai.dbankcloud.cn/distribution/message/cloud/claw/msg/upload"


def push_message(title, content, result, timeout=30):
    """
    推送消息到负一屏
    :param title: 消息标题
    :param content: 消息内容,支持Markdown格式
    :param result: 消息结果
    :param timeout: 超时时间(秒),默认30秒
    """
    # 构建推送数据
    timestamp = int(time.time())
    task_id = f"{title}_{datetime.now().strftime('%Y%m%d_%H%M%S')}"

    push_data = {
        "authCode": AUTH_CODE,
        "msgContent": [{
            "msgId": f"{task_id}",
            "scheduleTaskId": f"push_{timestamp}",
            "scheduleTaskName": title,
            "summary": title,
            "result": result,
            "content": content,
            "source": "SimplePusher",
            "taskFinishTime": timestamp
        }]
    }
    # 发送请求
    try:
        trace_id = str(uuid.uuid4())
        response = requests.post(
            PUSH_URL,
            json={"data": push_data},
            headers={
                "Content-Type": "application/json; charset=utf-8",
                "User-Agent": "SimplePusher/1.0",
                "x-trace-id": trace_id
            },
            timeout=timeout
        )

        res = response.json()
        code = res.get('code', '')
        if str(code) in ['0000000000', '0', 0]:
            return {
                "success": True,
                "message": "推送成功",
                "time": datetime.now().strftime("%Y-%m-%d %H:%M:%S")
            }
        else:
            error_msg = f"错误代码: {code}, 描述: {res.get('desc', '未知错误')}"

            if code == '0000900034':
                error_msg += "\n授权码无效,请检查授权码"

            return {
                "success": False,
                "message": "推送失败",
                "error": error_msg
            }

    except requests.exceptions.Timeout:
        return {
            "success": False,
            "message": "请求超时"
        }
    except requests.exceptions.ConnectionError:
        return {
            "success": False,
            "message": "连接失败,请检查网络"
        }
    except Exception as e:
        return {
            "success": False,
            "message": f"发送失败: {str(e)}"
        }


if __name__ == "__main__":
    """
    使用方法:
    1. 修改上面的配置参数:
       - AUTH_CODE: 从负一屏获取授权码
    2. 获取授权码:
       a. 手机右滑进入负一屏
       b. 点击左上角头像 -> 我的页 -> 设置
       c. 进入"动态管理" -> "关联账号"
       d. 找到"Claw智能体" -> 获取授权码
    """
    # 执行推送
    data = push_message('测试推送', '这是一条测试推送消息', '成功', timeout=30)
    # 输出结果
    print(json.dumps(data, ensure_ascii=False, indent=2))
    if data.get("success"):
        print("✅ 推送成功!请查看华为负一屏")
    else:
        print("❌ 推送失败")

收藏1
全部评论1
最新
发布评论
评论