Bläddra i källkod

game auth need force face

billyyoyo 6 år sedan
förälder
incheckning
b7ae09dcf0

+ 2 - 2
app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java

@@ -1595,7 +1595,7 @@ public interface ApiService {
      * @return
      */
     @GET("app/sdk/{game_key}")
-    Observable<BaseMessage> verificationAuth(@Header("Authorization") String token, @Path("game_key") String game_key, @Query("game_id") String game_id, @Query("face_url") String face);
+    Observable<BaseMessage> verificationAuth(@Header("Authorization") String token, @Path("game_key") String game_key, @Query("game_id") String game_id, @Query("wlan") String wlan, @Query("face_url") String face);
 
     /**
      * 绵羊币支付订单查询接口
@@ -1921,7 +1921,7 @@ public interface ApiService {
     Observable<BaseMessage> checkAuth(@Query("Authorization") String token);
 
     @GET("app/user/check_authorization")
-    Observable<BaseMessage> checkAuth(@Query("Authorization") String token, @Query("game_id") String game_id, @Query("auto_login") int autoLogin, @Query("face_url") String face_url);
+    Observable<BaseMessage> checkAuth(@Query("Authorization") String token, @Query("game_id") String game_id, @Query("wlan") String wlan, @Query("auto_login") int autoLogin, @Query("face_url") String face_url);
 
     @GET("app/search")
     Observable<BaseMessage> search(@Query("keyword") String keyword, @Query("game_count") int gameCount, @Query("task_count") int taskCount, @Query("gift_count") int giftCount, @Query("article_count") int articleCount);

+ 7 - 2
app/src/main/java/com/sheep/gamegroup/util/CertificationUtil.java

@@ -96,10 +96,15 @@ public class CertificationUtil {
      * 验证获取数据
      */
     public void authCertificationCode(final Activity activity, final String token, String face) {
+        if (SheepApp.getInstance().isNeedFace() && TextUtils.isEmpty(face)) {
+            Jump2View.getInstance().goFaceWithQR(activity, Constant.INTENT_DETECT_FACE, token, "auth");
+            return;
+        }
         ViewUtil.newInstance().showProgress(activity);
         SheepApp.getInstance().getNetComponent().getApiService().verificationAuth(token
                 , SheepApp.getInstance().getGameCode()
                 , SheepApp.getInstance().getGameId()
+                , SheepApp.getInstance().getWlan()
                 , face)
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
@@ -122,9 +127,9 @@ public class CertificationUtil {
                             Jump2View.getInstance().goFaceWithQR(activity, Constant.INTENT_DETECT_LIVENESS, token, "auth");
                         } else if (baseMessage.getCode() == 404000023) {
                             Jump2View.getInstance().goFaceWithQR(activity, Constant.INTENT_DETECT_FACE, token, "auth");
-                        } else if(baseMessage.getCode() == 404000024){
+                        } else if (baseMessage.getCode() == 404000024) {
                             G.showToast("提示:请在小绵羊APP内完成当前账号绑定手机号");
-                        } else if(baseMessage.getCode() == 404000025){
+                        } else if (baseMessage.getCode() == 404000025) {
                             G.showToast("提示:请在小绵羊APP内完成当前账号实名认证");
                         } else {
                             showCertificationErrorAndExitApp(activity, "请求授权错误 " + baseMessage.getMsg(), 1000);

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

@@ -1455,7 +1455,7 @@ public class CommonUtil {
         SheepApp.getInstance()
                 .getNetComponent()
                 .getApiService()
-                .checkAuth(token, SheepApp.getInstance().getGameId(), 1, face)
+                .checkAuth(token, SheepApp.getInstance().getGameId(), SheepApp.getInstance().getWlan(), 1, face)
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
                 .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {

+ 32 - 27
app/src/main/java/com/sheep/gamegroup/view/activity/GameCertificationActivity.java

@@ -99,28 +99,30 @@ public class GameCertificationActivity extends BaseActivity {
     }
 
     public void initData() {
-        if (getIntent().getExtras() != null) {
-            if (getIntent().hasExtra(getString(R.string.kfzs_duanduan_datashare_package_extras))) {
-                String extraJson = getIntent().getStringExtra(getString(R.string.kfzs_duanduan_datashare_package_extras));
-                try {
-                    JSONObject jsonObject = new JSONObject(extraJson);
-                    if (jsonObject.has("user_behavior") && "validate_token".equals(jsonObject.getString("user_behavior"))) {
-                        gameToken = jsonObject.getString("game_token");
-                    }
-                } catch (JSONException e) {
-                    e.printStackTrace();
+        if (getIntent().getExtras() == null) {
+            CertificationUtil.newInstance().showCertificationErrorAndExitApp(this, "", 2000);
+            return;
+        }
+        if (getIntent().hasExtra(getString(R.string.kfzs_duanduan_datashare_package_extras))) {
+            String extraJson = getIntent().getStringExtra(getString(R.string.kfzs_duanduan_datashare_package_extras));
+            try {
+                JSONObject jsonObject = new JSONObject(extraJson);
+                if (jsonObject.has("user_behavior") && "validate_token".equals(jsonObject.getString("user_behavior"))) {
+                    gameToken = jsonObject.getString("game_token");
                 }
+            } catch (JSONException e) {
+                e.printStackTrace();
             }
-            SheepApp.getInstance().setGameCode(getIntent().getStringExtra(getString(R.string.kfzs_duanduan_datashare_game_code)));
-            SheepApp.getInstance().setGameId(getIntent().getStringExtra(getString(R.string.kfzs_duanduan_datashare_game_id)));
-            packageName = getIntent().getStringExtra(getString(R.string.kfzs_duanduan_datashare_package_name));
-            SheepApp.getInstance().setGamePackgeName(packageName);
-            if (TextUtils.isEmpty(SheepApp.getInstance().getGameCode()) || TextUtils.isEmpty(packageName)) {
-                CertificationUtil.newInstance().showCertificationErrorAndExitApp(this, "", 2000);
-                return;
-            }
-        } else {
+        }
+        SheepApp.getInstance().setGameCode(getIntent().getStringExtra(getString(R.string.kfzs_duanduan_datashare_game_code)));
+        SheepApp.getInstance().setGameId(getIntent().getStringExtra(getString(R.string.kfzs_duanduan_datashare_game_id)));
+        packageName = getIntent().getStringExtra(getString(R.string.kfzs_duanduan_datashare_package_name));
+        SheepApp.getInstance().setGamePackgeName(packageName);
+        SheepApp.getInstance().setNeedFace(getIntent().getBooleanExtra(getString(R.string.kfzs_duanduan_datashare_user_face), false));
+        SheepApp.getInstance().setWlan(getIntent().getStringExtra(getString(R.string.kfzs_duanduan_datashare_device_wlan)));
+        if (TextUtils.isEmpty(SheepApp.getInstance().getGameCode()) || TextUtils.isEmpty(packageName)) {
             CertificationUtil.newInstance().showCertificationErrorAndExitApp(this, "", 2000);
+            return;
         }
         //获取登录过的用户列表
         userList.addAll(DDProviderHelper.getInstance().getSdkLoginUserList(SheepApp.getInstance().getConnectAddress().name()));
@@ -129,14 +131,17 @@ public class GameCertificationActivity extends BaseActivity {
             SdkLoginUser gameUser = DDProviderHelper.getInstance().getSdkLoginUser(gameToken);
             if (gameUser != null) {
                 gameToken = gameUser.getToken();
-                CommonUtil.getInstance().checkAuth(this, gameToken, null, (ret) -> {
-                    if (ret) {
-                        CertificationUtil.newInstance().doCertification(GameCertificationActivity.this, gameToken, packageName, "validate");
-                    } else {
-                        hasToken();
-
-                    }
-                });
+                if(SheepApp.getInstance().isNeedFace()){
+                    Jump2View.getInstance().goFaceWithQR(GameCertificationActivity.this, Constant.INTENT_DETECT_FACE, gameToken, "check");
+                } else {
+                    CommonUtil.getInstance().checkAuth(this, gameToken, null, (ret) -> {
+                        if (ret) {
+                            CertificationUtil.newInstance().doCertification(GameCertificationActivity.this, gameToken, packageName, "validate");
+                        } else {
+                            hasToken();
+                        }
+                    });
+                }
                 return;
             }
         }

+ 18 - 22
app/src/main/java/com/sheep/jiuyan/samllsheep/SheepApp.java

@@ -94,6 +94,8 @@ public class SheepApp extends MultiDexApplication {
     private String gameId;//游戏id
     private String gamePackgeName;
     private boolean gameFlag;
+    private String wlan;
+    private boolean needFace;
 
     public boolean isGameFlag() {
         return gameFlag;
@@ -127,6 +129,22 @@ public class SheepApp extends MultiDexApplication {
         this.gameCode = gameCode;
     }
 
+    public String getWlan() {
+        return wlan;
+    }
+
+    public void setWlan(String wlan) {
+        this.wlan = wlan;
+    }
+
+    public boolean isNeedFace() {
+        return needFace;
+    }
+
+    public void setNeedFace(boolean needFace) {
+        this.needFace = needFace;
+    }
+
     public boolean isInitMidong() {
         return isInitMidong;
     }
@@ -284,21 +302,6 @@ public class SheepApp extends MultiDexApplication {
         CacheExtensionConfig extension = new CacheExtensionConfig();
         extension.removeExtension("html");
         extension.removeExtension("htm");
-//        extension.removeExtension("js");
-//        extension.removeExtension("ico");
-//        extension.removeExtension("css");
-
-//        extension.removeExtension("png");
-//        extension.removeExtension("jpg");
-//        extension.removeExtension("jpeg");
-//        extension.removeExtension("gif");
-//        extension.removeExtension("bmp");
-//        extension.removeExtension("ttf");
-//        extension.removeExtension("woff");
-//        extension.removeExtension("woff2");
-//        extension.removeExtension("otf");
-//        extension.removeExtension("eot");
-//        extension.removeExtension("svg");
 
         extension.removeExtension("xml");
         extension.removeExtension("swf");
@@ -310,13 +313,7 @@ public class SheepApp extends MultiDexApplication {
                 .setCacheExtensionConfig(extension)
                 .setDebug(BuildConfig.DEBUG)
                 .setCacheSize(Long.MAX_VALUE));
-        //GSYVideoPlayer https://github.com/CarGuo/GSYVideoPlayer
         PlayerFactory.setPlayManager(Exo2PlayerManager.class);//EXO模式
-//        PlayerFactory.setPlayManager(SystemPlayerManager.class);//系统模式
-//        PlayerFactory.setPlayManager(IjkPlayerManager.class);//ijk模式
-
-//        CacheFactory.setCacheManager(ExoPlayerCacheManager.class);//exo缓存模式,支持m3u8,只支持exo
-//        CacheFactory.setCacheManager(ProxyCacheManager.class);//代理缓存模式,支持所有模式,不支持m3u8等
 
         //初始化换肤框架
         SkinUtil.init();
@@ -352,7 +349,6 @@ public class SheepApp extends MultiDexApplication {
 //LocationMode.Hight_Accuracy:高精度;
 //LocationMode. Battery_Saving:低功耗;
 //LocationMode. Device_Sensors:仅使用设备;
-
         option.setCoorType("bd09ll");
 //可选,设置返回经纬度坐标类型,默认gcj02
 //gcj02:国测局坐标;

+ 2 - 0
app/src/main/res/values/key_strings.xml

@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
+    <string name="kfzs_duanduan_datashare_user_face">kfzs:duanduan:user:face</string>
     <string name="kfzs_duanduan_datashare_game_id">kfzs:duanduan:game:id</string>
     <string name="kfzs_duanduan_datashare_game_code">kfzs:duanduan:game:code</string>
     <string name="kfzs_duanduan_datashare_package_name">kfzs:duanduan:game:package:name</string>
@@ -12,4 +13,5 @@
     <string name="kfzs_duanduan_datashare_certification_userid">kfzs:duanduan:certification:userid</string>
     <string name="kfzs_duanduan_datashare_certification_token">kfzs:duanduan:certification:token</string>
     <string name="kfzs_duanduan_datashare_device_id">kfzs:duanduan:device:id</string>
+    <string name="kfzs_duanduan_datashare_device_wlan">kfzs:duanduan:device:wlan</string>
 </resources>