From e7f2a42b73204091a009457a8152ee783a64fbd5 Mon Sep 17 00:00:00 2001 From: Administrator <Administrator@Admin> Date: 星期五, 30 十一月 2018 18:18:43 +0800 Subject: [PATCH] 字节加入utf8验证 --- fanli/src/main/java/com/yeshi/fanli/util/factory/IOSPushFactory.java | 38 ++++++++++++++++++++++++++------------ 1 files changed, 26 insertions(+), 12 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/factory/IOSPushFactory.java b/fanli/src/main/java/com/yeshi/fanli/util/factory/IOSPushFactory.java index 6697e10..4e137e7 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/factory/IOSPushFactory.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/factory/IOSPushFactory.java @@ -1,5 +1,7 @@ package com.yeshi.fanli.util.factory; +import java.io.UnsupportedEncodingException; + import com.yeshi.fanli.controller.admin.PushController; import com.yeshi.fanli.util.StringUtil; @@ -9,21 +11,33 @@ private static JSONObject filterPushContent(JSONObject json) { if (json != null) - while (json.toString().getBytes().length > 256) { - // 棣栧厛鍓婂噺鍐呭锛岀劧鍚庡墛鍑忔爣棰� - String title = json.optJSONObject("aps").optJSONObject("alert").optString("title"); - String body = json.optJSONObject("aps").optJSONObject("alert").optString("body"); - if (StringUtil.isNullOrEmpty(body) || body.length() < 4) { - // 鍓婂噺鏍囬 - if (!StringUtil.isNullOrEmpty(title) && title.length() > 6) { - json.optJSONObject("aps").optJSONObject("alert").put("title", - title.substring(0, title.length() - 1)); + try { + boolean ischange= false; + while (json.toString().getBytes("UTF-8").length > 253) { + // 棣栧厛鍓婂噺鍐呭锛岀劧鍚庡墛鍑忔爣棰� + String title = json.optJSONObject("aps").optJSONObject("alert").optString("title"); + String body = json.optJSONObject("aps").optJSONObject("alert").optString("body"); + if (StringUtil.isNullOrEmpty(body) || body.length() < 4) { + // 鍓婂噺鏍囬 + if (!StringUtil.isNullOrEmpty(title) && title.length() > 6) { + json.optJSONObject("aps").optJSONObject("alert").put("title", + title.substring(0, title.length() - 1)); + continue; + } + } else { + ischange = true; + json.optJSONObject("aps").optJSONObject("alert").put("body", body.substring(0, body.length() - 1)); continue; } - } else { - json.optJSONObject("aps").optJSONObject("alert").put("body", body.substring(0, body.length() - 1)); - continue; } + + if (ischange) { + String body = json.optJSONObject("aps").optJSONObject("alert").optString("body"); + json.optJSONObject("aps").optJSONObject("alert").put("body", body + "..."); + } + + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); } return json; } -- Gitblit v1.8.0