hch
2025-07-02 aaa822b7f20f04d9ae00fff5efa6c2ec7e2cd83c
Project/yj_sdk/src/game_yj/java/com/secondworld/univeralsdk/YJPlatformUtil.java
@@ -1,8 +1,9 @@
package com.secondworld.univeralsdk;
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import com.snowfish.cn.ganga.helper.SFOnlineHelper;
import com.snowfish.cn.ganga.helper.SFOnlineInitListener;
@@ -13,13 +14,6 @@
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
@@ -87,14 +81,13 @@
                USER = sfOnlineUser;
                //根据回调获取用户信息
                String userName = USER.getUserName();
                String timestamp = USER.getToken();
                String token = USER.getToken();
                String userId = USER.getChannelUserId();
                try
                {
                    JSONObject _info = new JSONObject();
                    _info.put("account", userName);
                    _info.put("account", userId);
                    _info.put("token", token);
                    _info.put("timeStamp", timestamp);
                    _info.put("account_id", userId);
@@ -121,7 +114,30 @@
    public void login(final Activity activity)
    {
        SFOnlineHelper.login(activity, "Login");
        String _appid = UniversalUtil.getMetaString(activity, "yj_appid");
        if (_appid.equals("yybgame"))
        {
            SharedPreferences _sp = activity.getPreferences(Context.MODE_PRIVATE);
            String _loginType = _sp.getString(StaticDefine.LS_KEY_TENCENT_LOGINPARAM, "");
            if(_loginType.length() > 0)
            {
                SFOnlineHelper.login(activity, _loginType);
            }
        }
        else
        {
            SFOnlineHelper.login(activity, "Login");
        }
    }
    public void loginTencent(final Activity activity, String param)
    {
        SFOnlineHelper.login(activity, param);
        SharedPreferences _sp = activity.getPreferences(Context.MODE_PRIVATE);
        SharedPreferences.Editor _editor = _sp.edit();
        _editor.putString(StaticDefine.LS_KEY_TENCENT_LOGINPARAM, param);
        _editor.apply();
    }
    public void logout(final Activity activity)
@@ -129,7 +145,91 @@
        SFOnlineHelper.logout(activity, "LoginOut");
    }
    public void pay(final Activity activity, String productName, String productID, float price,
    public void charge(final Activity activity, String productName, float price, String extData)
    {
        SFOnlineHelper.charge(activity,
                              productName,
                              (int) (price * 100),
                              1, extData,
                              PAY_CALLBACK_URL,
                              new SFOnlinePayResultListener()
                              {
                                  @Override
                                  public void onFailed(String s)
                                  {
                                      m_Message.clear();
                                      //根据回调获取支付订单信息
                                      LogUtil.i(TAG, "Pay Fail Info: " + s);
                                      m_Message.put("code", CodeA2U.FreePlatformPayFail);
                                      UniversalUtil.sendMessageToUnity(m_Message);
                                      payProcessing = false;
                                  }
                                  @Override
                                  public void onSuccess(String s)
                                  {
                                      m_Message.clear();
                                      //根据回调获取支付订单信息
                                      LogUtil.i(TAG, "Pay Success Info: " + s);
                                      m_Message.put("code", CodeA2U.FreePlatformPayOk);
                                      UniversalUtil.sendMessageToUnity(m_Message);
                                      payProcessing = false;
                                  }
                                  @Override
                                  public void onOderNo(String s)
                                  {
                                      LogUtil.i(TAG, "Pay Order No: " + s);
                                  }
                              });
        payProcessing = true;
    }
    public void payExtend(final Activity activity,
                          String productName,
                          String productID,
                          float price,
                          String extData)
    {
        SFOnlineHelper.payExtend(activity, (int) (price * 100),
                                 productName, productID, extData, 1, "", PAY_CALLBACK_URL,
                                 new SFOnlinePayResultListener()
                                 {
                                     @Override
                                     public void onFailed(String s)
                                     {
                                         m_Message.clear();
                                         //根据回调获取支付订单信息
                                         LogUtil.i(TAG, "Pay Fail Info: " + s);
                                         m_Message.put("code", CodeA2U.FreePlatformPayFail);
                                         UniversalUtil.sendMessageToUnity(m_Message);
                                         payProcessing = false;
                                     }
                                     @Override
                                     public void onSuccess(String s)
                                     {
                                         m_Message.clear();
                                         //根据回调获取支付订单信息
                                         LogUtil.i(TAG, "Pay Success Info: " + s);
                                         m_Message.put("code", CodeA2U.FreePlatformPayOk);
                                         UniversalUtil.sendMessageToUnity(m_Message);
                                         payProcessing = false;
                                     }
                                     @Override
                                     public void onOderNo(String s)
                                     {
                                         LogUtil.i(TAG, "Pay Order No: " + s);
                                     }
                                 });
        payProcessing = true;
    }
    public void pay(final Activity activity,
                    String productName,
                    String productID,
                    float price,
                    String extData)
    {
        SFOnlineHelper.pay(activity,
@@ -179,13 +279,12 @@
                           String roleLevel,
                           String FamilyName,
                           String createTime,
                           String levelUpTime,
                           String vipLevel,
                           String surplusMoney)
    {
        SFOnlineHelper.setRoleData(activity, roleID, roleName, roleLevel, serverID, serverName);
        SFOnlineHelper.setRoleData(activity, roleID, roleName, roleLevel, "1", "默认分区");
        String _info = createGameData(serverID, serverName, roleID, roleName, roleLevel, FamilyName,
                                      createTime, levelUpTime, vipLevel, surplusMoney);
                                      createTime, "", vipLevel, surplusMoney);
        SFOnlineHelper.setData(activity, "createrole", _info); //  创建新角色时调用       必接
    }
@@ -196,13 +295,12 @@
                           String roleName,
                           String roleLevel,
                           String FamilyName,
                           String createTime,
                           String levelUpTime,
                           String vipLevel,
                           String surplusMoney)
    {
        SFOnlineHelper.setRoleData(activity, roleID, roleName, roleLevel, "1", "默认分区");
        String _info = createGameData(serverID, serverName, roleID, roleName, roleLevel, FamilyName,
                                      createTime, levelUpTime, vipLevel, surplusMoney);
                                      "", "", vipLevel, surplusMoney);
        SFOnlineHelper.setData(activity, "enterServer", _info); //  创建新角色时调用       必接
    }
@@ -245,8 +343,14 @@
            roleInfo.put("balance", surplusMoney);   //用户游戏币余额,必须为数字,若无,传入0
            roleInfo.put("vip", vipLevel);            //当前用户VIP等级,必须为数字,若无,传入1
            roleInfo.put("partyName", FamilyName);//当前角色所属帮派,不能为空,不能为null,若无,传入“无帮派”
            roleInfo.put("roleCTime", createTime);     //单位为秒,创建角色的时间
            roleInfo.put("roleLevelMTime", levelUpTime);    //单位为秒,角色等级变化时间
            if (createTime.length() > 0)
            {
                roleInfo.put("roleCTime", createTime);     //单位为秒,创建角色的时间
            }
            if (levelUpTime.length() > 0)
            {
                roleInfo.put("roleLevelMTime", levelUpTime);    //单位为秒,角色等级变化时间
            }
            return roleInfo.toString();
        } catch (JSONException ex)
        {
@@ -255,4 +359,7 @@
        return null;
    }
    public void SendRegisterEvent()
    {
    }
}