Administrator
2018-11-30 e7f2a42b73204091a009457a8152ee783a64fbd5
字节加入utf8验证
1个文件已修改
38 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/util/factory/IOSPushFactory.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
    }