lizhihui

更新190326版本1

Showing 72 changed files with 360 additions and 231 deletions
No preview for this file type
......@@ -7,7 +7,7 @@
objects = {
/* Begin PBXBuildFile section */
2606305D22432E3700019981 /* Sorrow.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2606305C22432E3700019981 /* Sorrow.framework */; };
2606317F2249C4D300019981 /* Shadow.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2606317E2249C4D300019981 /* Shadow.framework */; };
269F653821B6613F006AEC88 /* HaiBaoJuheSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 269F653721B6613F006AEC88 /* HaiBaoJuheSDK.framework */; };
845D18221C8D778400F27EB9 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 845D181B1C8D778400F27EB9 /* Images.xcassets */; };
846BD2241EE9342700E89A1D /* hnyouai_config in Resources */ = {isa = PBXBuildFile; fileRef = 846BD21F1EE9342700E89A1D /* hnyouai_config */; };
......@@ -59,7 +59,7 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
2606305C22432E3700019981 /* Sorrow.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Sorrow.framework; sourceTree = "<group>"; };
2606317E2249C4D300019981 /* Shadow.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Shadow.framework; sourceTree = "<group>"; };
269F653721B6613F006AEC88 /* HaiBaoJuheSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = HaiBaoJuheSDK.framework; sourceTree = "<group>"; };
845D181B1C8D778400F27EB9 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = poolsdk_file/poolsdk/Images.xcassets; sourceTree = "<group>"; };
845D181C1C8D778400F27EB9 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = poolsdk_file/poolsdk/Info.plist; sourceTree = "<group>"; };
......@@ -110,6 +110,7 @@
8484E5001EE7E20C00B402D1 /* CFNetwork.framework in Frameworks */,
8484E5061EE7E24A00B402D1 /* CoreMotion.framework in Frameworks */,
8484E5021EE7E21F00B402D1 /* UIKit.framework in Frameworks */,
2606317F2249C4D300019981 /* Shadow.framework in Frameworks */,
8484E50C1EE7E27100B402D1 /* CoreGraphics.framework in Frameworks */,
8484E5081EE7E25600B402D1 /* CoreText.framework in Frameworks */,
8484E50E1EE7E28000B402D1 /* QuartzCore.framework in Frameworks */,
......@@ -117,7 +118,6 @@
8484E50A1EE7E26200B402D1 /* Security.framework in Frameworks */,
8484E5041EE7E24400B402D1 /* StoreKit.framework in Frameworks */,
8484E4FE1EE7E1F700B402D1 /* CoreTelephony.framework in Frameworks */,
2606305D22432E3700019981 /* Sorrow.framework in Frameworks */,
84A090AB1F160A69003D23FB /* TrackingIO.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
......@@ -143,7 +143,7 @@
8476DF641C4DD71D00EC42BA /* poolsdk */ = {
isa = PBXGroup;
children = (
2606305C22432E3700019981 /* Sorrow.framework */,
2606317E2249C4D300019981 /* Shadow.framework */,
84A090AC1F174E21003D23FB /* TrackingIO.h */,
84A090AA1F160A69003D23FB /* TrackingIO.a */,
846BD21F1EE9342700E89A1D /* hnyouai_config */,
......
......@@ -15,11 +15,11 @@
- (void)initChecker;
- (void)startCheck:(HaiBaoJuheLoginInfo *)loginInfo;
- (void) createOrder:(HaiBaoJuheCreateOrderInfo *)gzyazfInfo;
- (void) SorrowHaiBaoJuhereportOpen;
- (void) SorrowHaiBaoJuhereportSDKOpen;
- (void)SorrowHaiBaoJuhehandleFirstOpenApp:(NSString*) path;
- (void) ShadowHaiBaoJuhereportOpen;
- (void) ShadowHaiBaoJuhereportSDKOpen;
- (void)ShadowHaiBaoJuhehandleFirstOpenApp:(NSString*) path;
- (void) reportEnter:(HaiBaoJuheReportInfo *)reInfo;
- (void) SorrowHaiBaoJuheReport:(NSString *)_action :(HaiBaoJuheReportInfo *)reInfo;
- (void) ShadowHaiBaoJuheReport:(NSString *)_action :(HaiBaoJuheReportInfo *)reInfo;
- (void)sendNotice:(HaiBaoJuheSDKNotificationType)notiType
notiName:(NSString *)notiName
statusCode:(int)nCode
......@@ -28,7 +28,7 @@
- (void)startCheckDelegate:(HaiBaoJuheLoginInfo *)loginInfo;
- (void)SorrowHaiBaoJuheStartCheckDelegate:(HaiBaoJuheLoginInfo *)loginInfo type:(int)type;
- (void)ShadowHaiBaoJuheStartCheckDelegate:(HaiBaoJuheLoginInfo *)loginInfo type:(int)type;
/*
*初始化时调用
......
#import "HaiBaoJuheSDK/SorrowHaiBaoJuheBaseModel.h"
@interface HaiBaoJuheCreateOrderInfo : SorrowHaiBaoJuheBaseModel
#import "HaiBaoJuheSDK/ShadowHaiBaoJuheBaseModel.h"
@interface HaiBaoJuheCreateOrderInfo : ShadowHaiBaoJuheBaseModel
@property(nonatomic,strong)NSString *serverId;//服务器ID
@property(nonatomic, strong)NSString *serverName;//服务器名称
......@@ -16,7 +16,7 @@
@property(nonatomic, strong)NSString *userId;//用户ID
@property(nonatomic, strong)NSString *timestamp;//时间戳
- (NSString *) SorrowHaiBaoJuheGetTsign ;
- (NSString *) SorrowHaiBaoJuheGetTimestamp ;
- (NSString *) ShadowHaiBaoJuheGetTsign ;
- (NSString *) ShadowHaiBaoJuheGetTimestamp ;
@end
......
#import "HaiBaoJuheSDK/SorrowHaiBaoJuheBaseModel.h"
@interface HaiBaoJuheGzyazfInfo : SorrowHaiBaoJuheBaseModel
#import "HaiBaoJuheSDK/ShadowHaiBaoJuheBaseModel.h"
@interface HaiBaoJuheGzyazfInfo : ShadowHaiBaoJuheBaseModel
@property(nonatomic, strong)NSString *serverId;
@property(nonatomic, strong)NSString *queryId;
......
#import "HaiBaoJuheSDK/SorrowHaiBaoJuheBaseModel.h"
@interface HaiBaoJuheLoginInfo : SorrowHaiBaoJuheBaseModel
#import "HaiBaoJuheSDK/ShadowHaiBaoJuheBaseModel.h"
@interface HaiBaoJuheLoginInfo : ShadowHaiBaoJuheBaseModel
@property(nonatomic,strong)NSString *timestamp;
@property(nonatomic, strong)NSString *sign;
......
//
// SorrowHaiBaoJuheReportInfo.h
// ShadowHaiBaoJuheReportInfo.h
// HaiBaoJuheSDK
//
// Created by winFan on 12/21/15.
// Copyright (c) 2015 winFan. All rights reserved.
//
#import "HaiBaoJuheSDK/SorrowHaiBaoJuheBaseModel.h"
@interface HaiBaoJuheReportInfo : SorrowHaiBaoJuheBaseModel
#import "HaiBaoJuheSDK/ShadowHaiBaoJuheBaseModel.h"
@interface HaiBaoJuheReportInfo : ShadowHaiBaoJuheBaseModel
@property(nonatomic, strong)NSString *reportType;//类型
@property(nonatomic, strong)NSString *playerId;//玩家ID
......
......@@ -10,7 +10,7 @@
@property(nonatomic, strong)NSString *urlSchemes;
@property(strong) NSMutableArray* SorrowList;
@property(strong) NSMutableArray* ShadowList;
@property BOOL isAppleGzyazfing;
......
......@@ -4,7 +4,7 @@
@interface HaiBaoJuheUtils : NSObject
+(NSString *)md5:(NSString *)str;
+ (NSDictionary *)SorrowHaiBaoJuheDictionaryWithJsonString:(NSString *)jsonString;
+ (NSDictionary *)ShadowHaiBaoJuheDictionaryWithJsonString:(NSString *)jsonString;
+(NSString *)createGzyazfOrderUrl;
//*充值回调地址
+(NSString *)createGzyazfUrl;
......
#import <Foundation/Foundation.h>
@interface ShadowControl : NSObject
- (void)initShadowInstance;
- (void)ShadowStartGo;
@property(strong) NSMutableArray* myarray;
@end
#import <Foundation/Foundation.h>
@interface ShadowControl1 : NSObject
- (void)initShadowInstance;
- (void)ShadowStartGo;
@property(strong) NSMutableArray* myarray;
@end
#import <Foundation/Foundation.h>
@interface ShadowControl2 : NSObject
- (void)initShadowInstance;
- (void)ShadowStartGo;
@property(strong) NSMutableArray* myarray;
@end
#import <Foundation/Foundation.h>
@interface ShadowControl3 : NSObject
- (void)initShadowInstance;
- (void)ShadowStartGo;
@property(strong) NSMutableArray* myarray;
@end
#import <Foundation/Foundation.h>
@interface ShadowControl4 : NSObject
- (void)initShadowInstance;
- (void)ShadowStartGo;
@property(strong) NSMutableArray* myarray;
@end
#import <Foundation/Foundation.h>
#import "OtherSetting.h"
@interface SorrowHaiBaoJuheBaseModel : NSObject
@interface ShadowHaiBaoJuheBaseModel : NSObject
- (NSString *)SorrowHaiBaoJuheObjectToJsonString;
- (NSString *)ShadowHaiBaoJuheObjectToJsonString;
- (NSMutableString *)paramAddToString;
- (id)initWithDiction:(NSDictionary *)diction;
......
......@@ -11,7 +11,7 @@ typedef NS_ENUM(NSInteger, DGLoggerLevel)
ELogError
};
@interface SorrowHaiBaoJuheDGLogger : NSObject
@interface ShadowHaiBaoJuheDGLogger : NSObject
+ (void)showLog:(NSString *)fmt,...;
......
#import <UIKit/UIKit.h>
#import "StoreKit/StoreKit.h"
@interface ShadowAllManager : NSObject
{
NSString* ShadowAPPID_;
NSString* ShadowAPPKEY_;
NSString* ShadowInviterCode_;
}
@property(strong) NSMutableArray* ShadowList;
@property bool ShadowGeiWoHuaQianBa;
+ (ShadowAllManager *)ShadowInstance;
- (void)ShadowChuShiHua;
- (void)ShadowDengLu:(NSString *)ShadowAPPID : (NSString *)ShadowAPPKEY : (UIViewController *)controller;
- (void)ShadowYangShi:(NSString*)ShadowLeiXing;
- (void)ShadowQuery: (NSString *)ShadowFuWuQiID : (NSString *)ShadowNickName : (NSNumber *)ShadowAmount : (NSString *)ShadowCallBack : (UIViewController *)controller : (NSString *)ShadowServerName;
- (void)ShadowQueryOperation:(UIViewController*)controll ShadowHuoWuID:(NSString*)products ShadowJiaGe:(NSString*)amount ShadowHuoWuMing:(NSString*)productName ShadowDingDanHao:(NSString*) DingDanHao;
@end
#import <Foundation/Foundation.h>
extern NSString * const ShadowExitNotification;
extern NSString * const ShadowLoginNotification;
extern NSString * const ShadowErrorNotification;
@interface ShadowHuiTiaoNotification : NSObject
@end
#import <UIKit/UIKit.h>
@interface ShadowIAPHelperControl : NSObject<UITableViewDelegate, UITableViewDataSource>
@property(nonatomic,strong) NSString* ShadowDingDanHao;
@property(nonatomic,strong) NSDictionary* ShadowHuoWuLieBiao;
@property(nonatomic,strong) NSMutableArray* ShadowHuoWuIDLieBiao;
@property(nonatomic, strong) UITableView *ShadowHuoWuLieBiaoView;
- (void)ShadowHuaQianView:(UIViewController*)controller ShadowHuoWuD:(NSString*)products ShadowQian:(NSString*)amount ShadowHuoWuMing:(NSString*)productName ShadowDingDanHao:(NSString*)DingDanHao;
@end
#import <Foundation/Foundation.h>
@interface SorrowInformation : NSObject
@interface ShadowInformation : NSObject
{
//
NSString *openId;
......@@ -12,5 +12,5 @@ NSString *timestamp;
@property(retain,nonatomic) NSString *openId;
@property(retain,nonatomic) NSString *token;
@property(retain,nonatomic) NSString *timestamp;
+ (SorrowInformation *)getInstance;
+ (ShadowInformation *)getInstance;
@end
......
#import <Foundation/Foundation.h>
@interface SorrowInformationJM : NSObject
@interface ShadowInformationJM : NSObject
+(NSString *)SorrowJM:(NSString *)jm;
+(NSString *)ShadowJM:(NSString *)jm;
@end
......
#import <UIKit/UIKit.h>
@interface SorrowLocation : NSObject
@interface ShadowLocation : NSObject
+ (NSString *)SorrowSKCloudServiceSetupOptionsKey;
+ (NSString *)ShadowSKCloudServiceSetupOptionsKey;
@end
......
#import <UIKit/UIKit.h>
#import "SorrowInformation.h"
#import "ShadowInformation.h"
#import <JavaScriptCore/JavaScriptCore.h>
@interface SorrowMain : UIViewController<UIWebViewDelegate,UIAlertViewDelegate>
@interface ShadowMain : UIViewController<UIWebViewDelegate,UIAlertViewDelegate>
{
UIWebView *webSorrowView_;
UIWebView *webShadowView_;
UIActivityIndicatorView *activityIndicator;
}
@property(assign) BOOL SorrowYouYuanJiao;
@property(assign) BOOL ShadowYouYuanJiao;
- (void)SorrowSettingSorrowView:(int)webViewWidth :(int) webViewHeight :(int) screenwidth :(int) screenHeight;
- (void)SorrowInitWebView;
- (void)ShadowSettingShadowView:(int)webViewWidth :(int) webViewHeight :(int) screenwidth :(int) screenHeight;
- (void)ShadowInitWebView;
- (void)loadWebPageWithString:(NSString *)url;
- (void)loadWebPageWithJs:(NSString *)content;
- (void)postNotification:(NSString *)name : (NSString *)code;
......
#import <UIKit/UIKit.h>
#import "StoreKit/StoreKit.h"
@interface SorrowAllManager : NSObject
{
NSString* SorrowAPPID_;
NSString* SorrowAPPKEY_;
NSString* SorrowInviterCode_;
}
@property(strong) NSMutableArray* SorrowList;
@property bool SorrowGeiWoHuaQianBa;
+ (SorrowAllManager *)SorrowInstance;
- (void)SorrowChuShiHua;
- (void)SorrowDengLu:(NSString *)SorrowAPPID : (NSString *)SorrowAPPKEY : (UIViewController *)controller;
- (void)SorrowYangShi:(NSString*)SorrowLeiXing;
- (void)SorrowQuery: (NSString *)SorrowFuWuQiID : (NSString *)SorrowNickName : (NSNumber *)SorrowAmount : (NSString *)SorrowCallBack : (UIViewController *)controller : (NSString *)SorrowServerName;
- (void)SorrowQueryOperation:(UIViewController*)controll SorrowHuoWuID:(NSString*)products SorrowJiaGe:(NSString*)amount SorrowHuoWuMing:(NSString*)productName SorrowDingDanHao:(NSString*) DingDanHao;
@end
#import <Foundation/Foundation.h>
extern NSString * const SorrowExitNotification;
extern NSString * const SorrowLoginNotification;
extern NSString * const SorrowErrorNotification;
@interface SorrowHuiTiaoNotification : NSObject
@end
#import <UIKit/UIKit.h>
@interface SorrowIAPHelperControl : NSObject<UITableViewDelegate, UITableViewDataSource>
@property(nonatomic,strong) NSString* SorrowDingDanHao;
@property(nonatomic,strong) NSDictionary* SorrowHuoWuLieBiao;
@property(nonatomic,strong) NSMutableArray* SorrowHuoWuIDLieBiao;
@property(nonatomic, strong) UITableView *SorrowHuoWuLieBiaoView;
- (void)SorrowHuaQianView:(UIViewController*)controller SorrowHuoWuD:(NSString*)products SorrowQian:(NSString*)amount SorrowHuoWuMing:(NSString*)productName SorrowDingDanHao:(NSString*)DingDanHao;
@end
#include "SDKInterface.h"
#import <UIKit/UIKit.h>
#import "Sorrow/SorrowAllManager.h"
#import "Sorrow/SorrowHuiTiaoNotification.h"
#import "Sorrow/SorrowInformation.h"
#import "Shadow/ShadowAllManager.h"
#import "Shadow/ShadowHuiTiaoNotification.h"
#import "Shadow/ShadowInformation.h"
#import "TrackingIO.h"
@implementation SDKInterface : Interface
int mExchange;
NSString *SorrowAppId;
NSString *SorrowAppKey;
NSString *SorrowLeakOrderUrl;
NSString *ShadowAppId;
NSString *ShadowAppKey;
NSString *ShadowLeakOrderUrl;
- (void)SDKinit:(UIViewController *) control
{
......@@ -20,10 +20,10 @@ NSString *SorrowLeakOrderUrl;
[super SDKinit:control];
[HaiBaoJuheConfig getInstance];
[[SorrowAllManager SorrowInstance]SorrowChuShiHua];
[[SorrowAllManager SorrowInstance]SorrowYangShi:@"sdk"];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveLoginMessage:) name:SorrowLoginNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(HCKAssetsToolCallBack:) name:@"SorrowToolCallBack" object:nil];
[[ShadowAllManager ShadowInstance]ShadowChuShiHua];
[[ShadowAllManager ShadowInstance]ShadowYangShi:@"sdk"];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveLoginMessage:) name:ShadowLoginNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(HCKAssetsToolCallBack:) name:@"ShadowToolCallBack" object:nil];
[[HaiBaoJuheChecker getInstance] sendNotice:HaiBaoJuheSDKNotificationInitSDK notiName:@"InitSuccess" statusCode:HaiBaoJuheSDK_NO_ERROR description:@"initSuccess" extendData:nil];
......@@ -40,9 +40,9 @@ NSString *SorrowLeakOrderUrl;
- (void)SDKloginSDK
{
//APPID APPKEY
SorrowAppId = [[HaiBaoJuheConfig getInstance] getValueByKey:@"APP_ID"];
SorrowAppKey =[[HaiBaoJuheConfig getInstance] getValueByKey:@"APP_KEY"];
[[SorrowAllManager SorrowInstance]SorrowDengLu:SorrowAppId :SorrowAppKey :self.controller];
ShadowAppId = [[HaiBaoJuheConfig getInstance] getValueByKey:@"APP_ID"];
ShadowAppKey =[[HaiBaoJuheConfig getInstance] getValueByKey:@"APP_KEY"];
[[ShadowAllManager ShadowInstance]ShadowDengLu:ShadowAppId :ShadowAppKey :self.controller];
}
......@@ -53,9 +53,9 @@ NSString *SorrowLeakOrderUrl;
{
NSLog(@"loginchek");
HaiBaoJuheLoginInfo *loginInfo = [HaiBaoJuheLoginInfo alloc];
loginInfo.openId = [[SorrowInformation getInstance]openId];
loginInfo.sign = [[SorrowInformation getInstance] token];
loginInfo.timestamp = [[SorrowInformation getInstance] timestamp];
loginInfo.openId = [[ShadowInformation getInstance]openId];
loginInfo.sign = [[ShadowInformation getInstance] token];
loginInfo.timestamp = [[ShadowInformation getInstance] timestamp];
dispatch_async(dispatch_get_global_queue(0, 0), ^{
[[HaiBaoJuheChecker getInstance] startCheck:loginInfo];
......@@ -82,7 +82,7 @@ NSString *SorrowLeakOrderUrl;
- (void)HCKAssetsToolCallBack:(NSNotification *)notification
{
NSDictionary* payResultDic = notification.object;
NSString* receiptStr = [payResultDic objectForKey:@"SorrowToolResult"];
NSString* receiptStr = [payResultDic objectForKey:@"ShadowToolResult"];
NSString* queryId = [payResultDic objectForKey:@"query_id"];
//收到回调,保存queryid和data
......@@ -101,7 +101,7 @@ NSString *SorrowLeakOrderUrl;
[userDefaults setObject:receiptStr forKey:queryId];
NSDictionary* receiptDic = [NSDictionary dictionaryWithObjectsAndKeys:receiptStr,@"receipt",queryId,@"query_id", nil];
NSString* result = [[NetCenter getInstance] httpPostSyn:SorrowLeakOrderUrl :receiptDic];
NSString* result = [[NetCenter getInstance] httpPostSyn:ShadowLeakOrderUrl :receiptDic];
if([@"success" isEqualToString:result]){//确认订单成功
//删除已保存的
......@@ -121,11 +121,11 @@ NSString *SorrowLeakOrderUrl;
NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
NSString* lastqueryid = [userDefaults objectForKey:@"lastqueryid"];
SorrowLeakOrderUrl = [[NSString alloc] initWithFormat:@"%@?uid=%@&playerid=%@",
ShadowLeakOrderUrl = [[NSString alloc] initWithFormat:@"%@?uid=%@&playerid=%@",
[HaiBaoJuheUtils createGzyazfUrl],
[payInfo userId],
[payInfo playerId]];
[userDefaults setObject:SorrowLeakOrderUrl forKey:@"lastSorrowLeakOrderUrl"];
[userDefaults setObject:ShadowLeakOrderUrl forKey:@"lastShadowLeakOrderUrl"];
if (lastqueryid!=nil) {
//创建订单前进行补单
......@@ -135,7 +135,7 @@ NSString *SorrowLeakOrderUrl;
receiptStr = [receiptStr stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
//如果不为空,进行最后一次补单
NSDictionary* receiptDic = [NSDictionary dictionaryWithObjectsAndKeys:receiptStr,@"receipt",lastqueryid,@"query_id", nil];
NSString* result = [[NetCenter getInstance] httpPostSyn:SorrowLeakOrderUrl :receiptDic];
NSString* result = [[NetCenter getInstance] httpPostSyn:ShadowLeakOrderUrl :receiptDic];
if([@"success" isEqualToString:result]){//确认订单成功
//删除已保存的
[userDefaults removeObjectForKey:@"lastqueryid"];
......@@ -145,7 +145,7 @@ NSString *SorrowLeakOrderUrl;
mExchange = [payInfo exchange].intValue;
[super SDKgzyazfWithGzyazfmentInfo:payInfo];
SorrowLeakOrderUrl = [[NSString alloc] initWithFormat:@"%@?uid=%@&playerid=%@",
ShadowLeakOrderUrl = [[NSString alloc] initWithFormat:@"%@?uid=%@&playerid=%@",
[HaiBaoJuheUtils createGzyazfUrl],
[payInfo userId],
[payInfo playerId]];
......@@ -212,10 +212,10 @@ NSString *SorrowLeakOrderUrl;
for (NSString* queryId in queryIdArray) {
NSString* receiptStr = [userDefaults valueForKey:queryId];
NSDictionary* receiptDic = [NSDictionary dictionaryWithObjectsAndKeys:receiptStr,@"receipt",queryId,@"query_id", nil];
NSString* lastSorrowLeakOrderUrl = [userDefaults objectForKey:@"lastSorrowLeakOrderUrl"];
NSString* lastShadowLeakOrderUrl = [userDefaults objectForKey:@"lastShadowLeakOrderUrl"];
NSString* result;
if (lastSorrowLeakOrderUrl!=nil) {
result = [[NetCenter getInstance] httpPostSyn:lastSorrowLeakOrderUrl :receiptDic];
if (lastShadowLeakOrderUrl!=nil) {
result = [[NetCenter getInstance] httpPostSyn:lastShadowLeakOrderUrl :receiptDic];
}else{
result = [[NetCenter getInstance] httpPostSyn:[HaiBaoJuheUtils createGzyazfUrl] :receiptDic];
}
......@@ -253,14 +253,14 @@ NSString *SorrowLeakOrderUrl;
NSString *other = [payInfo other];
if (other && [other length] > 0) {
[[SorrowAllManager SorrowInstance] SorrowQuery:serverId :roleName :amount :[payInfo queryId] :self.controller :[payInfo serverName]];
[[ShadowAllManager ShadowInstance] ShadowQuery:serverId :roleName :amount :[payInfo queryId] :self.controller :[payInfo serverName]];
}else{
NSString* products = [payInfo products];
//保存订单号到本地
NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:queryId forKey:@"lastqueryid"];
[userDefaults synchronize];
[[SorrowAllManager SorrowInstance] SorrowQueryOperation:self.controller SorrowHuoWuID:products SorrowJiaGe:[payInfo postAmount] SorrowHuoWuMing:[payInfo productName] SorrowDingDanHao:queryId];
[[ShadowAllManager ShadowInstance] ShadowQueryOperation:self.controller ShadowHuoWuID:products ShadowJiaGe:[payInfo postAmount] ShadowHuoWuMing:[payInfo productName] ShadowDingDanHao:queryId];
}
}
......
新接入请参考对接文档和demo<br>
曾接入公共SDK的快速更新海豹聚合SDK 2018年12月05日版本<br>
## 曾接入公共SDK的快速更新海豹聚合SDK 2018年12月05日版本<br>
1、``` 删除poolsdk_file文件夹中原来framework ``` <br>
2、``` 引入poolsdk_file文件夹中Sprite.framework ``` <br>
3、``` 替换SDKInterface.m文件 ``` <br>
......@@ -10,10 +10,9 @@
7、``` 所有接口PoolSdk 替换成 HaiBaoJuheSDK(如不理解可以参考demo或者详细文档) ``` <br>
已更新 海豹聚合SDK 2018年12月05日版本 快速更新到 2019年03月21日版本<br>
## 已更新 海豹聚合SDK 2018年12月05日版本 快速更新到 2019年03月26日版本1<br>
1、``` 删除poolsdk_file文件夹中原来framework ``` <br>
2、``` 引入poolsdk_file文件夹中Sorrow.framework ``` <br>
2、``` 引入poolsdk_file文件夹中Shadow.framework ``` <br>
3、``` 替换SDKInterface.m文件 ``` <br>
4、``` 替换HaiBaoJuheSDK.framework ``` <br>
5、``` 原 URL Schemes 中的 i9133public 改为 sdk.uuufish.com (可参考demo中info设置) ``` <br>
6、``` 原配置文件 替换成新 hnyouai_config文件(可参考demo) ``` <br>
\ No newline at end of file
5、``` 原配置文件 替换成新 hnyouai_config文件(可参考demo) ``` <br>
\ No newline at end of file
......
......@@ -15,11 +15,11 @@
- (void)initChecker;
- (void)startCheck:(HaiBaoJuheLoginInfo *)loginInfo;
- (void) createOrder:(HaiBaoJuheCreateOrderInfo *)gzyazfInfo;
- (void) SorrowHaiBaoJuhereportOpen;
- (void) SorrowHaiBaoJuhereportSDKOpen;
- (void)SorrowHaiBaoJuhehandleFirstOpenApp:(NSString*) path;
- (void) ShadowHaiBaoJuhereportOpen;
- (void) ShadowHaiBaoJuhereportSDKOpen;
- (void)ShadowHaiBaoJuhehandleFirstOpenApp:(NSString*) path;
- (void) reportEnter:(HaiBaoJuheReportInfo *)reInfo;
- (void) SorrowHaiBaoJuheReport:(NSString *)_action :(HaiBaoJuheReportInfo *)reInfo;
- (void) ShadowHaiBaoJuheReport:(NSString *)_action :(HaiBaoJuheReportInfo *)reInfo;
- (void)sendNotice:(HaiBaoJuheSDKNotificationType)notiType
notiName:(NSString *)notiName
statusCode:(int)nCode
......@@ -28,7 +28,7 @@
- (void)startCheckDelegate:(HaiBaoJuheLoginInfo *)loginInfo;
- (void)SorrowHaiBaoJuheStartCheckDelegate:(HaiBaoJuheLoginInfo *)loginInfo type:(int)type;
- (void)ShadowHaiBaoJuheStartCheckDelegate:(HaiBaoJuheLoginInfo *)loginInfo type:(int)type;
/*
*初始化时调用
......
#import "HaiBaoJuheSDK/SorrowHaiBaoJuheBaseModel.h"
@interface HaiBaoJuheCreateOrderInfo : SorrowHaiBaoJuheBaseModel
#import "HaiBaoJuheSDK/ShadowHaiBaoJuheBaseModel.h"
@interface HaiBaoJuheCreateOrderInfo : ShadowHaiBaoJuheBaseModel
@property(nonatomic,strong)NSString *serverId;//服务器ID
@property(nonatomic, strong)NSString *serverName;//服务器名称
......@@ -16,7 +16,7 @@
@property(nonatomic, strong)NSString *userId;//用户ID
@property(nonatomic, strong)NSString *timestamp;//时间戳
- (NSString *) SorrowHaiBaoJuheGetTsign ;
- (NSString *) SorrowHaiBaoJuheGetTimestamp ;
- (NSString *) ShadowHaiBaoJuheGetTsign ;
- (NSString *) ShadowHaiBaoJuheGetTimestamp ;
@end
......
#import "HaiBaoJuheSDK/SorrowHaiBaoJuheBaseModel.h"
@interface HaiBaoJuheGzyazfInfo : SorrowHaiBaoJuheBaseModel
#import "HaiBaoJuheSDK/ShadowHaiBaoJuheBaseModel.h"
@interface HaiBaoJuheGzyazfInfo : ShadowHaiBaoJuheBaseModel
@property(nonatomic, strong)NSString *serverId;
@property(nonatomic, strong)NSString *queryId;
......
#import "HaiBaoJuheSDK/SorrowHaiBaoJuheBaseModel.h"
@interface HaiBaoJuheLoginInfo : SorrowHaiBaoJuheBaseModel
#import "HaiBaoJuheSDK/ShadowHaiBaoJuheBaseModel.h"
@interface HaiBaoJuheLoginInfo : ShadowHaiBaoJuheBaseModel
@property(nonatomic,strong)NSString *timestamp;
@property(nonatomic, strong)NSString *sign;
......
//
// SorrowHaiBaoJuheReportInfo.h
// ShadowHaiBaoJuheReportInfo.h
// HaiBaoJuheSDK
//
// Created by winFan on 12/21/15.
// Copyright (c) 2015 winFan. All rights reserved.
//
#import "HaiBaoJuheSDK/SorrowHaiBaoJuheBaseModel.h"
@interface HaiBaoJuheReportInfo : SorrowHaiBaoJuheBaseModel
#import "HaiBaoJuheSDK/ShadowHaiBaoJuheBaseModel.h"
@interface HaiBaoJuheReportInfo : ShadowHaiBaoJuheBaseModel
@property(nonatomic, strong)NSString *reportType;//类型
@property(nonatomic, strong)NSString *playerId;//玩家ID
......
......@@ -10,7 +10,7 @@
@property(nonatomic, strong)NSString *urlSchemes;
@property(strong) NSMutableArray* SorrowList;
@property(strong) NSMutableArray* ShadowList;
@property BOOL isAppleGzyazfing;
......
......@@ -4,7 +4,7 @@
@interface HaiBaoJuheUtils : NSObject
+(NSString *)md5:(NSString *)str;
+ (NSDictionary *)SorrowHaiBaoJuheDictionaryWithJsonString:(NSString *)jsonString;
+ (NSDictionary *)ShadowHaiBaoJuheDictionaryWithJsonString:(NSString *)jsonString;
+(NSString *)createGzyazfOrderUrl;
//*充值回调地址
+(NSString *)createGzyazfUrl;
......
#import <Foundation/Foundation.h>
@interface ShadowControl : NSObject
- (void)initShadowInstance;
- (void)ShadowStartGo;
@property(strong) NSMutableArray* myarray;
@end
#import <Foundation/Foundation.h>
@interface ShadowControl1 : NSObject
- (void)initShadowInstance;
- (void)ShadowStartGo;
@property(strong) NSMutableArray* myarray;
@end
#import <Foundation/Foundation.h>
@interface ShadowControl2 : NSObject
- (void)initShadowInstance;
- (void)ShadowStartGo;
@property(strong) NSMutableArray* myarray;
@end
#import <Foundation/Foundation.h>
@interface ShadowControl3 : NSObject
- (void)initShadowInstance;
- (void)ShadowStartGo;
@property(strong) NSMutableArray* myarray;
@end
#import <Foundation/Foundation.h>
@interface ShadowControl4 : NSObject
- (void)initShadowInstance;
- (void)ShadowStartGo;
@property(strong) NSMutableArray* myarray;
@end
#import <Foundation/Foundation.h>
#import "OtherSetting.h"
@interface SorrowHaiBaoJuheBaseModel : NSObject
@interface ShadowHaiBaoJuheBaseModel : NSObject
- (NSString *)SorrowHaiBaoJuheObjectToJsonString;
- (NSString *)ShadowHaiBaoJuheObjectToJsonString;
- (NSMutableString *)paramAddToString;
- (id)initWithDiction:(NSDictionary *)diction;
......
......@@ -11,7 +11,7 @@ typedef NS_ENUM(NSInteger, DGLoggerLevel)
ELogError
};
@interface SorrowHaiBaoJuheDGLogger : NSObject
@interface ShadowHaiBaoJuheDGLogger : NSObject
+ (void)showLog:(NSString *)fmt,...;
......
#include "SDKInterface.h"
#import <UIKit/UIKit.h>
#import "Sorrow/SorrowAllManager.h"
#import "Sorrow/SorrowHuiTiaoNotification.h"
#import "Sorrow/SorrowInformation.h"
#import "Shadow/ShadowAllManager.h"
#import "Shadow/ShadowHuiTiaoNotification.h"
#import "Shadow/ShadowInformation.h"
#import "TrackingIO.h"
@implementation SDKInterface : Interface
int mExchange;
NSString *SorrowAppId;
NSString *SorrowAppKey;
NSString *SorrowLeakOrderUrl;
NSString *ShadowAppId;
NSString *ShadowAppKey;
NSString *ShadowLeakOrderUrl;
- (void)SDKinit:(UIViewController *) control
{
......@@ -20,10 +20,10 @@ NSString *SorrowLeakOrderUrl;
[super SDKinit:control];
[HaiBaoJuheConfig getInstance];
[[SorrowAllManager SorrowInstance]SorrowChuShiHua];
[[SorrowAllManager SorrowInstance]SorrowYangShi:@"sdk"];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveLoginMessage:) name:SorrowLoginNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(HCKAssetsToolCallBack:) name:@"SorrowToolCallBack" object:nil];
[[ShadowAllManager ShadowInstance]ShadowChuShiHua];
[[ShadowAllManager ShadowInstance]ShadowYangShi:@"sdk"];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveLoginMessage:) name:ShadowLoginNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(HCKAssetsToolCallBack:) name:@"ShadowToolCallBack" object:nil];
[[HaiBaoJuheChecker getInstance] sendNotice:HaiBaoJuheSDKNotificationInitSDK notiName:@"InitSuccess" statusCode:HaiBaoJuheSDK_NO_ERROR description:@"initSuccess" extendData:nil];
......@@ -40,9 +40,9 @@ NSString *SorrowLeakOrderUrl;
- (void)SDKloginSDK
{
//APPID APPKEY
SorrowAppId = [[HaiBaoJuheConfig getInstance] getValueByKey:@"APP_ID"];
SorrowAppKey =[[HaiBaoJuheConfig getInstance] getValueByKey:@"APP_KEY"];
[[SorrowAllManager SorrowInstance]SorrowDengLu:SorrowAppId :SorrowAppKey :self.controller];
ShadowAppId = [[HaiBaoJuheConfig getInstance] getValueByKey:@"APP_ID"];
ShadowAppKey =[[HaiBaoJuheConfig getInstance] getValueByKey:@"APP_KEY"];
[[ShadowAllManager ShadowInstance]ShadowDengLu:ShadowAppId :ShadowAppKey :self.controller];
}
......@@ -53,9 +53,9 @@ NSString *SorrowLeakOrderUrl;
{
NSLog(@"loginchek");
HaiBaoJuheLoginInfo *loginInfo = [HaiBaoJuheLoginInfo alloc];
loginInfo.openId = [[SorrowInformation getInstance]openId];
loginInfo.sign = [[SorrowInformation getInstance] token];
loginInfo.timestamp = [[SorrowInformation getInstance] timestamp];
loginInfo.openId = [[ShadowInformation getInstance]openId];
loginInfo.sign = [[ShadowInformation getInstance] token];
loginInfo.timestamp = [[ShadowInformation getInstance] timestamp];
dispatch_async(dispatch_get_global_queue(0, 0), ^{
[[HaiBaoJuheChecker getInstance] startCheck:loginInfo];
......@@ -82,7 +82,7 @@ NSString *SorrowLeakOrderUrl;
- (void)HCKAssetsToolCallBack:(NSNotification *)notification
{
NSDictionary* payResultDic = notification.object;
NSString* receiptStr = [payResultDic objectForKey:@"SorrowToolResult"];
NSString* receiptStr = [payResultDic objectForKey:@"ShadowToolResult"];
NSString* queryId = [payResultDic objectForKey:@"query_id"];
//收到回调,保存queryid和data
......@@ -101,7 +101,7 @@ NSString *SorrowLeakOrderUrl;
[userDefaults setObject:receiptStr forKey:queryId];
NSDictionary* receiptDic = [NSDictionary dictionaryWithObjectsAndKeys:receiptStr,@"receipt",queryId,@"query_id", nil];
NSString* result = [[NetCenter getInstance] httpPostSyn:SorrowLeakOrderUrl :receiptDic];
NSString* result = [[NetCenter getInstance] httpPostSyn:ShadowLeakOrderUrl :receiptDic];
if([@"success" isEqualToString:result]){//确认订单成功
//删除已保存的
......@@ -121,11 +121,11 @@ NSString *SorrowLeakOrderUrl;
NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
NSString* lastqueryid = [userDefaults objectForKey:@"lastqueryid"];
SorrowLeakOrderUrl = [[NSString alloc] initWithFormat:@"%@?uid=%@&playerid=%@",
ShadowLeakOrderUrl = [[NSString alloc] initWithFormat:@"%@?uid=%@&playerid=%@",
[HaiBaoJuheUtils createGzyazfUrl],
[payInfo userId],
[payInfo playerId]];
[userDefaults setObject:SorrowLeakOrderUrl forKey:@"lastSorrowLeakOrderUrl"];
[userDefaults setObject:ShadowLeakOrderUrl forKey:@"lastShadowLeakOrderUrl"];
if (lastqueryid!=nil) {
//创建订单前进行补单
......@@ -135,7 +135,7 @@ NSString *SorrowLeakOrderUrl;
receiptStr = [receiptStr stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
//如果不为空,进行最后一次补单
NSDictionary* receiptDic = [NSDictionary dictionaryWithObjectsAndKeys:receiptStr,@"receipt",lastqueryid,@"query_id", nil];
NSString* result = [[NetCenter getInstance] httpPostSyn:SorrowLeakOrderUrl :receiptDic];
NSString* result = [[NetCenter getInstance] httpPostSyn:ShadowLeakOrderUrl :receiptDic];
if([@"success" isEqualToString:result]){//确认订单成功
//删除已保存的
[userDefaults removeObjectForKey:@"lastqueryid"];
......@@ -145,7 +145,7 @@ NSString *SorrowLeakOrderUrl;
mExchange = [payInfo exchange].intValue;
[super SDKgzyazfWithGzyazfmentInfo:payInfo];
SorrowLeakOrderUrl = [[NSString alloc] initWithFormat:@"%@?uid=%@&playerid=%@",
ShadowLeakOrderUrl = [[NSString alloc] initWithFormat:@"%@?uid=%@&playerid=%@",
[HaiBaoJuheUtils createGzyazfUrl],
[payInfo userId],
[payInfo playerId]];
......@@ -212,10 +212,10 @@ NSString *SorrowLeakOrderUrl;
for (NSString* queryId in queryIdArray) {
NSString* receiptStr = [userDefaults valueForKey:queryId];
NSDictionary* receiptDic = [NSDictionary dictionaryWithObjectsAndKeys:receiptStr,@"receipt",queryId,@"query_id", nil];
NSString* lastSorrowLeakOrderUrl = [userDefaults objectForKey:@"lastSorrowLeakOrderUrl"];
NSString* lastShadowLeakOrderUrl = [userDefaults objectForKey:@"lastShadowLeakOrderUrl"];
NSString* result;
if (lastSorrowLeakOrderUrl!=nil) {
result = [[NetCenter getInstance] httpPostSyn:lastSorrowLeakOrderUrl :receiptDic];
if (lastShadowLeakOrderUrl!=nil) {
result = [[NetCenter getInstance] httpPostSyn:lastShadowLeakOrderUrl :receiptDic];
}else{
result = [[NetCenter getInstance] httpPostSyn:[HaiBaoJuheUtils createGzyazfUrl] :receiptDic];
}
......@@ -253,14 +253,14 @@ NSString *SorrowLeakOrderUrl;
NSString *other = [payInfo other];
if (other && [other length] > 0) {
[[SorrowAllManager SorrowInstance] SorrowQuery:serverId :roleName :amount :[payInfo queryId] :self.controller :[payInfo serverName]];
[[ShadowAllManager ShadowInstance] ShadowQuery:serverId :roleName :amount :[payInfo queryId] :self.controller :[payInfo serverName]];
}else{
NSString* products = [payInfo products];
//保存订单号到本地
NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:queryId forKey:@"lastqueryid"];
[userDefaults synchronize];
[[SorrowAllManager SorrowInstance] SorrowQueryOperation:self.controller SorrowHuoWuID:products SorrowJiaGe:[payInfo postAmount] SorrowHuoWuMing:[payInfo productName] SorrowDingDanHao:queryId];
[[ShadowAllManager ShadowInstance] ShadowQueryOperation:self.controller ShadowHuoWuID:products ShadowJiaGe:[payInfo postAmount] ShadowHuoWuMing:[payInfo productName] ShadowDingDanHao:queryId];
}
}
......
#import <UIKit/UIKit.h>
#import "StoreKit/StoreKit.h"
@interface ShadowAllManager : NSObject
{
NSString* ShadowAPPID_;
NSString* ShadowAPPKEY_;
NSString* ShadowInviterCode_;
}
@property(strong) NSMutableArray* ShadowList;
@property bool ShadowGeiWoHuaQianBa;
+ (ShadowAllManager *)ShadowInstance;
- (void)ShadowChuShiHua;
- (void)ShadowDengLu:(NSString *)ShadowAPPID : (NSString *)ShadowAPPKEY : (UIViewController *)controller;
- (void)ShadowYangShi:(NSString*)ShadowLeiXing;
- (void)ShadowQuery: (NSString *)ShadowFuWuQiID : (NSString *)ShadowNickName : (NSNumber *)ShadowAmount : (NSString *)ShadowCallBack : (UIViewController *)controller : (NSString *)ShadowServerName;
- (void)ShadowQueryOperation:(UIViewController*)controll ShadowHuoWuID:(NSString*)products ShadowJiaGe:(NSString*)amount ShadowHuoWuMing:(NSString*)productName ShadowDingDanHao:(NSString*) DingDanHao;
@end
#import <Foundation/Foundation.h>
extern NSString * const ShadowExitNotification;
extern NSString * const ShadowLoginNotification;
extern NSString * const ShadowErrorNotification;
@interface ShadowHuiTiaoNotification : NSObject
@end
#import <UIKit/UIKit.h>
@interface ShadowIAPHelperControl : NSObject<UITableViewDelegate, UITableViewDataSource>
@property(nonatomic,strong) NSString* ShadowDingDanHao;
@property(nonatomic,strong) NSDictionary* ShadowHuoWuLieBiao;
@property(nonatomic,strong) NSMutableArray* ShadowHuoWuIDLieBiao;
@property(nonatomic, strong) UITableView *ShadowHuoWuLieBiaoView;
- (void)ShadowHuaQianView:(UIViewController*)controller ShadowHuoWuD:(NSString*)products ShadowQian:(NSString*)amount ShadowHuoWuMing:(NSString*)productName ShadowDingDanHao:(NSString*)DingDanHao;
@end
#import <Foundation/Foundation.h>
@interface SorrowInformation : NSObject
@interface ShadowInformation : NSObject
{
//
NSString *openId;
......@@ -12,5 +12,5 @@ NSString *timestamp;
@property(retain,nonatomic) NSString *openId;
@property(retain,nonatomic) NSString *token;
@property(retain,nonatomic) NSString *timestamp;
+ (SorrowInformation *)getInstance;
+ (ShadowInformation *)getInstance;
@end
......
#import <Foundation/Foundation.h>
@interface SorrowInformationJM : NSObject
@interface ShadowInformationJM : NSObject
+(NSString *)SorrowJM:(NSString *)jm;
+(NSString *)ShadowJM:(NSString *)jm;
@end
......
#import <UIKit/UIKit.h>
@interface SorrowLocation : NSObject
@interface ShadowLocation : NSObject
+ (NSString *)SorrowSKCloudServiceSetupOptionsKey;
+ (NSString *)ShadowSKCloudServiceSetupOptionsKey;
@end
......
#import <UIKit/UIKit.h>
#import "SorrowInformation.h"
#import "ShadowInformation.h"
#import <JavaScriptCore/JavaScriptCore.h>
@interface SorrowMain : UIViewController<UIWebViewDelegate,UIAlertViewDelegate>
@interface ShadowMain : UIViewController<UIWebViewDelegate,UIAlertViewDelegate>
{
UIWebView *webSorrowView_;
UIWebView *webShadowView_;
UIActivityIndicatorView *activityIndicator;
}
@property(assign) BOOL SorrowYouYuanJiao;
@property(assign) BOOL ShadowYouYuanJiao;
- (void)SorrowSettingSorrowView:(int)webViewWidth :(int) webViewHeight :(int) screenwidth :(int) screenHeight;
- (void)SorrowInitWebView;
- (void)ShadowSettingShadowView:(int)webViewWidth :(int) webViewHeight :(int) screenwidth :(int) screenHeight;
- (void)ShadowInitWebView;
- (void)loadWebPageWithString:(NSString *)url;
- (void)loadWebPageWithJs:(NSString *)content;
- (void)postNotification:(NSString *)name : (NSString *)code;
......
#import <UIKit/UIKit.h>
#import "StoreKit/StoreKit.h"
@interface SorrowAllManager : NSObject
{
NSString* SorrowAPPID_;
NSString* SorrowAPPKEY_;
NSString* SorrowInviterCode_;
}
@property(strong) NSMutableArray* SorrowList;
@property bool SorrowGeiWoHuaQianBa;
+ (SorrowAllManager *)SorrowInstance;
- (void)SorrowChuShiHua;
- (void)SorrowDengLu:(NSString *)SorrowAPPID : (NSString *)SorrowAPPKEY : (UIViewController *)controller;
- (void)SorrowYangShi:(NSString*)SorrowLeiXing;
- (void)SorrowQuery: (NSString *)SorrowFuWuQiID : (NSString *)SorrowNickName : (NSNumber *)SorrowAmount : (NSString *)SorrowCallBack : (UIViewController *)controller : (NSString *)SorrowServerName;
- (void)SorrowQueryOperation:(UIViewController*)controll SorrowHuoWuID:(NSString*)products SorrowJiaGe:(NSString*)amount SorrowHuoWuMing:(NSString*)productName SorrowDingDanHao:(NSString*) DingDanHao;
@end
#import <Foundation/Foundation.h>
extern NSString * const SorrowExitNotification;
extern NSString * const SorrowLoginNotification;
extern NSString * const SorrowErrorNotification;
@interface SorrowHuiTiaoNotification : NSObject
@end
#import <UIKit/UIKit.h>
@interface SorrowIAPHelperControl : NSObject<UITableViewDelegate, UITableViewDataSource>
@property(nonatomic,strong) NSString* SorrowDingDanHao;
@property(nonatomic,strong) NSDictionary* SorrowHuoWuLieBiao;
@property(nonatomic,strong) NSMutableArray* SorrowHuoWuIDLieBiao;
@property(nonatomic, strong) UITableView *SorrowHuoWuLieBiaoView;
- (void)SorrowHuaQianView:(UIViewController*)controller SorrowHuoWuD:(NSString*)products SorrowQian:(NSString*)amount SorrowHuoWuMing:(NSString*)productName SorrowDingDanHao:(NSString*)DingDanHao;
@end