Browse Source

Merge remote-tracking branch 'remotes/origin/master' into douYouTap

# Conflicts:
#	GameClient/Assets/Game/HotUpdate/Platform/QDManager.cs
#	GameClient/Assets/Game/Launcher/LauncherConfig.cs
#	GameClient/Assets/Game/Launcher/Platform/QDManagerInit.cs
#	GameClient/GameClient.sln.DotSettings.user
hexiaojie 7 months ago
parent
commit
65becc7995
44 changed files with 756 additions and 36 deletions
  1. 1 1
      GameClient/Assets/Game/HotUpdate/Controller/GameController.cs
  2. 77 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Login/UI_QieHuanUI.cs
  3. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Login/UI_QieHuanUI.cs.meta
  4. 86 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StorePayPropUI.cs
  5. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StorePayPropUI.cs.meta
  6. 8 0
      GameClient/Assets/Game/HotUpdate/Platform/AliPay.meta
  7. 54 0
      GameClient/Assets/Game/HotUpdate/Platform/AliPay/AliManager.cs
  8. 3 0
      GameClient/Assets/Game/HotUpdate/Platform/AliPay/AliManager.cs.meta
  9. 130 27
      GameClient/Assets/Game/HotUpdate/Platform/QDManager.cs
  10. 15 1
      GameClient/Assets/Game/HotUpdate/ServerProxy/ShopSProxy.cs
  11. 5 0
      GameClient/Assets/Game/HotUpdate/Views/DailyWelfare/DailyWelfareView.cs
  12. 1 1
      GameClient/Assets/Game/HotUpdate/Views/Login/LoginView.cs
  13. 13 3
      GameClient/Assets/Game/HotUpdate/Views/MainUI/MainUIView.cs
  14. 55 0
      GameClient/Assets/Game/HotUpdate/Views/RoleInfoRegister/QieHuanView.cs
  15. 3 0
      GameClient/Assets/Game/HotUpdate/Views/RoleInfoRegister/QieHuanView.cs.meta
  16. 103 0
      GameClient/Assets/Game/HotUpdate/Views/Store/StorePayPropView.cs
  17. 3 0
      GameClient/Assets/Game/HotUpdate/Views/Store/StorePayPropView.cs.meta
  18. 6 0
      GameClient/Assets/Game/HotUpdate/Views/Store/StoreView.cs
  19. 8 0
      GameClient/Assets/Game/Launcher/Platform/Pay.meta
  20. 97 0
      GameClient/Assets/Game/Launcher/Platform/Pay/AliPayManagerInit.cs
  21. 3 0
      GameClient/Assets/Game/Launcher/Platform/Pay/AliPayManagerInit.cs.meta
  22. 9 0
      GameClient/Assets/Game/Launcher/Platform/Pay/IAliSDKListener.cs
  23. 3 0
      GameClient/Assets/Game/Launcher/Platform/Pay/IAliSDKListener.cs.meta
  24. 7 1
      GameClient/Assets/Game/Launcher/Platform/QDManagerInit.cs
  25. BIN
      GameClient/Assets/ResIn/UI/Login/Login_fui.bytes
  26. BIN
      GameClient/Assets/ResIn/UI/Store/Store_atlas0!a.png
  27. BIN
      GameClient/Assets/ResIn/UI/Store/Store_atlas0.png
  28. BIN
      GameClient/Assets/ResIn/UI/Store/Store_atlas0_1!a.png
  29. BIN
      GameClient/Assets/ResIn/UI/Store/Store_atlas0_1.png
  30. BIN
      GameClient/Assets/ResIn/UI/Store/Store_atlas0_2!a.png
  31. BIN
      GameClient/Assets/ResIn/UI/Store/Store_atlas0_2.png
  32. BIN
      GameClient/Assets/ResIn/UI/Store/Store_atlas0_3!a.png
  33. BIN
      GameClient/Assets/ResIn/UI/Store/Store_atlas0_3.png
  34. BIN
      GameClient/Assets/ResIn/UI/Store/Store_atlas0_4!a.png
  35. BIN
      GameClient/Assets/ResIn/UI/Store/Store_atlas0_4.png
  36. BIN
      GameClient/Assets/ResIn/UI/Store/Store_atlas0_5!a.png
  37. BIN
      GameClient/Assets/ResIn/UI/Store/Store_atlas0_5.png
  38. BIN
      GameClient/Assets/ResIn/UI/Store/Store_atlas_hhx91q!a.png
  39. BIN
      GameClient/Assets/ResIn/UI/Store/Store_atlas_hhx91q.png
  40. BIN
      GameClient/Assets/ResIn/UI/Store/Store_fui.bytes
  41. 8 0
      GameClient/Assets/ThirdParty/AliPay.meta
  42. 31 0
      GameClient/Assets/ThirdParty/AliPay/AliPaySDKHandler.cs
  43. 3 0
      GameClient/Assets/ThirdParty/AliPay/AliPaySDKHandler.cs.meta
  44. 2 2
      GameClient/GameClient.sln.DotSettings.user

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Controller/GameController.cs

@@ -307,7 +307,7 @@ namespace GFGGame
             switch (LauncherConfig.ChannelId)
             {
                 case (int)ChannelID.DouYou:
-                    QDDouYouManager.Instance.LoginOutBefore();
+                    //QDDouYouManager.Instance.LoginOutBefore();
                     break;
                 case (int)ChannelID.DouYouDev:
                     QDDouYouManager.Instance.LoginOutBefore();

+ 77 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Login/UI_QieHuanUI.cs

@@ -0,0 +1,77 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.Login
+{
+    public partial class UI_QieHuanUI
+    {
+        public GComponent target;
+        public GComponent m_bg;
+        public GButton m_btnSubmit;
+        public GButton m_btnDow;
+        public const string URL = "ui://myoktu7po9bl5w";
+        public const string PACKAGE_NAME = "Login";
+        public const string RES_NAME = "QieHuanUI";
+        private static UI_QieHuanUI _proxy;
+
+        public static UI_QieHuanUI Create(GObject gObject = null)
+        {
+            var ui = new UI_QieHuanUI();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_QieHuanUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_QieHuanUI();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_bg = (GComponent)comp.GetChild("bg");
+            m_btnSubmit = (GButton)comp.GetChild("btnSubmit");
+            m_btnDow = (GButton)comp.GetChild("btnDow");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_bg = null;
+            m_btnSubmit = null;
+            m_btnDow = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Login/UI_QieHuanUI.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 648510d995698fb499ee51ddb9a038da
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 86 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StorePayPropUI.cs

@@ -0,0 +1,86 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.Store
+{
+    public partial class UI_StorePayPropUI
+    {
+        public GComponent target;
+        public GImage m_payClose;
+        public GButton m_payVxBtn;
+        public GButton m_payAliBtn;
+        public GTextField m_txtXzf;
+        public GTextField m_txtTotal;
+        public GTextField m_txtShopName;
+        public const string URL = "ui://p9mtgheoq5ritfi";
+        public const string PACKAGE_NAME = "Store";
+        public const string RES_NAME = "StorePayPropUI";
+        private static UI_StorePayPropUI _proxy;
+
+        public static UI_StorePayPropUI Create(GObject gObject = null)
+        {
+            var ui = new UI_StorePayPropUI();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_StorePayPropUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_StorePayPropUI();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_payClose = (GImage)comp.GetChild("payClose");
+            m_payVxBtn = (GButton)comp.GetChild("payVxBtn");
+            m_payAliBtn = (GButton)comp.GetChild("payAliBtn");
+            m_txtXzf = (GTextField)comp.GetChild("txtXzf");
+            m_txtTotal = (GTextField)comp.GetChild("txtTotal");
+            m_txtShopName = (GTextField)comp.GetChild("txtShopName");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_payClose = null;
+            m_payVxBtn = null;
+            m_payAliBtn = null;
+            m_txtXzf = null;
+            m_txtTotal = null;
+            m_txtShopName = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Store/UI_StorePayPropUI.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ec1c86ccae0c11a4cb0e7b96fae68a4e
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
GameClient/Assets/Game/HotUpdate/Platform/AliPay.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 69fb72229f3626146b2a1f93866ac946
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 54 - 0
GameClient/Assets/Game/HotUpdate/Platform/AliPay/AliManager.cs

@@ -0,0 +1,54 @@
+using System;
+using ET;
+using UnityEngine;
+using GFGGame.Launcher;
+
+namespace GFGGame
+{
+    public class AliManagerr : SingletonBase<AliManagerr>
+    {
+        public void Init()
+        {
+            AliPayManagerInit.Instance.aliSDKListener = new AliPaySDKListener();
+        }
+        
+        //支付宝支付
+        public void Pay(string orderStr)
+        {
+            AliPayManagerInit.Instance.ShowSwitchPayment(orderStr);
+        }
+
+        //微信支付
+        public void PayVx(string appId, string mchId, string prepayId, string packageValue,
+            string nonceStr, string timestamp, string sign, string callBackObjectName = "AliPayGameObject",
+            string callBackFuncName = "VxPayReceive")
+        {
+            AliPayManagerInit.Instance.VxShowSwitchPayment(appId, mchId, prepayId, packageValue,
+                nonceStr, timestamp, sign, callBackObjectName, callBackFuncName);
+        }
+    }
+
+    /// <summary>
+    /// SDK回调
+    /// </summary>
+    public class AliPaySDKListener : IAliSDKListener
+    {
+        public void AliPayReceiveAb(string message)
+        {
+            Debug.Log("Game.HotUpdate AliPayReceiveAb: " + message);
+        }
+
+        public void VxPayReceiveAb(string message)
+        {
+            if (message == "0")
+            {
+                ViewManager.Hide<StorePayPropView>(); 
+            }
+            else
+            {
+                PromptController.Instance.ShowFloatTextPrompt("支付失败");
+            }
+            Debug.Log("Game.HotUpdate VxPayReceiveAb: " + message);
+        }
+    }
+}

+ 3 - 0
GameClient/Assets/Game/HotUpdate/Platform/AliPay/AliManager.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 90f107f47ea4407f9f191e43261f9fd3
+timeCreated: 1732530614

+ 130 - 27
GameClient/Assets/Game/HotUpdate/Platform/QDManager.cs

@@ -14,12 +14,31 @@ namespace GFGGame
             switch (LauncherConfig.ChannelId)
             {
                 case (int)ChannelID.Test:
+                    // AliManagerr.Instance.Init();
+                    // QDShareManager.Instance.Init();
                     break;
                 case (int)ChannelID.DouYou:
-                    QDDouYouManager.Instance.Init();
+                    //QDDouYouManager.Instance.Init();
+                #if GFGZSB
+                AliManagerr.Instance.Init();
+                QDShareManager.Instance.Init();
+                #else                 
+                    if (LauncherConfig.platformId == 2)
+                    {
+                #if !UNITY_EDITOR && UNITY_IOS
+                QDDouYouManagerIos.Instance.Init();
+                #endif
+                    }
+                    else
+                    {
+                       QDDouYouManager.Instance.Init();
+                    }
+                #endif
+
                     break;
                 case (int)ChannelID.DouYouDev:
                     QDDouYouManager.Instance.Init();
+                    QDShareManager.Instance.Init();
                     break;
                 case (int)ChannelID.AppStore:
 #if !UNITY_EDITOR && UNITY_IOS
@@ -46,7 +65,25 @@ namespace GFGGame
 
                     break;
                 case (int)ChannelID.DouYou:
-                    QDDouYouManager.Instance.Login();
+                    #if GFGZSB
+                    bool loginDouYou = GameController.CheckLoginCache(true);
+                    if (!loginDouYou)
+                    {
+                        ViewManager.Hide<ModalStatusView>();
+                        ViewManager.Show<LoginInputView>();
+                    }
+                    #else
+                    if (LauncherConfig.platformId == 2)
+                    {
+                    #if !UNITY_EDITOR && UNITY_IOS
+                     QDDouYouManagerIos.Instance.Login();
+                    #endif
+                    }
+                    else
+                    {
+                        QDDouYouManager.Instance.Login();
+                    }       
+                    #endif
                     break;
                 case (int)ChannelID.DouYouDev:
                     QDDouYouManager.Instance.Login();
@@ -67,7 +104,12 @@ namespace GFGGame
 
                     break;
                 case (int)ChannelID.DouYou:
-                    QDDouYouManager.Instance.OnCreateRole();
+#if !GFGZSB
+                    if (LauncherConfig.platformId == 1)
+                    {
+                        QDDouYouManager.Instance.OnCreateRole();
+                    }
+#endif
                     break;
                 case (int)ChannelID.DouYouDev:
                     QDDouYouManager.Instance.OnCreateRole();
@@ -85,7 +127,18 @@ namespace GFGGame
 
                     break;
                 case (int)ChannelID.DouYou:
-                    QDDouYouManager.Instance.OnEnterGame();
+#if !GFGZSB
+                    if (LauncherConfig.platformId == 2)
+                    {
+#if !UNITY_EDITOR && UNITY_IOS
+                     QDDouYouManagerIos.Instance.OnEnterGame();
+#endif
+                    }
+                    else
+                    {
+                        QDDouYouManager.Instance.OnEnterGame();
+                    }
+#endif
                     break;
                 case (int)ChannelID.DouYouDev:
                     QDDouYouManager.Instance.OnEnterGame();
@@ -107,7 +160,18 @@ namespace GFGGame
 
                     break;
                 case (int)ChannelID.DouYou:
-                    QDDouYouManager.Instance.OnQuitToLoginView();
+#if !GFGZSB
+                    if (LauncherConfig.platformId == 2)
+                    {
+#if !UNITY_EDITOR && UNITY_IOS
+          QDDouYouManagerIos.Instance.OnQuitToLoginView();      
+#endif
+                    }
+                    else
+                    {
+                        QDDouYouManager.Instance.OnQuitToLoginView();
+                    }
+#endif
                     break;
                 case (int)ChannelID.DouYouDev:
                     QDDouYouManager.Instance.OnQuitToLoginView();
@@ -128,7 +192,22 @@ namespace GFGGame
 
                     break;
                 case (int)ChannelID.DouYou:
-                    QDDouYouManager.Instance.Pay(buyID, count, orderID, price);
+#if GFGZSB
+         //TODO gfg支付跳转
+                    ViewManager.Show<StorePayPropView>(new object[] { buyID, orderID, price });
+#else
+                    if (LauncherConfig.platformId == 2)
+                    {
+#if !UNITY_EDITOR && UNITY_IOS
+                        QDDouYouManagerIos.Instance.Pay(buyID, count, orderID, price);
+#endif
+                    }
+                    else
+                    {
+                        QDDouYouManager.Instance.Pay(buyID, count, orderID, price);
+                    }              
+#endif
+                    
                     break;
                 case (int)ChannelID.DouYouDev:
                     QDDouYouManager.Instance.Pay(buyID, count, orderID, price);
@@ -157,7 +236,18 @@ namespace GFGGame
 
                     break;
                 case (int)ChannelID.DouYou:
-                    QDDouYouManager.Instance.Logout();
+                    #if !GFGZSB
+                    if (LauncherConfig.platformId == 2)
+                    {
+#if !UNITY_EDITOR && UNITY_IOS
+                        QDDouYouManagerIos.Instance.Logout();
+#endif
+                    }
+                    else
+                    {
+                        QDDouYouManager.Instance.Logout();
+                    }
+                    #endif
                     break;
                 case (int)ChannelID.DouYouDev:
                     QDDouYouManager.Instance.Logout();
@@ -178,7 +268,20 @@ namespace GFGGame
                     GameController.ShowExitAlert();
                     break;
                 case (int)ChannelID.DouYou:
-                    QDDouYouManager.Instance.Exit();
+#if GFGZSB
+              GameController.ShowExitAlert();     
+#else
+                    if (LauncherConfig.platformId == 2)
+                    {
+#if !UNITY_EDITOR && UNITY_IOS
+                        QDDouYouManagerIos.Instance.Exit();
+#endif
+                    }
+                    else
+                    {
+                        QDDouYouManager.Instance.Exit();
+                    }
+#endif
                     break;
                 case (int)ChannelID.DouYouDev:
                     QDDouYouManager.Instance.Exit();
@@ -201,25 +304,25 @@ namespace GFGGame
                     break;
                 case (int)ChannelID.DouYou:
                     //改名上报给sdk
-                    var zoneScene = GameGlobal.zoneScene;
-                    if (zoneScene == null) return;
-
-                    if (zoneScene.GetComponent<RoleInfosComponent>() == null ||
-                        zoneScene.GetComponent<RoleInfosComponent>().IsDisposed) return;
-
-                    var roleInfo = zoneScene.GetComponent<RoleInfosComponent>().GetCurrentRole();
-                    if (roleInfo == null) return;
-
-                    if (GameGlobal.myNumericComponent == null) return;
-                    int lvl = GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl);
-
-                    if (zoneScene.GetComponent<ServerInfosComponent>() == null) return;
-                    if (zoneScene.GetComponent<ServerInfosComponent>().recentlyServerInfo == null) return;
-
-                    string serverName = zoneScene.GetComponent<ServerInfosComponent>().recentlyServerInfo.ServerName;
-                    QDDouYouManagerInit.Instance.ReportRole((int)reportType,
-                        roleInfo.Id.ToString(), lvl.ToString(), roleInfo.Name, roleInfo.ServerId.ToString(),
-                        serverName);
+                    // var zoneScene = GameGlobal.zoneScene;
+                    // if (zoneScene == null) return;
+                    //
+                    // if (zoneScene.GetComponent<RoleInfosComponent>() == null ||
+                    //     zoneScene.GetComponent<RoleInfosComponent>().IsDisposed) return;
+                    //
+                    // var roleInfo = zoneScene.GetComponent<RoleInfosComponent>().GetCurrentRole();
+                    // if (roleInfo == null) return;
+                    //
+                    // if (GameGlobal.myNumericComponent == null) return;
+                    // int lvl = GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl);
+                    //
+                    // if (zoneScene.GetComponent<ServerInfosComponent>() == null) return;
+                    // if (zoneScene.GetComponent<ServerInfosComponent>().recentlyServerInfo == null) return;
+                    //
+                    // string serverName = zoneScene.GetComponent<ServerInfosComponent>().recentlyServerInfo.ServerName;
+                    // QDDouYouManagerInit.Instance.ReportRole((int)reportType,
+                    //     roleInfo.Id.ToString(), lvl.ToString(), roleInfo.Name, roleInfo.ServerId.ToString(),
+                    //     serverName);
                     break;
                 case (int)ChannelID.DouYouDev:
                     //改名上报给sdk

+ 15 - 1
GameClient/Assets/Game/HotUpdate/ServerProxy/ShopSProxy.cs

@@ -64,7 +64,6 @@ namespace GFGGame
                 if (response.Error == ErrorCode.ERR_Success)
                 {
                     ShopCfg shopCfg = ShopCfgArray.Instance.GetCfg(response.BuyId);
-                    ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(shopCfg.itemId);
                     if (shopCfg.CostTypeReal == CostType.RMB)
                     {
                         QDManager.Pay(response.BuyId, response.Times, response.OrderId, response.Price);
@@ -223,5 +222,20 @@ namespace GFGGame
             return false;
         }
 
+        //创建支付宝订单
+        public static async ETTask<S2C_CreateAliOrder> ReqCreateAliOrder(long tempOrderId)
+        {
+            var response = (S2C_CreateAliOrder)await MessageHelper.SendToServer(new C2S_CreateAliOrder()
+                { OrderTempId = tempOrderId });
+            return response;
+        }
+        
+        //创建微信订单
+        public static async ETTask<S2C_CreateWeChatPayOrder> ReqCreateWeChatOrder(long tempOrderId)
+        {
+            var response = (S2C_CreateWeChatPayOrder)await MessageHelper.SendToServer(new C2S_CreateWeChatPayOrder()
+                { OrderTempId = tempOrderId });
+            return response;
+        }
     }
 }

+ 5 - 0
GameClient/Assets/Game/HotUpdate/Views/DailyWelfare/DailyWelfareView.cs

@@ -137,6 +137,11 @@ namespace GFGGame
                         item.m_loaTitle.visible = false;
                     }
                 }
+                else if (openCfg.id == 502)
+                {
+                    item.m_loaIcon.url = ResPathUtil.GetActivityPath("hd_xianshilc", "png");;
+                    item.m_loaTitle.visible = false;
+                }
                 item.m_loaTitle.visible = false;
             }
             else if (openCfg.id == 501)

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/Login/LoginView.cs

@@ -206,7 +206,7 @@ namespace GFGGame
 
                     break;
                 case (int)ChannelID.DouYou:
-                    QDDouYouManager.Instance.LoginOutBefore();
+                    // QDDouYouManager.Instance.LoginOutBefore();
                     break;
                 case (int)ChannelID.DouYouDev:
                     QDDouYouManager.Instance.LoginOutBefore();

+ 13 - 3
GameClient/Assets/Game/HotUpdate/Views/MainUI/MainUIView.cs

@@ -1624,15 +1624,25 @@ namespace GFGGame
 
             if (GuideDataManager.currentGuideId > 0) return;
             if (GameGlobal.AutoShowCompleted) return;
-            if (!GameGlobal.AfterDataInited) return;
-            if (!ViewManager.CheckIsTopView(this.viewCom)) return;
+            
+#if !GFGZSB
             int isRegisterRoleInfo = GameGlobal.myNumericComponent.GetAsInt(NumericType.IsRegisterRoleInfo);
             if (isRegisterRoleInfo == 0)
             {
                 ViewManager.Show<RoleInfoRegisterView>();
                 return;
             }
-
+            
+            if (LauncherConfig.platformId == 1 && LauncherConfig.ChannelId == (int)ChannelID.DouYou)
+            {
+                ViewManager.Show<QieHuanView>();
+                return; 
+            }
+#endif
+            
+            if (!GameGlobal.AfterDataInited) return;
+            if (!ViewManager.CheckIsTopView(this.viewCom)) return;
+            
             if (RoleDataManager.lvl < 5) return;
             //if (!TimeUtil.CheckIsSameTime(lastTime * 1000, TimeHelper.ClientNow()))
             if (GameGlobal.AutoNewPlayersTips)

+ 55 - 0
GameClient/Assets/Game/HotUpdate/Views/RoleInfoRegister/QieHuanView.cs

@@ -0,0 +1,55 @@
+using UI.Login;
+using UnityEngine;
+using FairyGUI;
+
+namespace GFGGame
+{
+    public class QieHuanView : BaseWindow
+    {
+        private UI_QieHuanUI _ui;
+
+        public override void Dispose()
+        {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
+
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_QieHuanUI.PACKAGE_NAME;
+            _ui = UI_QieHuanUI.Create();
+            this.viewCom = _ui.target;
+            this.viewCom.Center();
+            this.modal = true;
+
+            _ui.m_btnSubmit.onClick.Add(OnClickBtnSubmit);
+            _ui.m_btnDow.onClick.Add(OnClickBtnDow);
+        }
+
+        protected override void OnShown()
+        {
+            base.OnShown();
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+        }
+
+        private void OnClickBtnDow()
+        {
+            Application.OpenURL("http://cdn.goufuguiwxw.com/Apk/万世镜官包.apk");
+        }
+
+        private void OnClickBtnSubmit()
+        {
+            ViewManager.Show<RoleInfoRegisterView>();
+        }
+    }
+}

+ 3 - 0
GameClient/Assets/Game/HotUpdate/Views/RoleInfoRegister/QieHuanView.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 0528f326a201448f87b0cef328cc93ad
+timeCreated: 1735124181

+ 103 - 0
GameClient/Assets/Game/HotUpdate/Views/Store/StorePayPropView.cs

@@ -0,0 +1,103 @@
+using System;
+using System.Threading.Tasks;
+using ET;
+using FairyGUI;
+using UI.Store;
+
+namespace GFGGame
+{
+    public class StorePayPropView : BaseWindow
+    {
+        private UI_StorePayPropUI _ui;
+
+        //商品id
+        private int _goodsId;
+
+        //临时订单id
+        private long _tempOrderId;
+
+        //订单金额
+        private long _price;
+
+        public override void Dispose()
+        {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+            }
+
+            _ui = null;
+            base.Dispose();
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_StorePayPropUI.PACKAGE_NAME;
+            _ui = UI_StorePayPropUI.Create();
+            this.viewCom = _ui.target;
+            this.viewCom.Center();
+            this.modal = true;
+            viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
+
+            _ui.m_payVxBtn.onClick.Add(OnVxBtnBuyClick);
+            _ui.m_payAliBtn.visible = false;
+            //_ui.m_payAliBtn.onClick.Add(OnAliBtnBuyClick);
+            _ui.m_payClose.visible = false;
+            _ui.m_payClose.onClick.Add(OnCloseClick);
+        }
+
+        protected override void OnShown()
+        {
+            base.OnShown();
+            _goodsId = (int)(this.viewData as object[])[0];
+            _tempOrderId = long.Parse((this.viewData as object[])[1].ToString());
+            _price = (long)(this.viewData as object[])[2];
+            ShopCfg cfg = ShopCfgArray.Instance.GetCfg(_goodsId);
+            _ui.m_txtTotal.text = _price + "元";
+            _ui.m_txtShopName.text = cfg.productName;
+            _ui.m_txtXzf.text = _price + "元";
+        }
+
+        private async void OnVxBtnBuyClick()
+        {
+            S2C_CreateWeChatPayOrder response = await ShopSProxy.ReqCreateWeChatOrder(_tempOrderId);
+            if (response == null || response.Error != ErrorCode.ERR_Success)
+            {
+                //TODO 提示调起支付宝失败
+                return;
+            }
+
+            string APP_ID = "wxd9772f42f126413f";
+            string MCH_ID = "1685294597";
+            string prepayid = response.PrepayIdStr;
+            string packageValue = "Sign=WXPay";
+            string noncestr = response.NonceStr;
+            string sign = response.Sign;
+            AliManagerr.Instance.PayVx(APP_ID, MCH_ID, prepayid, packageValue,
+                noncestr, response.Timestamp, sign);
+        }
+
+        private async void OnAliBtnBuyClick()
+        {
+            S2C_CreateAliOrder response = await ShopSProxy.ReqCreateAliOrder(_tempOrderId);
+            if (response == null || response.Error != ErrorCode.ERR_Success)
+            {
+                //TODO 提示调起支付宝失败
+                return;
+            }
+
+            AliManagerr.Instance.Pay(response.AliOrderStr);
+        }
+
+        private async void OnCloseClick()
+        {
+           Hide();
+        }
+    }
+}

+ 3 - 0
GameClient/Assets/Game/HotUpdate/Views/Store/StorePayPropView.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 737ad6fde790433e8394af1dff873378
+timeCreated: 1733645100

+ 6 - 0
GameClient/Assets/Game/HotUpdate/Views/Store/StoreView.cs

@@ -69,6 +69,12 @@ namespace GFGGame
             _arenaSubTab.Add(new List<string>() { arenaTab.subTabArr[0][0], arenaTab.subTabArr[0][1], arenaTab.subTabArr[0][2] });
             for (int i = ArenaDataManager.Instance.SeasonId; i > 0; i--)
             {
+                List<ShopCfg> shopCfgs = ShopCfgArray.Instance.GetCfgsBymenu1Andmenu2(ConstStoreTabId.STORE_ARENA, i);
+                if (shopCfgs.Count == 0)
+                {
+                    continue;
+                }
+
                 _arenaSubTab.Add(new List<string>() { string.Format("第{0}赛季", i), i.ToString(), "StoreArenaView" });
             }
 

+ 8 - 0
GameClient/Assets/Game/Launcher/Platform/Pay.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 63174eaf331a19a4c8595f7904ed60ea
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 97 - 0
GameClient/Assets/Game/Launcher/Platform/Pay/AliPayManagerInit.cs

@@ -0,0 +1,97 @@
+using DouYouSdk;
+using UniFramework.Event;
+using UnityEngine;
+
+namespace GFGGame.Launcher
+{
+    public class AliPayManagerInit : SingletonBase<AliPayManagerInit>
+    {
+        public IAliSDKListener aliSDKListener;
+
+        private static AndroidJavaClass _unityPlayerClass;
+
+        private static AndroidJavaObject _mainActivity;
+
+        public void InitSDK()
+        {
+            if (_unityPlayerClass == null)
+            {
+                _unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
+            }
+
+            if (_mainActivity == null)
+            {
+                _mainActivity = _unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity");
+            }
+
+            AliDKHandler eventHandler = GameObject.Find("AliPayGameObject")?.GetComponent<AliDKHandler>();
+            if (eventHandler == null)
+            {
+                GameObject gameObject = new GameObject("AliPayGameObject");
+                gameObject.AddComponent<AliDKHandler>();
+                GameObject.DontDestroyOnLoad(gameObject);
+            }
+
+            InitVxSdk(LauncherConfig.vxSdkAppId);
+        }
+
+        /// <summary>
+        /// 调起支付宝支付
+        /// </summary>
+        public void ShowSwitchPayment(string orderStr, string callBackObjectName = "AliPayGameObject",
+            string callBackFuncName = "AliPayReceive")
+        {
+            Instance.CallDouYouMainActivity("AliPay", orderStr, callBackObjectName, callBackFuncName);
+        }
+
+        //实例化微信SDK
+        public void InitVxSdk(string appId)
+        {
+            Instance.CallDouYouMainActivity("WechatInit", appId);
+        }
+
+        /// <summary>
+        /// 调起微信支付
+        /// </summary>
+        /// <param name="appId">APP_ID:微信开放平台应用的唯一标识,通常由微信支付平台提供。</param>
+        /// <param name="mchId">MCH_ID:商户号,由微信支付平台提供。</param>
+        /// <param name="prepayId">prepayid:通过调用统一下单接口得到的预支付交易会话ID。是微信支付在后台创建订单时返回的参数。</param>
+        /// <param name="packageValue">packageValue:签名方式,通常为 "Sign=WXPay",如果需要做其他支付方式,可以修改这个值。</param>
+        /// <param name="nonceStr">这是一个随机字符串,用于防止请求被重放。</param>
+        /// <param name="timestamp">timestamp:时间戳,当前时间的秒级表示。这个值在每次请求时需要实时获取。</param>
+        /// <param name="sign">sign:签名,必须按照微信支付要求的方式来计算签名。签名的计算规则涉及到其他参数,需要商户自己计算。</param>
+        /// <param name="callBackObjectName"></param>
+        /// <param name="callBackFuncName"></param>
+        public void VxShowSwitchPayment(string appId, string mchId, string prepayId, string packageValue,
+            string nonceStr, string timestamp, string sign, string callBackObjectName = "AliPayGameObject",
+            string callBackFuncName = "VxPayReceive")
+        {
+            Instance.CallDouYouMainActivity("WeChatPayReq", appId, mchId, prepayId, packageValue,
+                nonceStr, timestamp, sign, callBackObjectName, callBackFuncName);
+        }
+
+        private void CallDouYouMainActivity(string functionName, params object[] args)
+        {
+            _mainActivity?.Call(functionName, args);
+        }
+
+        public class AliDKHandler : AliPaySDKHandler
+        {
+            /// <summary>
+            /// 支付回调
+            /// </summary>
+            /// <param name="message">支付回调</param>
+            public override void AliPayReceiveAb(string message)
+            {
+                Debug.Log($"AliPayReceiveAb:{message}");
+                AliPayManagerInit.Instance.aliSDKListener?.AliPayReceiveAb(message);
+            }
+
+            public override void VxPayReceiveAb(string message)
+            {
+                Debug.Log($"AliPayReceiveAb:{message}");
+                AliPayManagerInit.Instance.aliSDKListener?.VxPayReceiveAb(message);
+            }
+        }
+    }
+}

+ 3 - 0
GameClient/Assets/Game/Launcher/Platform/Pay/AliPayManagerInit.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: dd2b7918ce3642d38dbac76a0a0567f0
+timeCreated: 1732521792

+ 9 - 0
GameClient/Assets/Game/Launcher/Platform/Pay/IAliSDKListener.cs

@@ -0,0 +1,9 @@
+namespace GFGGame.Launcher
+{
+    public interface IAliSDKListener
+    {
+        public void AliPayReceiveAb(string message);
+
+        public void VxPayReceiveAb(string message);
+    }
+}

+ 3 - 0
GameClient/Assets/Game/Launcher/Platform/Pay/IAliSDKListener.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 9587d9fa41fc4bb8a44bf6217f907a4a
+timeCreated: 1732530909

+ 7 - 1
GameClient/Assets/Game/Launcher/Platform/QDManagerInit.cs

@@ -10,16 +10,22 @@ namespace GFGGame.Launcher
             switch (LauncherConfig.ChannelId)
             {
                 case (int)ChannelID.DouYou:
-                    QDDouYouManagerInit.Instance.InitSDK(LauncherConfig.douYouAdId);
+                    //QDDouYouManagerInit.Instance.InitSDK(LauncherConfig.douYouAdId);
+                    //QDShareManagerInit.Instance.InitSDK();
+                    UniEvent.SendMessage(new LauncherEvent.InitPlatformResult() { success = true });
+                    AliPayManagerInit.Instance.InitSDK();
+        
                     break;
                 case (int)ChannelID.DouYouDev:
                     QDDouYouManagerInit.Instance.InitSDK(LauncherConfig.douYouAdId);
+                    QDShareManagerInit.Instance.InitSDK();
                     break;
                 case (int)ChannelID.AppStore:
                     QDAppStoreManagerInit.InitPlatform();
                     break;
                 default:
                     UniEvent.SendMessage(new LauncherEvent.InitPlatformResult() { success = true });
+                    QDShareManagerInit.Instance.InitSDK();
                     break;
             }
         }

BIN
GameClient/Assets/ResIn/UI/Login/Login_fui.bytes


BIN
GameClient/Assets/ResIn/UI/Store/Store_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/Store/Store_atlas0.png


BIN
GameClient/Assets/ResIn/UI/Store/Store_atlas0_1!a.png


BIN
GameClient/Assets/ResIn/UI/Store/Store_atlas0_1.png


BIN
GameClient/Assets/ResIn/UI/Store/Store_atlas0_2!a.png


BIN
GameClient/Assets/ResIn/UI/Store/Store_atlas0_2.png


BIN
GameClient/Assets/ResIn/UI/Store/Store_atlas0_3!a.png


BIN
GameClient/Assets/ResIn/UI/Store/Store_atlas0_3.png


BIN
GameClient/Assets/ResIn/UI/Store/Store_atlas0_4!a.png


BIN
GameClient/Assets/ResIn/UI/Store/Store_atlas0_4.png


BIN
GameClient/Assets/ResIn/UI/Store/Store_atlas0_5!a.png


BIN
GameClient/Assets/ResIn/UI/Store/Store_atlas0_5.png


BIN
GameClient/Assets/ResIn/UI/Store/Store_atlas_hhx91q!a.png


BIN
GameClient/Assets/ResIn/UI/Store/Store_atlas_hhx91q.png


BIN
GameClient/Assets/ResIn/UI/Store/Store_fui.bytes


+ 8 - 0
GameClient/Assets/ThirdParty/AliPay.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b8b695e48dc67a443b2fa82848f0ad1a
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 31 - 0
GameClient/Assets/ThirdParty/AliPay/AliPaySDKHandler.cs

@@ -0,0 +1,31 @@
+using UnityEngine;
+
+namespace DouYouSdk
+{
+    public abstract class AliPaySDKHandler : MonoBehaviour
+    {
+        public abstract void AliPayReceiveAb(string message);
+        
+        public abstract void VxPayReceiveAb(string message);
+        
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="message"></param>
+        public void AliPayReceive(string message)
+        {
+            Debug.Log($"AliPayReceive:{message}");
+            AliPayReceiveAb(message);
+        }
+        
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="message"></param>
+        public void VxPayReceive(string message)
+        {
+            Debug.Log($"VxPayReceive:{message}");
+            VxPayReceiveAb(message);
+        }
+    }
+}

+ 3 - 0
GameClient/Assets/ThirdParty/AliPay/AliPaySDKHandler.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: d5793ad216414a1d919febf2c17edcae
+timeCreated: 1726489817

+ 2 - 2
GameClient/GameClient.sln.DotSettings.user

@@ -1,3 +1,3 @@
 <wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
-	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AApplication_002Ecs_002Fl_003AC_0021_003FUsers_003Fss510_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F683a2b31bf9142429c44f02c75dbc6c913ce00_003F1a_003F758e61d5_003FApplication_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
-	<s:String x:Key="/Default/CodeInspection/Highlighting/AnalysisEnabled/@EntryValue">SOLUTION</s:String></wpf:ResourceDictionary>
+	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AEditorUtility_002Ecs_002Fl_003AC_0021_003FUsers_003Fss510_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F8d4895b259be41298a685a0c9b42357576b400_003F3f_003Fa805acc1_003FEditorUtility_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
+	</wpf:ResourceDictionary>