2019-05-09 15:02:55 Aries_H 阅读数 855

关注公众号,获取更多干货。

二维码

下面是正文:


好久没有写博客了,今天发现个好玩的东西,就动动手写几个字,哈哈。

本文并不是教大家如何做微信登录和微信分享,那是需要接SDK的。

今天的东西很鸡肋,但有时候还挺需要的。

需求很简单,就是怎么能做到在Unity里写一个按钮,点击一下就打开微信。

其实实现起来也很简单Orz

public void OnButtonClick()
{
	Application.OpenURL("weixin://");
}

emmmmm,大家可以去试试啦哈哈

本文永久链接:https://blog.csdn.net/Aries_H/article/details/90035020
转载请注明出处。谢谢。

2017-06-06 12:42:34 nicepainkiller 阅读数 3354

本人 unity3D 开发 因项目 需要 接入 微信 支付, 步步填坑。和大家风险下 坑经验!

因为这边服务器暂时没有到位。 所以 一切处理 都是在客户端完成!

首先感谢这个这位博主:http://www.jianshu.com/p/94dcc220b2aa

主要的几个文件 给大家分享下!


1.初始化 微信参数 info 从unity 传过来 

// C函数  UNity3d 调用具体实现
//**********************************

void _startUp(char* info)
{
    [NativeIOSManager instance];
    
    //NSLog(@"传来的参数:>>%s",info);
    
    NSString *initInfo = [NSString stringWithUTF8String:info];
    NSDictionary *dic  = [iOSManager dictionaryWithJsonString:initInfo];
    if( dic != nil )
    {
        iOSManager.WX_AppID             = dic[@"AppID"];
        iOSManager.WX_MCHID             = dic[@"MCH_ID"];
        iOSManager.WX_APP_Secret        = dic[@"APP_Secret"];
        iOSManager.WX_AppKey            = dic[@"APP_Key"];
        iOSManager.WX_PayArticleInfo    = dic[@"weChatPayArticleInfo"];
        iOSManager.WX_PayArticleCheck   = dic[@"weChatPayArticleCheck"];
        
        [WXApi registerApp: iOSManager.WX_AppID];
        NSLog(@"注册微信......");
        
    }else
    {
        NSLog(@"参数赋值失败");
        [iOSManager ResoultWeChatPayFail:@"初始化失败"];
    }
    
    //    NSLog(@"iOSManager.WX_AppID:%@",            iOSManager.WX_AppID);
    //    NSLog(@"iOSManager.WX_MCHID:%@",            iOSManager.WX_MCHID);
    //    NSLog(@"iOSManager.WX_APP_Secret:%@",       iOSManager.WX_APP_Secret);
    //    NSLog(@"iOSManager.WX_AppKey:%@",           iOSManager.WX_AppKey);
    //    NSLog(@"iOSManager.WX_PayArticleInfo:%@",   iOSManager.WX_PayArticleInfo);
    //    NSLog(@"iOSManager.WX_PayArticleCheck:%@",  iOSManager.WX_PayArticleCheck);
    
}

2. 这一步是构造 统一下单的 数据   其中的参数 我有项目的参数 大家不用删掉就好

 

void _WechatPay(char* gameid, char* articleid)
{
    if( [WXApi isWXAppSupportApi]  != 0)
    {
        iOSManager.WX_GameID        = [NSString stringWithUTF8String:gameid];
        iOSManager.WX_ArticledID    = [NSString stringWithUTF8String:articleid];
        
        NSString *urlTag = [NSString stringWithFormat:@"%@GameID=%@&ProductID=%@", iOSManager.WX_PayArticleInfo, iOSManager.WX_GameID,iOSManager.WX_ArticledID ];
        
        NSLog(@"urlTag:%@",urlTag);
        
        NSURL       *url        = [NSURL URLWithString:urlTag];
        NSError     *err        = nil;
        NSString    *jsonString = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error: &err];
        
        NSLog(@"App服务器返回:%@",jsonString);
        
        if( jsonString !=nil )
        {
            
            NSDictionary *dic = [iOSManager dictionaryWithJsonString:jsonString];
            
            if( dic != nil )
            {
                iOSManager.WX_Noncestr   = dic[@"SjNumber"];
                iOSManager.WX_OutTradNO  = dic[@"OrderID"];
                iOSManager.WX_PrduceName = dic[@"ProductName"];
                iOSManager.WX_Price      = dic[@"Price"];
                //int price = [dic[@"Price"] intValue] *100;
                //iOSManager.WX_Price      = [NSString stringWithFormat:@"%d",price];
                
                DataMD5 *date = [[DataMD5 alloc] initWithAppid:iOSManager.WX_AppID
                                                        mch_id:iOSManager.WX_MCHID
                                                     nonce_str:iOSManager.WX_Noncestr
                                                    partner_id:iOSManager.WX_AppKey
                                                          body:@"912YULE"
                                                  out_trade_no:iOSManager.WX_OutTradNO
                                                     total_fee:iOSManager.WX_Price
                                              spbill_create_ip:[getIPhoneIP getIPAddress]
                                                    notify_url:@"www.baidu.com"
                                                    trade_type:@"APP"];
                
                NSString* sign = [date getSignForMD5];
                
                //设置参数并转化成xml格式
                NSMutableDictionary *dic = [NSMutableDictionary dictionary];
                [dic setValue:iOSManager.WX_AppID forKey:@"appid"];//公众账号ID
                [dic setValue:iOSManager.WX_MCHID forKey:@"mch_id"];//商户号
                [dic setValue:iOSManager.WX_Noncestr forKey:@"nonce_str"];//随机字符串
                [dic setValue:sign forKey:@"sign"];//签名
                [dic setValue:@"912YULE" forKey:@"body"];//商品描述
                [dic setValue:iOSManager.WX_OutTradNO forKey:@"out_trade_no"];//订单号
                [dic setValue:iOSManager.WX_Price forKey:@"total_fee"];//金额
                [dic setValue:[getIPhoneIP getIPAddress] forKey:@"spbill_create_ip"];//终端IP
                [dic setValue:@"www.baidu.com" forKey:@"notify_url"];//通知地址
                [dic setValue:@"APP" forKey:@"trade_type"];//交易类型
                // 转换成xml字符串
                NSString *string = [dic XMLString];
                
                [iOSManager getProduceArgs:string];
                
            }else
            {
                NSLog(@"与APP服务器通讯出错");
                [iOSManager ResoultWeChatPayFail:@"与APP服务器通讯出错!"];
            }
            
            
        }else
        {
            NSLog(@"与APP服务器通讯出错");
            [iOSManager ResoultWeChatPayFail:@"与APP服务器通讯出错!"];
        }
    }else
    {
        [iOSManager ResoultWeChatPayFail:@"微信不支持"];
    }
}

3.  请求 微信的统一下单。 应为 要用到 post请求 所以 用到了 AFNetWorking 库,

这个库我用的是 3.0 版本的,然后手动添加,添加完成后 需要在 unity 导入到 xcode   修改项目  .pch 文件,以及添加依赖库 参考    参考

#pragma mark   ==============获取统一订单接口==============
-(void)getProduceArgs : (NSString *) httpString
{
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    manager.responseSerializer = [[AFHTTPResponseSerializer alloc] init];
    [manager.requestSerializer setValue:@"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
    [manager.requestSerializer setValue:@"https://api.mch.weixin.qq.com/pay/unifiedorder" forHTTPHeaderField:@"SOAPAction"];
    [manager.requestSerializer setQueryStringSerializationWithBlock:^NSString *(NSURLRequest *request, NSDictionary *parameters, NSError *__autoreleasing *error) {
        return httpString;
    }];
    
    //NSLog(@"httpString =====>1:%@", httpString);
    
    
    [manager POST:WXUNIFIEDORDERURL parameters:httpString progress:^(NSProgress * _Nonnull uploadProgress) {
    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject)
     {
         NSString *responseString = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding] ;
         
         NSLog(@"responseString is %@",responseString);
         NSDictionary *dic = [NSDictionary dictionaryWithXMLString:responseString];
         //判断返回的许可
         if ([[dic objectForKey:@"result_code"] isEqualToString:@"SUCCESS"] &&[[dic objectForKey:@"return_code"] isEqualToString:@"SUCCESS"] ) {
             //发起微信支付,设置参数
             NSLog(@"发起微信支付,设置参数");
             
             
             PayReq *request     = [[PayReq alloc] init];
             request.openID      = [dic objectForKey:@"appid"];
             request.partnerId   = [dic objectForKey:@"mch_id"];
             request.prepayId    = [dic objectForKey:@"prepay_id"];
             request.package     = @"Sign=WXPay";
             request.nonceStr    = [dic objectForKey:@"nonce_str"];
             
             iOSManager.WX_Prepay_id = request.prepayId;
             
             
             //将当前事件转化成时间戳
             NSDate *datenow     = [NSDate date];
             NSString *timeSp    = [NSString stringWithFormat:@"%ld", (long)[datenow timeIntervalSince1970]];
             UInt32 timeStamp    = [timeSp intValue];
             request.timeStamp   = timeStamp;
             // 签名加密
             
             DataMD5 *md5 = [[DataMD5 alloc] initWithAppid:iOSManager.WX_AppID
                                                    mch_id:iOSManager.WX_MCHID
                                                 nonce_str:iOSManager.WX_Noncestr
                                                partner_id:iOSManager.WX_AppKey
                                                      body:@"912YULE"
                                              out_trade_no:iOSManager.WX_OutTradNO
                                                 total_fee:iOSManager.WX_Price
                                          spbill_create_ip:[getIPhoneIP getIPAddress]
                                                notify_url:@"www.baidu.com"
                                                trade_type:@"APP"];
             
             request.sign    = [md5 createMD5SingForPay:request.openID
                                              partnerid:request.partnerId
                                               prepayid:request.prepayId
                                                package:request.package
                                               noncestr:request.nonceStr
                                              timestamp:request.timeStamp];
             //             // 调用微信
             //             NSLog(@"request.openID:%@",     request.openID);
             //             NSLog(@"request.partnerId:%@",  request.partnerId);
             //             NSLog(@"request.prepayId:%@",   request.prepayId);
             //             NSLog(@"request.package:%@",    request.package);
             //             NSLog(@"request.nonceStr:%@",   request.nonceStr);
             //             NSLog(@"request.timeStamp:%u",  (unsigned int)request.timeStamp);
             //             NSLog(@"request.sign:%@",       request.sign);
             
             
             [WXApi sendReq:request];
             //[WXApi on]
             
             //[MBProgressHUD hideHUD];
         }else{
             //LXLog(@"参数不正确,请检查参数");
             //[MBProgressHUD hideHUD];
             //[MBProgressHUD showError:@"支付错误!"];
             [iOSManager ResoultWeChatPayFail:@"与服务器通讯出错!"];
         }
         
         
     } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error)
     {
         NSLog(@"error is %@",error);
         
         [iOSManager ResoultWeChatPayFail:@"与服务器通讯出错!"];
     }];
    
}

然后 unity3D 端






4.后来发现 调起支付 并且完成以后, 微信支付回调 

-(void)onResp:(BaseResp *)resp {
  并没有执行 。 然后 把回调写在了 导出的 xcode 工程的 UnityAppController.mm 中就能回调了参考    http://web.mob.com/faq/?/question/58

头文件




估计不太详细 核心源码:http://download.csdn.net/detail/nicepainkiller/9862138

2019-10-02 11:51:07 Summer0C 阅读数 120

关于Unity接入微信扫码登录 请联系QQ63672785

欢迎使用Markdown编辑器

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

新的改变

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

  1. 全新的界面设计 ,将会带来全新的写作体验;
  2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
  3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
  4. 全新的 KaTeX数学公式 语法;
  5. 增加了支持甘特图的mermaid语法1 功能;
  6. 增加了 多屏幕编辑 Markdown文章功能;
  7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
  8. 增加了 检查列表 功能。

功能快捷键

撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G

合理的创建标题,有助于目录的生成

直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

插入链接与图片

链接: link.

图片: Alt

带尺寸的图片: Alt

居中的图片: Alt

居中并且带尺寸的图片: Alt

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block
var foo = 'bar';

生成一个适合你的列表

  • 项目
    • 项目
      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目 Value
电脑 $1600
手机 $12
导管 $1

设定内容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列 第二列 第三列
第一列文本居中 第二列文本居右 第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPE ASCII HTML
Single backticks 'Isn't this fun?' ‘Isn’t this fun?’
Quotes "Isn't this fun?" “Isn’t this fun?”
Dashes -- is en-dash, --- is em-dash – is en-dash, — is em-dash

创建一个自定义列表

Markdown
Text-to-HTML conversion tool
Authors
John
Luke

如何创建一个注脚

一个具有注脚的文本。2

注释也是必不可少的

Markdown将文本转换为 HTML

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ(n)=(n1)!nN\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N 是通过欧拉积分

Γ(z)=0tz1etdt. \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,.

你可以找到更多关于的信息 LaTeX 数学表达式here.

新的甘特图功能,丰富你的文章

Mon 06Mon 13Mon 20已完成 进行中 计划一 计划二 现有任务Adding GANTT diagram functionality to mermaid
  • 关于 甘特图 语法,参考 这儿,

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:

张三李四王五你好!李四, 最近怎么样?你最近怎么样,王五?我很好,谢谢!我很好,谢谢!李四想了很长时间,文字太长了不适合放在一行.打量着王五...很好... 王五, 你怎么样?张三李四王五

这将产生一个流程图。:

链接
长方形
圆角长方形
菱形
  • 关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:

Created with Raphaël 2.2.0开始我的操作确认?结束yesno
  • 关于 Flowchart流程图 语法,参考 这儿.

导出与导入

导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


  1. mermaid语法说明 ↩︎

  2. 注脚的解释 ↩︎

2017-05-26 17:58:58 qq563129582 阅读数 18731

Andoid版本

微信官方文档

app端开发步骤:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5

SDK和Demo下载: https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=11_1

参考文章:http://www.jianshu.com/p/c97639279d2e

如果你已经成功集成了微信登录和分享,那么此文将助你快速集成微信支付,此文基于微信支付SDK3.1.1,也就是目前为止最新的SDK
1)微信官方的集成文档
2)微信官方资源下载


资源下载


不过我相信,即便你看了微信的官方文档,你依然不知道微信支付怎么集成,因为微信支付的官方文档简直太.....

如果你已经准备好了资源包,接下来正式开始集成

我们需要的资源其实有以下几样,在开始前,就这些转备好吧
1)微信支付的APPID
2)微信支付依赖包 >>> libammsdk.jar
3)一个Activity类 >>> WXPayEntryActivity.java

这里需要特别说明一下,这个Activity类,直接从下载到的范例代码中copy到自己的工程中即可,这个页面是在你调起微信支付完成支付(或取消或失败)后,再回到你的App时会调用的一个页面。页面的布局可以是你自定义的布局,直接放图讲解:

先说一下这个类的路径,网上也有一大堆介绍了,我直接放图,路径一定,而且必须是这样的:


WXPayEntryActivity 的路径


在这个类中需要注意的地方有两个:
1、这个类中的布局是可以自定义的,如果你不需要展示什么布局,而是要跳转页面,把这段代码删除即可


回调页面的布局


2、回调结果的处理,下面是官方的处理方式,直接给了一个dialog,很多人会摸不着头脑,如果你不需要这个dialog,直接删除就好了,不需要把官方demo中的布局和资源都复制过来


官方的处理方式


下面是我自定义的处理方式,比较简单,就是土司显示了一下支付结果,如果你需要支付成功后跳转,那么直接在这里startActivity即可,别忘记最后要将这个页面finish()


自定义的处理方式

这个类中的其余的回调方法,我们都不需要去操作

然后我们就可以开始支付了,支付很简单,真的很简单


参数列表


这是微信支付需要我们携带的参数,对于新人来说,可能比较困惑的是我怎么生成这些参数呢?其实这些参数都是服务器返回给我们的,APPID我们可以自己保存在本地一份,其余的都是服务器返回给我们的,大概介绍一下流程:


发起支付的流程,提交订单的时候的参数根据项目需要配置

最后,服务器返回给我们微信支付的参数后,我们就可以愉快的支付了,这里是关键一步,注意!!


发起支付的关键步骤

至此我们已经可以调起微信支付页面来支付了
最后还有一个需要注意的是,很多人被这一步坑了,就是关于微信开放平台签名的问题。其实只要你手机上的程序的签名和你在微信平台登记的签名一致即可,无论是debug版本,还是release版本


微信开放平台签名


为了方便测试,我暂时填写的是我debug的签名,当然这个是可以改的,修改后会有审核期,几天就不知道,有时会很快,当应用快上线之前,记得去改为正式的签名即可,修改次数我也不知道了,可以自行百度一下!


修改签名

2017-09-27 10:36:18 a153796894 阅读数 3150

unity想跑IOS。必须拿真机测试。
错误总结
1. Permission denied的解决方法:chmod +x /Users/majiang/Desktop/U3DIOS/MapFileParser.sh
2. 必须将libWeChatSDK.a文件放到项目的Libraries文件夹下,然后在导入
3. 在unity的playerSetting中把auto graphics api的钩去除把metal删除
4. 如果爆不知名的错请把build settings 中的oc automatic这项选成YES
5. 把SendAuthReq中的autorelease去掉

extern "C"{
    void WeiXinLoginByIos(){
        NSLog(@"111");
        //构造SendAuthReq结构体
        SendAuthReq* req =[[SendAuthReq alloc ] init ];
        req.scope = @"snsapi_userinfo" ;
        req.state = @"123" ;
        //第三方向微信终端发送一个SendAuthReq消息结构
        [WXApi sendReq:req];
    }
}
//重写微信方法(必要步骤)
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
    return [WXApi handleOpenURL:url delegate:self];
}

//重写微信方法(必要步骤)
-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options{
    return [WXApi handleOpenURL:url delegate:self];
}

-(void) onReq:(BaseReq *)req{}

#define WeiXinID @"你的APPID"
#define WeiXinSecret @"你的APPSecret"
#define GameObjectName "UI_Root"
#define MethodName "json_UserInfo"

-(void) onResp:(BaseResp *)resp{
    if (resp.errCode==0) {
        NSLog(@"微信登录返回成功!");

    }else{
        NSLog(@"微信登录失败! %d",resp.errCode);
    }
    /*
     enum  WXErrCode {
     WXSuccess           = 0,    成功
     WXErrCodeCommon     = -1,  普通错误类型
     WXErrCodeUserCancel = -2,    用户点击取消并返回
     WXErrCodeSentFail   = -3,   发送失败
     WXErrCodeAuthDeny   = -4,    授权失败
     WXErrCodeUnsupport  = -5,   微信不支持
     };
     */
    // 返回成功,获取Code
    SendAuthResp *sendResp = resp;
    NSString *code = sendResp.code;
    NSLog(@"code=%@",sendResp.code);
    // 根据Code获取AccessToken(有限期2个小时)
    // https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code 

    //
    // 发起GET请求
    // 2.1.设置请求路径
    NSString *urlStr = [NSString stringWithFormat:@"https://api.weixin.qq.com/sns/oauth2/access_token?appid=%@&secret=%@&code=%@&grant_type=authorization_code 

",WeiXinID,WeiXinSecret,code];

    // 转码
    urlStr = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    // URL里面不能包含中文
    NSURL *url = [NSURL URLWithString:urlStr];
    // 2.2.创建请求对象
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; // 默认就是GET请求
    request.timeoutInterval = 5; // 设置请求超时
    // 2.3.发送请求
    [self sendAsync:request];

    NSLog(@"---------已经发出请求");
}
//重写微信方法(必要步骤)
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
    return [WXApi handleOpenURL:url delegate:self];
}

//重写微信方法(必要步骤)
-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options{
    return [WXApi handleOpenURL:url delegate:self];
}

-(void) onReq:(BaseReq *)req{}

#define WeiXinID @"你的APPID"
#define WeiXinSecret @"你的APPSecret"
#define GameObjectName "UI_Root"
#define MethodName "json_UserInfo"

-(void) onResp:(BaseResp *)resp{
    if (resp.errCode==0) {
        NSLog(@"微信登录返回成功!");

    }else{
        NSLog(@"微信登录失败! %d",resp.errCode);
    }
    /*
     enum  WXErrCode {
     WXSuccess           = 0,    成功
     WXErrCodeCommon     = -1,  普通错误类型
     WXErrCodeUserCancel = -2,    用户点击取消并返回
     WXErrCodeSentFail   = -3,   发送失败
     WXErrCodeAuthDeny   = -4,    授权失败
     WXErrCodeUnsupport  = -5,   微信不支持
     };
     */
    // 返回成功,获取Code
    SendAuthResp *sendResp = resp;
    NSString *code = sendResp.code;
    NSLog(@"code=%@",sendResp.code);
    // 根据Code获取AccessToken(有限期2个小时)
    // https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code 

    //
    // 发起GET请求
    // 2.1.设置请求路径
    NSString *urlStr = [NSString stringWithFormat:@"https://api.weixin.qq.com/sns/oauth2/access_token?appid=%@&secret=%@&code=%@&grant_type=authorization_code 

",WeiXinID,WeiXinSecret,code];

    // 转码
    urlStr = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    // URL里面不能包含中文
    NSURL *url = [NSURL URLWithString:urlStr];
    // 2.2.创建请求对象
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; // 默认就是GET请求
    request.timeoutInterval = 5; // 设置请求超时
    // 2.3.发送请求
    [self sendAsync:request];

    NSLog(@"---------已经发出请求");
}
没有更多推荐了,返回首页