亚洲必赢app在哪下载C#开发微信门户及采取(38)–微信摇一摆红包功能

By admin in 亚洲必赢app在哪下载 on 2018年10月11日

摇一摇周边红包接口是啊线下商户提供的发红包功能。用户可于谋家门店等线下场所通过摇一摇周边领取商家发放之红包。我曾在《C#开微信门户及采取(28)–微信“摇一摇·周边”功能的下及接口的落实》介绍过微信摇一摆的系管理,包括页面、设备中的涉及,以及以相当地方内容。本篇继续介绍摇一摇设备的另外一起意义,摇一摇红包功能,介绍如何使用微信摇周边的后台配置好页面和地方,然后经微信JSSDK的方法,摇一摇获取红包的全体工艺流程功能。

1、微信摇一摇红包功能介绍

职能说明

摇一摇周边红包接口是吧线下商户提供的发红包功能。用户可于商量家门店等线下场所通过摇一摇周边领取商家发放之红包,在线上转发分享无效。

开发者可经过接口开发摇一摇红包功能,特点包括:

  1. 不过卜采取模板加载页或由定义Html5页面调起微信原生红包页面(详见创建红包活动着use_template字段,1吗使用模板,2呢利用自定义Html5页面)
  2. 原生红包页面拆红包,无需通过公众号信息发出
  3. 提供关爱群众号能力,用户可活动选择是否关心(裂变红包享时不济)
  4. 就页面可部署超过反链接,可跨反商户的另自定义Html5页面
  5. 暨一个用户以单个红包活动受到只能领取1不成红包

用户侧交互流程

常规的晃动一摇红包的流程如下所示,这里没有动用户从定义的模板,也即是采取系统内置的(努力加载中。。。)的页面,红包需要好拆起来。

亚洲必赢app在哪下载 1

红包组件接口调用流程

  1. 提请红包接口权限:登录摇一摇周边商户后台https://zb.weixin.qq.com ,进入开发者支持,申请开通摇一摇红包组件接口;
  2. 红包预下单:调用微信支付的api进行红包预下单,告知得发放的红包金额,人数,生成红包ticket;
  3. 创造活动并录入红包信息:调用摇周边平台的api录入创建红包活动并录入信息,传入预下单时生成的红包ticket;
  4. 调用jsapi抽红包:在摇出的页面中经过调用jsapi抽红包,抽中红包的用户可拆红包;
  5. 调用以上接口时,红包提供商与红包发给商户公众号要求一律。

摇一摆红包的处理过程可以优先的流水线说明,申请权限后,需要以摆动一摇后令配置相关的红包处理页面,然后经红包接口处理提交红包数,最后通过摇一摇的设备摇起界面,使用JSAPI实现抽取红包的操作,具体过程如下所示。

亚洲必赢app在哪下载 2

里面红包接口处理,是调整用相同多级的红包接口实现之,包括红包预下单、创建红包活动、录入红包信息相当操作,如下所示。

亚洲必赢app在哪下载 3 

摆一摇红包功能开通于后台获取接口即可,如下所示。

亚洲必赢app在哪下载 4

而已经生有关的摇一摇设备(如果无要需要在新的摇一摇设备,请参见上篇随笔《C#付出微信门户及采取(28)–微信“摇一摇·周边”功能的采取与接口的贯彻》的系介绍,有了设备后在页面管理受到上加一个页面,用来拍卖摇一摇的消息的。

亚洲必赢app在哪下载 5

页面的信,就是补加起定义链接界面,如下所示。

亚洲必赢app在哪下载 6

然后配置好URL地址接口,URL地址还索要考虑如何收获用户的openid,因为摇一摆红包接口必须使取得当前用户的openid信息,我们可由此重定向的方法,使用code获取相应的openid信息,具体后面详细介绍。

亚洲必赢app在哪下载 7

 

2、红包接口处理

前介绍了,红包接口处理,是调整用同雨后春笋之红包接口实现的,包括红包预下单、创建红包活动、录入红包信息相当操作,如下所示。

亚洲必赢app在哪下载 8 

那我们便需各自指向这些操作进行打包,并提交有关的数量了。

冲前随笔《C#开微信门户及动(33)–微信现金红包的卷入及下》里面的规则,我们将摇一摇的连锁接口也放在这ILotteryApi接口及LotteryApi实现类似里,如下所示。

亚洲必赢app在哪下载 9

下面的摆一摇红包接口全部是冲上面的接口及促成类似进行全面处理的。

 

1)红包预下单

接口说明

装单个红包的金额,类型等,生成红包信息。预下单就后,需要在72钟头内调用jsapi完成裁减红包的操作。(红包过期失效后,资金会退回到贾财付通帐号。)

接口调用说明

服务器端调用
http请求方式: POST
https://api.mch.weixin.qq.com/mmpaymkttransfers/hbpreorder
POST数据格式:XML
需要商户证书

吁示例

<xml>     
<sign><![CDATA[E1EE61A91C8E90F299DE6AE075D60A2D]]></sign>     
<mch_billno><![CDATA[0010010404201411170000046545]]></mch_billno>     
<mch_id><![CDATA[10000097]]></mch_id>     
<wxappid><![CDATA[wxcbda96de0b165486]]></wxappid>     
<send_name><![CDATA[send_name]]></send_name>     
<hb_type><![CDATA[NORMAL]]></hb_type>     
<auth_mchid><![CDATA[10000098]]></auth_mchid>     
<auth_appid><![CDATA[wx7777777]]></auth_appid>     
<total_amount><![CDATA[200]]></total_amount>     
<amt_type><![CDATA[ALL_RAND]]></amt_type>     
<total_num><![CDATA[3]]></total_num>     
<wishing><![CDATA[恭喜发财 ]]></wishing>     
<act_name><![CDATA[ 新年红包 ]]></act_name>     
<remark><![CDATA[新年红包 ]]></remark>     
<risk_cntl><![CDATA[NORMAL]]></risk_cntl>     
<nonce_str><![CDATA[50780e0cca98c8c8e814883e5caa672e]]></nonce_str>
</xml>

回去数据印证

回去格式为xml

事业有成示范

<xml>     
<return_code><![CDATA[SUCCESS]]></return_code>     
<return_msg><![CDATA[发放成功.]]></return_msg> 
<result_code><![CDATA[SUCCESS]]></result_code> 
<err_code><![CDATA[0]]></err_code>     
<err_code_des><![CDATA[发放成功.]]></err_code_des>     
<mch_billno><![CDATA[0010010404201411170000046545]]></mch_billno> 
<mch_id>10010404</mch_id>     
<wxappid><![CDATA[wx6fa7e3bab7e15415]]></wxappid>     
<sp_ticket><![CDATA[0cca98c8c8e814883]]></sp_ticket> 
<total_amount>3</total_amount>     
<detail_id><![CDATA[001001040420141117000004888]]></detail_id> 
<send_time><![CDATA[20150101080000]]></send_time> 
</xml>  

黄示例

<xml>     
<return_code><![CDATA[FAIL]]></return_code>     
<return_msg><![CDATA[系统繁忙,请稍后再试.]]></return_msg>     
<result_code><![CDATA[FAIL]]></result_code>     
<err_code><![CDATA[268458547]]></err_code>     
<err_code_des><![CDATA[系统繁忙,请稍后再试.]]></err_code_des>     
<mch_billno><![CDATA[0010010404201411170000046542]]></mch_billno>             
<mch_id>10010404</mch_id>     
<wxappid><![CDATA[wx6fa7e3bab7e15415]]></wxappid>      
<total_amount>3</total_amount> 
</xml>

据悉请求参数的验证,以及返回的结果,我们可以独家定义其的扩散参数和散播参数,具体的红包预下单的接口定义如下

        /// <summary>
        /// 红包预下单接口。需要商户证书
        /// 设置单个红包的金额,类型等,生成红包信息。预下单完成后,需要在72小时内调用jsapi完成抽红包的操作。(红包过期失效后,资金会退回到商户财付通帐号。)
        /// </summary>
        /// <param name="data">传入参数数据</param>
        /// <returns></returns>
        LotteryPreOrderResult LotteryPreOrder(LotteryPreOrderData info);

中LotteryPreOrderResult返回的目标结果如下所示,主要的音是如果记录sp_ticket,目前尚未经过API接口获取已经预下单红包的sp_ticket信息,所以一定要是优先记下好,后面在录入红包的时光,需要用及者票。

    public class LotteryPreOrderResult : PayResult
    {
        /// <summary>
        /// 商户订单号
        /// </summary>
        public string mch_billno { get; set; }
        /// <summary>
        /// 公众账号appid
        /// </summary>
        public string wxappid { get; set; }
        /// <summary>
        /// 总付款金额,单位分
        /// </summary>
        public int total_amount { get; set; }
        /// <summary>
        /// 一个普通红包对应一个ticket
        /// </summary>
        public string sp_ticket { get; set; }
        /// <summary>
        /// 红包内部订单号
        /// </summary>
        public string detail_id { get; set; }
        /// <summary>
        /// 红包发放时间 
        /// </summary>
        public string send_time { get; set; }
    }

 

2)创建红包活动

接口说明

创立红包活动,设置红包活动有效期,红包活动开关等核心信息,返回活动id

接口调用说明

服务器端调用
http请求方式: POST
URL: https://api.weixin.qq.com/shakearound/lottery/addlotteryinfo?access_token=ACCESSTOKEN&use_template=1&logo_url=”LOGO_URL”

恳请参数说明

参数 类型 说明
access_token string accesstoken,以参数的形式拼装在url后
use_template int 是否使用模板,1:使用,2:不使用,以参数的形式拼装在url后。(模版即交互流程图中的红包加载页,使用模板用户不需要点击可自动打开红包;不使用模版需自行开发HTML5页面,并在页面调用红包jsapi)
logo_url string 使用模板页面的logo_url,不使用模板时可不加。展示在摇一摇界面的消息图标。图片尺寸为120×120。

POST BODY:JSON格式的结构体,具体信息不以赘述,不过值得说明的凡中间的Key是内需留意的,这个价一定用采用一个规定的价值,因为急需以及后面的抽取红包的署名处理同,否则会出错无法抽取红包。

参数 类型 说明
title string 抽奖活动名称(选择使用模板时,也作为摇一摇消息主标题),最长6个汉字,12个英文字母。
desc string 抽奖活动描述(选择使用模板时,也作为摇一摇消息副标题),最长7个汉字,14个英文字母。
onoff int 抽奖开关。0关闭,1开启,默认为1
begin_time long 抽奖活动开始时间,unix时间戳,单位秒
expire_time long 抽奖活动结束时间,unix时间戳,单位秒,红包活动有效期最长为91天
sponsor_appid string 红包提供商户公众号的appid,需与预下单中的公众账号appid(wxappid)一致
total long 红包总数,红包总数是录入红包ticket总数的上限,因此红包总数应该大于等于预下单时红包ticket总数。
jump_url string 红包关注界面后可以跳转到第三方自定义的页面
key string 开发者自定义的key,用来生成活动抽奖接口的签名参数,长度32位。使用方式见sign生成规则

呼吁示例

Content-Type: application/json Post Body:
{                                                            
 "title": "title",                           
 "desc": "desc",                             
 "onoff": 1,                                 
 "begin_time": 1428854400,                            
 "expire_time": 1428940800,                           
 "sponsor_appid": "wxxxxxxxxxxxxxx",
 "total": 10,
 "jump_url": JUMP_URL,     
 "key": "keyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"                            
}

返回数据印证

示例

{     
 "errcode":0,     
 "errmsg":"",     
 "lottery_id":"xxxxxxllllll", 
 "page_id":1, 
}

据悉上面的接口定义和接口参数说明,我们可以定义创建红包活动的接口定义,如下所示

        /// <summary>
        /// 创建红包活动,设置红包活动有效期,红包活动开关等基本信息,返回活动id
        /// </summary>
        /// <param name="accessToken">调用接口凭证</param>
        /// <param name="useTempate">是否使用模板</param>
        /// <param name="login_url">使用模板页面的logo_url,不使用模板时可不加。展示在摇一摇界面的消息图标。图片尺寸为120x120。</param>
        /// <returns></returns>
        AddLotterResult AddLotteryInfo(string accessToken, bool useTempate, string login_url, AddLotteryJson json);

内AddLotteryResult为我们定义的接口处理结果,主要得记录中的LotteryID,这个价值需要在后的录入红包接口使用及。

    /// <summary>
    /// 添加红包活动的结果
    /// </summary>
    public class AddLotterResult : ErrorJsonResult
    {
        /// <summary>
        /// 生成的红包活动id
        /// </summary>
        public string lottery_id { get; set; }
        /// <summary>
        /// 生成的模板页面ID  
        /// </summary>
        public int page_id { get; set; }
    }

 

3)录入红包信息

每当红包预下单,以及开创红包活动后,就需要拿前两者的音信涉及起来,这个操作就是录入红包信息,录入红包信息包括提交红包活动的ID,以及红包预下单的sp_ticket的票据信息,这样就是好被用户抽取具体的红包信息了。

接口说明

以调用”创建红包活动”接口之后,调用此接口录入红包信息。注意,此接口每次调用,都见面为某个活动新增同批判红包信息,如果红包数少于100只,请通过一样差调动用丰富所有红包信息。如果红包数大于100,可以数调用接口添加。请留心保管多次录入的红包ticket总的数不超出创建该红包活动经常设置的total值。

接口调用说明

服务器端调用
http请求方式: POST
URL:https://api.weixin.qq.com/shakearound/lottery/setprizebucket?access_token=ACCESSTOKEN

POST BODY:JSON格式的结构体

参数 类型 说明
lottery_id string 红包抽奖id,来自addlotteryinfo返回的lottery_id
mchid string 红包提供者的商户号,,需与预下单中的商户号mch_id一致
sponsor_appid string 红包提供商户公众号的appid,需与预下单中的公众账号appid(wxappid)一致
prize_info_list json数组 红包ticket列表,如果红包数较多,可以一次传入多个红包,批量调用该接口设置红包信息。每次请求传入的红包个数上限为100
ticket string 预下单时返回的红包ticket,单个活动红包ticket数量上限为100000个,可添加多次。

恳请示例

Content-Type: application/json Post Body:
{     
"lottery_id": "xxxxxxllllll",     
"mchid": "10000098",     
"sponsor_appid": "wx8888888888888888"     
"prize_info_list": [         
     {            
   "ticket": "v1|ZiPs2l0hpMBp3uwGI1rwp45vOdz/V/zQ/00jP9MeWT+e47/q1FJjwCIP34frSjzOxAEzJ7k2CtAg1pmcShvkChBWqbThxPm6MBuzceoHtj79iHuHaEn0WAO+j4sXnXnbGswFOlDYWg1ngvrRYnCY3g==",                                   
     }
   ]
}

回数据印证

示例

{         
"errcode":0,     
"errmsg":"",     
"repeat_ticket_list":[         
     {            
"ticket": "v1|ZiPs2l0hpMBp3uwGI1rwp45vOdz/V/zQ/00jP9MeWT+e47/q1FJjwCIP34frSjzOxAEzJ7k2CtAg1pmcShvkChBWqbThxPm6MBuzceoHtj79iHuHaEn0WAO+j4sXnXnbGswFOlDYWg1ngvrRYnCY3g==",                       
     }            
  ]     
"success_num":100 
}

因这些接口定义和传递参数信息,我们可定义录入红包的接口。

        /// <summary>
        /// 录入红包信息
        /// 在调用"创建红包活动"接口之后,调用此接口录入红包信息。
        /// 注意,此接口每次调用,都会向某个活动新增一批红包信息,如果红包数少于100个,请通过一次调用添加所有红包信息。
        /// 如果红包数大于100,可以多次调用接口添加。请注意确保多次录入的红包ticket总的数目不大于创建该红包活动时设置的total值。
        /// </summary>
        /// <param name="accessToken">调用接口凭证</param>
        /// <param name="json">录入红包信息</param>
        /// <returns></returns>
        SetPrizeBucketResult SetPrizeBucket(string accessToken, SetPrizeBucketJson json);

内部录入红包返回的结果类SetPrizeBucketResult 定义如下所示。

    /// <summary>
    /// 录入红包返回的结果
    /// </summary>
    public class SetPrizeBucketResult : ErrorJsonResult
    {
        /// <summary>
        /// 重复使用的ticket列表,如为空,将不返回
        /// </summary>
        public List<PrizeTicket> repeat_ticket_list { get; set; }
        /// <summary>
        /// 过期的ticket列表,如为空,将不返回
        /// </summary>
        public List<PrizeTicket> expire_ticket_list { get; set; }
        /// <summary>
        /// 金额不在大于1元,小于1000元的ticket列表,如为空,将不返回
        /// </summary>
        public List<PrizeTicket> invalid_amount_ticket_list { get; set; }
        /// <summary>
        /// 原因:生成红包的时候,授权商户号auth_mchid和auth_appid没有写摇周边的商户号
        /// </summary>
        public List<PrizeTicket> wrong_authmchid_ticket_list { get; set; }
        /// <summary>
        /// ticket解析失败,可能有错别字符或不完整    
        /// </summary>
        public List<PrizeTicket> invalid_ticket_list { get; set; }

        /// <summary>
        /// 成功录入的红包数量
        /// </summary>
        public int success_num { get; set; }
    }

 

3、红包接口的施用和JSAPI的摇一摇页面处理

前说明了系的接口信息以及呼应的结果类的定义,我们现实于依据有关的验证,实现接口的拍卖就可了,这个小节介绍如何行使这些接口,实现我们对摇一摇红包的周工艺流程的处理。

假使首先步,调用红包预下单处理。

        string sp_ticket = "";
        /// <summary>
        /// 红包预下单,并记录红包的ticket信息
        /// </summary>
        private void btnHbPreOrder_Click(object sender, EventArgs e)
        {
            LotteryPreOrderData info = new LotteryPreOrderData()
            {
                total_amount = 100,
                total_num = 1,
                act_name = "恭喜发财",
                remark = "恭喜发财",
                wishing = "恭喜发财",
            };
            var result = hbApi.LotteryPreOrder(info);
            sp_ticket = result.sp_ticket;//赋值,方便下面的录入红包操作
            Console.WriteLine(XmlConvertor.FormatXml(result.ToXml()));
        }

次总统创建红包活动,如下所示。

        string lotteryId = "";
        /// <summary>
        /// 创建红包活动,并记录活动的ID
        /// </summary>
        private void btnCreateLottery_Click(object sender, EventArgs e)
        {
            AddLotteryJson json = new AddLotteryJson()
            {
                begin_time = DateTime.Now.DateTimeToInt(),
                expire_time = DateTime.Now.AddDays(90).DateTimeToInt(),
                title = "测试红包",
                desc = "测试红包",
                sponsor_appid = this.AppId,
                onoff = 1,
                total = 1, 
                jump_url = "http://www.iqidi.com",
                key = accountInfo.PayAPIKey
            };

            var result = hbApi.AddLotteryInfo(token, false, null, json);
            lotteryId = result.lottery_id;//赋值方便查询红包

            Console.WriteLine(result.ToJson());
        }

其三步,根据红包预下单结果跟红包活动创设结果,录入红包信息

        /// <summary>
        /// 录入红包信息,供使用摇一摇页面处理
        /// </summary>
        private void btnSetHB_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(sp_ticket))
            {
                MessageUtil.ShowError("红包票据ticket为空");
                return;
            }

            SetPrizeBucketJson json = new SetPrizeBucketJson()
            {
                lottery_id = lotteryId, //使用前面的红包活动
                mchid = accountInfo.MchID,
                sponsor_appid = accountInfo.AppID,
                prize_info_list = new List<PrizeTicket>()
                {
                    new PrizeTicket() { ticket = sp_ticket},//使用前面的红包预下单ticket
                }
            };
            var result = hbApi.SetPrizeBucket(this.token, json);
            Console.WriteLine("录入红包的结果:");
            Console.WriteLine(result.ToJson());
        }

季步,配置好重定向的页面,方便得用户的openid

1)用户同意授权,获取code

以此手续,我们采取的是“网页授权获取用户中心信息”操作,其中有关的音讯说明如下所示。

以确保微信公众账号有授权作用域(scope参数)的权的前提下(服务号获得高级接口后,默认拥有scope参数中的snsapi_base和snsapi_userinfo),引导关注者打开如下页面:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
若提示“该链接无法访问”,请检查参数是否填写错误,是否拥有scope参数对应的授权作用域权限。

更为令人瞩目:由于授权操作安全等比高,所以当倡议授权请求时,微信会对授权链接做正则高匹配校验,如果链接的参数顺序不对,授权页面将无法正常访问

参考链接(请在微信客户端中打开此链接体验)
Scope为snsapi_base
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx520c15f417810387&redirect_uri=https%3A%2F%2Fchong.qq.com%2Fphp%2Findex.php%3Fd%3D%26c%3DwxAdapter%26m%3DmobileDeal%26showwxpaytitle%3D1%26vb2ctag%3D4_2030_5_1194_60&response_type=code&scope=snsapi_base&state=123#wechat_redirect
Scope为snsapi_userinfo
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxf0e81c3bee622d60&redirect_uri=http%3A%2F%2Fnba.bluewebgame.com%2Foauth_response.php&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect

尤其令人瞩目:跳反回调redirect_uri,应当采取https链接来担保授权code的安全性。

然,如果我们配备的连年为http://www.iqidi.com/JSSDKTest/RedPack?uid=iqidiSoftware
,其中uid为咱相应的账号名称。

这就是说我们根据上面规则,得到重定向的连地址便是之类所示。

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx3d81fc2886d86526&redirect_uri=http%3a%2f%2fwww.iqidi.com%2fJSSDKTest%2fRedPack%3fuid%3diqidiSoftware&response_type=code&scope=snsapi_base&state=state#wechat_redirect

2)通过code换取网页授权access_token

率先请求小心,这里经过code换取的凡一个独特之网页授权access_token,与基础支撑中的access_token(该access_token用于调用其他接口)不同。公众号只是透过下述接口来赢得网页授权access_token。如果网页授权的作用域为snsapi_base,则依照步骤中得到到网页授权access_token的又,也取到了openid,snsapi_base式的网页授权流程便到之结束。

更是令人瞩目:由于民众号的secret和获得到的access_token安全级别都深大,必须就包存在服务器,不允传给客户端。后续刷新access_token、通过access_token获取用户信息等手续,也要从服务器发起。

请方法

获取code后,请求以下链接获取access_token: 
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

参数说明

 

亚洲必赢app在哪下载 10

在切实的页面中,我们得以得相关的参数,如uid我们得拿它们换为咱相应的账号信息,如下所示。

        /// <summary>
        /// 根据账号名获取对应的对象
        /// </summary>
        /// <returns></returns>
        private AccountInfo GetAccount()
        {
            AccountInfo accountInfo = null;
            string accountNo = Request.QueryString["uid"];
            if (!string.IsNullOrEmpty(accountNo))
            {
                accountInfo = BLLFactory<Account>.Instance.FindByAccountNo(accountNo);
            }
            return accountInfo;
        }

若果里边的code,我们根据是信息,也得拿走用户之连锁消息,我们需要取得访问用户之openid,如下所示。

                string code = Request.QueryString["code"];
                IBasicApi baseApi = new BasicApi();
                var result = baseApi.GetAuthToken(accountInfo.UniteAppId, accountInfo.UniteAppSecret, code);
                if (result != null && !string.IsNullOrEmpty(result.openid))
                {
                    var openid = result.openid;

来了这些信息,我们虽足以构建我们的红包参数,并打包好签名了。

                    WxPayData data = new WxPayData();
                    data.SetValue("openid", openid);
                    data.SetValue("lottery_id", lottery_id);
                    data.SetValue("noncestr", data.GenerateNonceStr());
                    data.SetValue("sign", data.MakeSign(accountInfo.PayAPIKey));

接下来,我们当后台,把这些信赋值给ViewBag,就足以在页面上顺利使用了。

                    var sign = data.GetString("sign");//获取生成的sign
                    var noncestr = data.GetString("noncestr");//获取生成的sign

                    ViewBag.sign = sign;
                    ViewBag.lottery_id = lottery_id;
                    ViewBag.openid = openid;
                    ViewBag.noncestr2 = noncestr;

以摇一摇红包之处理视图页面中,我们先行引入对应的js文件,如下所示

    <title>摇一摇红包页面</title>
    <link rel="stylesheet" href="http://demo.open.weixin.qq.com/jssdk/css/style.css?ts=1420774989">
    <script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
    <script type="text/javascript" src="http://zb.weixin.qq.com/app/shakehb/BeaconShakehbJsBridge.js"></script>

下一场在JS里面长相关的处理函数,并赋值给相应之接口参数。

    <script type="text/javascript">
    BeaconShakehbJsBridge.ready(function () {
        //跳转到抽红包页面
        BeaconShakehbJsBridge.invoke('jumpHongbao', {
            lottery_id: '@ViewBag.lottery_id',
            noncestr: '@ViewBag.noncestr2',
            openid: '@ViewBag.openid',
            sign: '@ViewBag.sign'
        });
    });
    </script>

终极,我们测试相关的结果,使用手机摇一摇获得红包的进程界面效果如下所示。

亚洲必赢app在哪下载 11  亚洲必赢app在哪下载 12

亚洲必赢app在哪下载 13  亚洲必赢app在哪下载 14

 

苟对是《C#支出微信门户及下》系列感兴趣,可以关心自己的其它文章,系列随笔如下所示:

C#出微信门户及应用(38)–微信摇一摆红包功能

C#支付微信门户及用(37)–微信公众号标签管理职能

C#付出微信门户及动(36)–微信卡劵管理之包裹操作

C#出微信门户及下(35)–微信支付的局会封装操作

C#支付微信门户及使用(34)–微信裂变红包

C#付出微信门户及利用(33)–微信现金红包的卷入及运用

C#出微信门户及用(32)–微信支付接入和API封装使用

C#支付微信门户及下(31)–微信语义理解接口的落实与拍卖

C#开发微信门户及使用(30)–信息的群发处理和预览功能

C#开微信门户及运用(28)–微信“摇一摇·周边”功能的采用与接口的兑现

C#付出微信门户及以(27)-公众号模板消息管理 

C#出微信门户及采取(26)-公众号微信资料管理

C#支付微信门户及应用(25)-微信企业号的客户端管住职能

C#开发微信门户及运用(24)-微信小店货架信息保管

C#开微信门户及以(23)-微信小店商品管理接口的包和测试

C#支出微信门户及采取(22)-微信小店的出与运

C#出微信门户及应用(21)-微信企业号的音以及波之接处理和解密 

C#支出微信门户及用(20)-微信企业号的食谱管理

C#开发微信门户及下(19)-微信企业号的信发送(文本、图片、文件、语音、视频、图文信息等)

C#支出微信门户及应用(18)-微信企业号的通讯录管理支付之成员管理

C#出微信门户及用(17)-微信企业号的通讯录管理出的部门管理

C#支出微信门户及下(16)-微信企业号的安排以及下

C#开发微信门户及应用(15)-微信菜单增加扫一扫、发图片、发地理位置功能

C#支付微信门户及用(14)-在微信菜单中使用重定向获用户数量

C#开发微信门户及下(13)-使用地理位置扩展相关以

C#开微信门户及使用(12)-使用语音处理

C#支出微信门户及利用(11)–微信菜单的余呈现方法介绍

C#出微信门户及用(10)–在管制网遭到联手微信用户分组信息

C#支付微信门户及动(9)-微信门户菜单管理与交至微信服务器

C#付出微信门户及使用(8)-微信门户应用管理网机能介绍

C#出微信门户及利用(7)-微信多客服功能和支出并

C#支付微信门户及用(6)–微信门户菜单的管理操作

C#付出微信门户及动(5)–用户分组信息保管

C#出微信门户及下(4)–关注用户列表及详细信息管理

C#支付微信门户及使用(3)–文本信息及图文信息的答疑

C#开发微信门户及运用(2)–微信消息的拍卖同应对

C#开微信门户及以(1)–开始下微信接口

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2018 亚洲必赢app官方下载 版权所有