123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.UI;
- namespace LoyalSoftSDK
- {
- public class PayPanel : BaseUIForm
- {
- private Text monyText;
- private Text prutNameText;
- private GameObject backBtn;
- private GameObject payBtn;
- private GameObject panlZFB;
- private GameObject panlWachat;
- private GameObject selctZFB;
- private GameObject selctWechat;
- // Use this for initialization
- private string payWay;
- //
- private string product_id;
- private string product_name;
- private string product_count;
- private string product_price;
- private string party_id;
- private string party_name;
- private string amount;
- private string zoneid;
- private string callbackInfo;
- private string ageRange;
- //
- private AndroidJavaObject jo;
- //自己的订单号
- private string cpOrid;
- public override void Init()
- {
- curUIType = UIType.Normal;
- monyText = this.transform.Find("BackPanel/MonyText").gameObject.GetComponent<Text>();
- prutNameText = this.transform.Find("BackPanel/PrutNameText").gameObject.GetComponent<Text>();
- backBtn = this.transform.Find("BackPanel/BackButton").gameObject;
- EventTriggerListener.Get(backBtn).onClick = OnBackBtnClick;
- payBtn = this.transform.Find("BackPanel/PayButton").gameObject;
- EventTriggerListener.Get(payBtn).onClick = OnPayBtnClick;
- panlZFB = this.transform.Find("BackPanel/PanelZFB").gameObject;
- EventTriggerListener.Get(panlZFB).onClick = OnPanlZFBClick;
- panlWachat = this.transform.Find("BackPanel/PanelWechat").gameObject;
- EventTriggerListener.Get(panlWachat).onClick = OnPanlWachatClick;
- selctZFB = this.transform.Find("BackPanel/PanelZFB/ImageTrue").gameObject;
- selctWechat = this.transform.Find("BackPanel/PanelWechat/ImageTrue").gameObject;
- using (AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
- {
- jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
-
- }
- }
- public override void Display(BaseUIForm _parent, Dictionary<string, string> data)
- {
- Debug.Log("display1");
- string action;
- data.TryGetValue("action", out action);
- switch (action)
- {
- case "pay":
- PayWay = "ZFB";
- data.TryGetValue("product_id", out product_id);
- data.TryGetValue("product_name", out product_name);
- data.TryGetValue("product_count", out product_count);
- data.TryGetValue("product_price", out product_price);
- data.TryGetValue("party_id", out party_id);
- data.TryGetValue("party_name", out party_name);
- data.TryGetValue("ageRange ", out ageRange);
- data.TryGetValue("amount", out amount);
- data.TryGetValue("zoneid", out zoneid);
- data.TryGetValue("callbackInfo", out callbackInfo);
- monyText.text = amount + "元";
- prutNameText.text = product_name;
- Debug.Log("display2");
- if (string.IsNullOrEmpty(UserProxy.Instance.player.uid)) return;///这个是沿用了之前的逻辑,之前是下面的getcuruser。
- Debug.Log("display3");
- //if (UserManager.GetInstance().GetCurUser() == null) return;
- //if (UserManager.GetInstance().GetCurUser().Authentication)
- //{
- // UIFormManager.GetInstance().ShowUIForm("AuthenticationPanel", this, null);
- // return;
- //}
- base.Display(_parent, data);
- break;
- case "paySult":
- break;
- }
-
- }
- private string PayWay
- {
- get
- {
- return payWay;
- }
- set
- {
- payWay = value;
- if(payWay.Equals("ZFB"))
- {
- selctZFB.SetActive(true);
- selctWechat.SetActive(false);
- }
- else
- {
- selctZFB.SetActive(false);
- selctWechat.SetActive(true);
- }
- }
- }
- private void OnBackBtnClick(GameObject go)
- {
- GoBackParent();
- }
- private void OnPayBtnClick(GameObject go)
- {
- if(PayWay.EndsWith("Wachat"))
- {
- CheckInstallApk();
- }
- else
- {
- SendPayDataToSever();
- }
-
- }
- private void SendPayDataToSever()
- {
- Dictionary<string, object> sendPostDic = new Dictionary<string, object>();
- string senStr;
- sendPostDic.Add("accountId", UserProxy.Instance.player.uid);
- sendPostDic.Add("amount", amount);
- sendPostDic.Add("channel", "soft");
- sendPostDic.Add("callbackInfo", callbackInfo);
- sendPostDic.Add("zoneid", zoneid);
- sendPostDic.Add("product_id", product_id);
- sendPostDic.Add("product_name", product_name);
- sendPostDic.Add("product_count", product_count);
- sendPostDic.Add("product_price", product_price);
- sendPostDic.Add("party_id", party_id);
- sendPostDic.Add("party_name", party_name);
- sendPostDic.Add("ageRange", ageRange);
- senStr = MiniJSON.Json.Serialize(sendPostDic);
- //sendPostDic.Add("accountId", "B2511C69AF2C7BFB845BB5AE2AB165CF");
- //sendPostDic.Add("amount", "6.0");
- //sendPostDic.Add("channel", "soft");
- //sendPostDic.Add("callbackInfo", "soft - B2511C69AF2C7BFB845BB5AE2AB165CF,1");
- //sendPostDic.Add("zoneid", "1");
- //sendPostDic.Add("product_id", "801801");
- //sendPostDic.Add("product_name", "60钻石");
- //sendPostDic.Add("product_count", "1");
- //sendPostDic.Add("product_price", "6");
- //sendPostDic.Add("party_id", "0");
- //sendPostDic.Add("party_name", "无");
- //senStr = MiniJSON.Json.Serialize(sendPostDic);
- Debug.Log("ceshiceshi:"+senStr);
- if(PayWay.Equals("Wachat"))
- {
- StartCoroutine(UserManager.GetInstance().NetRequest(SoftSDKInstance.payWx, senStr, PayCallBack));
- }
- else
- {
- StartCoroutine(UserManager.GetInstance().NetRequest(SoftSDKInstance.payZfb, senStr, PayCallBack));
- }
-
- }
- private void OnPanlZFBClick(GameObject go)
- {
- PayWay = "ZFB";
- }
- private void OnPanlWachatClick(GameObject go)
- {
- PayWay = "Wachat";
- }
- private void PayCallBack(string code, string data)
- {
- Debug.Log(code + "-----" + data);
- if (code.Equals("succees"))
- {
- Dictionary<string, object> jsonMap = MiniJSON.Json.Deserialize(data) as Dictionary<string, object>;
- string errCode = jsonMap["err"].ToString();
- if (errCode.Equals("0"))
- {
- //{ "err":0,"platformCode":"wx","cpOrderId":"1806191344000820","platformInfo":{ "appid":"wx95ddb3ce05de33b4","partnerid":"1494582952",
- // "prepayid":"wx19134409961653e46cef49571245226738","package":"Sign=WXPay","noncestr":"gs3lvmth5wpqpp9frmegsrzm0be84dzy",
- // "timestamp":1529387047,"sign":"54FD412D4B324DC31212E00C1ED08E66"} }
- string platformCode= jsonMap["platformCode"].ToString();
- cpOrid= jsonMap["cpOrderId"].ToString();
- if (platformCode.Equals("wx"))
- {
- CallPayByWechat(MiniJSON.Json.Serialize(jsonMap["platformInfo"]));
- }
- else
- {
- CallPayByZFB(MiniJSON.Json.Serialize(jsonMap["platformInfo"]));
- }
- }
- else
- {
- Dictionary<string, string> dataMsg = new Dictionary<string, string>();
- dataMsg.Add("message", jsonMap["msg"].ToString());
- UIFormManager.GetInstance().ShowUIForm("MessagePanel", null, dataMsg);
- }
- }
- else
- {
- Debug.LogError("网络通信出错!---" + data);
- Dictionary<string, string> dataMsg = new Dictionary<string, string>();
- dataMsg.Add("message", "网络出错,请稍候再试!");
- UIFormManager.GetInstance().ShowUIForm("MessagePanel", null, dataMsg);
- }
- }
- private void CallPayByZFB(string data)
- {
- try
- {
- jo.Call("doAction", "payZFB",data);
- }
- catch (Exception e)
- {
- Debug.LogError(e);
- }
- }
- private void CallPayByWechat(string data)
- {
- try
- {
- jo.Call("doAction", "payWeChat", data);
- }
- catch (Exception e)
- {
- Debug.LogError(e);
- }
- }
- private void CheckInstallApk()
- {
- try
- {
- jo.Call("doAction", "checkInstallApk", "");
- }
- catch (Exception e)
- {
- Debug.LogError(e);
- }
- }
- public void GetPayResults(string jsonData)
- {
-
-
- Dictionary<string, object> jsonMap = MiniJSON.Json.Deserialize(jsonData) as Dictionary<string, object>;
- string action = jsonMap["action"].ToString();
- string msg = jsonMap["msg"].ToString();
- string data = jsonMap["data"].ToString();
- if (msg.Equals("checkInstallApk"))
- {
- if(data.Equals("hasInstall"))
- {
- SendPayDataToSever();
- }
- else
- {
- UIFormManager.GetInstance().ShowUIForm("InstallationWechatPanel", this, null);
- Hiding();
- }
- return;
- }
- Dictionary<string, object> backData = new Dictionary<string, object>();
- if (msg.Equals("paySuccees"))
- {
- backData.Add("action", "paySuccees");
- backData.Add("data", cpOrid);
- backData.Add("msg", "支付成功");
- Dictionary<string, string> dataMsg = new Dictionary<string, string>();
- dataMsg.Add("message", "支付成功");
- UIFormManager.GetInstance().ShowUIForm("MessagePanel", null, dataMsg);
- }
- else
- {
- backData.Add("action", "payFaill");
- backData.Add("data", cpOrid);
- backData.Add("msg", "支付失败");
- Debug.Log("支付失败释义:" + data);
- Dictionary<string, string> dataMsg = new Dictionary<string, string>();
- dataMsg.Add("message", data);
- UIFormManager.GetInstance().ShowUIForm("MessagePanel", null, dataMsg);
- }
- SoftSDKInstance.GetInstance().SendCallBackMsg(MiniJSON.Json.Serialize(backData));
- GoBackParent();
- }
- }
- }
|