Просмотр исходного кода

修改大部分url配置获取方式

zengjiebin лет назад: 7
Родитель
Сommit
1e32dec7c2

+ 4 - 5
app/src/main/java/com/sheep/gamegroup/model/entity/UserEntity.java

@@ -7,11 +7,9 @@ import com.sheep.gamegroup.util.TestUtil;
 import com.sheep.gamegroup.util.TimeUtil;
 import com.sheep.gamegroup.util.share.ShareLinkConfig;
 import com.sheep.gamegroup.util.string.SpannableSb;
+import com.sheep.jiuyan.samllsheep.Config;
 import com.sheep.jiuyan.samllsheep.R;
 
-import org.xutils.db.annotation.Column;
-import org.xutils.db.annotation.Table;
-
 import java.io.Serializable;
 import java.util.Locale;
 
@@ -388,8 +386,9 @@ public class UserEntity implements Serializable {
 
     //测试服用测试分享链接,正式服用正式的
     public String getShareLink() {//测试服对应的下载地址为http://10.8.230.17:7776/newsheep?id=32778005
-//        return TestUtil.isSheep() ? getShare_link() : "http://10.8.220.248/shared/html/small_station/h5_register/share.html?invitation_code=" + getInvitation_code();
-        return TestUtil.isSheep() ? getShare_link() : "http://10.8.220.248:8088/#/register-big-turntable?invitation_code=" + getInvitation_code();
+        //不再使用服务器返回的地址,直接使用配置好的地址
+//        return Config.SMALL_STATION_URL + "/h5_register/share.html?invitation_code=" + getInvitation_code();
+        return TestUtil.isSheep() ? getShareLink() : Config.getUrlByPath(Config.PATH_REGISTER_BIG_TURNTABLE, "invitation_code", getInvitation_code());
     }
 
     /**

+ 35 - 0
app/src/main/java/com/sheep/gamegroup/util/CommonUtil.java

@@ -1088,6 +1088,41 @@ public class CommonUtil {
                 action1.call(url);
         }
     }
+    /**
+     * ACache.get(context).put("url_config", (JSONObject) urlConfig);
+     * JSONObject url_config = (JSONObject)ACache.get(context).get("url_config");
+     * small_station_url: h5服务器地址
+     */
+    public void initUrlConfigByNet() {
+        SheepApp.getInstance()
+                .getNetComponent()
+                .getApiService()
+                .getNameUrl()
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        JSONObject urlConfig = DataUtil.getInstance().getCacheResult(ApiKey.url, JSONObject.class);
+                        loadConfig(urlConfig);
+                    }
+
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        JSONObject urlConfig = baseMessage.getData(JSONObject.class);
+                        loadConfig(urlConfig);
+                    }
+                    private void loadConfig(JSONObject urlConfig){
+                        if (urlConfig != null) {
+                            String url = urlConfig.getString(Config.KEY_SMALL_STATION_URL);
+                            if (TextUtils.isEmpty(url))
+                                Config.SMALL_STATION_URL = TestUtil.isSheep() ? Config.SMALL_STATION_URL_SHEEP : Config.SMALL_STATION_URL_TEST;
+                            else
+                                Config.SMALL_STATION_URL = url;
+                        }
+                    }
+                });
+    }
 
     /**
      * 获取详情地址

+ 10 - 25
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -2679,14 +2679,8 @@ public class Jump2View {
      * @param activity
      */
     public void gotoVip(Activity activity) {
-        CommonUtil.getInstance().initUrlConfigByNet(Config.KEY_BUY_VIP_URL, url -> {
-            if (TextUtils.isEmpty(url)) {
-                G.showToast(R.string.coming_soon);
-                return;
-            }
-            WebParams webParams = new WebParams(url).setShowTitle(false);
-            goWeb(activity, webParams);
-        });
+        WebParams webParams = new WebParams(Config.getUrlByPath(Config.PATH_BUY_VIP)).setShowTitle(false);
+        goWeb(activity, webParams);
     }
 
     /**
@@ -2792,14 +2786,9 @@ public class Jump2View {
      * @param activity
      */
     public void goActUserAddrInfo(Activity activity) {
-        CommonUtil.getInstance().initUrlConfigByNet(Config.KEY_USER_ADDRESS_URL, url -> {
-            if (TextUtils.isEmpty(url)) {
-                G.showToast(R.string.coming_soon);
-                return;
-            }
-            WebParams webParams = new WebParams(url).setShowTitle(false);
-            goWeb(activity, webParams);
-        });
+        String url = Config.getUrlByPath(Config.PATH_RECEIVING_ADDRESS);
+        WebParams webParams = new WebParams(url).setShowTitle(false);
+        goWeb(activity, webParams);
     }
 
     /**
@@ -2936,20 +2925,16 @@ public class Jump2View {
      * @param app
      */
     public void gotoGameVipRecharge(Applications app) {
-        CommonUtil.getInstance().initUrlConfigByNet(Config.KEY_DIRECTIONAL_RECHARGE_URL, url -> {
-            url = url + "/" + app.getGame_discount_id() + "?authorization=" + SpUtils.getToken(SheepApp.getInstance()) + "&ssnocache=1";
-            WebParams webParams = new WebParams(url, "抢购优惠").setShowTitle(false);
-            Jump2View.getInstance().goWeb(SheepApp.getInstance().getCurrentActivity(), webParams);
-        });
+        String url = Config.getUrlByPath(Config.PATH_DIRECTIONAL_RECHARGE + "/" + app.getGame_discount_id(),"authorization", SpUtils.getToken(SheepApp.getInstance()), "ssnocache", "1");
+        WebParams webParams = new WebParams(url, "抢购优惠").setShowTitle(false);
+        Jump2View.getInstance().goWeb(SheepApp.getInstance().getCurrentActivity(), webParams);
     }
 
     /**
      * 小绵羊3.4.10新增 -- 跳转新春活动 界面
      */
     public void goNewSpringActivitys() {
-        CommonUtil.getInstance().initUrlConfigByNet(Config.KEY_NEW_SPRING_ACTIVITIES_URL, url -> {
-            WebParams webParams = new WebParams(url, "新春活动");
-            Jump2View.getInstance().goWeb(SheepApp.getInstance().getCurrentActivity(), webParams);
-        });
+        WebParams webParams = new WebParams(Config.getUrlByPath(Config.PATH_NEW_SPRING_ACTIVITIES), "新春活动");
+        Jump2View.getInstance().goWeb(SheepApp.getInstance().getCurrentActivity(), webParams);
     }
 }

+ 2 - 0
app/src/main/java/com/sheep/gamegroup/util/TestUtil.java

@@ -127,6 +127,8 @@ public class TestUtil {
                                 @Override
                                 public void onClick(DialogInterface dialogInterface, int which) {
                                     SheepApp.getInstance().setConnectAddress(connectAddresses[which]);
+                                    //重新设置服务器
+                                    CommonUtil.getInstance().initUrlConfigByNet();
                                 }
                             })
                             .create();

+ 3 - 5
app/src/main/java/com/sheep/gamegroup/view/activity/ActGcGameAppDetail.java

@@ -371,11 +371,9 @@ public class ActGcGameAppDetail extends BaseActivity {
 
     @OnClick(R.id.gc_game_app_detail_bt3)
     public void onGoDirectionalPay(View v) {
-        CommonUtil.getInstance().initUrlConfigByNet(Config.KEY_DIRECTIONAL_RECHARGE_URL, url -> {
-            url = url + "/" + gameEntity.getApp().getGame_discount_id() + "?authorization="+ SpUtils.getToken(this) + "&ssnocache=1";
-            WebParams webParams = new WebParams(url, "抢购优惠").setShowTitle(false);
-            Jump2View.getInstance().goWeb(this, webParams);
-        });
+        String url = Config.getUrlByPath(Config.PATH_DIRECTIONAL_RECHARGE + "/" + gameEntity.getApp().getGame_discount_id() + "?authorization="+ SpUtils.getToken(this) + "&ssnocache=1");
+        WebParams webParams = new WebParams(url, "抢购优惠").setShowTitle(false);
+        Jump2View.getInstance().goWeb(this, webParams);
     }
 
     private AbsGetDownloadListener absGetDownloadListener = new AbsGetDownloadListener(true) {

+ 3 - 5
app/src/main/java/com/sheep/gamegroup/view/activity/ActMyMoney.java

@@ -247,11 +247,9 @@ public class ActMyMoney extends BaseActivity {
             case R.id.my_money_dingxiang_amount_iv://定向货币详情
             case R.id.my_money_dingxiang_amount://定向货币详情
             case R.id.my_money_dingxiang_tag://定向货币详情
-                CommonUtil.getInstance().initUrlConfigByNet(Config.KEY_DIRECTIONAL_LIST_URL, url -> {
-                    url = url + "?authorization=" + SpUtils.getToken(this) + "&ssnocache=1";
-                    WebParams webParams = new WebParams(url, "定向消费").setShowTitle(false);
-                    Jump2View.getInstance().goWeb(this, webParams);
-                });
+                String url = Config.getUrlByPath(Config.PATH_GAME_LIST + "?authorization=" + SpUtils.getToken(this) + "&ssnocache=1");
+                WebParams webParams = new WebParams(url, "定向消费").setShowTitle(false);
+                Jump2View.getInstance().goWeb(this, webParams);
                 break;
         }
     }

+ 3 - 6
app/src/main/java/com/sheep/gamegroup/view/activity/ActPay.java

@@ -9,7 +9,6 @@ import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.WebParams;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
-import com.sheep.gamegroup.module.pay.activity.SheepWXPayEntryActivity;
 import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.Constant;
 import com.sheep.gamegroup.util.Jump2View;
@@ -70,11 +69,9 @@ public class ActPay extends BaseActivity {
             from_package = bundle.getString("from_package");
             token = bundle.getString("token");
             if (TextUtils.isEmpty(pay_type) || PAY_TYPE_COIN.equals(pay_type)) {
-                CommonUtil.getInstance().initUrlConfigByNet(Config.KEY_DIRECTIONAL_PAY_URL, url -> {
-                    url = url + "?authorization=" + token + "&order=" + order_no + "&ssnocache=1";
-                    WebParams webParams = new WebParams(url, "支付").setShowTitle(false).setForResult(true).setAction(Constant.INTENT_PAY);
-                    Jump2View.getInstance().goWeb(this, webParams);
-                });
+                String url = Config.getUrlByPath(Config.PATH_DIRECTIONAL_PAY + "?authorization=" + token + "&order=" + order_no + "&ssnocache=1");
+                WebParams webParams = new WebParams(url, "支付").setShowTitle(false).setForResult(true).setAction(Constant.INTENT_PAY);
+                Jump2View.getInstance().goWeb(this, webParams);
             } else if (PAY_TYPE_WX.equals(pay_type)) {
                 SheepApp.getInstance().getNetComponent().getApiService().sdkFindOrder(token, order_no)
                         .subscribeOn(Schedulers.io())

+ 3 - 5
app/src/main/java/com/sheep/gamegroup/view/activity/NewYearActMyMoney.java

@@ -237,11 +237,9 @@ public class NewYearActMyMoney extends BaseActivity {
             case R.id.my_money_dingxiang_amount_iv://定向货币详情
             case R.id.my_money_dingxiang_amount://定向货币详情
             case R.id.my_money_dingxiang_tag://定向货币详情
-                CommonUtil.getInstance().initUrlConfigByNet(Config.KEY_DIRECTIONAL_LIST_URL, url -> {
-                    url = url + "?authorization=" + SpUtils.getToken(this) + "&ssnocache=1";
-                    WebParams webParams = new WebParams(url, "定向消费").setShowTitle(false);
-                    Jump2View.getInstance().goWeb(this, webParams);
-                });
+                String url = Config.getUrlByPath(Config.PATH_GAME_LIST + "?authorization=" + SpUtils.getToken(this) + "&ssnocache=1");
+                WebParams webParams = new WebParams(url, "定向消费").setShowTitle(false);
+                Jump2View.getInstance().goWeb(this, webParams);
                 break;
         }
     }

+ 8 - 12
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtPersonalCenter.java

@@ -17,7 +17,6 @@ import android.widget.TextView;
 
 import com.kfzs.duanduan.utils.ApkUtils;
 import com.kfzs.duanduan.utils.NumberFormatUtils;
-import com.sheep.gamegroup.model.entity.AgentEntity;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.Mission;
 import com.sheep.gamegroup.model.entity.UserEntity;
@@ -30,7 +29,6 @@ import com.sheep.gamegroup.util.DataUtil;
 import com.sheep.gamegroup.util.GlideImageLoader;
 import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.ListUtil;
-import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.gamegroup.util.SysAppUtil;
 import com.sheep.gamegroup.util.TestUtil;
 import com.sheep.gamegroup.util.ViewUtil;
@@ -478,10 +476,10 @@ public class FgtPersonalCenter extends BaseFragment {
                 Jump2View.getInstance().goPersionInfo(activity, null);
                 break;
             case R.id.my_pet_layout://我的宠物
-                CommonUtil.getInstance().initUrlConfigByNet(Config.KEY_MY_PET_URL, url -> Jump2View.getInstance().goWeb(activity, url, "我的宠物"));
+                Jump2View.getInstance().goWeb(activity, Config.getUrlByPath(Config.PATH_MY_PET), "我的宠物");
                 break;
             case R.id.my_card_layout://我的卡包
-                CommonUtil.getInstance().initUrlConfigByNet(Config.KEY_MY_CARD_URL, url -> Jump2View.getInstance().goWeb(activity, url, "我的卡包"));
+                Jump2View.getInstance().goWeb(activity, Config.getUrlByPath(Config.PATH_MY_CARD), "我的卡包");
                 break;
             case R.id.fgt_pc_item_vip_ll://VIP
                 Jump2View.getInstance().gotoVip(activity);
@@ -544,14 +542,12 @@ public class FgtPersonalCenter extends BaseFragment {
                 Jump2View.getInstance().goActMyFocus();
                 break;
             case R.id.voucher_layout:
-                CommonUtil.getInstance().initUrlConfigByNet(Config.KEY_DIRECTIONAL_VOUCHER_URL, url -> {
-                    url = url + "?authorization=" + SpUtils.getToken(SheepApp.getInstance()) + "&ssnocache=1";
-                    WebParams webParams = new WebParams(url, "我的福利").setShowTitle(false);
-                    Jump2View.getInstance().goWeb(getActivity(), webParams);
-                    SpUtils.saveVoucherFirst();
-                    ViewUtil.setVisibility(voucher_red_dot, false);
-                    EventBus.getDefault().post(new PersonVoucherClickEvent());
-                });
+                String url = Config.getUrlByPath(Config.PATH_DIRECTIONAL_VOUCHER + "?authorization=" + SpUtils.getToken(SheepApp.getInstance()) + "&ssnocache=1");
+                WebParams webParams = new WebParams(url, "我的福利").setShowTitle(false);
+                Jump2View.getInstance().goWeb(getActivity(), webParams);
+                SpUtils.saveVoucherFirst();
+                ViewUtil.setVisibility(voucher_red_dot, false);
+                EventBus.getDefault().post(new PersonVoucherClickEvent());
                 break;
         }
     }

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtSmallSheep.java

@@ -550,7 +550,7 @@ public class FgtSmallSheep extends BaseFragment implements SmallSheepContract.Vi
             initData();
         }
         //每次进入主页都刷新一下url配置信息
-        CommonUtil.getInstance().initUrlConfigByNet(null, null);
+        CommonUtil.getInstance().initUrlConfigByNet();
         if (TestUtil.isLTVersion3_4_5())//3.4.5以前版本才调用下面的方法
             isShowRedPackage();
     }

+ 49 - 18
app/src/main/java/com/sheep/jiuyan/samllsheep/Config.java

@@ -1,5 +1,8 @@
 package com.sheep.jiuyan.samllsheep;
 
+import com.sheep.gamegroup.util.TestUtil;
+import com.sheep.gamegroup.util.js.BaseActWeb;
+
 /**
  * Created by kemllor on 2017/12/14.
  */
@@ -25,30 +28,58 @@ public class Config {
     public static final String LONG_MAO_APP_URI = "guess://longmao";
     public static final String LONG_MAO_APP_DOWNLOAD_URL = "http://apps.yunduanzs.cn/guess";//龙猫电竞下载地址
 
+    //station
+    //大转盘项目
+    private static final String STATION_TURNTABLE = "/turntable/#";
+    private static final String STATION_IQIYI_VIP_MEMBER = "/iqiyi_vip_member/#";
+    private static final String STATION_SPRING_FESTIVAL_ACTIVITIES = "/spring_festival_activities/#";
+    //游戏金币
+    private static final String STATION_SMALL_SHEEP_GAME_COINS = "/small_sheep_game_coins/#";
+
+    //path
     //有范商城地址的 key
     public static final String KEY_YF_SHOP_URL = "yf_shop_url";
     //龙猫竞猜分享地址 key
     public static final String KEY_LMJC_URL = "lmjc_url";
     //充值VIP地址的 key
-    public static final String KEY_BUY_VIP_URL = "buy_vip_url";
-    //用户收货地址的 key
-    public static final String KEY_USER_ADDRESS_URL = "user_address_url";
-    //定向优惠列表地址 key
-    public static final String KEY_DIRECTIONAL_LIST_URL = "directional_list_url";
-    //定向优惠支付地址 key
-    public static final String KEY_DIRECTIONAL_PAY_URL = "directional_pay_url";
-    //代金券列表地址 key
-    public static final String KEY_DIRECTIONAL_VOUCHER_URL = "directional_voucher_url";
+    public static final String PATH_BUY_VIP = STATION_TURNTABLE + "/vip-desc";
+    //用户收货地址
+    public static final String PATH_RECEIVING_ADDRESS = STATION_TURNTABLE + "receiving-address";
+    //定向优惠列表
+    public static final String PATH_GAME_LIST = STATION_SMALL_SHEEP_GAME_COINS + "/game-list";
+    //定向优惠支付
+    public static final String PATH_DIRECTIONAL_PAY = STATION_SMALL_SHEEP_GAME_COINS + "/payment";
+    //代金券列表
+    public static final String PATH_DIRECTIONAL_VOUCHER = STATION_SMALL_SHEEP_GAME_COINS + "/cash-coupon-list";
+    //代金券
+    public static final String PATH_DIRECTIONAL_RECHARGE = STATION_SMALL_SHEEP_GAME_COINS + "/recharge";
+    //新春活动
+    public static final String PATH_NEW_SPRING_ACTIVITIES = STATION_SPRING_FESTIVAL_ACTIVITIES + "/home-page";
+    //我的宠物
+    public static final String PATH_MY_PET = STATION_SPRING_FESTIVAL_ACTIVITIES + "/sheep-pet-personal";
+    //我的卡包
+    public static final String PATH_MY_CARD = STATION_IQIYI_VIP_MEMBER + "/my-card-bag";
     //大转盘地址 key
-    public static final String KEY_DIRECTIONAL_LOTTERY_URL = "directional_lottery_url";
-    //代金券列表地址 key
-    public static final String KEY_DIRECTIONAL_RECHARGE_URL = "directional_recharge_url";
-    //新春活动地址 key
-    public static final String KEY_NEW_SPRING_ACTIVITIES_URL = "new_spring_activities_url";
-    //我的宠物地址 key
-    public static final String KEY_MY_PET_URL = "my_pet_url";
-    //我的卡包地址 key
-    public static final String KEY_MY_CARD_URL = "my_card_url";
+    public static final String PATH_DIRECTIONAL_LOTTERY = STATION_TURNTABLE + "/invincible-big-turntable";
+    //注册大转盘
+    public static final String PATH_REGISTER_BIG_TURNTABLE = STATION_TURNTABLE + "/register-big-turntable";
+    //small_station地址 key
+    public static final String KEY_SMALL_STATION_URL = "small_station_url";
+    //small_station地址
+    public static String SMALL_STATION_URL_SHEEP = "http://smallstation.kfzs.com";
+    public static String SMALL_STATION_URL_TEST = "http://10.8.210.20:8080";
+    //在数据库中表 config 中 配置 small_station_url后,可以进行设置 ,否则使用默认的值
+    public static String SMALL_STATION_URL = TestUtil.isSheep() ? SMALL_STATION_URL_SHEEP : SMALL_STATION_URL_TEST;
+
+    public static String getUrlByPath(String path, String...query){
+        String url = SMALL_STATION_URL + path;
+        if(query != null && query.length > 0){
+            for (int i = 0; i + 1 < query.length; ) {
+                url = BaseActWeb.addUrlQuery(url, query[i++], query[i++]);
+            }
+        }
+        return url;
+    }
 
     //微信支付app_id
     public static final String WX_PAY_APP_ID = "wx427e8e74e8dd27a6";