From a61f761c8bcf1490b730d759b1f2b05482ae713c Mon Sep 17 00:00:00 2001 From: "yaoh.wu" Date: Fri, 22 Dec 2017 09:55:29 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-5856=20=E6=8F=92=E4=BB=B6=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=8F=92=E4=BB=B6=E6=96=B0=E5=88=86=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/extra/PluginOperateUtils.java | 14 +++++++++++++- .../com/fr/design/extra/PluginWebBridge.java | 18 +++++++++++++++++- .../com/fr/design/extra/WebViewDlgHelper.java | 2 ++ .../extra/exe/GetPluginFromStoreExecutor.java | 17 +++++++++++++---- 4 files changed, 45 insertions(+), 6 deletions(-) diff --git a/designer_base/src/com/fr/design/extra/PluginOperateUtils.java b/designer_base/src/com/fr/design/extra/PluginOperateUtils.java index 5ce0852c8e..121ecc7970 100644 --- a/designer_base/src/com/fr/design/extra/PluginOperateUtils.java +++ b/designer_base/src/com/fr/design/extra/PluginOperateUtils.java @@ -122,7 +122,7 @@ public class PluginOperateUtils { return resultArray.toString(); } - public static void dealParams(StringBuilder url, String category, String seller, String fee) { + public static void dealParams(StringBuilder url, String category, String seller, String fee, String scope) { if (StringUtils.isNotBlank(category)) { url.append("cid=").append(category.split("-")[1]); } else { @@ -152,6 +152,18 @@ public class PluginOperateUtils { url.append("&fee=").append(StringUtils.EMPTY); } } + if (StringUtils.isNotBlank(scope)) { + switch (scope.split("-")[1]) { + case "universal": + url.append("&scope=").append(1); + break; + case "program": + url.append("&scope=").append(2); + break; + default: + url.append("&scope=").append(StringUtils.EMPTY); + } + } } public static void getLoginInfo(JSCallback jsCallback, UILabel uiLabel) { diff --git a/designer_base/src/com/fr/design/extra/PluginWebBridge.java b/designer_base/src/com/fr/design/extra/PluginWebBridge.java index afdcd448f6..dd5f50295f 100644 --- a/designer_base/src/com/fr/design/extra/PluginWebBridge.java +++ b/designer_base/src/com/fr/design/extra/PluginWebBridge.java @@ -339,10 +339,26 @@ public class PluginWebBridge { * @param callback 回调函数 */ public void getPluginFromStore(String category, String seller, String fee, final JSObject callback) { - Task task = new PluginTask<>(webEngine, callback, new GetPluginFromStoreExecutor(category, seller, fee)); + Task task = new PluginTask<>(webEngine, callback, new GetPluginFromStoreExecutor(category, seller, fee, "")); threadPoolExecutor.submit(task); } + /** + * 根据条件获取在线插件 + * + * @param info 插件信息 + * @param callback 回调函数 + */ + public void getPluginFromStoreNew(String info, final JSObject callback) { + try { + Task task = new PluginTask<>(webEngine, callback, new GetPluginFromStoreExecutor(new JSONObject(info))); + threadPoolExecutor.submit(task); + } catch (JSONException e) { + FRLogger.getLogger().error(e.getMessage()); + } + } + + public void getPluginPrefix(final JSObject callback) { Task task = new PluginTask<>(webEngine, callback, new GetPluginPrefixExecutor()); threadPoolExecutor.submit(task); diff --git a/designer_base/src/com/fr/design/extra/WebViewDlgHelper.java b/designer_base/src/com/fr/design/extra/WebViewDlgHelper.java index a00f460ed8..1859b46716 100644 --- a/designer_base/src/com/fr/design/extra/WebViewDlgHelper.java +++ b/designer_base/src/com/fr/design/extra/WebViewDlgHelper.java @@ -112,6 +112,8 @@ public class WebViewDlgHelper { while ((byteread = inStream.read(buffer)) != -1) { fs.write(buffer, 0, byteread); } + fs.flush(); + fs.close(); inStream.close(); } } catch (Exception e) { diff --git a/designer_base/src/com/fr/design/extra/exe/GetPluginFromStoreExecutor.java b/designer_base/src/com/fr/design/extra/exe/GetPluginFromStoreExecutor.java index 123c3ceed3..4b4bddab4a 100644 --- a/designer_base/src/com/fr/design/extra/exe/GetPluginFromStoreExecutor.java +++ b/designer_base/src/com/fr/design/extra/exe/GetPluginFromStoreExecutor.java @@ -20,11 +20,20 @@ public class GetPluginFromStoreExecutor implements Executor { private String category; private String seller; private String fee; + private String scope; - public GetPluginFromStoreExecutor(String category, String seller, String fee) { + public GetPluginFromStoreExecutor(JSONObject info) { + this.category = info.optString("category"); + this.fee = info.optString("fee"); + this.seller = info.optString("seller"); + this.scope = info.optString("scope"); + } + + public GetPluginFromStoreExecutor(String category, String seller, String fee, String scope) { this.category = category; this.seller = seller; this.fee = fee; + this.scope = scope; } @Override @@ -44,7 +53,7 @@ public class GetPluginFromStoreExecutor implements Executor { @Override public void run(Process process) { String plistUrl = SiteCenter.getInstance().acquireUrlByKind("shop.plugin.plist") + "?"; - boolean getRecommend = StringUtils.isEmpty(category) && StringUtils.isEmpty(seller) && StringUtils.isEmpty(fee); + boolean getRecommend = StringUtils.isEmpty(category) && StringUtils.isEmpty(seller) && StringUtils.isEmpty(fee) && StringUtils.isEmpty(scope); if (getRecommend) { result = PluginOperateUtils.getRecommendPlugins(); return; @@ -53,7 +62,7 @@ public class GetPluginFromStoreExecutor implements Executor { if (StringUtils.isNotBlank(plistUrl)) { StringBuilder url = new StringBuilder(); url.append(plistUrl); - PluginOperateUtils.dealParams(url, category, seller, fee); + PluginOperateUtils.dealParams(url, category, seller, fee, scope); try { HttpClient httpClient = new HttpClient(url.toString()); httpClient.asGet(); @@ -66,7 +75,7 @@ public class GetPluginFromStoreExecutor implements Executor { FRLogger.getLogger().error(e.getMessage()); } } else { - result = PluginConstants.CONNECTION_404; + result = PluginConstants.CONNECTION_404; } } }