StorePayPropView.cs 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  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.onClick.Add(OnAliBtnBuyClick);
  41. _ui.m_payClose.onClick.Add(OnCloseClick);
  42. }
  43. protected override void OnShown()
  44. {
  45. base.OnShown();
  46. _goodsId = (int)(this.viewData as object[])[0];
  47. _tempOrderId = long.Parse((this.viewData as object[])[1].ToString());
  48. _price = (long)(this.viewData as object[])[2];
  49. ShopCfg cfg = ShopCfgArray.Instance.GetCfg(_goodsId);
  50. _ui.m_txtTotal.text = _price + "元";
  51. _ui.m_txtShopName.text = cfg.productName;
  52. _ui.m_txtXzf.text = _price + "元";
  53. }
  54. private async void OnVxBtnBuyClick()
  55. {
  56. S2C_CreateWeChatPayOrder response = await ShopSProxy.ReqCreateWeChatOrder(_tempOrderId);
  57. if (response == null || response.Error != ErrorCode.ERR_Success)
  58. {
  59. //TODO 提示调起支付宝失败
  60. return;
  61. }
  62. string APP_ID = "wxd9772f42f126413f";
  63. string MCH_ID = "200768907612";
  64. string prepayid = response.PrepayIdStr;
  65. string packageValue = "Sign=WXPay";
  66. string noncestr = response.NonceStr;
  67. string sign = response.Sign;
  68. AliManagerr.Instance.PayVx(APP_ID, MCH_ID, prepayid, packageValue,
  69. noncestr, response.Timestamp, sign);
  70. }
  71. private async void OnAliBtnBuyClick()
  72. {
  73. S2C_CreateAliOrder response = await ShopSProxy.ReqCreateAliOrder(_tempOrderId);
  74. if (response == null || response.Error != ErrorCode.ERR_Success)
  75. {
  76. //TODO 提示调起支付宝失败
  77. return;
  78. }
  79. AliManagerr.Instance.Pay(response.AliOrderStr);
  80. }
  81. private async void OnCloseClick()
  82. {
  83. }
  84. }
  85. }