├── applePayDemo.entitlements ├── xuanjiaallpay.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ └── contents.xcworkspacedata └── xcuserdata │ └── xuezejun.xcuserdatad │ ├── xcdebugger │ └── Breakpoints_v2.xcbkptlist │ └── xcschemes │ ├── xcschememanagement.plist │ └── xuanjiaallpay.xcscheme ├── xuanjiaallpay ├── ASIHttpRequest │ ├── ASIAuthenticationDialog.h │ ├── ASIAuthenticationDialog.m │ ├── ASICacheDelegate.h │ ├── ASIDataCompressor.h │ ├── ASIDataCompressor.m │ ├── ASIDataDecompressor.h │ ├── ASIDataDecompressor.m │ ├── ASIDownloadCache.h │ ├── ASIDownloadCache.m │ ├── ASIFormDataRequest.h │ ├── ASIFormDataRequest.m │ ├── ASIHTTPRequest.h │ ├── ASIHTTPRequest.m │ ├── ASIHTTPRequestConfig.h │ ├── ASIHTTPRequestDelegate.h │ ├── ASIInputStream.h │ ├── ASIInputStream.m │ ├── ASINetworkQueue.h │ ├── ASINetworkQueue.m │ └── ASIProgressDelegate.h ├── Alipay@2x.png ├── AlipaySDK.bundle │ ├── bar@2x.png │ ├── refresh@2x.png │ ├── refresh_click@2x.png │ ├── shutdown@2x.png │ └── shutdown_click@2x.png ├── AlipaySDK.framework │ ├── AlipaySDK │ ├── Headers │ │ ├── APayAuthInfo.h │ │ └── AlipaySDK.h │ ├── Info.plist │ └── en.lproj │ │ └── InfoPlist.strings ├── AllPayModel.h ├── AllPayModel.m ├── AllPayTableViewCell.h ├── AllPayTableViewCell.m ├── AllPayTableViewCell.xib ├── AllPayViewController.h ├── AllPayViewController.m ├── AllPayViewController.xib ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json ├── BaiduWallet_Portal.bundle │ ├── BDChannel.plist │ ├── BDWalletBalanceWithdrawalsViewController.nib │ │ ├── objects-8.0+.nib │ │ ├── objects.nib │ │ └── runtime.nib │ ├── BDWalletBankTransaferViewController.nib │ │ ├── objects-8.0+.nib │ │ ├── objects.nib │ │ └── runtime.nib │ ├── BDWalletJavascript.js │ ├── BDWalletMobileRechargeViewController.nib │ │ ├── objects-8.0+.nib │ │ ├── objects.nib │ │ └── runtime.nib │ ├── BDWalletMyTradeCell.nib │ │ ├── objects-8.0+.nib │ │ ├── objects.nib │ │ └── runtime.nib │ ├── BDWallet_card_default_bottom@3x.png │ ├── BaiduWallet_Cashback@3x.png │ ├── BaiduWallet_Home_DefaultBackgroudImage@3x.png │ ├── BaiduWallet_Home_NavigationTitleIcon@3x.png │ ├── BaiduWallet_IconDefault.png │ ├── BaiduWallet_Logo@3x.png │ ├── BaiduWallet_NewCorner@3x.png │ ├── BankList.plist │ ├── ServiceOnce.plist │ ├── baidu_main_ad_default@2x.png │ ├── baidu_main_icon_default@2x.png │ ├── baidu_wallet_arrow_homepage_down@2x.png │ ├── baidu_wallet_arrow_homepage_down_highlight@2x.png │ ├── baidu_wallet_arrow_homepage_up@2x.png │ ├── baidu_wallet_arrow_homepage_up_highlight@2x.png │ ├── baidu_wallet_axle2@2x.png │ ├── baidu_wallet_axle@2x.png │ ├── baidu_wallet_bank_cvv_tip@3x.png │ ├── baidu_wallet_bank_date_tip@3x.png │ ├── baidu_wallet_blue_point@2x.png │ ├── baidu_wallet_bsc_bottom_logo@3x.png │ ├── baidu_wallet_bsc_icon_refresh@3x.png │ ├── baidu_wallet_bsc_logo@3x.png │ ├── baidu_wallet_bsc_nav_back@2x.png │ ├── baidu_wallet_button_gray_highlight@2x.png │ ├── baidu_wallet_button_gray_normal@2x.png │ ├── baidu_wallet_clock@2x.png │ ├── baidu_wallet_close_default_bottom@3x.png │ ├── baidu_wallet_flag@2x.png │ ├── baidu_wallet_icon_clear@2x.png │ ├── baidu_wallet_icon_info@2x.png │ ├── baidu_wallet_icon_tjyhk_logo@3x.png │ ├── baidu_wallet_line@3x.png │ ├── baidu_wallet_logo_default_bottom@3x.png │ ├── baidu_wallet_logo_disable_bottom@3x.png │ ├── baidu_wallet_new_addCard@3x.png │ ├── baidu_wallet_new_add_bank@3x.png │ ├── baidu_wallet_new_add_bank_hl@3x.png │ ├── baidu_wallet_new_arrow_normal@2x.png │ ├── baidu_wallet_new_balance2@3x.png │ ├── baidu_wallet_new_balance@3x.png │ ├── baidu_wallet_new_bankcard@3x.png │ ├── baidu_wallet_new_box_checked@3x.png │ ├── baidu_wallet_new_box_unchecked@3x.png │ ├── baidu_wallet_new_check_default@3x.png │ ├── baidu_wallet_new_chect_select@3x.png │ ├── baidu_wallet_new_common_button@3x.png │ ├── baidu_wallet_new_coupon@3x.png │ ├── baidu_wallet_new_default@3x.png │ ├── baidu_wallet_new_hasmonney2@3x.png │ ├── baidu_wallet_new_hasmonney@3x.png │ ├── baidu_wallet_new_icon_bank_default@3x.png │ ├── baidu_wallet_new_more@3x.png │ ├── baidu_wallet_new_radio_default@3x.png │ ├── baidu_wallet_new_radio_select@3x.png │ ├── baidu_wallet_new_record@3x.png │ ├── baidu_wallet_new_result_processing@3x.png │ ├── baidu_wallet_new_tongxunlu@2x.png │ ├── baidu_wallet_new_wifi@3x.png │ ├── baidu_wallet_points_icon_none@3x.png │ ├── baidu_wallet_pop_background2@2x.png │ ├── baidu_wallet_pop_background@2x.png │ ├── baidu_wallet_pop_cancel_highlight@2x.png │ ├── baidu_wallet_pop_cancel_normal@2x.png │ ├── baidu_wallet_privacy_bg@2x.png │ ├── baidu_wallet_privacy_btn_cross@2x.png │ ├── baidu_wallet_recharge_default_Img@3x.png │ ├── baidu_wallet_red_border@2x.png │ ├── baidu_wallet_redenvelopes_bg7@2x.png │ ├── baidu_wallet_redenvelopes_bg8@3x.png │ ├── baidu_wallet_redenvelopes_left@3x.png │ ├── baidu_wallet_redenvelopes_right@3x.png │ ├── baidu_wallet_refresh@3x.png │ ├── baidu_wallet_refresh_default@3x.png │ ├── baidu_wallet_refresh_focus@3x.png │ ├── baidu_wallet_result_right@3x.png │ ├── baidu_wallet_safecenter_icon_version@3x.png │ ├── baidu_wallet_securityKeyboard_delete@3x.png │ ├── baidu_wallet_securityKeyboard_delete_highlighted@3x.png │ ├── baidu_wallet_securityKeyboard_delete_normal@3x.png │ ├── baidu_wallet_securityKeyboard_number_highlighted@3x.png │ ├── baidu_wallet_securityKeyboard_number_normal@3x.png │ ├── baidu_wallet_securityKeyboard_shouqi_highlighted@3x.png │ ├── baidu_wallet_securityKeyboard_shouqi_normal@3x.png │ ├── baidu_wallet_securityKeyboard_shrink@3x.png │ ├── baidu_wallet_trade_detail_topbg@2x.png │ ├── baidu_wallet_trade_detail_waitting_topbg@2x.png │ ├── baidu_wallet_trade_icon@2x.png │ ├── baidu_wallet_tradelist_icon@2x.png │ ├── baidu_wallet_transfer_line@2x.png │ ├── baidu_wallet_yuan_icon@3x.png │ ├── baidu_wallet_zhe_default_bottom@3x.png │ ├── baiduwallet_closed_default_bottom@3x.png │ ├── bd_wallet_bank_circle_bg.png │ ├── bd_wallet_bank_default_icon.png │ ├── bd_wallet_icon_default_info@2x.png │ ├── bd_wallet_icon_default_info@3x.png │ ├── bd_wallet_icon_focus_info@2x.png │ ├── bd_wallet_inputbox_default_2x90@2x.png │ ├── bd_wallet_more_normal@2x.png │ ├── bd_wallet_more_normal@3x.png │ ├── bdlogo.png │ ├── bdwallet_new_bindcard_bg@2x.png │ ├── bdwallet_new_bindcard_hint@2x.png │ ├── bdwallet_new_defaultbank_icon@3x.png │ ├── bg_default_tips_370x80@2x.png │ ├── bg_titlebar_640x128@2x.png │ ├── bg_titlebar_640x88@2x.png │ ├── btn_default_setting_166x62.png │ ├── defaultIcon.png │ ├── down.png │ ├── en.lproj │ │ └── InfoPlist.strings │ ├── eventConfig.plist │ ├── icon2.png │ ├── icon_close@3x.png │ ├── icon_defaule_moren2@2x@2x.png │ ├── icon_default_bai@2x.png │ ├── icon_default_bank@2x.png │ ├── icon_default_jiaoyi@2x.png │ ├── icon_default_new@2x.png │ ├── icon_default_safe@2x.png │ ├── icon_default_zhanwei@2x.png │ ├── icon_refresh@3x.png │ ├── icon_share@3x.png │ ├── newService.cfg │ ├── nvBg_128@2x.png │ ├── nvBg_88@2x.png │ ├── pop_help_cancel_highlight@3x.png │ ├── pop_help_cancel_normal@3x.png │ ├── service.cfg │ ├── service.plist │ └── title_iconbtn_more_popbg@2x.png ├── BaiduWallet_Portal.framework │ ├── BaiduWallet_Portal │ ├── BaiduWallet_Portal-Info.plist │ ├── Headers │ │ ├── BDWalletSDKMainManager.h │ │ └── UIViewController+FindTop.h │ ├── Info.plist │ └── en.lproj │ │ └── InfoPlist.strings ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── MLProgressHUD.swift ├── Order.h ├── Order.m ├── Reachability │ ├── Reachability.h │ └── Reachability.m ├── SAPI │ ├── Assets │ │ ├── SAPIImageDef.h │ │ └── images │ │ │ ├── file_tital_back_but.png │ │ │ ├── file_tital_back_but@2x.png │ │ │ ├── file_tital_back_but_press.png │ │ │ ├── file_tital_back_but_press@2x.png │ │ │ ├── file_tital_bj.png │ │ │ ├── file_tital_bj@2x.png │ │ │ ├── file_tital_but.png │ │ │ ├── file_tital_but@2x.png │ │ │ ├── file_tital_but_press.png │ │ │ ├── file_tital_but_press@2x.png │ │ │ ├── file_tital_but_unpress.png │ │ │ ├── file_tital_but_unpress@2x.png │ │ │ ├── qrcode_icon.png │ │ │ ├── qrcode_icon@2x.png │ │ │ ├── qrcode_scan_line.png │ │ │ ├── qrcode_scan_line@2x.png │ │ │ ├── qrcode_scan_mask.png │ │ │ ├── qrcode_scan_mask@2x.png │ │ │ ├── sapi_404@2x.png │ │ │ └── sapi_profile_arrow@2x.png │ └── www │ │ ├── sapi-custom-style.css │ │ ├── sapi-nav-back-btn-bg.png │ │ ├── wappass.baidu.com_passport_login.html │ │ └── wappass.qatest.baidu.com_passport_login.html ├── SDKExport │ ├── WXApi.h │ ├── WXApiObject.h │ └── libWeChatSDK.a ├── SDWebImage │ ├── MKAnnotationView+WebCache.h │ ├── MKAnnotationView+WebCache.m │ ├── NSData+ImageContentType.h │ ├── NSData+ImageContentType.m │ ├── SDImageCache.h │ ├── SDImageCache.m │ ├── SDWebImageCompat.h │ ├── SDWebImageCompat.m │ ├── SDWebImageDecoder.h │ ├── SDWebImageDecoder.m │ ├── SDWebImageDownloader.h │ ├── SDWebImageDownloader.m │ ├── SDWebImageDownloaderOperation.h │ ├── SDWebImageDownloaderOperation.m │ ├── SDWebImageManager.h │ ├── SDWebImageManager.m │ ├── SDWebImageOperation.h │ ├── SDWebImagePrefetcher.h │ ├── SDWebImagePrefetcher.m │ ├── UIButton+WebCache.h │ ├── UIButton+WebCache.m │ ├── UIImage+GIF.h │ ├── UIImage+GIF.m │ ├── UIImage+MultiFormat.h │ ├── UIImage+MultiFormat.m │ ├── UIImage+WebP.h │ ├── UIImage+WebP.m │ ├── UIImageView+HighlightedWebCache.h │ ├── UIImageView+HighlightedWebCache.m │ ├── UIImageView+WebCache.h │ ├── UIImageView+WebCache.m │ ├── UIView+WebCacheOperation.h │ └── UIView+WebCacheOperation.m ├── Util │ ├── DataSigner.h │ ├── DataSigner.m │ ├── DataVerifier.h │ ├── DataVerifier.m │ ├── MD5DataSigner.h │ ├── MD5DataSigner.m │ ├── NSDataEx.h │ ├── NSDataEx.m │ ├── RSADataSigner.h │ ├── RSADataSigner.m │ ├── RSADataVerifier.h │ ├── RSADataVerifier.m │ ├── base64.h │ ├── base64.m │ ├── config.h │ ├── openssl_wrapper.h │ └── openssl_wrapper.m ├── ViewController.h ├── ViewController.m ├── applePaySDK │ ├── inc │ │ ├── UPAPayPlugin.h │ │ └── UPAPayPluginDelegate.h │ └── libs │ │ └── libUPAPayPlugin.a ├── applepay@2x.png ├── applezhifu.p12 ├── baiPay@2x.png ├── libcrypto.a ├── libssl.a ├── main.m ├── openssl │ ├── aes.h │ ├── asn1.h │ ├── asn1_mac.h │ ├── asn1t.h │ ├── bio.h │ ├── blowfish.h │ ├── bn.h │ ├── buffer.h │ ├── camellia.h │ ├── cast.h │ ├── cmac.h │ ├── cms.h │ ├── comp.h │ ├── conf.h │ ├── conf_api.h │ ├── crypto.h │ ├── des.h │ ├── des_old.h │ ├── dh.h │ ├── dsa.h │ ├── dso.h │ ├── dtls1.h │ ├── e_os2.h │ ├── ebcdic.h │ ├── ec.h │ ├── ecdh.h │ ├── ecdsa.h │ ├── engine.h │ ├── err.h │ ├── evp.h │ ├── hmac.h │ ├── idea.h │ ├── krb5_asn.h │ ├── kssl.h │ ├── lhash.h │ ├── md4.h │ ├── md5.h │ ├── mdc2.h │ ├── modes.h │ ├── obj_mac.h │ ├── objects.h │ ├── ocsp.h │ ├── opensslconf.h │ ├── opensslv.h │ ├── ossl_typ.h │ ├── pem.h │ ├── pem2.h │ ├── pkcs12.h │ ├── pkcs7.h │ ├── pqueue.h │ ├── rand.h │ ├── rc2.h │ ├── rc4.h │ ├── ripemd.h │ ├── rsa.h │ ├── safestack.h │ ├── seed.h │ ├── sha.h │ ├── srp.h │ ├── srtp.h │ ├── ssl.h │ ├── ssl2.h │ ├── ssl23.h │ ├── ssl3.h │ ├── stack.h │ ├── symhacks.h │ ├── tls1.h │ ├── ts.h │ ├── txt_db.h │ ├── ui.h │ ├── ui_compat.h │ ├── whrlpool.h │ ├── x509.h │ ├── x509_vfy.h │ └── x509v3.h ├── paymentcontrol │ ├── inc │ │ └── UPPaymentControl.h │ └── libs │ │ └── libPaymentControl.a ├── unocnPay@2x.png ├── weiChatPay@2x.png ├── xuanjiaallpay-Bridging-Header.h ├── xuanjiaallpay.entitlements ├── yinlian.h └── yinlian.mm ├── xuanjiaallpayTests ├── Info.plist └── xuanjiaallpayTests.m └── xuanjiaallpayUITests ├── Info.plist └── xuanjiaallpayUITests.m /applePayDemo.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.developer.in-app-payments 6 | 7 | merchant.com.bxkj.applePayDemo 8 | merchant.com.bxkj.apppayDemo 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /xuanjiaallpay.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /xuanjiaallpay.xcodeproj/xcuserdata/xuezejun.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /xuanjiaallpay.xcodeproj/xcuserdata/xuezejun.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | xuanjiaallpay.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 363EBDB81CD3389600C740A2 16 | 17 | primary 18 | 19 | 20 | 363EBDD11CD3389600C740A2 21 | 22 | primary 23 | 24 | 25 | 363EBDDC1CD3389600C740A2 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /xuanjiaallpay/ASIHttpRequest/ASIAuthenticationDialog.h: -------------------------------------------------------------------------------- 1 | // 2 | // ASIAuthenticationDialog.h 3 | // Part of ASIHTTPRequest -> http://allseeing-i.com/ASIHTTPRequest 4 | // 5 | // Created by Ben Copsey on 21/08/2009. 6 | // Copyright 2009 All-Seeing Interactive. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | @class ASIHTTPRequest; 12 | 13 | typedef enum _ASIAuthenticationType { 14 | ASIStandardAuthenticationType = 0, 15 | ASIProxyAuthenticationType = 1 16 | } ASIAuthenticationType; 17 | 18 | @interface ASIAutorotatingViewController : UIViewController 19 | @end 20 | 21 | @interface ASIAuthenticationDialog : ASIAutorotatingViewController { 22 | ASIHTTPRequest *request; 23 | ASIAuthenticationType type; 24 | UITableView *tableView; 25 | UIViewController *presentingController; 26 | BOOL didEnableRotationNotifications; 27 | } 28 | + (void)presentAuthenticationDialogForRequest:(ASIHTTPRequest *)request; 29 | + (void)dismiss; 30 | 31 | @property (retain) ASIHTTPRequest *request; 32 | @property (assign) ASIAuthenticationType type; 33 | @property (assign) BOOL didEnableRotationNotifications; 34 | @property (retain, nonatomic) UIViewController *presentingController; 35 | @end 36 | -------------------------------------------------------------------------------- /xuanjiaallpay/ASIHttpRequest/ASIDataCompressor.h: -------------------------------------------------------------------------------- 1 | // 2 | // ASIDataCompressor.h 3 | // Part of ASIHTTPRequest -> http://allseeing-i.com/ASIHTTPRequest 4 | // 5 | // Created by Ben Copsey on 17/08/2010. 6 | // Copyright 2010 All-Seeing Interactive. All rights reserved. 7 | // 8 | 9 | // This is a helper class used by ASIHTTPRequest to handle deflating (compressing) data in memory and on disk 10 | // You may also find it helpful if you need to deflate data and files yourself - see the class methods below 11 | // Most of the zlib stuff is based on the sample code by Mark Adler available at http://zlib.net 12 | 13 | #import 14 | #import 15 | 16 | @interface ASIDataCompressor : NSObject { 17 | BOOL streamReady; 18 | z_stream zStream; 19 | } 20 | 21 | // Convenience constructor will call setupStream for you 22 | + (id)compressor; 23 | 24 | // Compress the passed chunk of data 25 | // Passing YES for shouldFinish will finalize the deflated data - you must pass YES when you are on the last chunk of data 26 | - (NSData *)compressBytes:(Bytef *)bytes length:(NSUInteger)length error:(NSError **)err shouldFinish:(BOOL)shouldFinish; 27 | 28 | // Convenience method - pass it some data, and you'll get deflated data back 29 | + (NSData *)compressData:(NSData*)uncompressedData error:(NSError **)err; 30 | 31 | // Convenience method - pass it a file containing the data to compress in sourcePath, and it will write deflated data to destinationPath 32 | + (BOOL)compressDataFromFile:(NSString *)sourcePath toFile:(NSString *)destinationPath error:(NSError **)err; 33 | 34 | // Sets up zlib to handle the inflating. You only need to call this yourself if you aren't using the convenience constructor 'compressor' 35 | - (NSError *)setupStream; 36 | 37 | // Tells zlib to clean up. You need to call this if you need to cancel deflating part way through 38 | // If deflating finishes or fails, this method will be called automatically 39 | - (NSError *)closeStream; 40 | 41 | @property (assign, readonly) BOOL streamReady; 42 | @end 43 | -------------------------------------------------------------------------------- /xuanjiaallpay/ASIHttpRequest/ASIDataDecompressor.h: -------------------------------------------------------------------------------- 1 | // 2 | // ASIDataDecompressor.h 3 | // Part of ASIHTTPRequest -> http://allseeing-i.com/ASIHTTPRequest 4 | // 5 | // Created by Ben Copsey on 17/08/2010. 6 | // Copyright 2010 All-Seeing Interactive. All rights reserved. 7 | // 8 | 9 | // This is a helper class used by ASIHTTPRequest to handle inflating (decompressing) data in memory and on disk 10 | // You may also find it helpful if you need to inflate data and files yourself - see the class methods below 11 | // Most of the zlib stuff is based on the sample code by Mark Adler available at http://zlib.net 12 | 13 | #import 14 | #import 15 | 16 | @interface ASIDataDecompressor : NSObject { 17 | BOOL streamReady; 18 | z_stream zStream; 19 | } 20 | 21 | // Convenience constructor will call setupStream for you 22 | + (id)decompressor; 23 | 24 | // Uncompress the passed chunk of data 25 | - (NSData *)uncompressBytes:(Bytef *)bytes length:(NSUInteger)length error:(NSError **)err; 26 | 27 | // Convenience method - pass it some deflated data, and you'll get inflated data back 28 | + (NSData *)uncompressData:(NSData*)compressedData error:(NSError **)err; 29 | 30 | // Convenience method - pass it a file containing deflated data in sourcePath, and it will write inflated data to destinationPath 31 | + (BOOL)uncompressDataFromFile:(NSString *)sourcePath toFile:(NSString *)destinationPath error:(NSError **)err; 32 | 33 | // Sets up zlib to handle the inflating. You only need to call this yourself if you aren't using the convenience constructor 'decompressor' 34 | - (NSError *)setupStream; 35 | 36 | // Tells zlib to clean up. You need to call this if you need to cancel inflating part way through 37 | // If inflating finishes or fails, this method will be called automatically 38 | - (NSError *)closeStream; 39 | 40 | @property (assign, readonly) BOOL streamReady; 41 | @end 42 | -------------------------------------------------------------------------------- /xuanjiaallpay/ASIHttpRequest/ASIDownloadCache.h: -------------------------------------------------------------------------------- 1 | // 2 | // ASIDownloadCache.h 3 | // Part of ASIHTTPRequest -> http://allseeing-i.com/ASIHTTPRequest 4 | // 5 | // Created by Ben Copsey on 01/05/2010. 6 | // Copyright 2010 All-Seeing Interactive. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "ASICacheDelegate.h" 11 | 12 | @interface ASIDownloadCache : NSObject { 13 | 14 | // The default cache policy for this cache 15 | // Requests that store data in the cache will use this cache policy if their cache policy is set to ASIUseDefaultCachePolicy 16 | // Defaults to ASIAskServerIfModifiedWhenStaleCachePolicy 17 | ASICachePolicy defaultCachePolicy; 18 | 19 | // The directory in which cached data will be stored 20 | // Defaults to a directory called 'ASIHTTPRequestCache' in the temporary directory 21 | NSString *storagePath; 22 | 23 | // Mediates access to the cache 24 | NSRecursiveLock *accessLock; 25 | 26 | // When YES, the cache will look for cache-control / pragma: no-cache headers, and won't reuse store responses if it finds them 27 | BOOL shouldRespectCacheControlHeaders; 28 | } 29 | 30 | // Returns a static instance of an ASIDownloadCache 31 | // In most circumstances, it will make sense to use this as a global cache, rather than creating your own cache 32 | // To make ASIHTTPRequests use it automatically, use [ASIHTTPRequest setDefaultCache:[ASIDownloadCache sharedCache]]; 33 | + (id)sharedCache; 34 | 35 | // A helper function that determines if the server has requested data should not be cached by looking at the request's response headers 36 | + (BOOL)serverAllowsResponseCachingForRequest:(ASIHTTPRequest *)request; 37 | 38 | // A list of file extensions that we know won't be readable by a webview when accessed locally 39 | // If we're asking for a path to cache a particular url and it has one of these extensions, we change it to '.html' 40 | + (NSArray *)fileExtensionsToHandleAsHTML; 41 | 42 | @property (assign, nonatomic) ASICachePolicy defaultCachePolicy; 43 | @property (retain, nonatomic) NSString *storagePath; 44 | @property (retain) NSRecursiveLock *accessLock; 45 | @property (assign) BOOL shouldRespectCacheControlHeaders; 46 | @end 47 | -------------------------------------------------------------------------------- /xuanjiaallpay/ASIHttpRequest/ASIFormDataRequest.h: -------------------------------------------------------------------------------- 1 | // 2 | // ASIFormDataRequest.h 3 | // Part of ASIHTTPRequest -> http://allseeing-i.com/ASIHTTPRequest 4 | // 5 | // Created by Ben Copsey on 07/11/2008. 6 | // Copyright 2008-2009 All-Seeing Interactive. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "ASIHTTPRequest.h" 11 | #import "ASIHTTPRequestConfig.h" 12 | 13 | typedef enum _ASIPostFormat { 14 | ASIMultipartFormDataPostFormat = 0, 15 | ASIURLEncodedPostFormat = 1 16 | 17 | } ASIPostFormat; 18 | 19 | @interface ASIFormDataRequest : ASIHTTPRequest { 20 | 21 | // Parameters that will be POSTed to the url 22 | NSMutableArray *postData; 23 | 24 | // Files that will be POSTed to the url 25 | NSMutableArray *fileData; 26 | 27 | ASIPostFormat postFormat; 28 | 29 | NSStringEncoding stringEncoding; 30 | 31 | #if DEBUG_FORM_DATA_REQUEST 32 | // Will store a string version of the request body that will be printed to the console when ASIHTTPREQUEST_DEBUG is set in GCC_PREPROCESSOR_DEFINITIONS 33 | NSString *debugBodyString; 34 | #endif 35 | 36 | } 37 | 38 | #pragma mark utilities 39 | - (NSString*)encodeURL:(NSString *)string; 40 | 41 | #pragma mark setup request 42 | 43 | // Add a POST variable to the request 44 | - (void)addPostValue:(id )value forKey:(NSString *)key; 45 | 46 | // Set a POST variable for this request, clearing any others with the same key 47 | - (void)setPostValue:(id )value forKey:(NSString *)key; 48 | 49 | // Add the contents of a local file to the request 50 | - (void)addFile:(NSString *)filePath forKey:(NSString *)key; 51 | 52 | // Same as above, but you can specify the content-type and file name 53 | - (void)addFile:(NSString *)filePath withFileName:(NSString *)fileName andContentType:(NSString *)contentType forKey:(NSString *)key; 54 | 55 | // Add the contents of a local file to the request, clearing any others with the same key 56 | - (void)setFile:(NSString *)filePath forKey:(NSString *)key; 57 | 58 | // Same as above, but you can specify the content-type and file name 59 | - (void)setFile:(NSString *)filePath withFileName:(NSString *)fileName andContentType:(NSString *)contentType forKey:(NSString *)key; 60 | 61 | // Add the contents of an NSData object to the request 62 | - (void)addData:(NSData *)data forKey:(NSString *)key; 63 | 64 | // Same as above, but you can specify the content-type and file name 65 | - (void)addData:(id)data withFileName:(NSString *)fileName andContentType:(NSString *)contentType forKey:(NSString *)key; 66 | 67 | // Add the contents of an NSData object to the request, clearing any others with the same key 68 | - (void)setData:(NSData *)data forKey:(NSString *)key; 69 | 70 | // Same as above, but you can specify the content-type and file name 71 | - (void)setData:(id)data withFileName:(NSString *)fileName andContentType:(NSString *)contentType forKey:(NSString *)key; 72 | 73 | 74 | @property (assign) ASIPostFormat postFormat; 75 | @property (assign) NSStringEncoding stringEncoding; 76 | @end 77 | -------------------------------------------------------------------------------- /xuanjiaallpay/ASIHttpRequest/ASIHTTPRequestConfig.h: -------------------------------------------------------------------------------- 1 | // 2 | // ASIHTTPRequestConfig.h 3 | // Part of ASIHTTPRequest -> http://allseeing-i.com/ASIHTTPRequest 4 | // 5 | // Created by Ben Copsey on 14/12/2009. 6 | // Copyright 2009 All-Seeing Interactive. All rights reserved. 7 | // 8 | 9 | 10 | // ====== 11 | // Debug output configuration options 12 | // ====== 13 | 14 | // If defined will use the specified function for debug logging 15 | // Otherwise use NSLog 16 | #ifndef ASI_DEBUG_LOG 17 | #define ASI_DEBUG_LOG NSLog 18 | #endif 19 | 20 | // When set to 1 ASIHTTPRequests will print information about what a request is doing 21 | #ifndef DEBUG_REQUEST_STATUS 22 | #define DEBUG_REQUEST_STATUS 0 23 | #endif 24 | 25 | // When set to 1, ASIFormDataRequests will print information about the request body to the console 26 | #ifndef DEBUG_FORM_DATA_REQUEST 27 | #define DEBUG_FORM_DATA_REQUEST 0 28 | #endif 29 | 30 | // When set to 1, ASIHTTPRequests will print information about bandwidth throttling to the console 31 | #ifndef DEBUG_THROTTLING 32 | #define DEBUG_THROTTLING 0 33 | #endif 34 | 35 | // When set to 1, ASIHTTPRequests will print information about persistent connections to the console 36 | #ifndef DEBUG_PERSISTENT_CONNECTIONS 37 | #define DEBUG_PERSISTENT_CONNECTIONS 0 38 | #endif 39 | 40 | // When set to 1, ASIHTTPRequests will print information about HTTP authentication (Basic, Digest or NTLM) to the console 41 | #ifndef DEBUG_HTTP_AUTHENTICATION 42 | #define DEBUG_HTTP_AUTHENTICATION 0 43 | #endif 44 | -------------------------------------------------------------------------------- /xuanjiaallpay/ASIHttpRequest/ASIHTTPRequestDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // ASIHTTPRequestDelegate.h 3 | // Part of ASIHTTPRequest -> http://allseeing-i.com/ASIHTTPRequest 4 | // 5 | // Created by Ben Copsey on 13/04/2010. 6 | // Copyright 2010 All-Seeing Interactive. All rights reserved. 7 | // 8 | 9 | @class ASIHTTPRequest; 10 | 11 | @protocol ASIHTTPRequestDelegate 12 | 13 | @optional 14 | 15 | // These are the default delegate methods for request status 16 | // You can use different ones by setting didStartSelector / didFinishSelector / didFailSelector 17 | - (void)requestStarted:(ASIHTTPRequest *)request; 18 | - (void)request:(ASIHTTPRequest *)request didReceiveResponseHeaders:(NSDictionary *)responseHeaders; 19 | - (void)request:(ASIHTTPRequest *)request willRedirectToURL:(NSURL *)newURL; 20 | - (void)requestFinished:(ASIHTTPRequest *)request; 21 | - (void)requestFailed:(ASIHTTPRequest *)request; 22 | - (void)requestRedirected:(ASIHTTPRequest *)request; 23 | 24 | // When a delegate implements this method, it is expected to process all incoming data itself 25 | // This means that responseData / responseString / downloadDestinationPath etc are ignored 26 | // You can have the request call a different method by setting didReceiveDataSelector 27 | - (void)request:(ASIHTTPRequest *)request didReceiveData:(NSData *)data; 28 | 29 | // If a delegate implements one of these, it will be asked to supply credentials when none are available 30 | // The delegate can then either restart the request ([request retryUsingSuppliedCredentials]) once credentials have been set 31 | // or cancel it ([request cancelAuthentication]) 32 | - (void)authenticationNeededForRequest:(ASIHTTPRequest *)request; 33 | - (void)proxyAuthenticationNeededForRequest:(ASIHTTPRequest *)request; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /xuanjiaallpay/ASIHttpRequest/ASIInputStream.h: -------------------------------------------------------------------------------- 1 | // 2 | // ASIInputStream.h 3 | // Part of ASIHTTPRequest -> http://allseeing-i.com/ASIHTTPRequest 4 | // 5 | // Created by Ben Copsey on 10/08/2009. 6 | // Copyright 2009 All-Seeing Interactive. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class ASIHTTPRequest; 12 | 13 | // This is a wrapper for NSInputStream that pretends to be an NSInputStream itself 14 | // Subclassing NSInputStream seems to be tricky, and may involve overriding undocumented methods, so we'll cheat instead. 15 | // It is used by ASIHTTPRequest whenever we have a request body, and handles measuring and throttling the bandwidth used for uploading 16 | 17 | @interface ASIInputStream : NSObject { 18 | NSInputStream *stream; 19 | ASIHTTPRequest *request; 20 | } 21 | + (id)inputStreamWithFileAtPath:(NSString *)path request:(ASIHTTPRequest *)request; 22 | + (id)inputStreamWithData:(NSData *)data request:(ASIHTTPRequest *)request; 23 | 24 | @property (retain, nonatomic) NSInputStream *stream; 25 | @property (assign, nonatomic) ASIHTTPRequest *request; 26 | @end 27 | -------------------------------------------------------------------------------- /xuanjiaallpay/ASIHttpRequest/ASIInputStream.m: -------------------------------------------------------------------------------- 1 | // 2 | // ASIInputStream.m 3 | // Part of ASIHTTPRequest -> http://allseeing-i.com/ASIHTTPRequest 4 | // 5 | // Created by Ben Copsey on 10/08/2009. 6 | // Copyright 2009 All-Seeing Interactive. All rights reserved. 7 | // 8 | 9 | #import "ASIInputStream.h" 10 | #import "ASIHTTPRequest.h" 11 | 12 | // Used to ensure only one request can read data at once 13 | static NSLock *readLock = nil; 14 | 15 | @implementation ASIInputStream 16 | 17 | + (void)initialize 18 | { 19 | if (self == [ASIInputStream class]) { 20 | readLock = [[NSLock alloc] init]; 21 | } 22 | } 23 | 24 | + (id)inputStreamWithFileAtPath:(NSString *)path request:(ASIHTTPRequest *)theRequest 25 | { 26 | ASIInputStream *theStream = [[[self alloc] init] autorelease]; 27 | [theStream setRequest:theRequest]; 28 | [theStream setStream:[NSInputStream inputStreamWithFileAtPath:path]]; 29 | return theStream; 30 | } 31 | 32 | + (id)inputStreamWithData:(NSData *)data request:(ASIHTTPRequest *)theRequest 33 | { 34 | ASIInputStream *theStream = [[[self alloc] init] autorelease]; 35 | [theStream setRequest:theRequest]; 36 | [theStream setStream:[NSInputStream inputStreamWithData:data]]; 37 | return theStream; 38 | } 39 | 40 | - (void)dealloc 41 | { 42 | [stream release]; 43 | [super dealloc]; 44 | } 45 | 46 | // Called when CFNetwork wants to read more of our request body 47 | // When throttling is on, we ask ASIHTTPRequest for the maximum amount of data we can read 48 | - (NSInteger)read:(uint8_t *)buffer maxLength:(NSUInteger)len 49 | { 50 | [readLock lock]; 51 | unsigned long toRead = len; 52 | if ([ASIHTTPRequest isBandwidthThrottled]) { 53 | toRead = [ASIHTTPRequest maxUploadReadLength]; 54 | if (toRead > len) { 55 | toRead = len; 56 | } else if (toRead == 0) { 57 | toRead = 1; 58 | } 59 | [request performThrottling]; 60 | } 61 | [readLock unlock]; 62 | NSInteger rv = [stream read:buffer maxLength:toRead]; 63 | if (rv > 0) 64 | [ASIHTTPRequest incrementBandwidthUsedInLastSecond:rv]; 65 | return rv; 66 | } 67 | 68 | /* 69 | * Implement NSInputStream mandatory methods to make sure they are implemented 70 | * (necessary for MacRuby for example) and avoid the overhead of method 71 | * forwarding for these common methods. 72 | */ 73 | - (void)open 74 | { 75 | [stream open]; 76 | } 77 | 78 | - (void)close 79 | { 80 | [stream close]; 81 | } 82 | 83 | - (id)delegate 84 | { 85 | return [stream delegate]; 86 | } 87 | 88 | - (void)setDelegate:(id)delegate 89 | { 90 | [stream setDelegate:delegate]; 91 | } 92 | 93 | - (void)scheduleInRunLoop:(NSRunLoop *)aRunLoop forMode:(NSString *)mode 94 | { 95 | [stream scheduleInRunLoop:aRunLoop forMode:mode]; 96 | } 97 | 98 | - (void)removeFromRunLoop:(NSRunLoop *)aRunLoop forMode:(NSString *)mode 99 | { 100 | [stream removeFromRunLoop:aRunLoop forMode:mode]; 101 | } 102 | 103 | - (id)propertyForKey:(NSString *)key 104 | { 105 | return [stream propertyForKey:key]; 106 | } 107 | 108 | - (BOOL)setProperty:(id)property forKey:(NSString *)key 109 | { 110 | return [stream setProperty:property forKey:key]; 111 | } 112 | 113 | - (NSStreamStatus)streamStatus 114 | { 115 | return [stream streamStatus]; 116 | } 117 | 118 | - (NSError *)streamError 119 | { 120 | return [stream streamError]; 121 | } 122 | 123 | // If we get asked to perform a method we don't have (probably internal ones), 124 | // we'll just forward the message to our stream 125 | 126 | - (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector 127 | { 128 | return [stream methodSignatureForSelector:aSelector]; 129 | } 130 | 131 | - (void)forwardInvocation:(NSInvocation *)anInvocation 132 | { 133 | [anInvocation invokeWithTarget:stream]; 134 | } 135 | 136 | @synthesize stream; 137 | @synthesize request; 138 | @end 139 | -------------------------------------------------------------------------------- /xuanjiaallpay/ASIHttpRequest/ASIProgressDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // ASIProgressDelegate.h 3 | // Part of ASIHTTPRequest -> http://allseeing-i.com/ASIHTTPRequest 4 | // 5 | // Created by Ben Copsey on 13/04/2010. 6 | // Copyright 2010 All-Seeing Interactive. All rights reserved. 7 | // 8 | 9 | @class ASIHTTPRequest; 10 | 11 | @protocol ASIProgressDelegate 12 | 13 | @optional 14 | 15 | // These methods are used to update UIProgressViews (iPhone OS) or NSProgressIndicators (Mac OS X) 16 | // If you are using a custom progress delegate, you may find it easier to implement didReceiveBytes / didSendBytes instead 17 | #if TARGET_OS_IPHONE 18 | - (void)setProgress:(float)newProgress; 19 | #else 20 | - (void)setDoubleValue:(double)newProgress; 21 | - (void)setMaxValue:(double)newMax; 22 | #endif 23 | 24 | // Called when the request receives some data - bytes is the length of that data 25 | - (void)request:(ASIHTTPRequest *)request didReceiveBytes:(long long)bytes; 26 | 27 | // Called when the request sends some data 28 | // The first 32KB (128KB on older platforms) of data sent is not included in this amount because of limitations with the CFNetwork API 29 | // bytes may be less than zero if a request needs to remove upload progress (probably because the request needs to run again) 30 | - (void)request:(ASIHTTPRequest *)request didSendBytes:(long long)bytes; 31 | 32 | // Called when a request needs to change the length of the content to download 33 | - (void)request:(ASIHTTPRequest *)request incrementDownloadSizeBy:(long long)newLength; 34 | 35 | // Called when a request needs to change the length of the content to upload 36 | // newLength may be less than zero when a request needs to remove the size of the internal buffer from progress tracking 37 | - (void)request:(ASIHTTPRequest *)request incrementUploadSizeBy:(long long)newLength; 38 | @end 39 | -------------------------------------------------------------------------------- /xuanjiaallpay/Alipay@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/Alipay@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/AlipaySDK.bundle/bar@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/AlipaySDK.bundle/bar@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/AlipaySDK.bundle/refresh@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/AlipaySDK.bundle/refresh@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/AlipaySDK.bundle/refresh_click@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/AlipaySDK.bundle/refresh_click@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/AlipaySDK.bundle/shutdown@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/AlipaySDK.bundle/shutdown@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/AlipaySDK.bundle/shutdown_click@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/AlipaySDK.bundle/shutdown_click@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/AlipaySDK.framework/AlipaySDK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/AlipaySDK.framework/AlipaySDK -------------------------------------------------------------------------------- /xuanjiaallpay/AlipaySDK.framework/Headers/APayAuthInfo.h: -------------------------------------------------------------------------------- 1 | // 2 | // APAuthInfo.h 3 | // AliSDKDemo 4 | // 5 | // Created by 方彬 on 14-7-18. 6 | // Copyright (c) 2014年 Alipay.com. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface APayAuthInfo : NSObject 12 | 13 | @property(nonatomic, copy)NSString *appID; 14 | @property(nonatomic, copy)NSString *pid; 15 | @property(nonatomic, copy)NSString *redirectUri; 16 | 17 | /** 18 | * 初始化AuthInfo 19 | * 20 | * @param appIDStr 应用ID 21 | * @param productIDStr 产品码 该商户在aboss签约的产品,用户获取pid获取的参数 22 | * @param pidStr 商户ID 可不填 23 | * @param uriStr 授权的应用回调地址 比如:alidemo://auth 24 | * 25 | * @return authinfo实例 26 | */ 27 | - (id)initWithAppID:(NSString *)appIDStr 28 | pid:(NSString *)pidStr 29 | redirectUri:(NSString *)uriStr; 30 | 31 | - (NSString *)description; 32 | - (NSString *)wapDescription; 33 | @end 34 | -------------------------------------------------------------------------------- /xuanjiaallpay/AlipaySDK.framework/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/AlipaySDK.framework/Info.plist -------------------------------------------------------------------------------- /xuanjiaallpay/AlipaySDK.framework/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/AlipaySDK.framework/en.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /xuanjiaallpay/AllPayModel.h: -------------------------------------------------------------------------------- 1 | // 2 | // AllPayModel.h 3 | // xuanjiaallpay 4 | // 5 | // Created by 薛泽军 on 16/4/29. 6 | // Copyright © 2016年 炫嘉科技. All rights reserved. 7 | // 8 | //微信 应用注册scheme,在Info.plist定义URL types 以下使用的是微信demo的信息 9 | #define WEICHATAPPKEY @"wxb4ba3c02aa476ea1" //微信appkey 10 | 11 | 12 | //支付宝的账号秘钥等 注意以下使用的是山西百校科技有限公司的支付宝信息 13 | #define ALIPAYPARTNER @"2088811211659673" 14 | #define ALIPAYSELLER @"bxsn@bxsn.com.cn" 15 | #define ALIPAYPRIVATEKEY @"MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBALwnmzlgOX8MI0DnhJjGLIUTd1if0RL0VdeJirWvBkk7rmOZ9UyAW1MVVswfCt6rzejg+xO1kfL8dZ33dbwBQdWBBC3y5eo8ACt0zmvUF+z04K0b7kL8MCEb45vzHTBswDEdipgQ1ZkqIvCeJvJEr2gssp1VlPUw0Zo6ccy+O4n3AgMBAAECgYABg1QFNxffRKq35+SyEc3j2A86oDZfL6XNEOcTpO+pARja5i8JyXJyjZZgF9PPjJQgTkbWlrwwtwT/GzFQLLZpzJIMyVf5orqDdSFJ7EvV2XUTMFI2Pfkb/lUuOvCOsV7FtqE5PVI4olTXJEOFz0d2in4Jolk2VUoLpStvdHYnQQJBAObFdUl5syrGjoSEL6Rr/eS0SDxb53vXdc0sTcvr8ibe9oTgoK6BmpZgSx4wFHH2nb6t/0uNluPVcQ+syeWsshcCQQDQuXKFGxoQqrTqGSWOg4tWpYW2kpHRTIqL1ptU9S+8Lmzrws3UQodLotd7wWVy5JjnLdihLWm3LzLHJdyFMjMhAkAtVDHimdYYm+HYo8Jb8J5xcvwRZxgEGmFYSNCLMrBg9EDF/v1w6aI80XNP3a/WZtO7ZaAU7h3qaL2Jj64kwBRHAkEAqbqz6pOAXZ9DYL40MTC9JSeSlUWY+BcC7vYD+FEtkRw7jHgsAnhbJuFz0voQch58TDmW2HJibgkehJ1ANrv8oQJBAMvumXNBf8Ko8k6UbeX6FSDL8CcwN00eLFLMBshoN96NqduRpZuafvGq5QEuQ2GQ2tr8xHT0MKV94mnVhCls5WY=" 16 | #define ALIPAYSCHEME @"alipayxuanjia" 17 | //百度因为使用的是嵌入式无需跳转 比较起来百度的开发人员水平太菜 18 | 19 | //apppay支付时的merantId 如果你研究过就知道时什么 20 | #define kAppleMerchantID @"merchant.com.bxkj.applePayDemo" 21 | 22 | #import 23 | 24 | @interface AllPayModel : NSObject 25 | @property (nonatomic)double price;//支付的价格单位/元 26 | @property (strong,nonatomic)NSString *orderNmuber;//订单编号 27 | @property (strong,nonatomic)NSString *subject;//支付副标题 28 | @property (strong,nonatomic)NSString *body;//支付信息 29 | @end 30 | -------------------------------------------------------------------------------- /xuanjiaallpay/AllPayModel.m: -------------------------------------------------------------------------------- 1 | // 2 | // AllPayModel.m 3 | // xuanjiaallpay 4 | // 5 | // Created by 薛泽军 on 16/4/29. 6 | // Copyright © 2016年 炫嘉科技. All rights reserved. 7 | // 8 | 9 | #import "AllPayModel.h" 10 | 11 | @implementation AllPayModel 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /xuanjiaallpay/AllPayTableViewCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // AllPayTableViewCell.h 3 | // xuanjiaallpay 4 | // 5 | // Created by 薛泽军 on 16/4/29. 6 | // Copyright © 2016年 炫嘉科技. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AllPayTableViewCell : UITableViewCell 12 | @property (strong, nonatomic) IBOutlet UIImageView *headImageView; 13 | @property (strong, nonatomic) IBOutlet UILabel *titleLable; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /xuanjiaallpay/AllPayTableViewCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // AllPayTableViewCell.m 3 | // xuanjiaallpay 4 | // 5 | // Created by 薛泽军 on 16/4/29. 6 | // Copyright © 2016年 炫嘉科技. All rights reserved. 7 | // 8 | 9 | #import "AllPayTableViewCell.h" 10 | 11 | @implementation AllPayTableViewCell 12 | 13 | - (void)awakeFromNib { 14 | // Initialization code 15 | } 16 | 17 | - (void)setSelected:(BOOL)selected animated:(BOOL)animated { 18 | [super setSelected:selected animated:animated]; 19 | 20 | // Configure the view for the selected state 21 | } 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /xuanjiaallpay/AllPayTableViewCell.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /xuanjiaallpay/AllPayViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // AllPayViewController.h 3 | // xuanjiaallpay 4 | // 5 | // Created by 薛泽军 on 16/4/29. 6 | // Copyright © 2016年 炫嘉科技. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AllPayModel.h" 11 | #import "WXApi.h" 12 | @interface AllPayViewController : UIViewController 13 | @property (strong,nonatomic)void (^allPayBlock)(NSDictionary *,BOOL ); 14 | +(instancetype)sharedManager; 15 | - (void)allPayWith:(AllPayModel *)allpay WithBlock:(void(^)(NSDictionary *dict,BOOL isyes))block; 16 | @end 17 | -------------------------------------------------------------------------------- /xuanjiaallpay/AllPayViewController.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /xuanjiaallpay/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // xuanjiaallpay 4 | // 5 | // Created by 薛泽军 on 16/4/29. 6 | // Copyright © 2016年 炫嘉科技. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /xuanjiaallpay/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // xuanjiaallpay 4 | // 5 | // Created by 薛泽军 on 16/4/29. 6 | // Copyright © 2016年 炫嘉科技. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | //#import "WXApi.h" 11 | #import "AllPayViewController.h" 12 | @interface AppDelegate () 13 | 14 | @end 15 | 16 | @implementation AppDelegate 17 | 18 | 19 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 20 | // Override point for customization after application launch. 21 | [WXApi registerApp:WEICHATAPPKEY withDescription:@"demo 2.0"];//微信注册替换成你的 22 | return YES; 23 | } 24 | - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url { 25 | return [WXApi handleOpenURL:url delegate:[AllPayViewController sharedManager]]; 26 | } 27 | 28 | - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { 29 | return [WXApi handleOpenURL:url delegate:[AllPayViewController sharedManager]]; 30 | } 31 | - (void)applicationWillResignActive:(UIApplication *)application { 32 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 33 | // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. 34 | } 35 | 36 | - (void)applicationDidEnterBackground:(UIApplication *)application { 37 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 38 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 39 | } 40 | 41 | - (void)applicationWillEnterForeground:(UIApplication *)application { 42 | // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. 43 | } 44 | 45 | - (void)applicationDidBecomeActive:(UIApplication *)application { 46 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 47 | } 48 | 49 | - (void)applicationWillTerminate:(UIApplication *)application { 50 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 51 | } 52 | 53 | @end 54 | -------------------------------------------------------------------------------- /xuanjiaallpay/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/BDChannel.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | BDWalletSDKVersion 7 | 5.0.0.0 8 | BDWalletSDKHasHomepage 9 | 3 10 | BMW_AppId 11 | c9d3a25718 12 | BDWalletSDKChannelID 13 | waimai 14 | CHANNEL_NUM 15 | CHF0000030 16 | 17 | 18 | -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/BDWalletBalanceWithdrawalsViewController.nib/objects-8.0+.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/BDWalletBalanceWithdrawalsViewController.nib/objects-8.0+.nib -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/BDWalletBalanceWithdrawalsViewController.nib/objects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/BDWalletBalanceWithdrawalsViewController.nib/objects.nib -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/BDWalletBalanceWithdrawalsViewController.nib/runtime.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/BDWalletBalanceWithdrawalsViewController.nib/runtime.nib -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/BDWalletBankTransaferViewController.nib/objects-8.0+.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/BDWalletBankTransaferViewController.nib/objects-8.0+.nib -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/BDWalletBankTransaferViewController.nib/objects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/BDWalletBankTransaferViewController.nib/objects.nib -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/BDWalletBankTransaferViewController.nib/runtime.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/BDWalletBankTransaferViewController.nib/runtime.nib -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/BDWalletMobileRechargeViewController.nib/objects-8.0+.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/BDWalletMobileRechargeViewController.nib/objects-8.0+.nib -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/BDWalletMobileRechargeViewController.nib/objects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/BDWalletMobileRechargeViewController.nib/objects.nib -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/BDWalletMobileRechargeViewController.nib/runtime.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/BDWalletMobileRechargeViewController.nib/runtime.nib -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/BDWalletMyTradeCell.nib/objects-8.0+.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/BDWalletMyTradeCell.nib/objects-8.0+.nib -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/BDWalletMyTradeCell.nib/objects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/BDWalletMyTradeCell.nib/objects.nib -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/BDWalletMyTradeCell.nib/runtime.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/BDWalletMyTradeCell.nib/runtime.nib -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/BDWallet_card_default_bottom@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/BDWallet_card_default_bottom@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/BaiduWallet_Cashback@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/BaiduWallet_Cashback@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/BaiduWallet_Home_DefaultBackgroudImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/BaiduWallet_Home_DefaultBackgroudImage@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/BaiduWallet_Home_NavigationTitleIcon@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/BaiduWallet_Home_NavigationTitleIcon@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/BaiduWallet_IconDefault.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/BaiduWallet_IconDefault.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/BaiduWallet_Logo@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/BaiduWallet_Logo@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/BaiduWallet_NewCorner@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/BaiduWallet_NewCorner@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/BankList.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 热门银行 6 | 7 | 中国建设银行 8 | 中国工商银行 9 | 中国银行 10 | 11 | A 12 | 13 | 安徽省农村信用社 14 | 15 | B 16 | 17 | 北京银行 18 | 渤海银行 19 | 20 | C 21 | 22 | 长安银行 23 | 重庆银行 24 | 沧州银行 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/ServiceOnce.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | name 7 | ConfigURL 8 | class 9 | BDWalletConfigURLImpl 10 | 11 | 12 | name 13 | ConfigChannel 14 | class 15 | BDWalletConfigChannelImpl 16 | 17 | 18 | name 19 | BDWalletSecurityCenterFPSetingService 20 | class 21 | BDWalletSecurityCenterFPSetingServiceImpl 22 | 23 | 24 | name 25 | BDWalletSecurityCenterFreePasswordSetingService 26 | class 27 | BDWalletSecurityCenterFreePasswordSetingServiceImpl 28 | 29 | 30 | name 31 | BDWalletTracker 32 | class 33 | BDWalletTrackerImpl 34 | 35 | 36 | name 37 | BDWalletSecurityCenterPasswordService 38 | class 39 | BDWalletSecurityCenterPasswordServiceImpl 40 | 41 | 42 | name 43 | BDWalletLoginPassManagerService 44 | class 45 | BDWalletLoginPassManagerServiceImpl 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_main_ad_default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_main_ad_default@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_main_icon_default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_main_icon_default@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_arrow_homepage_down@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_arrow_homepage_down@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_arrow_homepage_down_highlight@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_arrow_homepage_down_highlight@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_arrow_homepage_up@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_arrow_homepage_up@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_arrow_homepage_up_highlight@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_arrow_homepage_up_highlight@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_axle2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_axle2@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_axle@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_axle@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_bank_cvv_tip@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_bank_cvv_tip@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_bank_date_tip@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_bank_date_tip@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_blue_point@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_blue_point@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_bsc_bottom_logo@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_bsc_bottom_logo@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_bsc_icon_refresh@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_bsc_icon_refresh@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_bsc_logo@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_bsc_logo@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_bsc_nav_back@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_bsc_nav_back@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_button_gray_highlight@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_button_gray_highlight@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_button_gray_normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_button_gray_normal@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_clock@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_clock@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_close_default_bottom@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_close_default_bottom@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_flag@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_flag@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_icon_clear@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_icon_clear@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_icon_info@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_icon_info@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_icon_tjyhk_logo@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_icon_tjyhk_logo@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_line@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_line@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_logo_default_bottom@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_logo_default_bottom@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_logo_disable_bottom@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_logo_disable_bottom@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_addCard@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_addCard@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_add_bank@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_add_bank@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_add_bank_hl@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_add_bank_hl@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_arrow_normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_arrow_normal@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_balance2@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_balance2@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_balance@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_balance@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_bankcard@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_bankcard@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_box_checked@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_box_checked@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_box_unchecked@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_box_unchecked@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_check_default@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_check_default@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_chect_select@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_chect_select@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_common_button@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_common_button@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_coupon@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_coupon@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_default@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_default@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_hasmonney2@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_hasmonney2@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_hasmonney@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_hasmonney@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_icon_bank_default@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_icon_bank_default@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_more@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_more@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_radio_default@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_radio_default@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_radio_select@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_radio_select@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_record@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_record@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_result_processing@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_result_processing@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_tongxunlu@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_tongxunlu@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_wifi@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_new_wifi@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_points_icon_none@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_points_icon_none@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_pop_background2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_pop_background2@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_pop_background@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_pop_background@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_pop_cancel_highlight@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_pop_cancel_highlight@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_pop_cancel_normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_pop_cancel_normal@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_privacy_bg@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_privacy_bg@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_privacy_btn_cross@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_privacy_btn_cross@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_recharge_default_Img@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_recharge_default_Img@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_red_border@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_red_border@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_redenvelopes_bg7@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_redenvelopes_bg7@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_redenvelopes_bg8@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_redenvelopes_bg8@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_redenvelopes_left@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_redenvelopes_left@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_redenvelopes_right@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_redenvelopes_right@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_refresh@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_refresh@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_refresh_default@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_refresh_default@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_refresh_focus@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_refresh_focus@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_result_right@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_result_right@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_safecenter_icon_version@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_safecenter_icon_version@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_securityKeyboard_delete@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_securityKeyboard_delete@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_securityKeyboard_delete_highlighted@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_securityKeyboard_delete_highlighted@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_securityKeyboard_delete_normal@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_securityKeyboard_delete_normal@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_securityKeyboard_number_highlighted@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_securityKeyboard_number_highlighted@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_securityKeyboard_number_normal@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_securityKeyboard_number_normal@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_securityKeyboard_shouqi_highlighted@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_securityKeyboard_shouqi_highlighted@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_securityKeyboard_shouqi_normal@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_securityKeyboard_shouqi_normal@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_securityKeyboard_shrink@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_securityKeyboard_shrink@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_trade_detail_topbg@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_trade_detail_topbg@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_trade_detail_waitting_topbg@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_trade_detail_waitting_topbg@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_trade_icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_trade_icon@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_tradelist_icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_tradelist_icon@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_transfer_line@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_transfer_line@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_yuan_icon@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_yuan_icon@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_zhe_default_bottom@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baidu_wallet_zhe_default_bottom@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/baiduwallet_closed_default_bottom@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/baiduwallet_closed_default_bottom@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/bd_wallet_bank_circle_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/bd_wallet_bank_circle_bg.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/bd_wallet_bank_default_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/bd_wallet_bank_default_icon.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/bd_wallet_icon_default_info@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/bd_wallet_icon_default_info@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/bd_wallet_icon_default_info@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/bd_wallet_icon_default_info@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/bd_wallet_icon_focus_info@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/bd_wallet_icon_focus_info@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/bd_wallet_inputbox_default_2x90@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/bd_wallet_inputbox_default_2x90@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/bd_wallet_more_normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/bd_wallet_more_normal@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/bd_wallet_more_normal@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/bd_wallet_more_normal@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/bdlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/bdlogo.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/bdwallet_new_bindcard_bg@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/bdwallet_new_bindcard_bg@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/bdwallet_new_bindcard_hint@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/bdwallet_new_bindcard_hint@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/bdwallet_new_defaultbank_icon@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/bdwallet_new_defaultbank_icon@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/bg_default_tips_370x80@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/bg_default_tips_370x80@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/bg_titlebar_640x128@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/bg_titlebar_640x128@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/bg_titlebar_640x88@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/bg_titlebar_640x88@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/btn_default_setting_166x62.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/btn_default_setting_166x62.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/defaultIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/defaultIcon.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/down.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/en.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/icon2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/icon2.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/icon_close@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/icon_close@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/icon_defaule_moren2@2x@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/icon_defaule_moren2@2x@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/icon_default_bai@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/icon_default_bai@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/icon_default_bank@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/icon_default_bank@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/icon_default_jiaoyi@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/icon_default_jiaoyi@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/icon_default_new@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/icon_default_new@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/icon_default_safe@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/icon_default_safe@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/icon_default_zhanwei@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/icon_default_zhanwei@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/icon_refresh@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/icon_refresh@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/icon_share@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/icon_share@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/newService.cfg: -------------------------------------------------------------------------------- 1 | {"ret":"0","msg":"","content":{"title_info3":{"fingerprint":"id=2119,ver=1","data":[{"safe_title":"","user_title":"\u767e\u5ea6\u94b1\u5305\u63a8\u51fa","bkImage":"backgroudimage3@3x.png","type":"1","link_addr":"http:\/\/co.baifubao.com\/content\/mywallet\/h5\/sdk\/index.html","user_title_color":"16773788","user_level_color":"16773788","user_name_color":"16773788","user_level":"\u5c0a\u4eab\u7528\u6237","user_name":"\u5e38\u5e74\u7acb\u4eab1%\u8fd4\u73b0"}]},"banner3":"","paycode3":"","assets3":{"fingerprint":"id=2122,ver=4","data":[{"group_name":"\u8d44\u4ea7\u7ba1\u7406","group_pos":"1","list":[{"name":"\u4ea4\u6613\u8bb0\u5f55","logo":"","index":"4","type":"3","link_addr":"103","has_corner":"0","corner_addr":"","start_time":"2015-01-01 00:00:00","end_time":"2015-01-01 00:00:00"},{"name":"\u8d26\u6237\u4f59\u989d","logo":"","index":"1","type":"3","link_addr":"101","has_corner":"0","corner_addr":"","start_time":"2015-01-01 00:00:00","end_time":"2015-01-01 00:00:00"},{"name":"\u94f6\u884c\u5361","logo":"","index":"3","type":"3","link_addr":"105","has_corner":"0","corner_addr":"","start_time":"2015-01-01 00:00:00","end_time":"2015-01-01 00:00:00"},{"name":"\u5361\u5238\u5305","logo":"","index":"2","type":"3","link_addr":"104","has_corner":"0","corner_addr":"","start_time":"2015-01-01 00:00:00","end_time":"2015-01-01 00:00:00"}]}]},"sdk_life3":{"fingerprint":"id=2127,ver=8","data":[{"group_name":"\u7b2c\u4e00\u7ec4","group_pos":"1","list":[{"name":"\u4e8c\u7ef4\u7801","logo":"icon_erweima3@3x.png","index":"1","type":"3","link_addr":"302","has_corner":"0","corner_addr":"","start_time":"2015-01-01 00:00:00","end_time":"2015-01-01 00:00:00","timestamp":"1443324712"},{"name":"\u767e\u8d5a\u5206\u5151\u6362","logo":"icon_baizhuanfen3@3x.png","index":"3","type":"1","link_addr":"https:\/\/qianbao.baidu.com\/hd\/cashback_huodong_bzfobalance","has_corner":"0","corner_addr":"","start_time":"2015-01-01 00:00:00","end_time":"2015-01-01 00:00:00","timestamp":"1443324712"},{"name":"\u6d41\u91cf\u5145\u503c","logo":"icon_liuliang3@3x.png","index":"5","type":"3","link_addr":"206","has_corner":"1","corner_addr":"","start_time":"2015-09-11 18:23:32","end_time":"2015-09-19 18:23:37","timestamp":"1443324712"},{"name":"\u8f6c\u8d26","logo":"icon_zhuanzhang3@3x.png","index":"2","type":"3","link_addr":"202","has_corner":"0","corner_addr":"","start_time":"2010-01-01 00:00:00","end_time":"2010-01-01 00:00:00","timestamp":"1443324712"},{"name":"\u8bdd\u8d39\u5145\u503c","logo":"icon_huafeichongzhi3@3x.png","index":"4","type":"3","link_addr":"201","has_corner":"0","corner_addr":"","start_time":"2010-01-01 00:00:00","end_time":"2010-01-01 00:00:00","timestamp":"1443324712"},{"name":"\u4e00\u5206\u94b1\u4e13\u4eab","logo":"icon_yifenqian3@3x.png","index":"6","type":"1","link_addr":"https:\/\/1.baidu.com\/wapproduct\/wapindex","has_corner":"0","corner_addr":"","start_time":"2010-01-01 00:00:00","end_time":"2010-01-01 00:00:00","timestamp":"1443324712"},{"name":"\u4fe1\u7528\u5361\u8fd8\u6b3e","logo":"icon_xinyongka3@3x.png","index":"7","type":"1","link_addr":"https:\/\/xinyongka.baidu.com\/life\/ccr?lightapp=1&requestFrom=waimai","has_corner":"0","corner_addr":"","start_time":"2010-01-01 00:00:00","end_time":"2010-01-01 00:00:00","timestamp":"1443324712"},{"name":"\u900f\u660e\u5c0f\u91d1\u5e93","logo":"icon_toumingjinku3@3x.png","index":"8","type":"1","link_addr":"https:\/\/wallet.baidu.com\/group\/0\/start\/0?tn=baifubaoapp-wallet","has_corner":"0","corner_addr":"","start_time":"2010-01-01 00:00:00","end_time":"2010-01-01 00:00:00","timestamp":"1443324712"}]}]},"user":{"is_login":"0","balance":"","score":"","bind_card_num":"0","coupon":"","transation":"","cashback":""},"android_prefix":"http:\/\/co.baifubao.com\/content\/mywallet\/android\/home\/","ios_prefix":"http:\/\/co.baifubao.com\/content\/mywallet\/ios\/home\/","h5_prefix":"http:\/\/co.baifubao.com\/content\/mywallet\/h5\/home\/"},"token":""} -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/nvBg_128@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/nvBg_128@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/nvBg_88@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/nvBg_88@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/pop_help_cancel_highlight@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/pop_help_cancel_highlight@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/pop_help_cancel_normal@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/pop_help_cancel_normal@3x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/service.cfg: -------------------------------------------------------------------------------- 1 | {"ret":"0","msg":"","content":{"banner":{"fingerprint":"id=1649,ver=4","data":[{"group_name":"轮播图","group_pos":"1","list":[]}]},"paycode":{"fingerprint":"id=1686,ver=2","data":[{"group_name":"付款码","group_pos":"1","list":[{"name":"付码","logo":"sdk_tool_qrcode.png","index":"2","type":"3","link_addr":"302","has_corner":"0","corner_addr":"","start_time":"2010-01-01 00:00:00","end_time":"2010-01-01 00:00:00"},{"name":"扫一扫","logo":"sdk_tool_scan.png","index":"1","type":"3","link_addr":"301","has_corner":"0","corner_addr":"","start_time":"2010-01-01 00:00:00","end_time":"2010-01-01 00:00:00"}]}]},"assets":{"fingerprint":"id=1687,ver=1","data":[{"group_name":"资产管理","group_pos":"2","list":[{"name":"账户余额","logo":"icon_yue_2x.png","index":"1","type":"3","link_addr":"101","has_corner":"0","corner_addr":"","start_time":"2014-01-01 00:00:00","end_time":"2014-01-01 00:00:00"},{"name":"银行卡","logo":"icon_bank_2x.png","index":"2","type":"3","link_addr":"105","has_corner":"0","corner_addr":"","start_time":"2014-01-01 00:00:00","end_time":"2014-01-01 00:00:00"},{"name":"优惠券","logo":"icon_quan_2x.png","index":"3","type":"3","link_addr":"104","has_corner":"0","corner_addr":"","start_time":"2015-01-01 00:00:00","end_time":"2015-01-01 00:00:00"},{"name":"百赚分","logo":"icon_bai_2x.png","index":"4","type":"3","link_addr":"102","has_corner":"0","corner_addr":"","start_time":"2014-01-01 00:00:00","end_time":"2014-01-01 00:00:00"},{"name":"我的交易","logo":"icon_jiaoyi_2x.png","index":"5","type":"3","link_addr":"103","has_corner":"0","corner_addr":"","start_time":"2014-01-01 00:00:00","end_time":"2014-01-01 00:00:00"}]}]},"sdk_life":{"fingerprint":"id=1688,ver=3","data":[{"group_name":"第一组","group_pos":"1","list":[{"name":"转账","logo":"sdk_life_transfer.png","index":"1","type":"3","link_addr":"202","has_corner":"0","corner_addr":"","start_time":"2010-01-01 00:00:00","end_time":"2010-01-01 00:00:00"},{"name":"话费充值","logo":"sdk_life_mobile.png","index":"2","type":"3","link_addr":"201","has_corner":"0","corner_addr":"","start_time":"2010-01-01 00:00:00","end_time":"2010-01-01 00:00:00"},{"name":"一分钱专享","logo":"sdk_life_1fen.png","index":"3","type":"2","link_addr":"https://1.baidu.com","has_corner":"1","corner_addr":"","start_time":"2010-01-01 00:00:00","end_time":"2010-01-01 00:00:00"},{"name":"信用卡还款","logo":"sdk_life_credit.png","index":"4","type":"2","link_addr":"http://baifubao.baidu.com/jump?uri=/ccr?bd_vip=1&domain=https://life.baifubao.com","has_corner":"0","corner_addr":"","start_time":"2010-01-01 00:00:00","end_time":"2010-01-01 00:00:00"},{"name":"团购","logo":"sdk_life_coupon.png","index":"5","type":"2","link_addr":"http://m.nuomi.com/?from=qbsdktj","has_corner":"0","corner_addr":"","start_time":"2010-01-01 00:00:00","end_time":"2010-01-01 00:00:00"},{"name":"电影票","logo":"sdk_life_movie.png","index":"6","type":"2","link_addr":"http://m.dianying.baidu.com/?sfrom=lightapp&sub_channel=wallet","has_corner":"0","corner_addr":"","start_time":"2010-01-01 00:00:00","end_time":"2010-01-01 00:00:00"},{"name":"透明小金库","logo":"sdk_life_jinku.png","index":"7","type":"2","link_addr":"http://baifubao.baidu.com/jump?uri=group/0/start/0","has_corner":"0","corner_addr":"","start_time":"2010-01-01 00:00:00","end_time":"2010-01-01 00:00:00"}]}]},"android_prefix":"http://co.baifubao.com/content/mywallet/android/home/","ios_prefix":"http://co.baifubao.com/content/mywallet/ios/home/","h5_prefix":"http://co.baifubao.com/content/mywallet/h5/home/","user":{"is_login":"0","balance":"","score":"","bind_card_num":"0"}},"token":""} -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/service.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Service 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.bundle/title_iconbtn_more_popbg@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.bundle/title_iconbtn_more_popbg@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.framework/BaiduWallet_Portal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.framework/BaiduWallet_Portal -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.framework/BaiduWallet_Portal-Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.framework/BaiduWallet_Portal-Info.plist -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.framework/Headers/BDWalletSDKMainManager.h: -------------------------------------------------------------------------------- 1 | // 2 | // BDWalletSDKMainManager.h 3 | // BaiduWalletSDK 4 | // 5 | // Created by lushuang on 14-3-13. 6 | // Copyright (c) 2014年 baidu. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | // 进入SDK返回的错误类型 13 | typedef enum BDWalletSDK_Error_Type { 14 | BDWalletSDK_Error_None = 0,// 无错 15 | BDWalletSDK_Error_Net = 1,// 网络异常 16 | BDWalletSDK_Error_OrderInfo = 2,// orderInfo异常 17 | BDWalletSDK_Error_InvalidDelegate = 3,// 传入无效Delegate 18 | BDWalletSDK_Error_Unlogin = 4,// 未登录 19 | BDWalletSDK_Error_Other = 5,// 其他未知错误 20 | BDWalletSDK_Error_InvalidParameters = 6,// 无效参数 21 | BDWalletSDK_Error_InvalidLogin = 5003,// 无效登录状态 22 | }BDWalletSDKErrorType; 23 | 24 | 25 | @protocol BDWalletSDKMainManagerDelegate 26 | @optional 27 | 28 | /** 29 | * @breif 支付回调接口 30 | * @param statusCode 错误码 0:成功、1:支付中 、2取消 31 | * @param payDescs 支付信息 32 | */ 33 | -(void)BDWalletPayResultWithCode:(int)statusCode payDesc:(NSString*)payDescs; 34 | 35 | 36 | @end 37 | 38 | @interface BDWalletSDKMainManager : NSObject 39 | 40 | 41 | // 必须设置的参数 42 | @property (nonatomic, weak) UIViewController *rootViewController;// 优先设置rootViewController,如果delegate是一个UIViewController 可以将rootViewController设置为nil或与delegate一致 43 | @property (nonatomic, weak) id delegate;// 如果delegate 与 rootViewController需要匹配设置 44 | 45 | 46 | // 可选参数 47 | // statusBarStyle 48 | @property (assign, nonatomic)UIStatusBarStyle statusBarStyle; 49 | @property (assign, nonatomic)UIStatusBarStyle oldStatusBarStyle; 50 | 51 | // navgationBar 52 | @property (nonatomic, strong) UIColor *bdWalletSDKNavColor; //!)delegateT; 72 | @end 73 | 74 | -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.framework/Headers/UIViewController+FindTop.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIViewController+FindTop.h 3 | // BaiduWallet_Portal 4 | // 5 | // Created by baidu on 15/7/31. 6 | // Copyright (c) 2015年 Baidu. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface UIViewController (FindTop) 12 | - (UIViewController*) baiduWalletSchemeTopRootViewController; 13 | @end 14 | -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.framework/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.framework/Info.plist -------------------------------------------------------------------------------- /xuanjiaallpay/BaiduWallet_Portal.framework/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/BaiduWallet_Portal.framework/en.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /xuanjiaallpay/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /xuanjiaallpay/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDisplayName 6 | 炫嘉支付 7 | CFBundleDevelopmentRegion 8 | zh_CN 9 | CFBundleExecutable 10 | $(EXECUTABLE_NAME) 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleURLTypes 24 | 25 | 26 | CFBundleTypeRole 27 | Editor 28 | CFBundleURLSchemes 29 | 30 | wxb4ba3c02aa476ea1 31 | 32 | 33 | 34 | CFBundleTypeRole 35 | Editor 36 | CFBundleURLSchemes 37 | 38 | alipayxuanjia 39 | 40 | 41 | 42 | CFBundleVersion 43 | 1 44 | LSRequiresIPhoneOS 45 | 46 | NSAppTransportSecurity 47 | 48 | NSAllowsArbitraryLoads 49 | 50 | 51 | UILaunchStoryboardName 52 | LaunchScreen 53 | UIMainStoryboardFile 54 | Main 55 | UIRequiredDeviceCapabilities 56 | 57 | armv7 58 | 59 | UISupportedInterfaceOrientations 60 | 61 | UIInterfaceOrientationPortrait 62 | UIInterfaceOrientationLandscapeLeft 63 | UIInterfaceOrientationLandscapeRight 64 | 65 | 66 | 67 | -------------------------------------------------------------------------------- /xuanjiaallpay/Order.h: -------------------------------------------------------------------------------- 1 | // 2 | // Order.h 3 | // AlixPayDemo 4 | // 5 | // Created by 方彬 on 11/2/13. 6 | // 7 | // 8 | 9 | #import 10 | 11 | @interface Order : NSObject 12 | 13 | 14 | /*********************************支付四要素*********************************/ 15 | 16 | //商户在支付宝签约时,支付宝为商户分配的唯一标识号(以2088开头的16位纯数字)。 17 | @property (nonatomic, copy) NSString *partner; 18 | 19 | //卖家支付宝账号对应的支付宝唯一用户号(以2088开头的16位纯数字),订单支付金额将打入该账户,一个partner可以对应多个seller_id。 20 | @property (nonatomic, copy) NSString *sellerID; 21 | 22 | //商户网站商品对应的唯一订单号。 23 | @property (nonatomic, copy) NSString *outTradeNO; 24 | 25 | //该笔订单的资金总额,单位为RMB(Yuan)。取值范围为[0.01,100000000.00],精确到小数点后两位。 26 | @property (nonatomic, copy) NSString *totalFee; 27 | 28 | 29 | 30 | /*********************************商品相关*********************************/ 31 | //商品的标题/交易标题/订单标题/订单关键字等。 32 | @property (nonatomic, copy) NSString *subject; 33 | 34 | //对一笔交易的具体描述信息。如果是多种商品,请将商品描述字符串累加传给body。 35 | @property (nonatomic, copy) NSString *body; 36 | 37 | 38 | 39 | /*********************************其他必传参数*********************************/ 40 | 41 | //接口名称,固定为mobile.securitypay.pay。 42 | @property (nonatomic, copy) NSString *service; 43 | 44 | //商户网站使用的编码格式,固定为utf-8。 45 | @property (nonatomic, copy) NSString *inputCharset; 46 | 47 | //支付宝服务器主动通知商户网站里指定的页面http路径。 48 | @property (nonatomic, copy) NSString *notifyURL; 49 | 50 | 51 | 52 | /*********************************可选参数*********************************/ 53 | 54 | //支付类型,1:商品购买。(不传情况下的默认值) 55 | @property (nonatomic, copy) NSString *paymentType; 56 | 57 | //具体区分本地交易的商品类型,1:实物交易; (不传情况下的默认值),0:虚拟交易; (不允许使用信用卡等规则)。 58 | @property (nonatomic, copy) NSString *goodsType; 59 | 60 | //支付时是否发起实名校验,F:不发起实名校验; (不传情况下的默认值),T:发起实名校验;(商户业务需要买家实名认证) 61 | @property (nonatomic, copy) NSString *rnCheck; 62 | 63 | //标识客户端。 64 | @property (nonatomic, copy) NSString *appID; 65 | 66 | //标识客户端来源。参数值内容约定如下:appenv=“system=客户端平台名^version=业务系统版本” 67 | @property (nonatomic, copy) NSString *appenv; 68 | 69 | //设置未付款交易的超时时间,一旦超时,该笔交易就会自动被关闭。当用户输入支付密码、点击确认付款后(即创建支付宝交易后)开始计时。取值范围:1m~15d,或者使用绝对时间(示例格式:2014-06-13 16:00:00)。m-分钟,h-小时,d-天,1c-当天(1c-当天的情况下,无论交易何时创建,都在0点关闭)。该参数数值不接受小数点,如1.5h,可转换为90m。 70 | @property (nonatomic, copy) NSString *itBPay; 71 | 72 | //商品地址 73 | @property (nonatomic, copy) NSString *showURL; 74 | 75 | //业务扩展参数,支付宝特定的业务需要添加该字段,json格式。 商户接入时和支付宝协商确定。 76 | @property (nonatomic, strong) NSMutableDictionary *outContext; 77 | 78 | 79 | @end 80 | -------------------------------------------------------------------------------- /xuanjiaallpay/Order.m: -------------------------------------------------------------------------------- 1 | // 2 | // Order.m 3 | // AlixPayDemo 4 | // 5 | // Created by 方彬 on 11/2/13. 6 | // 7 | // 8 | 9 | #import "Order.h" 10 | 11 | @implementation Order 12 | 13 | - (NSString *)description { 14 | NSMutableString * discription = [NSMutableString string]; 15 | if (self.partner) { 16 | [discription appendFormat:@"partner=\"%@\"", self.partner]; 17 | } 18 | 19 | if (self.sellerID) { 20 | [discription appendFormat:@"&seller_id=\"%@\"", self.sellerID]; 21 | } 22 | if (self.outTradeNO) { 23 | [discription appendFormat:@"&out_trade_no=\"%@\"", self.outTradeNO]; 24 | } 25 | if (self.subject) { 26 | [discription appendFormat:@"&subject=\"%@\"", self.subject]; 27 | } 28 | 29 | if (self.body) { 30 | [discription appendFormat:@"&body=\"%@\"", self.body]; 31 | } 32 | if (self.totalFee) { 33 | [discription appendFormat:@"&total_fee=\"%@\"", self.totalFee]; 34 | } 35 | if (self.notifyURL) { 36 | [discription appendFormat:@"¬ify_url=\"%@\"", self.notifyURL]; 37 | } 38 | 39 | if (self.service) { 40 | [discription appendFormat:@"&service=\"%@\"",self.service];//mobile.securitypay.pay 41 | } 42 | if (self.paymentType) { 43 | [discription appendFormat:@"&payment_type=\"%@\"",self.paymentType];//1 44 | } 45 | 46 | if (self.inputCharset) { 47 | [discription appendFormat:@"&_input_charset=\"%@\"",self.inputCharset];//utf-8 48 | } 49 | if (self.itBPay) { 50 | [discription appendFormat:@"&it_b_pay=\"%@\"",self.itBPay];//30m 51 | } 52 | if (self.showURL) { 53 | [discription appendFormat:@"&show_url=\"%@\"",self.showURL];//m.alipay.com 54 | } 55 | if (self.appID) { 56 | [discription appendFormat:@"&app_id=\"%@\"",self.appID]; 57 | } 58 | for (NSString * key in [self.outContext allKeys]) { 59 | [discription appendFormat:@"&%@=\"%@\"", key, [self.outContext objectForKey:key]]; 60 | } 61 | return discription; 62 | } 63 | 64 | 65 | @end 66 | -------------------------------------------------------------------------------- /xuanjiaallpay/Reachability/Reachability.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2011, Tony Million. 3 | All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions are met: 7 | 8 | 1. Redistributions of source code must retain the above copyright notice, this 9 | list of conditions and the following disclaimer. 10 | 11 | 2. Redistributions in binary form must reproduce the above copyright notice, 12 | this list of conditions and the following disclaimer in the documentation 13 | and/or other materials provided with the distribution. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 16 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 19 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 20 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 21 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 22 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 23 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 24 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 25 | POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | #import 29 | 30 | #import 31 | #import 32 | #import 33 | #import 34 | #import 35 | #import 36 | 37 | /** 38 | * Does ARC support support GCD objects? 39 | * It does if the minimum deployment target is iOS 6+ or Mac OS X 8+ 40 | **/ 41 | #if TARGET_OS_IPHONE 42 | 43 | // Compiling for iOS 44 | 45 | #if __IPHONE_OS_VERSION_MIN_REQUIRED >= 60000 // iOS 6.0 or later 46 | #define NEEDS_DISPATCH_RETAIN_RELEASE 0 47 | #else // iOS 5.X or earlier 48 | #define NEEDS_DISPATCH_RETAIN_RELEASE 1 49 | #endif 50 | 51 | #else 52 | 53 | // Compiling for Mac OS X 54 | 55 | #if MAC_OS_X_VERSION_MIN_REQUIRED >= 1080 // Mac OS X 10.8 or later 56 | #define NEEDS_DISPATCH_RETAIN_RELEASE 0 57 | #else 58 | #define NEEDS_DISPATCH_RETAIN_RELEASE 1 // Mac OS X 10.7 or earlier 59 | #endif 60 | 61 | #endif 62 | 63 | 64 | extern NSString *const kReachabilityChangedNotification; 65 | 66 | typedef enum 67 | { 68 | // Apple NetworkStatus Compatible Names. 69 | NotReachable = 0, 70 | ReachableViaWiFi = 2, 71 | ReachableViaWWAN = 1 72 | } NetworkStatus; 73 | 74 | @class Reachability; 75 | 76 | typedef void (^NetworkReachable)(Reachability * reachability); 77 | typedef void (^NetworkUnreachable)(Reachability * reachability); 78 | 79 | @interface Reachability : NSObject 80 | 81 | @property (nonatomic, copy) NetworkReachable reachableBlock; 82 | @property (nonatomic, copy) NetworkUnreachable unreachableBlock; 83 | 84 | 85 | @property (nonatomic, assign) BOOL reachableOnWWAN; 86 | 87 | +(Reachability*)reachabilityWithHostname:(NSString*)hostname; 88 | +(Reachability*)reachabilityForInternetConnection; 89 | +(Reachability*)reachabilityWithAddress:(const struct sockaddr_in*)hostAddress; 90 | +(Reachability*)reachabilityForLocalWiFi; 91 | 92 | -(Reachability *)initWithReachabilityRef:(SCNetworkReachabilityRef)ref; 93 | 94 | -(BOOL)startNotifier; 95 | -(void)stopNotifier; 96 | 97 | -(BOOL)isReachable; 98 | -(BOOL)isReachableViaWWAN; 99 | -(BOOL)isReachableViaWiFi; 100 | 101 | // WWAN may be available, but not active until a connection has been established. 102 | // WiFi may require a connection for VPN on Demand. 103 | -(BOOL)isConnectionRequired; // Identical DDG variant. 104 | -(BOOL)connectionRequired; // Apple's routine. 105 | // Dynamic, on demand connection? 106 | -(BOOL)isConnectionOnDemand; 107 | // Is user intervention required? 108 | -(BOOL)isInterventionRequired; 109 | 110 | -(NetworkStatus)currentReachabilityStatus; 111 | -(SCNetworkReachabilityFlags)reachabilityFlags; 112 | -(NSString*)currentReachabilityString; 113 | -(NSString*)currentReachabilityFlags; 114 | 115 | @end 116 | -------------------------------------------------------------------------------- /xuanjiaallpay/SAPI/Assets/SAPIImageDef.h: -------------------------------------------------------------------------------- 1 | // 2 | // SAPIImageDef.h 3 | // SAPIDemo 4 | // 5 | // Created by Vinson.D.Warm on 13-9-6. 6 | // Copyright (c) 2013年 baidu. All rights reserved. 7 | // 8 | 9 | #ifndef SAPIDemo_ImageDef_h 10 | #define SAPIDemo_ImageDef_h 11 | 12 | //常用方法 13 | #define SapiColorRedGreenBlue(r, g, b) [UIColor colorWithRed:(r)/255.0f green:(g)/255.0f blue:(b)/255.0f alpha:1.0f] 14 | 15 | #define FontWithSize(S) [UIFont fontWithName:@"STHeitiSC-Medium" size:S] 16 | 17 | #define ResourcePath(X,Y) [[NSBundle mainBundle] pathForResource:(X) ofType:(Y)] 18 | 19 | #define PNGImage(N) [UIImage imageWithContentsOfFile:ResourcePath(([NSString stringWithFormat:@"%@@2x", (N)]), @"png")] 20 | 21 | #define PNGImage1x(N) [UIImage imageWithContentsOfFile:ResourcePath(([NSString stringWithFormat:@"%@", (N)]), @"png")] 22 | 23 | #define JPGImage1x(N) [UIImage imageWithContentsOfFile:ResourcePath(([NSString stringWithFormat:@"%@", (N)]), @"jpg")] 24 | 25 | //nav图片 26 | #define NAV_IMAGE_OF_BG @"file_tital_bj" 27 | #define NAV_IMAGE_OF_BTNNORMAL @"file_tital_but" 28 | #define NAV_IMAGE_OF_BTNPRESSED @"file_tital_but_press" 29 | #define NAV_IMAGE_OF_BTNBACKNORMAL @"file_tital_back_but" 30 | #define NAV_IMAGE_OF_BTNBACKPRESSED @"file_tital_back_but_press" 31 | #define NAV_IMAGE_OF_BTNDISABLE @"file_tital_but_unpress" 32 | 33 | //二维码 34 | #define QRCODE_SCAN_LINE @"qrcode_scan_line" 35 | #define QRCODE_SCAN_MASK @"qrcode_scan_mask" 36 | #define QRCODE_ICON @"qrcode_icon" 37 | 38 | #define ALERT_ICON @"alert_icon" 39 | #define GREEN_ALERT_ICON @"Pass_icon02" 40 | 41 | #define PASSPORT_IMAGE_OF_SINGLE @"Pass_input" 42 | #define PASSPORT_IMAGE_OF_TEXTTOP @"Pass_input_top" 43 | #define PASSPORT_IMAGE_OF_TEXTTMID @"Pass_input_middle" 44 | #define PASSPORT_IMAGE_OF_TEXTTUNDER @"Pass_input_under" 45 | 46 | #define PASS_BTN_NORMAL @"Pass_btn_normal" 47 | 48 | #define PASSPORT_LOADING_01 @"loading_01" 49 | #define PASSPORT_LOADING_02 @"loading_02" 50 | #define PASSPORT_LOADING_03 @"loading_03" 51 | #define PASSPORT_LOADING_04 @"loading_04" 52 | #define PASSPORT_LOADING_05 @"loading_05" 53 | #define PASSPORT_LOADING_06 @"loading_06" 54 | #define PASSPORT_LOADING_07 @"loading_07" 55 | #define PASSPORT_LOADING_08 @"loading_08" 56 | #define PASSPORT_LOADING_09 @"loading_09" 57 | #define PASSPORT_LOADING_10 @"loading_10" 58 | #define PASSPORT_LOADING_11 @"loading_11" 59 | #define PASSPORT_LOADING_12 @"loading_12" 60 | 61 | #define PASSPORT_SAPI_ARROW @"sapi_profile_arrow" 62 | 63 | //404页面 64 | #define PAGE_NOT_FOUND @"sapi_404" 65 | 66 | #endif 67 | -------------------------------------------------------------------------------- /xuanjiaallpay/SAPI/Assets/images/file_tital_back_but.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/SAPI/Assets/images/file_tital_back_but.png -------------------------------------------------------------------------------- /xuanjiaallpay/SAPI/Assets/images/file_tital_back_but@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/SAPI/Assets/images/file_tital_back_but@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/SAPI/Assets/images/file_tital_back_but_press.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/SAPI/Assets/images/file_tital_back_but_press.png -------------------------------------------------------------------------------- /xuanjiaallpay/SAPI/Assets/images/file_tital_back_but_press@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/SAPI/Assets/images/file_tital_back_but_press@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/SAPI/Assets/images/file_tital_bj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/SAPI/Assets/images/file_tital_bj.png -------------------------------------------------------------------------------- /xuanjiaallpay/SAPI/Assets/images/file_tital_bj@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/SAPI/Assets/images/file_tital_bj@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/SAPI/Assets/images/file_tital_but.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/SAPI/Assets/images/file_tital_but.png -------------------------------------------------------------------------------- /xuanjiaallpay/SAPI/Assets/images/file_tital_but@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/SAPI/Assets/images/file_tital_but@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/SAPI/Assets/images/file_tital_but_press.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/SAPI/Assets/images/file_tital_but_press.png -------------------------------------------------------------------------------- /xuanjiaallpay/SAPI/Assets/images/file_tital_but_press@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/SAPI/Assets/images/file_tital_but_press@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/SAPI/Assets/images/file_tital_but_unpress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/SAPI/Assets/images/file_tital_but_unpress.png -------------------------------------------------------------------------------- /xuanjiaallpay/SAPI/Assets/images/file_tital_but_unpress@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/SAPI/Assets/images/file_tital_but_unpress@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/SAPI/Assets/images/qrcode_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/SAPI/Assets/images/qrcode_icon.png -------------------------------------------------------------------------------- /xuanjiaallpay/SAPI/Assets/images/qrcode_icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/SAPI/Assets/images/qrcode_icon@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/SAPI/Assets/images/qrcode_scan_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/SAPI/Assets/images/qrcode_scan_line.png -------------------------------------------------------------------------------- /xuanjiaallpay/SAPI/Assets/images/qrcode_scan_line@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/SAPI/Assets/images/qrcode_scan_line@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/SAPI/Assets/images/qrcode_scan_mask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/SAPI/Assets/images/qrcode_scan_mask.png -------------------------------------------------------------------------------- /xuanjiaallpay/SAPI/Assets/images/qrcode_scan_mask@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/SAPI/Assets/images/qrcode_scan_mask@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/SAPI/Assets/images/sapi_404@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/SAPI/Assets/images/sapi_404@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/SAPI/Assets/images/sapi_profile_arrow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/SAPI/Assets/images/sapi_profile_arrow@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/SAPI/www/sapi-custom-style.css: -------------------------------------------------------------------------------- 1 | /*顶部*/ 2 | .pass-header{ 3 | background: #f7f7f7;/*背景色*/ 4 | border-bottom:1px solid #ccc;/*1像素的下边框*/ 5 | } 6 | /*顶部右边的按钮,如果不需要右边按钮可以在这个类中将display设为none*/ 7 | .pass-header-links{ 8 | border: 1px solid #ddd;/*边框*/ 9 | background: #fff;/*背景色*/ 10 | color:#000;/*字体的颜色*/ 11 | } 12 | /*顶部title字体的设置*/ 13 | .pass-header-title{ 14 | color:#000;/*字体的颜色*/ 15 | } 16 | /*顶部返回按钮的设置*/ 17 | .pass-header-back{ 18 | /*注意: "[ pass_header_back_btn_bg_img ]" 不能改动, */ 19 | background: url("[pass_header_back_btn_bg_img]") no-repeat 10px 13px; 20 | -webkit-background-size: 19px 18px; 21 | } 22 | /*以上为顶部css设置*/ 23 | 24 | /*一级button,例如,submit,找回密码页面的按钮*/ 25 | /*一级button可点击状态*/ 26 | .pass-button-full{ 27 | background: #ec4237;/*背景色*/ 28 | border: 1px solid #ec4237;/*边框*/ 29 | color:#fff;/*字体的颜色*/ 30 | } 31 | 32 | /*一级button被禁用状态*/ 33 | .pass-button-full-disabled{ 34 | background: #ec8c86;/*背景色*/ 35 | border: 1px solid #ec8c86;/*边框*/ 36 | color:#fff;/*字体的颜色*/ 37 | } 38 | 39 | /*一级button,touch down效果*/ 40 | .pass-button-full-active{ 41 | background: #ca210d;/*背景色*/ 42 | border: 1px solid #ca210d;/*边框*/ 43 | color:#fff;/*字体的颜色*/ 44 | } 45 | /*以上为一级button css设置*/ 46 | 47 | /*二级button,例如,发送验证码*/ 48 | /*二级button,默认效果*/ 49 | .pass-button-auto{ 50 | border:1px solid #ddd;/*边框*/ 51 | background: #f7f7f7;/*背景色*/ 52 | color:#ca1b01;/*字体的颜色*/ 53 | } 54 | 55 | /*二级button,touch down效果*/ 56 | .pass-button-auto-active{ 57 | background: #eee;/*边框*/ 58 | border: 1px solid #ddd;/*背景色*/ 59 | color:#ca1b01;/*字体的颜色*/ 60 | } 61 | 62 | /*倒计时状态*/ 63 | .pass-button-disabled{ 64 | border: 1px solid #ebebeb;/*边框*/ 65 | background: #f7f7f7;/*背景色*/ 66 | color:#666;/*字体的颜色*/ 67 | } 68 | /*以上为二级button css设置*/ -------------------------------------------------------------------------------- /xuanjiaallpay/SAPI/www/sapi-nav-back-btn-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/SAPI/www/sapi-nav-back-btn-bg.png -------------------------------------------------------------------------------- /xuanjiaallpay/SDKExport/WXApi.h: -------------------------------------------------------------------------------- 1 | // 2 | // WXApi.h 3 | // 所有Api接口 4 | // 5 | // Created by Wechat on 12-2-28. 6 | // Copyright (c) 2012年 Tencent. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "WXApiObject.h" 11 | 12 | 13 | #pragma mark - WXApiDelegate 14 | /*! @brief 接收并处理来自微信终端程序的事件消息 15 | * 16 | * 接收并处理来自微信终端程序的事件消息,期间微信界面会切换到第三方应用程序。 17 | * WXApiDelegate 会在handleOpenURL:delegate:中使用并触发。 18 | */ 19 | @protocol WXApiDelegate 20 | @optional 21 | 22 | /*! @brief 收到一个来自微信的请求,第三方应用程序处理完后调用sendResp向微信发送结果 23 | * 24 | * 收到一个来自微信的请求,异步处理完成后必须调用sendResp发送处理结果给微信。 25 | * 可能收到的请求有GetMessageFromWXReq、ShowMessageFromWXReq等。 26 | * @param req 具体请求内容,是自动释放的 27 | */ 28 | -(void) onReq:(BaseReq*)req; 29 | 30 | 31 | 32 | /*! @brief 发送一个sendReq后,收到微信的回应 33 | * 34 | * 收到一个来自微信的处理结果。调用一次sendReq后会收到onResp。 35 | * 可能收到的处理结果有SendMessageToWXResp、SendAuthResp等。 36 | * @param resp具体的回应内容,是自动释放的 37 | */ 38 | -(void) onResp:(BaseResp*)resp; 39 | 40 | @end 41 | 42 | 43 | 44 | #pragma mark - WXApi 45 | 46 | /*! @brief 微信Api接口函数类 47 | * 48 | * 该类封装了微信终端SDK的所有接口 49 | */ 50 | @interface WXApi : NSObject 51 | 52 | /*! @brief WXApi的成员函数,向微信终端程序注册第三方应用。 53 | * 54 | * 需要在每次启动第三方应用程序时调用。第一次调用后,会在微信的可用应用列表中出现。 55 | * iOS7及以上系统需要调起一次微信才会出现在微信的可用应用列表中。 56 | * @attention 请保证在主线程中调用此函数 57 | * @param appid 微信开发者ID 58 | * @return 成功返回YES,失败返回NO。 59 | */ 60 | +(BOOL) registerApp:(NSString *)appid; 61 | 62 | 63 | 64 | /*! @brief WXApi的成员函数,向微信终端程序注册第三方应用。 65 | * 66 | * 需要在每次启动第三方应用程序时调用。第一次调用后,会在微信的可用应用列表中出现。 67 | * @see registerApp 68 | * @param appid 微信开发者ID 69 | * @param appdesc 应用附加信息,长度不超过1024字节 70 | * @return 成功返回YES,失败返回NO。 71 | */ 72 | +(BOOL) registerApp:(NSString *)appid withDescription:(NSString *)appdesc; 73 | 74 | 75 | 76 | /*! @brief 处理微信通过URL启动App时传递的数据 77 | * 78 | * 需要在 application:openURL:sourceApplication:annotation:或者application:handleOpenURL中调用。 79 | * @param url 微信启动第三方应用时传递过来的URL 80 | * @param delegate WXApiDelegate对象,用来接收微信触发的消息。 81 | * @return 成功返回YES,失败返回NO。 82 | */ 83 | +(BOOL) handleOpenURL:(NSURL *) url delegate:(id) delegate; 84 | 85 | 86 | 87 | /*! @brief 检查微信是否已被用户安装 88 | * 89 | * @return 微信已安装返回YES,未安装返回NO。 90 | */ 91 | +(BOOL) isWXAppInstalled; 92 | 93 | 94 | 95 | /*! @brief 判断当前微信的版本是否支持OpenApi 96 | * 97 | * @return 支持返回YES,不支持返回NO。 98 | */ 99 | +(BOOL) isWXAppSupportApi; 100 | 101 | 102 | 103 | /*! @brief 获取微信的itunes安装地址 104 | * 105 | * @return 微信的安装地址字符串。 106 | */ 107 | +(NSString *) getWXAppInstallUrl; 108 | 109 | 110 | 111 | /*! @brief 获取当前微信SDK的版本号 112 | * 113 | * @return 返回当前微信SDK的版本号 114 | */ 115 | +(NSString *) getApiVersion; 116 | 117 | 118 | 119 | /*! @brief 打开微信 120 | * 121 | * @return 成功返回YES,失败返回NO。 122 | */ 123 | +(BOOL) openWXApp; 124 | 125 | 126 | 127 | /*! @brief 发送请求到微信,等待微信返回onResp 128 | * 129 | * 函数调用后,会切换到微信的界面。第三方应用程序等待微信返回onResp。微信在异步处理完成后一定会调用onResp。支持以下类型 130 | * SendAuthReq、SendMessageToWXReq、PayReq等。 131 | * @param req 具体的发送请求,在调用函数后,请自己释放。 132 | * @return 成功返回YES,失败返回NO。 133 | */ 134 | +(BOOL) sendReq:(BaseReq*)req; 135 | 136 | /*! @brief 发送Auth请求到微信,支持用户没安装微信,等待微信返回onResp 137 | * 138 | * 函数调用后,会切换到微信的界面。第三方应用程序等待微信返回onResp。微信在异步处理完成后一定会调用onResp。支持SendAuthReq类型。 139 | * @param req 具体的发送请求,在调用函数后,请自己释放。 140 | * @param viewController 当前界面对象。 141 | * @param delegate WXApiDelegate对象,用来接收微信触发的消息。 142 | * @return 成功返回YES,失败返回NO。 143 | */ 144 | +(BOOL) sendAuthReq:(SendAuthReq*) req viewController : (UIViewController*) viewController delegate:(id) delegate; 145 | 146 | 147 | /*! @brief 收到微信onReq的请求,发送对应的应答给微信,并切换到微信界面 148 | * 149 | * 函数调用后,会切换到微信的界面。第三方应用程序收到微信onReq的请求,异步处理该请求,完成后必须调用该函数。可能发送的相应有 150 | * GetMessageFromWXResp、ShowMessageFromWXResp等。 151 | * @param resp 具体的应答内容,调用函数后,请自己释放 152 | * @return 成功返回YES,失败返回NO。 153 | */ 154 | +(BOOL) sendResp:(BaseResp*)resp; 155 | 156 | 157 | @end 158 | -------------------------------------------------------------------------------- /xuanjiaallpay/SDKExport/libWeChatSDK.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/SDKExport/libWeChatSDK.a -------------------------------------------------------------------------------- /xuanjiaallpay/SDWebImage/NSData+ImageContentType.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by Fabrice Aneche on 06/01/14. 3 | // Copyright (c) 2014 Dailymotion. All rights reserved. 4 | // 5 | 6 | #import 7 | 8 | @interface NSData (ImageContentType) 9 | 10 | /** 11 | * Compute the content type for an image data 12 | * 13 | * @param data the input data 14 | * 15 | * @return the content type as string (i.e. image/jpeg, image/gif) 16 | */ 17 | + (NSString *)sd_contentTypeForImageData:(NSData *)data; 18 | 19 | @end 20 | 21 | 22 | @interface NSData (ImageContentTypeDeprecated) 23 | 24 | + (NSString *)contentTypeForImageData:(NSData *)data __deprecated_msg("Use `sd_contentTypeForImageData:`"); 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /xuanjiaallpay/SDWebImage/NSData+ImageContentType.m: -------------------------------------------------------------------------------- 1 | // 2 | // Created by Fabrice Aneche on 06/01/14. 3 | // Copyright (c) 2014 Dailymotion. All rights reserved. 4 | // 5 | 6 | #import "NSData+ImageContentType.h" 7 | 8 | 9 | @implementation NSData (ImageContentType) 10 | 11 | + (NSString *)sd_contentTypeForImageData:(NSData *)data { 12 | uint8_t c; 13 | [data getBytes:&c length:1]; 14 | switch (c) { 15 | case 0xFF: 16 | return @"image/jpeg"; 17 | case 0x89: 18 | return @"image/png"; 19 | case 0x47: 20 | return @"image/gif"; 21 | case 0x49: 22 | case 0x4D: 23 | return @"image/tiff"; 24 | case 0x52: 25 | // R as RIFF for WEBP 26 | if ([data length] < 12) { 27 | return nil; 28 | } 29 | 30 | NSString *testString = [[NSString alloc] initWithData:[data subdataWithRange:NSMakeRange(0, 12)] encoding:NSASCIIStringEncoding]; 31 | if ([testString hasPrefix:@"RIFF"] && [testString hasSuffix:@"WEBP"]) { 32 | return @"image/webp"; 33 | } 34 | 35 | return nil; 36 | } 37 | return nil; 38 | } 39 | 40 | @end 41 | 42 | 43 | @implementation NSData (ImageContentTypeDeprecated) 44 | 45 | + (NSString *)contentTypeForImageData:(NSData *)data { 46 | return [self sd_contentTypeForImageData:data]; 47 | } 48 | 49 | @end 50 | -------------------------------------------------------------------------------- /xuanjiaallpay/SDWebImage/SDWebImageCompat.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * (c) Jamie Pinkham 5 | * 6 | * For the full copyright and license information, please view the LICENSE 7 | * file that was distributed with this source code. 8 | */ 9 | 10 | #import 11 | 12 | #ifdef __OBJC_GC__ 13 | #error SDWebImage does not support Objective-C Garbage Collection 14 | #endif 15 | 16 | #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_5_0 17 | #error SDWebImage doesn't support Deployement Target version < 5.0 18 | #endif 19 | 20 | #if !TARGET_OS_IPHONE 21 | #import 22 | #ifndef UIImage 23 | #define UIImage NSImage 24 | #endif 25 | #ifndef UIImageView 26 | #define UIImageView NSImageView 27 | #endif 28 | #else 29 | 30 | #import 31 | 32 | #endif 33 | 34 | #ifndef NS_ENUM 35 | #define NS_ENUM(_type, _name) enum _name : _type _name; enum _name : _type 36 | #endif 37 | 38 | #ifndef NS_OPTIONS 39 | #define NS_OPTIONS(_type, _name) enum _name : _type _name; enum _name : _type 40 | #endif 41 | 42 | #if OS_OBJECT_USE_OBJC 43 | #undef SDDispatchQueueRelease 44 | #undef SDDispatchQueueSetterSementics 45 | #define SDDispatchQueueRelease(q) 46 | #define SDDispatchQueueSetterSementics strong 47 | #else 48 | #undef SDDispatchQueueRelease 49 | #undef SDDispatchQueueSetterSementics 50 | #define SDDispatchQueueRelease(q) (dispatch_release(q)) 51 | #define SDDispatchQueueSetterSementics assign 52 | #endif 53 | 54 | extern UIImage *SDScaledImageForKey(NSString *key, UIImage *image); 55 | 56 | typedef void(^SDWebImageNoParamsBlock)(); 57 | 58 | #define dispatch_main_sync_safe(block)\ 59 | if ([NSThread isMainThread]) {\ 60 | block();\ 61 | } else {\ 62 | dispatch_sync(dispatch_get_main_queue(), block);\ 63 | } 64 | 65 | #define dispatch_main_async_safe(block)\ 66 | if ([NSThread isMainThread]) {\ 67 | block();\ 68 | } else {\ 69 | dispatch_async(dispatch_get_main_queue(), block);\ 70 | } 71 | -------------------------------------------------------------------------------- /xuanjiaallpay/SDWebImage/SDWebImageCompat.m: -------------------------------------------------------------------------------- 1 | // 2 | // SDWebImageCompat.m 3 | // SDWebImage 4 | // 5 | // Created by Olivier Poitrey on 11/12/12. 6 | // Copyright (c) 2012 Dailymotion. All rights reserved. 7 | // 8 | 9 | #import "SDWebImageCompat.h" 10 | 11 | #if !__has_feature(objc_arc) 12 | #error SDWebImage is ARC only. Either turn on ARC for the project or use -fobjc-arc flag 13 | #endif 14 | 15 | inline UIImage *SDScaledImageForKey(NSString *key, UIImage *image) { 16 | if (!image) { 17 | return nil; 18 | } 19 | 20 | if ([image.images count] > 0) { 21 | NSMutableArray *scaledImages = [NSMutableArray array]; 22 | 23 | for (UIImage *tempImage in image.images) { 24 | [scaledImages addObject:SDScaledImageForKey(key, tempImage)]; 25 | } 26 | 27 | return [UIImage animatedImageWithImages:scaledImages duration:image.duration]; 28 | } 29 | else { 30 | if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) { 31 | CGFloat scale = 1.0; 32 | if (key.length >= 8) { 33 | // Search @2x. at the end of the string, before a 3 to 4 extension length (only if key len is 8 or more @2x. + 4 len ext) 34 | NSRange range = [key rangeOfString:@"@2x." options:0 range:NSMakeRange(key.length - 8, 5)]; 35 | if (range.location != NSNotFound) { 36 | scale = 2.0; 37 | } 38 | } 39 | 40 | UIImage *scaledImage = [[UIImage alloc] initWithCGImage:image.CGImage scale:scale orientation:image.imageOrientation]; 41 | image = scaledImage; 42 | } 43 | return image; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /xuanjiaallpay/SDWebImage/SDWebImageDecoder.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * Created by james on 9/28/11. 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | #import 12 | #import "SDWebImageCompat.h" 13 | 14 | @interface UIImage (ForceDecode) 15 | 16 | + (UIImage *)decodedImageWithImage:(UIImage *)image; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /xuanjiaallpay/SDWebImage/SDWebImageDecoder.m: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * Created by james on 9/28/11. 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | #import "SDWebImageDecoder.h" 12 | 13 | @implementation UIImage (ForceDecode) 14 | 15 | + (UIImage *)decodedImageWithImage:(UIImage *)image { 16 | if (image.images) { 17 | // Do not decode animated images 18 | return image; 19 | } 20 | 21 | CGImageRef imageRef = image.CGImage; 22 | CGSize imageSize = CGSizeMake(CGImageGetWidth(imageRef), CGImageGetHeight(imageRef)); 23 | CGRect imageRect = (CGRect){.origin = CGPointZero, .size = imageSize}; 24 | 25 | CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); 26 | CGBitmapInfo bitmapInfo = CGImageGetBitmapInfo(imageRef); 27 | 28 | int infoMask = (bitmapInfo & kCGBitmapAlphaInfoMask); 29 | BOOL anyNonAlpha = (infoMask == kCGImageAlphaNone || 30 | infoMask == kCGImageAlphaNoneSkipFirst || 31 | infoMask == kCGImageAlphaNoneSkipLast); 32 | 33 | // CGBitmapContextCreate doesn't support kCGImageAlphaNone with RGB. 34 | // https://developer.apple.com/library/mac/#qa/qa1037/_index.html 35 | if (infoMask == kCGImageAlphaNone && CGColorSpaceGetNumberOfComponents(colorSpace) > 1) { 36 | // Unset the old alpha info. 37 | bitmapInfo &= ~kCGBitmapAlphaInfoMask; 38 | 39 | // Set noneSkipFirst. 40 | bitmapInfo |= kCGImageAlphaNoneSkipFirst; 41 | } 42 | // Some PNGs tell us they have alpha but only 3 components. Odd. 43 | else if (!anyNonAlpha && CGColorSpaceGetNumberOfComponents(colorSpace) == 3) { 44 | // Unset the old alpha info. 45 | bitmapInfo &= ~kCGBitmapAlphaInfoMask; 46 | bitmapInfo |= kCGImageAlphaPremultipliedFirst; 47 | } 48 | 49 | // It calculates the bytes-per-row based on the bitsPerComponent and width arguments. 50 | CGContextRef context = CGBitmapContextCreate(NULL, 51 | imageSize.width, 52 | imageSize.height, 53 | CGImageGetBitsPerComponent(imageRef), 54 | 0, 55 | colorSpace, 56 | bitmapInfo); 57 | CGColorSpaceRelease(colorSpace); 58 | 59 | // If failed, return undecompressed image 60 | if (!context) return image; 61 | 62 | CGContextDrawImage(context, imageRect, imageRef); 63 | CGImageRef decompressedImageRef = CGBitmapContextCreateImage(context); 64 | 65 | CGContextRelease(context); 66 | 67 | UIImage *decompressedImage = [UIImage imageWithCGImage:decompressedImageRef scale:image.scale orientation:image.imageOrientation]; 68 | CGImageRelease(decompressedImageRef); 69 | return decompressedImage; 70 | } 71 | 72 | @end 73 | -------------------------------------------------------------------------------- /xuanjiaallpay/SDWebImage/SDWebImageDownloaderOperation.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import 10 | #import "SDWebImageDownloader.h" 11 | #import "SDWebImageOperation.h" 12 | 13 | @interface SDWebImageDownloaderOperation : NSOperation 14 | 15 | /** 16 | * The request used by the operation's connection. 17 | */ 18 | @property (strong, nonatomic, readonly) NSURLRequest *request; 19 | 20 | /** 21 | * Whether the URL connection should consult the credential storage for authenticating the connection. `YES` by default. 22 | * 23 | * This is the value that is returned in the `NSURLConnectionDelegate` method `-connectionShouldUseCredentialStorage:`. 24 | */ 25 | @property (nonatomic, assign) BOOL shouldUseCredentialStorage; 26 | 27 | /** 28 | * The credential used for authentication challenges in `-connection:didReceiveAuthenticationChallenge:`. 29 | * 30 | * This will be overridden by any shared credentials that exist for the username or password of the request URL, if present. 31 | */ 32 | @property (nonatomic, strong) NSURLCredential *credential; 33 | 34 | /** 35 | * The SDWebImageDownloaderOptions for the receiver. 36 | */ 37 | @property (assign, nonatomic, readonly) SDWebImageDownloaderOptions options; 38 | 39 | /** 40 | * Initializes a `SDWebImageDownloaderOperation` object 41 | * 42 | * @see SDWebImageDownloaderOperation 43 | * 44 | * @param request the URL request 45 | * @param options downloader options 46 | * @param progressBlock the block executed when a new chunk of data arrives. 47 | * @note the progress block is executed on a background queue 48 | * @param completedBlock the block executed when the download is done. 49 | * @note the completed block is executed on the main queue for success. If errors are found, there is a chance the block will be executed on a background queue 50 | * @param cancelBlock the block executed if the download (operation) is cancelled 51 | * 52 | * @return the initialized instance 53 | */ 54 | - (id)initWithRequest:(NSURLRequest *)request 55 | options:(SDWebImageDownloaderOptions)options 56 | progress:(SDWebImageDownloaderProgressBlock)progressBlock 57 | completed:(SDWebImageDownloaderCompletedBlock)completedBlock 58 | cancelled:(SDWebImageNoParamsBlock)cancelBlock; 59 | 60 | @end 61 | -------------------------------------------------------------------------------- /xuanjiaallpay/SDWebImage/SDWebImageOperation.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import 10 | 11 | @protocol SDWebImageOperation 12 | 13 | - (void)cancel; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /xuanjiaallpay/SDWebImage/SDWebImagePrefetcher.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import 10 | #import "SDWebImageManager.h" 11 | 12 | @class SDWebImagePrefetcher; 13 | 14 | @protocol SDWebImagePrefetcherDelegate 15 | 16 | @optional 17 | 18 | /** 19 | * Called when an image was prefetched. 20 | * 21 | * @param imagePrefetcher The current image prefetcher 22 | * @param imageURL The image url that was prefetched 23 | * @param finishedCount The total number of images that were prefetched (successful or not) 24 | * @param totalCount The total number of images that were to be prefetched 25 | */ 26 | - (void)imagePrefetcher:(SDWebImagePrefetcher *)imagePrefetcher didPrefetchURL:(NSURL *)imageURL finishedCount:(NSUInteger)finishedCount totalCount:(NSUInteger)totalCount; 27 | 28 | /** 29 | * Called when all images are prefetched. 30 | * @param imagePrefetcher The current image prefetcher 31 | * @param totalCount The total number of images that were prefetched (whether successful or not) 32 | * @param skippedCount The total number of images that were skipped 33 | */ 34 | - (void)imagePrefetcher:(SDWebImagePrefetcher *)imagePrefetcher didFinishWithTotalCount:(NSUInteger)totalCount skippedCount:(NSUInteger)skippedCount; 35 | 36 | @end 37 | 38 | typedef void(^SDWebImagePrefetcherProgressBlock)(NSUInteger noOfFinishedUrls, NSUInteger noOfTotalUrls); 39 | typedef void(^SDWebImagePrefetcherCompletionBlock)(NSUInteger noOfFinishedUrls, NSUInteger noOfSkippedUrls); 40 | 41 | /** 42 | * Prefetch some URLs in the cache for future use. Images are downloaded in low priority. 43 | */ 44 | @interface SDWebImagePrefetcher : NSObject 45 | 46 | /** 47 | * The web image manager 48 | */ 49 | @property (strong, nonatomic, readonly) SDWebImageManager *manager; 50 | 51 | /** 52 | * Maximum number of URLs to prefetch at the same time. Defaults to 3. 53 | */ 54 | @property (nonatomic, assign) NSUInteger maxConcurrentDownloads; 55 | 56 | /** 57 | * SDWebImageOptions for prefetcher. Defaults to SDWebImageLowPriority. 58 | */ 59 | @property (nonatomic, assign) SDWebImageOptions options; 60 | 61 | @property (weak, nonatomic) id delegate; 62 | 63 | /** 64 | * Return the global image prefetcher instance. 65 | */ 66 | + (SDWebImagePrefetcher *)sharedImagePrefetcher; 67 | 68 | /** 69 | * Assign list of URLs to let SDWebImagePrefetcher to queue the prefetching, 70 | * currently one image is downloaded at a time, 71 | * and skips images for failed downloads and proceed to the next image in the list 72 | * 73 | * @param urls list of URLs to prefetch 74 | */ 75 | - (void)prefetchURLs:(NSArray *)urls; 76 | 77 | /** 78 | * Assign list of URLs to let SDWebImagePrefetcher to queue the prefetching, 79 | * currently one image is downloaded at a time, 80 | * and skips images for failed downloads and proceed to the next image in the list 81 | * 82 | * @param urls list of URLs to prefetch 83 | * @param progressBlock block to be called when progress updates; 84 | * first parameter is the number of completed (successful or not) requests, 85 | * second parameter is the total number of images originally requested to be prefetched 86 | * @param completionBlock block to be called when prefetching is completed 87 | * first param is the number of completed (successful or not) requests, 88 | * second parameter is the number of skipped requests 89 | */ 90 | - (void)prefetchURLs:(NSArray *)urls progress:(SDWebImagePrefetcherProgressBlock)progressBlock completed:(SDWebImagePrefetcherCompletionBlock)completionBlock; 91 | 92 | /** 93 | * Remove and cancel queued list 94 | */ 95 | - (void)cancelPrefetching; 96 | 97 | 98 | @end 99 | -------------------------------------------------------------------------------- /xuanjiaallpay/SDWebImage/UIImage+GIF.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+GIF.h 3 | // LBGIFImage 4 | // 5 | // Created by Laurin Brandner on 06.01.12. 6 | // Copyright (c) 2012 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface UIImage (GIF) 12 | 13 | + (UIImage *)sd_animatedGIFNamed:(NSString *)name; 14 | 15 | + (UIImage *)sd_animatedGIFWithData:(NSData *)data; 16 | 17 | - (UIImage *)sd_animatedImageByScalingAndCroppingToSize:(CGSize)size; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /xuanjiaallpay/SDWebImage/UIImage+MultiFormat.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+MultiFormat.h 3 | // SDWebImage 4 | // 5 | // Created by Olivier Poitrey on 07/06/13. 6 | // Copyright (c) 2013 Dailymotion. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface UIImage (MultiFormat) 12 | 13 | + (UIImage *)sd_imageWithData:(NSData *)data; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /xuanjiaallpay/SDWebImage/UIImage+MultiFormat.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+MultiFormat.m 3 | // SDWebImage 4 | // 5 | // Created by Olivier Poitrey on 07/06/13. 6 | // Copyright (c) 2013 Dailymotion. All rights reserved. 7 | // 8 | 9 | #import "UIImage+MultiFormat.h" 10 | #import "UIImage+GIF.h" 11 | #import "NSData+ImageContentType.h" 12 | #import 13 | 14 | #ifdef SD_WEBP 15 | #import "UIImage+WebP.h" 16 | #endif 17 | 18 | @implementation UIImage (MultiFormat) 19 | 20 | + (UIImage *)sd_imageWithData:(NSData *)data { 21 | UIImage *image; 22 | NSString *imageContentType = [NSData sd_contentTypeForImageData:data]; 23 | if ([imageContentType isEqualToString:@"image/gif"]) { 24 | image = [UIImage sd_animatedGIFWithData:data]; 25 | } 26 | #ifdef SD_WEBP 27 | else if ([imageContentType isEqualToString:@"image/webp"]) 28 | { 29 | image = [UIImage sd_imageWithWebPData:data]; 30 | } 31 | #endif 32 | else { 33 | image = [[UIImage alloc] initWithData:data]; 34 | UIImageOrientation orientation = [self sd_imageOrientationFromImageData:data]; 35 | if (orientation != UIImageOrientationUp) { 36 | image = [UIImage imageWithCGImage:image.CGImage 37 | scale:image.scale 38 | orientation:orientation]; 39 | } 40 | } 41 | 42 | 43 | return image; 44 | } 45 | 46 | 47 | +(UIImageOrientation)sd_imageOrientationFromImageData:(NSData *)imageData { 48 | UIImageOrientation result = UIImageOrientationUp; 49 | CGImageSourceRef imageSource = CGImageSourceCreateWithData((__bridge CFDataRef)imageData, NULL); 50 | if (imageSource) { 51 | CFDictionaryRef properties = CGImageSourceCopyPropertiesAtIndex(imageSource, 0, NULL); 52 | if (properties) { 53 | CFTypeRef val; 54 | int exifOrientation; 55 | val = CFDictionaryGetValue(properties, kCGImagePropertyOrientation); 56 | if (val) { 57 | CFNumberGetValue(val, kCFNumberIntType, &exifOrientation); 58 | result = [self sd_exifOrientationToiOSOrientation:exifOrientation]; 59 | } // else - if it's not set it remains at up 60 | CFRelease((CFTypeRef) properties); 61 | } else { 62 | //NSLog(@"NO PROPERTIES, FAIL"); 63 | } 64 | CFRelease(imageSource); 65 | } 66 | return result; 67 | } 68 | 69 | #pragma mark EXIF orientation tag converter 70 | // Convert an EXIF image orientation to an iOS one. 71 | // reference see here: http://sylvana.net/jpegcrop/exif_orientation.html 72 | + (UIImageOrientation) sd_exifOrientationToiOSOrientation:(int)exifOrientation { 73 | UIImageOrientation orientation = UIImageOrientationUp; 74 | switch (exifOrientation) { 75 | case 1: 76 | orientation = UIImageOrientationUp; 77 | break; 78 | 79 | case 3: 80 | orientation = UIImageOrientationDown; 81 | break; 82 | 83 | case 8: 84 | orientation = UIImageOrientationLeft; 85 | break; 86 | 87 | case 6: 88 | orientation = UIImageOrientationRight; 89 | break; 90 | 91 | case 2: 92 | orientation = UIImageOrientationUpMirrored; 93 | break; 94 | 95 | case 4: 96 | orientation = UIImageOrientationDownMirrored; 97 | break; 98 | 99 | case 5: 100 | orientation = UIImageOrientationLeftMirrored; 101 | break; 102 | 103 | case 7: 104 | orientation = UIImageOrientationRightMirrored; 105 | break; 106 | default: 107 | break; 108 | } 109 | return orientation; 110 | } 111 | 112 | 113 | 114 | @end 115 | -------------------------------------------------------------------------------- /xuanjiaallpay/SDWebImage/UIImage+WebP.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+WebP.h 3 | // SDWebImage 4 | // 5 | // Created by Olivier Poitrey on 07/06/13. 6 | // Copyright (c) 2013 Dailymotion. All rights reserved. 7 | // 8 | 9 | #ifdef SD_WEBP 10 | 11 | #import 12 | 13 | // Fix for issue #416 Undefined symbols for architecture armv7 since WebP introduction when deploying to device 14 | void WebPInitPremultiplyNEON(void); 15 | 16 | void WebPInitUpsamplersNEON(void); 17 | 18 | void VP8DspInitNEON(void); 19 | 20 | @interface UIImage (WebP) 21 | 22 | + (UIImage *)sd_imageWithWebPData:(NSData *)data; 23 | 24 | @end 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /xuanjiaallpay/SDWebImage/UIImage+WebP.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+WebP.m 3 | // SDWebImage 4 | // 5 | // Created by Olivier Poitrey on 07/06/13. 6 | // Copyright (c) 2013 Dailymotion. All rights reserved. 7 | // 8 | 9 | #ifdef SD_WEBP 10 | #import "UIImage+WebP.h" 11 | #import "webp/decode.h" 12 | 13 | // Callback for CGDataProviderRelease 14 | static void FreeImageData(void *info, const void *data, size_t size) 15 | { 16 | free((void *)data); 17 | } 18 | 19 | @implementation UIImage (WebP) 20 | 21 | + (UIImage *)sd_imageWithWebPData:(NSData *)data { 22 | WebPDecoderConfig config; 23 | if (!WebPInitDecoderConfig(&config)) { 24 | return nil; 25 | } 26 | 27 | config.output.colorspace = MODE_rgbA; 28 | config.options.use_threads = 1; 29 | 30 | // Decode the WebP image data into a RGBA value array. 31 | if (WebPDecode(data.bytes, data.length, &config) != VP8_STATUS_OK) { 32 | return nil; 33 | } 34 | 35 | int width = config.input.width; 36 | int height = config.input.height; 37 | if (config.options.use_scaling) { 38 | width = config.options.scaled_width; 39 | height = config.options.scaled_height; 40 | } 41 | 42 | // Construct a UIImage from the decoded RGBA value array. 43 | CGDataProviderRef provider = 44 | CGDataProviderCreateWithData(NULL, config.output.u.RGBA.rgba, config.output.u.RGBA.size, FreeImageData); 45 | CGColorSpaceRef colorSpaceRef = CGColorSpaceCreateDeviceRGB(); 46 | CGBitmapInfo bitmapInfo = kCGBitmapByteOrder32Big | kCGImageAlphaPremultipliedLast; 47 | CGColorRenderingIntent renderingIntent = kCGRenderingIntentDefault; 48 | CGImageRef imageRef = CGImageCreate(width, height, 8, 32, 4 * width, colorSpaceRef, bitmapInfo, provider, NULL, NO, renderingIntent); 49 | 50 | CGColorSpaceRelease(colorSpaceRef); 51 | CGDataProviderRelease(provider); 52 | 53 | UIImage *image = [[UIImage alloc] initWithCGImage:imageRef]; 54 | CGImageRelease(imageRef); 55 | 56 | return image; 57 | } 58 | 59 | @end 60 | 61 | #if !COCOAPODS 62 | // Functions to resolve some undefined symbols when using WebP and force_load flag 63 | void WebPInitPremultiplyNEON(void) {} 64 | void WebPInitUpsamplersNEON(void) {} 65 | void VP8DspInitNEON(void) {} 66 | #endif 67 | 68 | #endif 69 | -------------------------------------------------------------------------------- /xuanjiaallpay/SDWebImage/UIView+WebCacheOperation.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import 10 | #import "SDWebImageManager.h" 11 | 12 | @interface UIView (WebCacheOperation) 13 | 14 | /** 15 | * Set the image load operation (storage in a UIView based dictionary) 16 | * 17 | * @param operation the operation 18 | * @param key key for storing the operation 19 | */ 20 | - (void)sd_setImageLoadOperation:(id)operation forKey:(NSString *)key; 21 | 22 | /** 23 | * Cancel all operations for the current UIView and key 24 | * 25 | * @param key key for identifying the operations 26 | */ 27 | - (void)sd_cancelImageLoadOperationWithKey:(NSString *)key; 28 | 29 | /** 30 | * Just remove the operations corresponding to the current UIView and key without cancelling them 31 | * 32 | * @param key key for identifying the operations 33 | */ 34 | - (void)sd_removeImageLoadOperationWithKey:(NSString *)key; 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /xuanjiaallpay/SDWebImage/UIView+WebCacheOperation.m: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import "UIView+WebCacheOperation.h" 10 | #import "objc/runtime.h" 11 | 12 | static char loadOperationKey; 13 | 14 | @implementation UIView (WebCacheOperation) 15 | 16 | - (NSMutableDictionary *)operationDictionary { 17 | NSMutableDictionary *operations = objc_getAssociatedObject(self, &loadOperationKey); 18 | if (operations) { 19 | return operations; 20 | } 21 | operations = [NSMutableDictionary dictionary]; 22 | objc_setAssociatedObject(self, &loadOperationKey, operations, OBJC_ASSOCIATION_RETAIN_NONATOMIC); 23 | return operations; 24 | } 25 | 26 | - (void)sd_setImageLoadOperation:(id)operation forKey:(NSString *)key { 27 | [self sd_cancelImageLoadOperationWithKey:key]; 28 | NSMutableDictionary *operationDictionary = [self operationDictionary]; 29 | [operationDictionary setObject:operation forKey:key]; 30 | } 31 | 32 | - (void)sd_cancelImageLoadOperationWithKey:(NSString *)key { 33 | // Cancel in progress downloader from queue 34 | NSMutableDictionary *operationDictionary = [self operationDictionary]; 35 | id operations = [operationDictionary objectForKey:key]; 36 | if (operations) { 37 | if ([operations isKindOfClass:[NSArray class]]) { 38 | for (id operation in operations) { 39 | if (operation) { 40 | [operation cancel]; 41 | } 42 | } 43 | } else if ([operations conformsToProtocol:@protocol(SDWebImageOperation)]){ 44 | [(id) operations cancel]; 45 | } 46 | [operationDictionary removeObjectForKey:key]; 47 | } 48 | } 49 | 50 | - (void)sd_removeImageLoadOperationWithKey:(NSString *)key { 51 | NSMutableDictionary *operationDictionary = [self operationDictionary]; 52 | [operationDictionary removeObjectForKey:key]; 53 | } 54 | 55 | @end 56 | -------------------------------------------------------------------------------- /xuanjiaallpay/Util/DataSigner.h: -------------------------------------------------------------------------------- 1 | // 2 | // DataSigner.h 3 | // AlixPayDemo 4 | // 5 | // Created by Jing Wen on 8/2/11. 6 | // Copyright 2011 alipay.com. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | typedef enum DataSignAlgorithm { 13 | DataSignAlgorithmRSA, 14 | DataSignAlgorithmMD5, 15 | } DataSignAlgorithm; 16 | 17 | @protocol DataSigner 18 | 19 | - (NSString *)algorithmName; 20 | - (NSString *)signString:(NSString *)string; 21 | 22 | @end 23 | 24 | id CreateRSADataSigner(NSString *privateKey); 25 | 26 | -------------------------------------------------------------------------------- /xuanjiaallpay/Util/DataSigner.m: -------------------------------------------------------------------------------- 1 | // 2 | // DataSigner.m 3 | // AlixPayDemo 4 | // 5 | // Created by Jing Wen on 8/2/11. 6 | // Copyright 2011 alipay.com. All rights reserved. 7 | // 8 | 9 | #import "DataSigner.h" 10 | #import "RSADataSigner.h" 11 | #import "MD5DataSigner.h" 12 | 13 | id CreateRSADataSigner(NSString *privateKey) { 14 | 15 | return [[RSADataSigner alloc] initWithPrivateKey:privateKey]; 16 | 17 | } 18 | -------------------------------------------------------------------------------- /xuanjiaallpay/Util/DataVerifier.h: -------------------------------------------------------------------------------- 1 | // 2 | // DataVerifier.h 3 | // AlixPayDemo 4 | // 5 | // Created by Jing Wen on 8/2/11. 6 | // Copyright 2011 alipay.com. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @protocol DataVerifier 13 | 14 | - (NSString *)algorithmName; 15 | - (BOOL)verifyString:(NSString *)string withSign:(NSString *)signString; 16 | 17 | @end 18 | 19 | id CreateRSADataVerifier(NSString *publicKey); 20 | 21 | -------------------------------------------------------------------------------- /xuanjiaallpay/Util/DataVerifier.m: -------------------------------------------------------------------------------- 1 | // 2 | // DataVerifier.m 3 | // AlixPayDemo 4 | // 5 | // Created by Jing Wen on 8/2/11. 6 | // Copyright 2011 alipay.com. All rights reserved. 7 | // 8 | 9 | #import "DataVerifier.h" 10 | 11 | 12 | #import "RSADataVerifier.h" 13 | 14 | id CreateRSADataVerifier(NSString *publicKey) { 15 | 16 | return [[RSADataVerifier alloc] initWithPublicKey:publicKey]; 17 | 18 | } -------------------------------------------------------------------------------- /xuanjiaallpay/Util/MD5DataSigner.h: -------------------------------------------------------------------------------- 1 | // 2 | // MD5DataSigner.h 3 | // SafepayService 4 | // 5 | // Created by wenbi on 11-4-11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "DataSigner.h" 11 | 12 | @interface MD5DataSigner : NSObject { 13 | } 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /xuanjiaallpay/Util/MD5DataSigner.m: -------------------------------------------------------------------------------- 1 | // 2 | // MD5DataSigner.m 3 | // SafepayService 4 | // 5 | // Created by wenbi on 11-4-11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import "MD5DataSigner.h" 10 | 11 | 12 | @implementation MD5DataSigner 13 | 14 | - (NSString *)algorithmName { 15 | return @"MD5"; 16 | } 17 | 18 | - (NSString *)signString:(NSString *)string { 19 | return @""; 20 | } 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /xuanjiaallpay/Util/NSDataEx.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSDataEx.h 3 | // iX3.0 4 | // 5 | // Created by Feng Huajun on 09-4-16. 6 | // Copyright 2009 Infothinker. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface NSData (NSDataBase64Additions) 13 | + (NSData *) dataWithBase64EncodedString:(NSString *) string; 14 | - (id) initWithBase64EncodedString:(NSString *) string; 15 | 16 | - (NSString *) base64Encoding; 17 | - (NSString *) base64EncodingWithLineLength:(unsigned int) lineLength; 18 | //- (NSString*) urlEncodedString; 19 | 20 | @end -------------------------------------------------------------------------------- /xuanjiaallpay/Util/RSADataSigner.h: -------------------------------------------------------------------------------- 1 | // 2 | // RSADataSigner.h 3 | // SafepayService 4 | // 5 | // Created by wenbi on 11-4-11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "DataSigner.h" 11 | 12 | @interface RSADataSigner : NSObject { 13 | NSString * _privateKey; 14 | } 15 | 16 | - (id)initWithPrivateKey:(NSString *)privateKey; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /xuanjiaallpay/Util/RSADataSigner.m: -------------------------------------------------------------------------------- 1 | // 2 | // RSADataSigner.m 3 | // SafepayService 4 | // 5 | // Created by wenbi on 11-4-11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import "RSADataSigner.h" 10 | #import "openssl_wrapper.h" 11 | #import "NSDataEx.h" 12 | 13 | @implementation RSADataSigner 14 | 15 | - (id)initWithPrivateKey:(NSString *)privateKey { 16 | if (self = [super init]) { 17 | _privateKey = [privateKey copy]; 18 | } 19 | return self; 20 | } 21 | 22 | - (NSString*)urlEncodedString:(NSString *)string 23 | { 24 | NSString * encodedString = (__bridge_transfer NSString*) CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (__bridge CFStringRef)string, NULL, (__bridge CFStringRef)@"!*'();:@&=+$,/?%#[]", kCFStringEncodingUTF8 ); 25 | 26 | return encodedString; 27 | } 28 | 29 | 30 | - (NSString *)formatPrivateKey:(NSString *)privateKey { 31 | const char *pstr = [privateKey UTF8String]; 32 | int len = (int)[privateKey length]; 33 | NSMutableString *result = [NSMutableString string]; 34 | [result appendString:@"-----BEGIN PRIVATE KEY-----\n"]; 35 | int index = 0; 36 | int count = 0; 37 | while (index < len) { 38 | char ch = pstr[index]; 39 | if (ch == '\r' || ch == '\n') { 40 | ++index; 41 | continue; 42 | } 43 | [result appendFormat:@"%c", ch]; 44 | if (++count == 79) 45 | { 46 | [result appendString:@"\n"]; 47 | count = 0; 48 | } 49 | index++; 50 | } 51 | [result appendString:@"\n-----END PRIVATE KEY-----"]; 52 | return result; 53 | } 54 | 55 | - (NSString *)algorithmName { 56 | return @"RSA"; 57 | } 58 | 59 | //该签名方法仅供参考,外部商户可用自己方法替换 60 | - (NSString *)signString:(NSString *)string { 61 | 62 | //在Document文件夹下创建私钥文件 63 | NSString * signedString = nil; 64 | NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 65 | NSString *path = [documentPath stringByAppendingPathComponent:@"AlixPay-RSAPrivateKey"]; 66 | 67 | // 68 | // 把密钥写入文件 69 | // 70 | NSString *formatKey = [self formatPrivateKey:_privateKey]; 71 | [formatKey writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:nil]; 72 | 73 | const char *message = [string cStringUsingEncoding:NSUTF8StringEncoding]; 74 | int messageLength = (int)strlen(message); 75 | unsigned char *sig = (unsigned char *)malloc(256); 76 | unsigned int sig_len; 77 | int ret = rsa_sign_with_private_key_pem((char *)message, messageLength, sig, &sig_len, (char *)[path UTF8String]); 78 | //签名成功,需要给签名字符串base64编码和UrlEncode,该两个方法也可以根据情况替换为自己函数 79 | if (ret == 1) { 80 | NSString * base64String = base64StringFromData([NSData dataWithBytes:sig length:sig_len]); 81 | //NSData * UTF8Data = [base64String dataUsingEncoding:NSUTF8StringEncoding]; 82 | signedString = [self urlEncodedString:base64String]; 83 | } 84 | 85 | free(sig); 86 | return signedString; 87 | } 88 | 89 | @end 90 | -------------------------------------------------------------------------------- /xuanjiaallpay/Util/RSADataVerifier.h: -------------------------------------------------------------------------------- 1 | // 2 | // RSADataVerifier.h 3 | // SafepayService 4 | // 5 | // Created by wenbi on 11-4-11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "DataVerifier.h" 11 | 12 | @interface RSADataVerifier : NSObject { 13 | NSString *_publicKey; 14 | } 15 | 16 | - (id)initWithPublicKey:(NSString *)publicKey; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /xuanjiaallpay/Util/RSADataVerifier.m: -------------------------------------------------------------------------------- 1 | // 2 | // AlixPayDataVerifier.m 3 | // SafepayService 4 | // 5 | // Created by wenbi on 11-4-11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import "RSADataVerifier.h" 10 | #import "openssl_wrapper.h" 11 | #import "NSDataEx.h" 12 | #import "base64.h" 13 | 14 | @implementation RSADataVerifier 15 | 16 | - (id)initWithPublicKey:(NSString *)publicKey { 17 | if (self = [super init]) { 18 | _publicKey = [publicKey copy]; 19 | } 20 | return self; 21 | } 22 | 23 | 24 | - (NSString *)formatPublicKey:(NSString *)publicKey { 25 | 26 | NSMutableString *result = [NSMutableString string]; 27 | 28 | [result appendString:@"-----BEGIN PUBLIC KEY-----\n"]; 29 | 30 | int count = 0; 31 | 32 | for (int i = 0; i < [publicKey length]; ++i) { 33 | 34 | unichar c = [publicKey characterAtIndex:i]; 35 | if (c == '\n' || c == '\r') { 36 | continue; 37 | } 38 | [result appendFormat:@"%c", c]; 39 | if (++count == 76) { 40 | [result appendString:@"\n"]; 41 | count = 0; 42 | } 43 | 44 | } 45 | 46 | [result appendString:@"\n-----END PUBLIC KEY-----\n"]; 47 | 48 | return result; 49 | 50 | } 51 | 52 | - (NSString *)algorithmName { 53 | return @"RSA"; 54 | } 55 | 56 | - (BOOL)verifyString:(NSString *)string withSign:(NSString *)signString { 57 | 58 | // const char *message = [string cStringUsingEncoding:NSUTF8StringEncoding]; 59 | // int messageLength = strlen(message); 60 | // 61 | // unsigned char *signature = (unsigned char *)[signString UTF8String]; 62 | // unsigned int signatureLength = (unsigned int)strlen((char *)signature); 63 | // char *encodedPath = (char *)[_pathForPEMFile cStringUsingEncoding:NSUTF8StringEncoding]; 64 | 65 | NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 66 | NSString *path = [documentPath stringByAppendingPathComponent:@"AlixPay-RSAPublicKey"]; 67 | 68 | // 69 | // 把密钥写入文件 70 | // 71 | NSString *formatKey = [self formatPublicKey:_publicKey]; 72 | [formatKey writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:nil]; 73 | 74 | BOOL ret; 75 | rsaVerifyString(string, signString, path, &ret); 76 | return ret; 77 | 78 | } 79 | 80 | @end 81 | -------------------------------------------------------------------------------- /xuanjiaallpay/Util/base64.h: -------------------------------------------------------------------------------- 1 | /** 2 | * \file base64.h 3 | */ 4 | #ifndef XYSSL_BASE64_H 5 | #define XYSSL_BASE64_H 6 | 7 | #define XYSSL_ERR_BASE64_INVALID_CHARACTER -0x0012 8 | #define XYSSL_ERR_BASE64_BUFFER_TOO_SMALL -0x0010 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | /** 15 | * \brief Encode a buffer into base64 format 16 | * 17 | * \param dst destination buffer 18 | * \param dlen size of the buffer 19 | * \param src source buffer 20 | * \param slen amount of data to be encoded 21 | * 22 | * \return 0 if successful, or XYSSL_ERR_BASE64_BUFFER_TOO_SMALL. 23 | * *dlen is always updated to reflect the amount 24 | * of data that has (or would have) been written. 25 | * 26 | * \note Call this function with *dlen = 0 to obtain the 27 | * required buffer size in *dlen 28 | */ 29 | int base64_encode( unsigned char *dst, int *dlen, 30 | unsigned char *src, int slen ); 31 | 32 | /** 33 | * \brief Decode a base64-formatted buffer 34 | * 35 | * \param dst destination buffer 36 | * \param dlen size of the buffer 37 | * \param src source buffer 38 | * \param slen amount of data to be decoded 39 | * 40 | * \return 0 if successful, XYSSL_ERR_BASE64_BUFFER_TOO_SMALL, or 41 | * XYSSL_ERR_BASE64_INVALID_DATA if the input data is not 42 | * correct. *dlen is always updated to reflect the amount 43 | * of data that has (or would have) been written. 44 | * 45 | * \note Call this function with *dlen = 0 to obtain the 46 | * required buffer size in *dlen 47 | */ 48 | int base64_decode( unsigned char *dst, int *dlen, 49 | unsigned char *src, int slen ); 50 | 51 | /** 52 | * \brief Checkup routine 53 | * 54 | * \return 0 if successful, or 1 if the test failed 55 | */ 56 | int base64_self_test( int verbose ); 57 | 58 | #ifdef __cplusplus 59 | } 60 | #endif 61 | #import 62 | @interface Base64 : NSObject 63 | 64 | + (NSData *)decodeString:(NSString *)string; 65 | 66 | @end 67 | 68 | 69 | #endif /* base64.h */ 70 | -------------------------------------------------------------------------------- /xuanjiaallpay/Util/openssl_wrapper.h: -------------------------------------------------------------------------------- 1 | // 2 | // openssl_wrapper.h 3 | // ThirdDemoApp 4 | // 5 | // Created by Xu Hanjie on 11-1-20. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | #import 9 | int rsa_sign_with_private_key_pem(char *message, int message_length 10 | , unsigned char *signature, unsigned int *signature_length 11 | , char *private_key_file_path); 12 | int rsa_verify_with_public_key_pem(char *message, int message_length 13 | , unsigned char *signature, unsigned int signature_length 14 | , char *public_key_file_path); 15 | 16 | NSString *base64StringFromData(NSData *signature); 17 | NSData *dataFromBase64String(NSString *base64String); 18 | NSString *rsaSignString(NSString *stringToSign, NSString *privateKeyFilePath, BOOL *signSuccess); 19 | void rsaVerifyString(NSString *stringToVerify, NSString *signature, NSString *publicKeyFilePath, BOOL *verifySuccess); 20 | NSString *formattedPEMString(NSString *originalString); 21 | -------------------------------------------------------------------------------- /xuanjiaallpay/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // xuanjiaallpay 4 | // 5 | // Created by 薛泽军 on 16/4/29. 6 | // Copyright © 2016年 炫嘉科技. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /xuanjiaallpay/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // xuanjiaallpay 4 | // 5 | // Created by 薛泽军 on 16/4/29. 6 | // Copyright © 2016年 炫嘉科技. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | #import "AllPayViewController.h" 11 | @interface ViewController () 12 | @property (strong, nonatomic) IBOutlet UITextField *peicrText; 13 | @end 14 | 15 | @implementation ViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | // Do any additional setup after loading the view, typically from a nib. 20 | } 21 | - (IBAction)payClick:(id)sender 22 | { 23 | AllPayViewController *avc=[AllPayViewController sharedManager]; 24 | [self.navigationController pushViewController:avc animated:YES]; 25 | } 26 | 27 | - (void)didReceiveMemoryWarning { 28 | [super didReceiveMemoryWarning]; 29 | // Dispose of any resources that can be recreated. 30 | } 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /xuanjiaallpay/applePaySDK/inc/UPAPayPlugin.h: -------------------------------------------------------------------------------- 1 | // 2 | // UPPayPluginEx.h 3 | // UPPayPluginEx 4 | // 5 | // Created by wxzhao on 12-10-10. 6 | // Copyright (c) 2012年 China UnionPay. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | #import "UPAPayPluginDelegate.h" 12 | 13 | @interface UPAPayPlugin : NSObject 14 | 15 | /** 16 | * 支付接口 17 | * 18 | * @param tn 订单信息 19 | * @param mode 接入模式,标识商户以何种方式调用支付控件,00生产环境,01测试环境 20 | * @param viewController 启动支付控件的viewController 21 | * @param delegate 实现 UPAPayPluginDelegate 方法的 UIViewController 22 | * @param mID 苹果公司分配的商户号,表示调用Apple Pay所需要的MerchantID; 23 | * @return 返回函数调用结果,成功或失败 24 | */ 25 | + (BOOL)startPay:(NSString*)tn 26 | mode:(NSString*)mode 27 | viewController:(UIViewController*)viewController 28 | delegate:(id)delegate 29 | andAPMechantID:(NSString* )mID; 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /xuanjiaallpay/applePaySDK/inc/UPAPayPluginDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // Header.h 3 | // UPAPayPlugin 4 | // 5 | // Created by zhangyi on 10/27/15. 6 | // Copyright © 2015 UnionPay. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | typedef NS_ENUM(NSInteger,UPPaymentResultStatus) { 13 | 14 | UPPaymentResultStatusSuccess, //支付成功 15 | UPPaymentResultStatusFailure, //支付失败 16 | UPPaymentResultStatusCancel, //支付取消 17 | UPPaymentResultStatusUnknownCancel //支付取消,交易已发起,状态不确定,商户需查询商户后台确认支付状态 18 | }; 19 | 20 | 21 | @interface UPPayResult:NSObject 22 | 23 | //支付结果状态,具体见UPPaymentResultStatus定义 24 | @property UPPaymentResultStatus paymentResultStatus; 25 | 26 | //支付失败时候的错误原因,如可用余额不足[1000051]“,此信息前半部 分为文字错误信息,后 7 位为错误应答码。当支付成功或支付取消时候errorDescription取值为 nil。 27 | @property (nonatomic,strong) NSString* errorDescription; 28 | 29 | //目前表示成功支付时包含的优惠信息 30 | @property (nonatomic,strong) NSString* otherInfo; 31 | 32 | @end 33 | 34 | 35 | 36 | @protocol UPAPayPluginDelegate 37 | /** 38 | * 支付结果回调函数 39 | * 40 | * @param payResult 以UPPayResult结构向商户返回支付结果 41 | */ 42 | -(void) UPAPayPluginResult:(UPPayResult *) payResult; 43 | @end -------------------------------------------------------------------------------- /xuanjiaallpay/applePaySDK/libs/libUPAPayPlugin.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/applePaySDK/libs/libUPAPayPlugin.a -------------------------------------------------------------------------------- /xuanjiaallpay/applepay@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/applepay@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/applezhifu.p12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/applezhifu.p12 -------------------------------------------------------------------------------- /xuanjiaallpay/baiPay@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/baiPay@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/libcrypto.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/libcrypto.a -------------------------------------------------------------------------------- /xuanjiaallpay/libssl.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/libssl.a -------------------------------------------------------------------------------- /xuanjiaallpay/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // xuanjiaallpay 4 | // 5 | // Created by 薛泽军 on 16/4/29. 6 | // Copyright © 2016年 炫嘉科技. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /xuanjiaallpay/openssl/cmac.h: -------------------------------------------------------------------------------- 1 | /* crypto/cmac/cmac.h */ 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 3 | * project. 4 | */ 5 | /* ==================================================================== 6 | * Copyright (c) 2010 The OpenSSL Project. All rights reserved. 7 | * 8 | * Redistribution and use in source and binary forms, with or without 9 | * modification, are permitted provided that the following conditions 10 | * are met: 11 | * 12 | * 1. Redistributions of source code must retain the above copyright 13 | * notice, this list of conditions and the following disclaimer. 14 | * 15 | * 2. Redistributions in binary form must reproduce the above copyright 16 | * notice, this list of conditions and the following disclaimer in 17 | * the documentation and/or other materials provided with the 18 | * distribution. 19 | * 20 | * 3. All advertising materials mentioning features or use of this 21 | * software must display the following acknowledgment: 22 | * "This product includes software developed by the OpenSSL Project 23 | * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" 24 | * 25 | * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to 26 | * endorse or promote products derived from this software without 27 | * prior written permission. For written permission, please contact 28 | * licensing@OpenSSL.org. 29 | * 30 | * 5. Products derived from this software may not be called "OpenSSL" 31 | * nor may "OpenSSL" appear in their names without prior written 32 | * permission of the OpenSSL Project. 33 | * 34 | * 6. Redistributions of any form whatsoever must retain the following 35 | * acknowledgment: 36 | * "This product includes software developed by the OpenSSL Project 37 | * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" 38 | * 39 | * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY 40 | * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 41 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 42 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR 43 | * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 44 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 45 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 46 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 47 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 48 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 49 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 50 | * OF THE POSSIBILITY OF SUCH DAMAGE. 51 | * ==================================================================== 52 | */ 53 | 54 | 55 | #ifndef HEADER_CMAC_H 56 | #define HEADER_CMAC_H 57 | 58 | #ifdef __cplusplus 59 | extern "C" { 60 | #endif 61 | 62 | #include 63 | 64 | /* Opaque */ 65 | typedef struct CMAC_CTX_st CMAC_CTX; 66 | 67 | CMAC_CTX *CMAC_CTX_new(void); 68 | void CMAC_CTX_cleanup(CMAC_CTX *ctx); 69 | void CMAC_CTX_free(CMAC_CTX *ctx); 70 | EVP_CIPHER_CTX *CMAC_CTX_get0_cipher_ctx(CMAC_CTX *ctx); 71 | int CMAC_CTX_copy(CMAC_CTX *out, const CMAC_CTX *in); 72 | 73 | int CMAC_Init(CMAC_CTX *ctx, const void *key, size_t keylen, 74 | const EVP_CIPHER *cipher, ENGINE *impl); 75 | int CMAC_Update(CMAC_CTX *ctx, const void *data, size_t dlen); 76 | int CMAC_Final(CMAC_CTX *ctx, unsigned char *out, size_t *poutlen); 77 | int CMAC_resume(CMAC_CTX *ctx); 78 | 79 | #ifdef __cplusplus 80 | } 81 | #endif 82 | #endif 83 | -------------------------------------------------------------------------------- /xuanjiaallpay/openssl/comp.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef HEADER_COMP_H 3 | #define HEADER_COMP_H 4 | 5 | #include 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | 11 | typedef struct comp_ctx_st COMP_CTX; 12 | 13 | typedef struct comp_method_st 14 | { 15 | int type; /* NID for compression library */ 16 | const char *name; /* A text string to identify the library */ 17 | int (*init)(COMP_CTX *ctx); 18 | void (*finish)(COMP_CTX *ctx); 19 | int (*compress)(COMP_CTX *ctx, 20 | unsigned char *out, unsigned int olen, 21 | unsigned char *in, unsigned int ilen); 22 | int (*expand)(COMP_CTX *ctx, 23 | unsigned char *out, unsigned int olen, 24 | unsigned char *in, unsigned int ilen); 25 | /* The following two do NOTHING, but are kept for backward compatibility */ 26 | long (*ctrl)(void); 27 | long (*callback_ctrl)(void); 28 | } COMP_METHOD; 29 | 30 | struct comp_ctx_st 31 | { 32 | COMP_METHOD *meth; 33 | unsigned long compress_in; 34 | unsigned long compress_out; 35 | unsigned long expand_in; 36 | unsigned long expand_out; 37 | 38 | CRYPTO_EX_DATA ex_data; 39 | }; 40 | 41 | 42 | COMP_CTX *COMP_CTX_new(COMP_METHOD *meth); 43 | void COMP_CTX_free(COMP_CTX *ctx); 44 | int COMP_compress_block(COMP_CTX *ctx, unsigned char *out, int olen, 45 | unsigned char *in, int ilen); 46 | int COMP_expand_block(COMP_CTX *ctx, unsigned char *out, int olen, 47 | unsigned char *in, int ilen); 48 | COMP_METHOD *COMP_rle(void ); 49 | COMP_METHOD *COMP_zlib(void ); 50 | void COMP_zlib_cleanup(void); 51 | 52 | #ifdef HEADER_BIO_H 53 | #ifdef ZLIB 54 | BIO_METHOD *BIO_f_zlib(void); 55 | #endif 56 | #endif 57 | 58 | /* BEGIN ERROR CODES */ 59 | /* The following lines are auto generated by the script mkerr.pl. Any changes 60 | * made after this point may be overwritten when the script is next run. 61 | */ 62 | void ERR_load_COMP_strings(void); 63 | 64 | /* Error codes for the COMP functions. */ 65 | 66 | /* Function codes. */ 67 | #define COMP_F_BIO_ZLIB_FLUSH 99 68 | #define COMP_F_BIO_ZLIB_NEW 100 69 | #define COMP_F_BIO_ZLIB_READ 101 70 | #define COMP_F_BIO_ZLIB_WRITE 102 71 | 72 | /* Reason codes. */ 73 | #define COMP_R_ZLIB_DEFLATE_ERROR 99 74 | #define COMP_R_ZLIB_INFLATE_ERROR 100 75 | #define COMP_R_ZLIB_NOT_SUPPORTED 101 76 | 77 | #ifdef __cplusplus 78 | } 79 | #endif 80 | #endif 81 | -------------------------------------------------------------------------------- /xuanjiaallpay/openssl/ebcdic.h: -------------------------------------------------------------------------------- 1 | /* crypto/ebcdic.h */ 2 | 3 | #ifndef HEADER_EBCDIC_H 4 | #define HEADER_EBCDIC_H 5 | 6 | #include 7 | 8 | /* Avoid name clashes with other applications */ 9 | #define os_toascii _openssl_os_toascii 10 | #define os_toebcdic _openssl_os_toebcdic 11 | #define ebcdic2ascii _openssl_ebcdic2ascii 12 | #define ascii2ebcdic _openssl_ascii2ebcdic 13 | 14 | extern const unsigned char os_toascii[256]; 15 | extern const unsigned char os_toebcdic[256]; 16 | void *ebcdic2ascii(void *dest, const void *srce, size_t count); 17 | void *ascii2ebcdic(void *dest, const void *srce, size_t count); 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /xuanjiaallpay/openssl/opensslv.h: -------------------------------------------------------------------------------- 1 | #ifndef HEADER_OPENSSLV_H 2 | #define HEADER_OPENSSLV_H 3 | 4 | /* Numeric release version identifier: 5 | * MNNFFPPS: major minor fix patch status 6 | * The status nibble has one of the values 0 for development, 1 to e for betas 7 | * 1 to 14, and f for release. The patch level is exactly that. 8 | * For example: 9 | * 0.9.3-dev 0x00903000 10 | * 0.9.3-beta1 0x00903001 11 | * 0.9.3-beta2-dev 0x00903002 12 | * 0.9.3-beta2 0x00903002 (same as ...beta2-dev) 13 | * 0.9.3 0x0090300f 14 | * 0.9.3a 0x0090301f 15 | * 0.9.4 0x0090400f 16 | * 1.2.3z 0x102031af 17 | * 18 | * For continuity reasons (because 0.9.5 is already out, and is coded 19 | * 0x00905100), between 0.9.5 and 0.9.6 the coding of the patch level 20 | * part is slightly different, by setting the highest bit. This means 21 | * that 0.9.5a looks like this: 0x0090581f. At 0.9.6, we can start 22 | * with 0x0090600S... 23 | * 24 | * (Prior to 0.9.3-dev a different scheme was used: 0.9.2b is 0x0922.) 25 | * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for 26 | * major minor fix final patch/beta) 27 | */ 28 | #define OPENSSL_VERSION_NUMBER 0x1000108fL 29 | #ifdef OPENSSL_FIPS 30 | #define OPENSSL_VERSION_TEXT "OpenSSL 1.0.1h-fips 5 Jun 2014" 31 | #else 32 | #define OPENSSL_VERSION_TEXT "OpenSSL 1.0.1h 5 Jun 2014" 33 | #endif 34 | #define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT 35 | 36 | 37 | /* The macros below are to be used for shared library (.so, .dll, ...) 38 | * versioning. That kind of versioning works a bit differently between 39 | * operating systems. The most usual scheme is to set a major and a minor 40 | * number, and have the runtime loader check that the major number is equal 41 | * to what it was at application link time, while the minor number has to 42 | * be greater or equal to what it was at application link time. With this 43 | * scheme, the version number is usually part of the file name, like this: 44 | * 45 | * libcrypto.so.0.9 46 | * 47 | * Some unixen also make a softlink with the major verson number only: 48 | * 49 | * libcrypto.so.0 50 | * 51 | * On Tru64 and IRIX 6.x it works a little bit differently. There, the 52 | * shared library version is stored in the file, and is actually a series 53 | * of versions, separated by colons. The rightmost version present in the 54 | * library when linking an application is stored in the application to be 55 | * matched at run time. When the application is run, a check is done to 56 | * see if the library version stored in the application matches any of the 57 | * versions in the version string of the library itself. 58 | * This version string can be constructed in any way, depending on what 59 | * kind of matching is desired. However, to implement the same scheme as 60 | * the one used in the other unixen, all compatible versions, from lowest 61 | * to highest, should be part of the string. Consecutive builds would 62 | * give the following versions strings: 63 | * 64 | * 3.0 65 | * 3.0:3.1 66 | * 3.0:3.1:3.2 67 | * 4.0 68 | * 4.0:4.1 69 | * 70 | * Notice how version 4 is completely incompatible with version, and 71 | * therefore give the breach you can see. 72 | * 73 | * There may be other schemes as well that I haven't yet discovered. 74 | * 75 | * So, here's the way it works here: first of all, the library version 76 | * number doesn't need at all to match the overall OpenSSL version. 77 | * However, it's nice and more understandable if it actually does. 78 | * The current library version is stored in the macro SHLIB_VERSION_NUMBER, 79 | * which is just a piece of text in the format "M.m.e" (Major, minor, edit). 80 | * For the sake of Tru64, IRIX, and any other OS that behaves in similar ways, 81 | * we need to keep a history of version numbers, which is done in the 82 | * macro SHLIB_VERSION_HISTORY. The numbers are separated by colons and 83 | * should only keep the versions that are binary compatible with the current. 84 | */ 85 | #define SHLIB_VERSION_HISTORY "" 86 | #define SHLIB_VERSION_NUMBER "1.0.0" 87 | 88 | 89 | #endif /* HEADER_OPENSSLV_H */ 90 | -------------------------------------------------------------------------------- /xuanjiaallpay/openssl/pem2.h: -------------------------------------------------------------------------------- 1 | /* ==================================================================== 2 | * Copyright (c) 1999 The OpenSSL Project. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions 6 | * are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in 13 | * the documentation and/or other materials provided with the 14 | * distribution. 15 | * 16 | * 3. All advertising materials mentioning features or use of this 17 | * software must display the following acknowledgment: 18 | * "This product includes software developed by the OpenSSL Project 19 | * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" 20 | * 21 | * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to 22 | * endorse or promote products derived from this software without 23 | * prior written permission. For written permission, please contact 24 | * licensing@OpenSSL.org. 25 | * 26 | * 5. Products derived from this software may not be called "OpenSSL" 27 | * nor may "OpenSSL" appear in their names without prior written 28 | * permission of the OpenSSL Project. 29 | * 30 | * 6. Redistributions of any form whatsoever must retain the following 31 | * acknowledgment: 32 | * "This product includes software developed by the OpenSSL Project 33 | * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" 34 | * 35 | * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY 36 | * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 37 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 38 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR 39 | * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 40 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 41 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 42 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 43 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 44 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 45 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 46 | * OF THE POSSIBILITY OF SUCH DAMAGE. 47 | * ==================================================================== 48 | * 49 | * This product includes cryptographic software written by Eric Young 50 | * (eay@cryptsoft.com). This product includes software written by Tim 51 | * Hudson (tjh@cryptsoft.com). 52 | * 53 | */ 54 | 55 | /* 56 | * This header only exists to break a circular dependency between pem and err 57 | * Ben 30 Jan 1999. 58 | */ 59 | 60 | #ifdef __cplusplus 61 | extern "C" { 62 | #endif 63 | 64 | #ifndef HEADER_PEM_H 65 | void ERR_load_PEM_strings(void); 66 | #endif 67 | 68 | #ifdef __cplusplus 69 | } 70 | #endif 71 | -------------------------------------------------------------------------------- /xuanjiaallpay/openssl/pqueue.h: -------------------------------------------------------------------------------- 1 | /* crypto/pqueue/pqueue.h */ 2 | /* 3 | * DTLS implementation written by Nagendra Modadugu 4 | * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. 5 | */ 6 | /* ==================================================================== 7 | * Copyright (c) 1999-2005 The OpenSSL Project. All rights reserved. 8 | * 9 | * Redistribution and use in source and binary forms, with or without 10 | * modification, are permitted provided that the following conditions 11 | * are met: 12 | * 13 | * 1. Redistributions of source code must retain the above copyright 14 | * notice, this list of conditions and the following disclaimer. 15 | * 16 | * 2. Redistributions in binary form must reproduce the above copyright 17 | * notice, this list of conditions and the following disclaimer in 18 | * the documentation and/or other materials provided with the 19 | * distribution. 20 | * 21 | * 3. All advertising materials mentioning features or use of this 22 | * software must display the following acknowledgment: 23 | * "This product includes software developed by the OpenSSL Project 24 | * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" 25 | * 26 | * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to 27 | * endorse or promote products derived from this software without 28 | * prior written permission. For written permission, please contact 29 | * openssl-core@OpenSSL.org. 30 | * 31 | * 5. Products derived from this software may not be called "OpenSSL" 32 | * nor may "OpenSSL" appear in their names without prior written 33 | * permission of the OpenSSL Project. 34 | * 35 | * 6. Redistributions of any form whatsoever must retain the following 36 | * acknowledgment: 37 | * "This product includes software developed by the OpenSSL Project 38 | * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" 39 | * 40 | * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY 41 | * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 42 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 43 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR 44 | * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 45 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 46 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 47 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 49 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 50 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 51 | * OF THE POSSIBILITY OF SUCH DAMAGE. 52 | * ==================================================================== 53 | * 54 | * This product includes cryptographic software written by Eric Young 55 | * (eay@cryptsoft.com). This product includes software written by Tim 56 | * Hudson (tjh@cryptsoft.com). 57 | * 58 | */ 59 | 60 | #ifndef HEADER_PQUEUE_H 61 | #define HEADER_PQUEUE_H 62 | 63 | #include 64 | #include 65 | #include 66 | 67 | typedef struct _pqueue *pqueue; 68 | 69 | typedef struct _pitem 70 | { 71 | unsigned char priority[8]; /* 64-bit value in big-endian encoding */ 72 | void *data; 73 | struct _pitem *next; 74 | } pitem; 75 | 76 | typedef struct _pitem *piterator; 77 | 78 | pitem *pitem_new(unsigned char *prio64be, void *data); 79 | void pitem_free(pitem *item); 80 | 81 | pqueue pqueue_new(void); 82 | void pqueue_free(pqueue pq); 83 | 84 | pitem *pqueue_insert(pqueue pq, pitem *item); 85 | pitem *pqueue_peek(pqueue pq); 86 | pitem *pqueue_pop(pqueue pq); 87 | pitem *pqueue_find(pqueue pq, unsigned char *prio64be); 88 | pitem *pqueue_iterator(pqueue pq); 89 | pitem *pqueue_next(piterator *iter); 90 | 91 | void pqueue_print(pqueue pq); 92 | int pqueue_size(pqueue pq); 93 | 94 | #endif /* ! HEADER_PQUEUE_H */ 95 | -------------------------------------------------------------------------------- /xuanjiaallpay/openssl/rc4.h: -------------------------------------------------------------------------------- 1 | /* crypto/rc4/rc4.h */ 2 | /* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) 3 | * All rights reserved. 4 | * 5 | * This package is an SSL implementation written 6 | * by Eric Young (eay@cryptsoft.com). 7 | * The implementation was written so as to conform with Netscapes SSL. 8 | * 9 | * This library is free for commercial and non-commercial use as long as 10 | * the following conditions are aheared to. The following conditions 11 | * apply to all code found in this distribution, be it the RC4, RSA, 12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation 13 | * included with this distribution is covered by the same copyright terms 14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). 15 | * 16 | * Copyright remains Eric Young's, and as such any Copyright notices in 17 | * the code are not to be removed. 18 | * If this package is used in a product, Eric Young should be given attribution 19 | * as the author of the parts of the library used. 20 | * This can be in the form of a textual message at program startup or 21 | * in documentation (online or textual) provided with the package. 22 | * 23 | * Redistribution and use in source and binary forms, with or without 24 | * modification, are permitted provided that the following conditions 25 | * are met: 26 | * 1. Redistributions of source code must retain the copyright 27 | * notice, this list of conditions and the following disclaimer. 28 | * 2. Redistributions in binary form must reproduce the above copyright 29 | * notice, this list of conditions and the following disclaimer in the 30 | * documentation and/or other materials provided with the distribution. 31 | * 3. All advertising materials mentioning features or use of this software 32 | * must display the following acknowledgement: 33 | * "This product includes cryptographic software written by 34 | * Eric Young (eay@cryptsoft.com)" 35 | * The word 'cryptographic' can be left out if the rouines from the library 36 | * being used are not cryptographic related :-). 37 | * 4. If you include any Windows specific code (or a derivative thereof) from 38 | * the apps directory (application code) you must include an acknowledgement: 39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 40 | * 41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 51 | * SUCH DAMAGE. 52 | * 53 | * The licence and distribution terms for any publically available version or 54 | * derivative of this code cannot be changed. i.e. this code cannot simply be 55 | * copied and put under another distribution licence 56 | * [including the GNU Public Licence.] 57 | */ 58 | 59 | #ifndef HEADER_RC4_H 60 | #define HEADER_RC4_H 61 | 62 | #include /* OPENSSL_NO_RC4, RC4_INT */ 63 | #ifdef OPENSSL_NO_RC4 64 | #error RC4 is disabled. 65 | #endif 66 | 67 | #include 68 | 69 | #ifdef __cplusplus 70 | extern "C" { 71 | #endif 72 | 73 | typedef struct rc4_key_st 74 | { 75 | RC4_INT x,y; 76 | RC4_INT data[256]; 77 | } RC4_KEY; 78 | 79 | 80 | const char *RC4_options(void); 81 | void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data); 82 | void private_RC4_set_key(RC4_KEY *key, int len, const unsigned char *data); 83 | void RC4(RC4_KEY *key, size_t len, const unsigned char *indata, 84 | unsigned char *outdata); 85 | 86 | #ifdef __cplusplus 87 | } 88 | #endif 89 | 90 | #endif 91 | -------------------------------------------------------------------------------- /xuanjiaallpay/openssl/ssl23.h: -------------------------------------------------------------------------------- 1 | /* ssl/ssl23.h */ 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 3 | * All rights reserved. 4 | * 5 | * This package is an SSL implementation written 6 | * by Eric Young (eay@cryptsoft.com). 7 | * The implementation was written so as to conform with Netscapes SSL. 8 | * 9 | * This library is free for commercial and non-commercial use as long as 10 | * the following conditions are aheared to. The following conditions 11 | * apply to all code found in this distribution, be it the RC4, RSA, 12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation 13 | * included with this distribution is covered by the same copyright terms 14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). 15 | * 16 | * Copyright remains Eric Young's, and as such any Copyright notices in 17 | * the code are not to be removed. 18 | * If this package is used in a product, Eric Young should be given attribution 19 | * as the author of the parts of the library used. 20 | * This can be in the form of a textual message at program startup or 21 | * in documentation (online or textual) provided with the package. 22 | * 23 | * Redistribution and use in source and binary forms, with or without 24 | * modification, are permitted provided that the following conditions 25 | * are met: 26 | * 1. Redistributions of source code must retain the copyright 27 | * notice, this list of conditions and the following disclaimer. 28 | * 2. Redistributions in binary form must reproduce the above copyright 29 | * notice, this list of conditions and the following disclaimer in the 30 | * documentation and/or other materials provided with the distribution. 31 | * 3. All advertising materials mentioning features or use of this software 32 | * must display the following acknowledgement: 33 | * "This product includes cryptographic software written by 34 | * Eric Young (eay@cryptsoft.com)" 35 | * The word 'cryptographic' can be left out if the rouines from the library 36 | * being used are not cryptographic related :-). 37 | * 4. If you include any Windows specific code (or a derivative thereof) from 38 | * the apps directory (application code) you must include an acknowledgement: 39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 40 | * 41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 51 | * SUCH DAMAGE. 52 | * 53 | * The licence and distribution terms for any publically available version or 54 | * derivative of this code cannot be changed. i.e. this code cannot simply be 55 | * copied and put under another distribution licence 56 | * [including the GNU Public Licence.] 57 | */ 58 | 59 | #ifndef HEADER_SSL23_H 60 | #define HEADER_SSL23_H 61 | 62 | #ifdef __cplusplus 63 | extern "C" { 64 | #endif 65 | 66 | /*client */ 67 | /* write to server */ 68 | #define SSL23_ST_CW_CLNT_HELLO_A (0x210|SSL_ST_CONNECT) 69 | #define SSL23_ST_CW_CLNT_HELLO_B (0x211|SSL_ST_CONNECT) 70 | /* read from server */ 71 | #define SSL23_ST_CR_SRVR_HELLO_A (0x220|SSL_ST_CONNECT) 72 | #define SSL23_ST_CR_SRVR_HELLO_B (0x221|SSL_ST_CONNECT) 73 | 74 | /* server */ 75 | /* read from client */ 76 | #define SSL23_ST_SR_CLNT_HELLO_A (0x210|SSL_ST_ACCEPT) 77 | #define SSL23_ST_SR_CLNT_HELLO_B (0x211|SSL_ST_ACCEPT) 78 | 79 | #ifdef __cplusplus 80 | } 81 | #endif 82 | #endif 83 | 84 | -------------------------------------------------------------------------------- /xuanjiaallpay/openssl/ui_compat.h: -------------------------------------------------------------------------------- 1 | /* crypto/ui/ui.h -*- mode:C; c-file-style: "eay" -*- */ 2 | /* Written by Richard Levitte (richard@levitte.org) for the OpenSSL 3 | * project 2001. 4 | */ 5 | /* ==================================================================== 6 | * Copyright (c) 2001 The OpenSSL Project. All rights reserved. 7 | * 8 | * Redistribution and use in source and binary forms, with or without 9 | * modification, are permitted provided that the following conditions 10 | * are met: 11 | * 12 | * 1. Redistributions of source code must retain the above copyright 13 | * notice, this list of conditions and the following disclaimer. 14 | * 15 | * 2. Redistributions in binary form must reproduce the above copyright 16 | * notice, this list of conditions and the following disclaimer in 17 | * the documentation and/or other materials provided with the 18 | * distribution. 19 | * 20 | * 3. All advertising materials mentioning features or use of this 21 | * software must display the following acknowledgment: 22 | * "This product includes software developed by the OpenSSL Project 23 | * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" 24 | * 25 | * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to 26 | * endorse or promote products derived from this software without 27 | * prior written permission. For written permission, please contact 28 | * openssl-core@openssl.org. 29 | * 30 | * 5. Products derived from this software may not be called "OpenSSL" 31 | * nor may "OpenSSL" appear in their names without prior written 32 | * permission of the OpenSSL Project. 33 | * 34 | * 6. Redistributions of any form whatsoever must retain the following 35 | * acknowledgment: 36 | * "This product includes software developed by the OpenSSL Project 37 | * for use in the OpenSSL Toolkit (http://www.openssl.org/)" 38 | * 39 | * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY 40 | * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 41 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 42 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR 43 | * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 44 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 45 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 46 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 47 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 48 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 49 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 50 | * OF THE POSSIBILITY OF SUCH DAMAGE. 51 | * ==================================================================== 52 | * 53 | * This product includes cryptographic software written by Eric Young 54 | * (eay@cryptsoft.com). This product includes software written by Tim 55 | * Hudson (tjh@cryptsoft.com). 56 | * 57 | */ 58 | 59 | #ifndef HEADER_UI_COMPAT_H 60 | #define HEADER_UI_COMPAT_H 61 | 62 | #include 63 | #include 64 | 65 | #ifdef __cplusplus 66 | extern "C" { 67 | #endif 68 | 69 | /* The following functions were previously part of the DES section, 70 | and are provided here for backward compatibility reasons. */ 71 | 72 | #define des_read_pw_string(b,l,p,v) \ 73 | _ossl_old_des_read_pw_string((b),(l),(p),(v)) 74 | #define des_read_pw(b,bf,s,p,v) \ 75 | _ossl_old_des_read_pw((b),(bf),(s),(p),(v)) 76 | 77 | int _ossl_old_des_read_pw_string(char *buf,int length,const char *prompt,int verify); 78 | int _ossl_old_des_read_pw(char *buf,char *buff,int size,const char *prompt,int verify); 79 | 80 | #ifdef __cplusplus 81 | } 82 | #endif 83 | #endif 84 | -------------------------------------------------------------------------------- /xuanjiaallpay/openssl/whrlpool.h: -------------------------------------------------------------------------------- 1 | #ifndef HEADER_WHRLPOOL_H 2 | #define HEADER_WHRLPOOL_H 3 | 4 | #include 5 | #include 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | 11 | #define WHIRLPOOL_DIGEST_LENGTH (512/8) 12 | #define WHIRLPOOL_BBLOCK 512 13 | #define WHIRLPOOL_COUNTER (256/8) 14 | 15 | typedef struct { 16 | union { 17 | unsigned char c[WHIRLPOOL_DIGEST_LENGTH]; 18 | /* double q is here to ensure 64-bit alignment */ 19 | double q[WHIRLPOOL_DIGEST_LENGTH/sizeof(double)]; 20 | } H; 21 | unsigned char data[WHIRLPOOL_BBLOCK/8]; 22 | unsigned int bitoff; 23 | size_t bitlen[WHIRLPOOL_COUNTER/sizeof(size_t)]; 24 | } WHIRLPOOL_CTX; 25 | 26 | #ifndef OPENSSL_NO_WHIRLPOOL 27 | #ifdef OPENSSL_FIPS 28 | int private_WHIRLPOOL_Init(WHIRLPOOL_CTX *c); 29 | #endif 30 | int WHIRLPOOL_Init (WHIRLPOOL_CTX *c); 31 | int WHIRLPOOL_Update (WHIRLPOOL_CTX *c,const void *inp,size_t bytes); 32 | void WHIRLPOOL_BitUpdate(WHIRLPOOL_CTX *c,const void *inp,size_t bits); 33 | int WHIRLPOOL_Final (unsigned char *md,WHIRLPOOL_CTX *c); 34 | unsigned char *WHIRLPOOL(const void *inp,size_t bytes,unsigned char *md); 35 | #endif 36 | 37 | #ifdef __cplusplus 38 | } 39 | #endif 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /xuanjiaallpay/paymentcontrol/inc/UPPaymentControl.h: -------------------------------------------------------------------------------- 1 | // 2 | // PaymentControl.h 3 | // PaymentControl 4 | // 5 | // Created by qcao on 15/10/20. 6 | // Copyright © 2015年 China Unionpay Co.,Ltd. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | 13 | typedef void (^UPPaymentResultBlock)(NSString* code, NSDictionary* data); 14 | 15 | 16 | @interface UPPaymentControl : NSObject 17 | 18 | 19 | /** 20 | * 创建支付单例服务 21 | * 22 | * @return 返回单例对象 23 | */ 24 | 25 | + (UPPaymentControl *)defaultControl; 26 | 27 | 28 | /** 29 | * 支付接口 30 | * 31 | * @param tn 订单信息 32 | * @param schemeStr 调用支付的app注册在info.plist中的scheme 33 | * @param mode 支付环境 34 | * @param viewController 启动支付控件的viewController 35 | * @return 返回成功失败 36 | */ 37 | 38 | 39 | - (BOOL)startPay:(NSString*)tn fromScheme:(NSString *)schemeStr mode:(NSString*)mode viewController:(UIViewController*)viewController; 40 | 41 | 42 | 43 | /** 44 | * APP是否已安装检测接口,通过该接口得知用户是否安装银联支付的APP。 45 | * 46 | * @return 返回是否已经安装了银联支付APP 47 | */ 48 | 49 | 50 | - (BOOL)isPaymentAppInstalled; 51 | 52 | /** 53 | * 处理钱包或者独立快捷app支付跳回商户app携带的支付结果Url 54 | * 55 | * @param url 支付结果url,传入后由SDK解析 56 | * @param completionBlock 结果回调,保证跳转钱包支付过程中,即使调用方app被系统kill时,能通过这个回调取到支付结果。 57 | */ 58 | 59 | - (void)handlePaymentResult:(NSURL*)url completeBlock:(UPPaymentResultBlock)completionBlock; 60 | 61 | @end 62 | -------------------------------------------------------------------------------- /xuanjiaallpay/paymentcontrol/libs/libPaymentControl.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/paymentcontrol/libs/libPaymentControl.a -------------------------------------------------------------------------------- /xuanjiaallpay/unocnPay@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/unocnPay@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/weiChatPay@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/610187595/xuanjiaapppay/ab31c2cba092aca34f57009e2274d1e1155ee1bf/xuanjiaallpay/weiChatPay@2x.png -------------------------------------------------------------------------------- /xuanjiaallpay/xuanjiaallpay-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | // 2 | // Use this file to import your target's public headers that you would like to expose to Swift. 3 | // 4 | 5 | -------------------------------------------------------------------------------- /xuanjiaallpay/xuanjiaallpay.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.developer.in-app-payments 6 | 7 | merchant.com.bxkj.applePayDemo 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /xuanjiaallpay/yinlian.h: -------------------------------------------------------------------------------- 1 | // 2 | // yinlian.h 3 | // xuanjiaallpay 4 | // 5 | // Created by 薛泽军 on 16/5/10. 6 | // Copyright © 2016年 炫嘉科技. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface yinlian : NSObject 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /xuanjiaallpay/yinlian.mm: -------------------------------------------------------------------------------- 1 | // 2 | // yinlian.m 3 | // xuanjiaallpay 4 | // 5 | // Created by 薛泽军 on 16/5/10. 6 | // Copyright © 2016年 炫嘉科技. All rights reserved. 7 | // 8 | 9 | #import "yinlian.h" 10 | 11 | @implementation yinlian 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /xuanjiaallpayTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /xuanjiaallpayTests/xuanjiaallpayTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // xuanjiaallpayTests.m 3 | // xuanjiaallpayTests 4 | // 5 | // Created by 薛泽军 on 16/4/29. 6 | // Copyright © 2016年 炫嘉科技. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface xuanjiaallpayTests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation xuanjiaallpayTests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | // Put setup code here. This method is called before the invocation of each test method in the class. 20 | } 21 | 22 | - (void)tearDown { 23 | // Put teardown code here. This method is called after the invocation of each test method in the class. 24 | [super tearDown]; 25 | } 26 | 27 | - (void)testExample { 28 | // This is an example of a functional test case. 29 | // Use XCTAssert and related functions to verify your tests produce the correct results. 30 | } 31 | 32 | - (void)testPerformanceExample { 33 | // This is an example of a performance test case. 34 | [self measureBlock:^{ 35 | // Put the code you want to measure the time of here. 36 | }]; 37 | } 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /xuanjiaallpayUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /xuanjiaallpayUITests/xuanjiaallpayUITests.m: -------------------------------------------------------------------------------- 1 | // 2 | // xuanjiaallpayUITests.m 3 | // xuanjiaallpayUITests 4 | // 5 | // Created by 薛泽军 on 16/4/29. 6 | // Copyright © 2016年 炫嘉科技. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface xuanjiaallpayUITests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation xuanjiaallpayUITests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | 20 | // Put setup code here. This method is called before the invocation of each test method in the class. 21 | 22 | // In UI tests it is usually best to stop immediately when a failure occurs. 23 | self.continueAfterFailure = NO; 24 | // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method. 25 | [[[XCUIApplication alloc] init] launch]; 26 | 27 | // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. 28 | } 29 | 30 | - (void)tearDown { 31 | // Put teardown code here. This method is called after the invocation of each test method in the class. 32 | [super tearDown]; 33 | } 34 | 35 | - (void)testExample { 36 | // Use recording to get started writing UI tests. 37 | // Use XCTAssert and related functions to verify your tests produce the correct results. 38 | } 39 | 40 | @end 41 | --------------------------------------------------------------------------------