Files
push_server/test_honor_push.sh

96 lines
3.0 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# 荣耀推送测试脚本 (使用8080端口)
# 使用方法: ./test_honor_push.sh <device_token>
# device_token: 荣耀手机的push token需要从荣耀手机应用中获取
if [ -z "$1" ]; then
echo "=========================================="
echo "荣耀推送测试脚本 (端口: 8080)"
echo "=========================================="
echo ""
echo "使用方法: $0 <device_token>"
echo ""
echo "device_token: 荣耀手机的push token"
echo " (需要从荣耀手机应用中获取)"
echo ""
echo "示例: $0 your_honor_push_token"
echo ""
echo "如果没有device_token"
echo "1. 在荣耀手机上安装应用 (包名: com.xunpaisoft.social)"
echo "2. 启动应用并查看日志获取push token"
echo "3. 或者从荣耀推送平台查看设备列表"
exit 1
fi
DEVICE_TOKEN=$1
SERVER_URL="http://localhost:8080/android/push"
echo "=========================================="
echo "正在测试荣耀推送..."
echo "=========================================="
echo "设备Token: $DEVICE_TOKEN"
echo "服务器地址: $SERVER_URL"
echo "包名: com.xunpaisoft.social"
echo ""
# 构建推送消息JSON
# pushType=8 表示 荣耀推送类型 (AndroidPushType.ANDROID_PUSH_TYPE_HONOR = 8)
TIMESTAMP=$(date +%s)
MESSAGE_ID=$TIMESTAMP
RESPONSE=$(curl -s -w "\nHTTP_CODE:%{http_code}" -X POST "$SERVER_URL" \
-H "Content-Type: application/json;charset=UTF-8" \
-d "{
\"pushType\": 8,
\"pushMessageType\": 0,
\"packageName\": \"com.xunpaisoft.social\",
\"deviceToken\": \"$DEVICE_TOKEN\",
\"pushContent\": \"这是一条测试推送消息 - $(date '+%Y-%m-%d %H:%M:%S')\",
\"sender\": \"test_user\",
\"senderName\": \"测试用户\",
\"target\": \"test_target\",
\"targetName\": \"测试目标\",
\"convType\": 0,
\"line\": 0,
\"cntType\": 1,
\"serverTime\": ${TIMESTAMP}000,
\"unReceivedMsg\": 1,
\"mentionedType\": 0,
\"isHiddenDetail\": false,
\"language\": \"zh\",
\"messageId\": $MESSAGE_ID,
\"republish\": false,
\"existBadgeNumber\": 0
}")
HTTP_CODE=$(echo "$RESPONSE" | grep "HTTP_CODE:" | cut -d: -f2)
BODY=$(echo "$RESPONSE" | sed '/HTTP_CODE:/d')
echo "----------------------------------------"
echo "服务器响应:"
echo "----------------------------------------"
echo "$BODY" | python -m json.tool 2>/dev/null || echo "$BODY"
echo ""
echo "HTTP状态码: $HTTP_CODE"
echo ""
if [ "$HTTP_CODE" = "200" ]; then
echo "✓ 推送请求已发送成功!"
echo ""
echo "请检查:"
echo "1. 荣耀手机是否收到推送通知"
echo "2. 查看服务器日志了解详细推送结果"
else
echo "✗ 推送请求失败 (HTTP $HTTP_CODE)"
echo ""
echo "请检查:"
echo "1. 服务器是否正常运行在8080端口"
echo "2. device_token 是否正确"
echo "3. 查看服务器日志: tail -f push.log 或查看控制台输出"
fi
echo ""
echo "=========================================="