StorePayPropView.cs 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. using System;
  2. using System.Threading.Tasks;
  3. using ET;
  4. using FairyGUI;
  5. using UI.Store;
  6. namespace GFGGame
  7. {
  8. public class StorePayPropView : BaseWindow
  9. {
  10. private UI_StorePayPropUI _ui;
  11. //商品id
  12. private int _goodsId;
  13. //临时订单id
  14. private long _tempOrderId;
  15. //订单金额
  16. private long _price;
  17. public override void Dispose()
  18. {
  19. if (_ui != null)
  20. {
  21. _ui.Dispose();
  22. }
  23. _ui = null;
  24. base.Dispose();
  25. }
  26. protected override void OnHide()
  27. {
  28. base.OnHide();
  29. }
  30. protected override void OnInit()
  31. {
  32. base.OnInit();
  33. packageName = UI_StorePayPropUI.PACKAGE_NAME;
  34. _ui = UI_StorePayPropUI.Create();
  35. this.viewCom = _ui.target;
  36. this.viewCom.Center();
  37. this.modal = true;
  38. viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
  39. _ui.m_payVxBtn.onClick.Add(OnVxBtnBuyClick);
  40. _ui.m_payAliBtn.visible = false;
  41. //_ui.m_payAliBtn.onClick.Add(OnAliBtnBuyClick);
  42. _ui.m_payClose.visible = false;
  43. _ui.m_payClose.onClick.Add(OnCloseClick);
  44. }
  45. protected override void OnShown()
  46. {
  47. base.OnShown();
  48. _goodsId = (int)(this.viewData as object[])[0];
  49. _tempOrderId = long.Parse((this.viewData as object[])[1].ToString());
  50. _price = (long)(this.viewData as object[])[2];
  51. ShopCfg cfg = ShopCfgArray.Instance.GetCfg(_goodsId);
  52. _ui.m_txtTotal.text = _price + "元";
  53. _ui.m_txtShopName.text = cfg.productName;
  54. _ui.m_txtXzf.text = _price + "元";
  55. }
  56. private async void OnVxBtnBuyClick()
  57. {
  58. S2C_CreateWeChatPayOrder response = await ShopSProxy.ReqCreateWeChatOrder(_tempOrderId);
  59. if (response == null || response.Error != ErrorCode.ERR_Success)
  60. {
  61. //TODO 提示调起支付宝失败
  62. return;
  63. }
  64. string APP_ID = "wxd9772f42f126413f";
  65. string MCH_ID = "1685294597";
  66. string prepayid = response.PrepayIdStr;
  67. string packageValue = "Sign=WXPay";
  68. string noncestr = response.NonceStr;
  69. string sign = response.Sign;
  70. AliManagerr.Instance.PayVx(APP_ID, MCH_ID, prepayid, packageValue,
  71. noncestr, response.Timestamp, sign);
  72. }
  73. private async void OnAliBtnBuyClick()
  74. {
  75. S2C_CreateAliOrder response = await ShopSProxy.ReqCreateAliOrder(_tempOrderId);
  76. if (response == null || response.Error != ErrorCode.ERR_Success)
  77. {
  78. //TODO 提示调起支付宝失败
  79. return;
  80. }
  81. AliManagerr.Instance.Pay(response.AliOrderStr);
  82. }
  83. private async void OnCloseClick()
  84. {
  85. Hide();
  86. }
  87. }
  88. }