365体育备用网址报道16.7.2 创建会议门票_365体育备用网址官网资讯

会议门票是一种很常用的票据。使用微信卡券的会议门票功能,能够为参会者发放电子门票,设置座次,扫码签到及统计到访率等。

  1 class class_wxcard
  2 {
  3     var $appid = APPID;
  4     var $appsecret = APPSECRET;
  5 
  6     //构造函数,猎取Access Token
  7     public function __construct($appid = NULL, $appsecret = NULL)
  8     {
  9         if($appid && $appsecret){
 10             $this->appid = $appid;
 11             $this->appsecret = $appsecret;
 12         }
 13         $res = file_get_contents('token.json');
 14         $result = json_decode($res, true);
 15         $this->expires_time = $result["expires_time"];
 16         $this->access_token = $result["access_token"];
 17         if (time() > ($this->expires_time + 3600)){
 18             $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->appid."&secret=".$this->appsecret;
 19             $res = $this->http_request($url);
 20             $result = json_decode($res, true);
 21             $this->access_token = $result["access_token"];
 22             $this->expires_time = time();
 23             file_put_contents('token.json', '{"access_token": "'.$this->access_token.'", "expires_time": '.$this->expires_time.'}');
 24         }
 25     }
 26 
 27     //上传手机捕鱼游戏平台金冠渔乐城
 28     public function upload_image($file)
 29     {
 30         if (PHP_OS == "Linux"){        //Linux
 31             $data = array("buffer"  => "@".dirname(__FILE__).'/'.$file);
 32         }else{                        //WINNT
 33             $data = array("buffer"  => "@".dirname(__FILE__).'\\'.$file);
 34         }
 35         $url = "https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=".$this->access_token;
 36         $res = $this->http_request($url, $data);
 37         return json_decode($res, true);
 38     }
 39 
 40     //创建卡券
 41     public function create_card($data)
 42     {
 43         $url = "https://api.weixin.qq.com/card/create?access_token=".$this->access_token;
 44         $res = $this->http_request($url, $this->array_to_json(array('card'=>$data)));
 45         return json_decode($res, true);
 46     }
 47 
 48     //创建二维码接口
 49     public function create_card_qrcode($data)
 50     {
 51         $url = "https://api.weixin.qq.com/card/qrcode/create?access_token=".$this->access_token;
 52         $res = $this->http_request($url, json_encode($data));
 53         return json_decode($res, true);
 54     }
 55     
 56     //特别票类
 57     //更新会议门票
 58     public function update_card_meetingticket($data)
 59     {
 60         $url = "https://api.weixin.qq.com/card/meetingticket/updateuser?access_token=".$this->access_token;
 61         $res = $this->http_request($url, $this->array_to_json($data));
 62         return json_decode($res, true);
 63     }
 64     
 65     //多级数组转JSON(兼容中文、数字、英文、布尔型)(使用递归出现编码失误???)
 66     protected function array_to_json($array)
 67     {
 68         foreach ($array as $k => &$v) {
 69             if (is_array($v)){
 70                 foreach ($v as $k1 => &$v1) {
 71                     if (is_array($v1)){
 72                         foreach ($v1 as $k2 => &$v2) {
 73                             if (is_array($v2)){
 74                                 foreach ($v2 as $k3 => &$v3) {
 75                                     if (is_array($v3)){
 76                                         foreach ($v3 as $k4 => &$v4) {
 77                                             $v3[$k4] = (is_string($v4))?urlencode($v4):$v4;
 78                                         }
 79                                     }else{
 80                                         $v2[$k3] = (is_string($v3))?urlencode($v3):$v3;
 81                                     }
 82                                 }
 83                             }else{
 84                                 $v1[$k2] = (is_string($v2))?urlencode($v2):$v2;
 85                             }
 86                         }
 87                     }else{
 88                         $v[$k1] = (is_string($v1))?urlencode($v1):$v1;
 89                     }
 90                 }
 91                 // $this->array_to_json($v);
 92             }else{
 93                 $array[$k] = (is_string($v))?urlencode($v):$v;
 94             }
 95         }
 96         return urldecode(json_encode($array));
 97     }
 98 
 99     //HTTP要求(撑腰HTTP/HTTPS,撑腰GET/POST)
100     protected function http_request($url, $data = null)
101     {
102         $curl = curl_init();
103         curl_setopt($curl, CURLOPT_URL, $url);
104         curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
105         curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
106         if (!empty($data)){
107             curl_setopt($curl, CURLOPT_POST, 1);
108             curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
109         }
110         curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
111         $output = curl_exec($curl);
112         curl_close($curl);
113         return $output;
114     }
115 }

创建会议门票的代码如下。

 1 //创建会议/演出门票
 2 $data = array('card_type' => "MEETING_TICKET",
 3               'meeting_ticket' => array('base_info' => array('logo_url' => "http://mmbiz.qpic.cn/mmbiz/K4LBh6RUO0qAa2sbY1EyJGDZ0eCetML4quMDRsiczNX98UPE6ryGM7ynjWCX1kibM5iaOLV5ibXHRhs8kdNoAthSjw/0",
 4                                                       'code_type' => "CODE_TYPE_BARCODE",
 5                                                       'brand_name' => "方倍票务澳门赌场平台 彩金",
 6                                                       'title' => "方倍会议门票",
 7                                                       'color' => "Color020",
 8                                                       'notice' => "使用时向检票员出示此券",
 9                                                       'description' => "请务必及时入场",
10                                                       'sku' => array('quantity' => 10000),
11                                                       'date_info' => array('type' => 1,
12                                                                            'begin_timestamp' => time(),
13                                                                            'end_timestamp' => time() + 2 * 86400),
14                                 
15                                                 ),
16                                     'meeting_detail' => "地点:水立方",
17                                     'map_url' => "http://www.baidu.com/"
18                                 ),
19              );
20 $result = $weixin->create_card($data);

生成卡券ID以后,使用该ID生成二维码进行投放,其代码如下所示。

 1 //创建二维码投放
 2 $data = array('action_name' => "QR_CARD",
 3               // 'expire_seconds' => 1800,
 4               'action_info' => array('card' => array('card_id' => "piPuduNg0bM6Q5hB8rrcK3OXavSE",
 5                                                      // 'code' => "198374613512",
 6                                                      // 'openid' => "oFS7Fjl0WsZ9AMZqrI80nbIq8xrA",
 7                                                      'is_unique_code' => false,
 8                                                      'outer_id' => 100),
 9                                      
10                                 ),
11              );
12 $result = $weixin->create_card_qrcode($data);

当用户领取到门票以后,为其更新座次信息。代码如下所示。

1 //更新会议门票
2 $data = array(
3               'code' => "019538767119",
4               'card_id' => "piPuduNg0bM6Q5hB8rrcK3OXavSE",
5               'zone' => "C区",
6               'entrance' => "东北门",
7               'seat_number' => "2排15号",
8              );
9 $result = $weixin->update_card_meetingticket($data);

最终,用户领取到的门票及更新后的门票信息效果如图16-11所示:

图16-11微信门票

------分隔线----------------------------

公布评论 (81人察看0条评论)
请自觉遵守互联网相关的政策法规,严禁公布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换手机捕鱼游戏平台金冠渔乐城
最新评论