亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

微信小程序webview實現長按點擊識別二維碼功能示例

2019-11-19 12:13:50
字體:
來源:轉載
供稿:網友

本文實例講述了微信小程序webview實現長按點擊識別二維碼功能。分享給大家供大家參考,具體如下:

場景:微信小程序,使用webview控件。需求:點擊圖片后長按圖片出現“識別二維碼”

1、JS代碼:

<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script><script type="text/javascript">$(function(){  var returnData = false;  $.ajax({   type  : "get",   url  : 'http://app.ka.com/m/config.php',   data  : [],   async  : false,   success: function(data,textStatus,jqXHR){        returnData = data;        //console.log(returnData);      }  });//end ajax  var returnData = eval('(' + returnData + ')');  console.log(returnData);  var appId     = returnData.appId;  var timestamp   = returnData.timestamp;  var nonceStr   = returnData.nonceStr;  var signature   = returnData.signature;     wx.config({      debug: true, //調試階段建議開啟      appId: appId,      timestamp: timestamp,      nonceStr: nonceStr,      signature: signature,      jsApiList: [          /*          * 所有要調用的 API 都要加到這個列表中          * 這里以圖像接口為例          */         "chooseImage",         "previewImage",         "uploadImage",         "downloadImage",         "scanQRCode"      ]     });      wx.ready(function() {      //alert(3);        wx.checkJsApi({           jsApiList : ['scanQRCode','previewImage'],           success : function(res) {           }        });          $("img").click(function(){            var url = "http://app.ka.com/"+$(this).attr("src");            wx.previewImage({              current: url, // 當前顯示圖片的http鏈接              urls: [url] // 需要預覽的圖片http鏈接列表            });          });      });      wx.error(function(res){        // config信息驗證失敗會執行error函數,如簽名過期導致驗證失敗,具體錯誤信息可以打開config的debug模式查看,也可以在返回的res參數中查看,對于SPA可以在這里更新簽名。        console.log(res);      });});</script>

2、服務端代碼(獲取config配置信息):

<?phpdate_default_timezone_set("Asia/Shanghai");$jssdk = new Jssdk();$signPackage = $jssdk->getSignPackage();echo json_encode($signPackage);exit;class Jssdk{  private $_CI;  private $appId;  private $appSecret;  public function __construct($appId='wx666666', $appSecret='ee32') {    $this->appId = $appId;    $this->appSecret = $appSecret;  }  public function getSignPackage() {    $jsapiTicket = $this->getJsApiTicket();    // 注意 URL 一定要動態獲取,不能 hardcode.    $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";    $url = "$protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";    $timestamp = time();    $nonceStr = $this->createNonceStr();    // 這里參數的順序要按照 key 值 ASCII 碼升序排序    $string = "jsapi_ticket=$jsapiTicket&noncestr=$nonceStr×tamp=$timestamp&url=$url";    $signature = sha1($string);    $signPackage = array(      "appId"   => $this->appId,      "nonceStr" => $nonceStr,      "timestamp" => $timestamp,      "url"    => $url,      "signature" => $signature,      "rawString" => $string,      'jsapiTicket' =>$jsapiTicket,    );    return $signPackage;  }  private function createNonceStr($length = 16) {    $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";    $str = "";    for ($i = 0; $i < $length; $i++) {      $str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);    }    return $str;  }  private function getJsApiTicket() {    // jsapi_ticket 應該全局存儲與更新,以下代碼以寫入到文件中做示例    $data = $this->get_php_file("jsapi_ticket");    //echo $data['expire_time'].'------'.time();    //print_r($data);exit;    if (!isset($data['jsapi_ticket']) || (isset($data['expire_time']) && $data['expire_time'] < time())) {      //echo 1111;      $accessToken = $this->getAccessToken();      // 如果是企業號用以下 URL 獲取 ticket      // $url = "https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket?access_token=$accessToken";      $url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=$accessToken";      //echo $url;      $res = json_decode($this->httpGet($url), true);      $ticket = isset($res['ticket']) ? $res['ticket'] : false;      if ($ticket) {        $data['expire_time'] = time() + 7160;        $data['token_value'] = $ticket;        $this->set_php_file("jsapi_ticket", $data);      }    } else {      //echo 22222;      $ticket = $data['jsapi_ticket'];    }    return $ticket;  }  public function getAccessToken() {    // access_token 應該全局存儲與更新,以下代碼以寫入到文件中做示例    $data = $this->get_php_file("access_token");    if (!isset($data['access_token']) || (isset($data['expire_time']) && $data['expire_time'] < time())) {      // 如果是企業號用以下URL獲取access_token      // $url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$this->appId&corpsecret=$this->appSecret";      $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$this->appId&secret=$this->appSecret";      $res = json_decode($this->httpGet($url));      //var_dump($res);exit;      $access_token = $res->access_token;      if ($access_token) {        $data['expire_time'] = time() + 7160;        $data['token_value'] = $access_token;        $this->set_php_file("access_token", $data);      }    } else {      $access_token = $data['access_token'];    }    return $access_token;  }  private function httpGet($url) {    $curl = curl_init();    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);    curl_setopt($curl, CURLOPT_TIMEOUT, 500);    // 為保證第三方服務器與微信服務器之間數據傳輸的安全性,所有微信接口采用https方式調用,必須使用下面2行代碼打開ssl安全校驗。    // 如果在部署過程中代碼在此處驗證失敗,請到 http://curl.haxx.se/ca/cacert.pem 下載新的證書判別文件。    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);    curl_setopt($curl, CURLOPT_URL, $url);    $res = curl_exec($curl);    curl_close($curl);    return $res;  }  private function get_php_file($token_name) {    if(file_exists($token_name)) return false;    return json_decode(file_get_contents($token_name), true);  }  private function set_php_file($token_name, $data) {    $fp = fopen($token_name, "w");    fwrite($fp, "<?php exit();?>" . json_encode($data));    fclose($fp);  }}

這里再為大家推薦一款功能相似的在線工具供大家參考:

在線二維碼解碼識別工具:
http://tools.VeVB.COm/transcoding/trans_qrcode

希望本文所述對大家微信小程序開發有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品免费福利| 国产午夜精品麻豆| 亚洲天堂av网| 精品久久久久久久中文字幕| 北条麻妃一区二区在线观看| 精品亚洲一区二区| 亚洲最新av网址| 国产亚洲成av人片在线观看桃| 久久亚洲精品毛片| 亚洲日韩中文字幕| 成人激情在线播放| 国模精品视频一区二区三区| 日韩中文在线中文网三级| 欧美亚洲在线播放| 亚洲女性裸体视频| 国产91精品视频在线观看| 亚洲午夜av久久乱码| 亚洲成人在线视频播放| 亚洲国产精品久久精品怡红院| 91经典在线视频| 亚洲欧美一区二区激情| 97在线观看视频国产| 中文字幕精品在线| 主播福利视频一区| 91精品国产99久久久久久| 麻豆成人在线看| 国产精品com| 国产视频精品xxxx| 欧美最猛黑人xxxx黑人猛叫黄| 久久久www成人免费精品| 亚洲一区二区三区视频播放| 欧美在线观看视频| 伊人久久男人天堂| 亚洲成人教育av| 亚洲天堂免费观看| 久久欧美在线电影| 久久久久久久久久亚洲| 在线观看视频亚洲| 午夜精品一区二区三区在线视频| 777777777亚洲妇女| 亚洲男人天堂九九视频| 午夜精品久久久久久久99热浪潮| 国产精品无av码在线观看| 亚洲a∨日韩av高清在线观看| 日韩黄在线观看| 国产精品九九久久久久久久| 欧美猛少妇色xxxxx| 青草青草久热精品视频在线网站| 性色av一区二区三区红粉影视| 亚洲国产精品中文| 中文字幕少妇一区二区三区| 午夜剧场成人观在线视频免费观看| 国产精品吊钟奶在线| 久99九色视频在线观看| 亚洲摸下面视频| 亚洲精品第一页| 欧美日韩国产精品专区| 亚洲精品影视在线观看| 欧美性xxxx极品hd欧美风情| 欧美香蕉大胸在线视频观看| 欧美亚洲激情在线| 尤物yw午夜国产精品视频| 亚洲午夜女主播在线直播| 欧美巨乳在线观看| 亚洲xxx视频| 国产99久久久欧美黑人| 欧美日韩国产黄| 亚洲欧美综合区自拍另类| 大荫蒂欧美视频另类xxxx| 疯狂做受xxxx高潮欧美日本| 日韩精品亚洲视频| 欧美黑人xxxⅹ高潮交| 91精品国产高清自在线看超| 日韩成人av在线播放| 国产区精品在线观看| 国产一区二区在线播放| 一本色道久久综合亚洲精品小说| 亚洲性生活视频| 成人免费大片黄在线播放| 欧美成人午夜影院| 欧美激情高清视频| 国产精品 欧美在线| 在线不卡国产精品| 亚洲视频在线观看免费| 色综合色综合久久综合频道88| 国产精品久久国产精品99gif| 欧美日韩成人在线观看| 911国产网站尤物在线观看| 精品亚洲一区二区三区在线观看| 国产经典一区二区| 国产精品欧美亚洲777777| 日韩小视频在线观看| 国产精品色视频| 亚洲欧美日本伦理| 日韩av在线一区二区| 国产精品久久久久久网站| 久久亚洲国产精品成人av秋霞| 久热精品视频在线免费观看| 日韩影视在线观看| 日韩在线免费高清视频| 欧美成在线视频| 欧美激情在线视频二区| 奇米成人av国产一区二区三区| 欧美一区视频在线| 久久精品国产96久久久香蕉| 91在线观看免费高清完整版在线观看| 久久亚洲精品网站| 欧美在线观看www| 亚洲桃花岛网站| 欧美性猛交xxxx富婆弯腰| 精品久久久中文| 91亚洲永久免费精品| 欧美日韩久久久久| 久久久视频免费观看| 国产精品美女久久久久av超清| 精品五月天久久| 午夜免费在线观看精品视频| 91网站在线免费观看| 91社区国产高清| 这里只有精品久久| 久久777国产线看观看精品| 国产ts一区二区| 久久久精品免费视频| 97精品国产91久久久久久| 日韩精品中文字幕视频在线| 国产精品户外野外| 国产精品丝袜久久久久久不卡| 亚洲欧美一区二区精品久久久| 91精品久久久久久综合乱菊| 亚洲午夜小视频| 久久福利视频网| 久久99热精品这里久久精品| 国产日韩视频在线观看| 亚洲国产成人精品女人久久久| 亚洲午夜女主播在线直播| 久久久久久久999| 亚洲成人黄色在线观看| 亚洲精品综合精品自拍| 成人有码在线视频| 亚洲第一福利在线观看| 亚洲精品国产综合区久久久久久久| 亚洲影院在线看| www.午夜精品| 色中色综合影院手机版在线观看| 亚洲va欧美va在线观看| 亚洲精品日韩丝袜精品| 国产日韩欧美在线视频观看| 亚洲电影免费观看高清完整版在线观看| 一本一道久久a久久精品逆3p| 久久香蕉国产线看观看av| 97精品视频在线| 成人av电影天堂| 国产精品专区第二| 91精品国产91久久久久久| 亚洲最大福利视频| 亚洲a∨日韩av高清在线观看| 国产精品网站大全| 欧美成人中文字幕在线| 亚洲精品日韩丝袜精品| 成人在线观看视频网站| 精品呦交小u女在线| 久久综合伊人77777尤物| 成人黄色在线播放| 国产精品自产拍在线观看|