中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在php項目中獲取微信共享的收貨地址

發布時間:2021-02-04 18:09:28 來源:億速云 閱讀:164 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關如何在php項目中獲取微信共享的收貨地址,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

具體內容如下

必須是微信授權目錄 我直接放到了根目錄 其他目錄無效

/* 
* 在執行此操作之前 首先判斷您是否開通了 微信支付功能 審核通過后均可使用一下代碼 
* 1、設置微信公眾平臺網頁授權 域名 www.abc.com 
* 2、設置下面的 “ 微信參數 ” 
* 3、把 當前文件 index.php 放入根目錄 
* 4、用微信訪問http://www.abc.com/index.php 就可以了 切記一定是微信哦 
* */
<?php
//微信參數
$appId = '*********';
$appSecret = '*****************';

//獲取get參數
$code = $_GET['code'];

//獲取 code
$redirect_uri = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$url = "https://open.weixin.qq.com/connect/oauth3/authorize?appid=$appId&redirect_uri=".urlencode($redirect_uri)."&response_type=code&scope=jsapi_address&state=cft#wechat_redirect";
if(empty($code)){
 header("location: $url");
}

//獲取 access_token
$access_token_url = "https://api.weixin.qq.com/sns/oauth3/access_token?appid=".$appId."&secret=".$appSecret."&code=".$code."&grant_type=authorization_code";
$access_token_json = getUrl($access_token_url);
$access_token = json_decode($access_token_json,true);


// 定義參數
$timestamp = time();
$nonceStr = rand(100000,999999);
$Parameters = array();
//===============下面數組 生成SING 使用=====================
$Parameters['appid'] = $appId;
$Parameters['url'] = $redirect_uri;
$Parameters['timestamp'] = "$timestamp";
$Parameters['noncestr'] = "$nonceStr";
$Parameters['accesstoken'] = $access_token['access_token'];
// 生成 SING
$addrSign = genSha1Sign($Parameters);


function getUrl($url){
 $opts = array(
  CURLOPT_TIMEOUT  => 30,
  CURLOPT_RETURNTRANSFER => 1,
  CURLOPT_SSL_VERIFYPEER => false,
  CURLOPT_SSL_VERIFYHOST => false,
 );
 /* 根據請求類型設置特定參數 */
 $opts[CURLOPT_URL] = $url ;
 $ch = curl_init();
 curl_setopt_array($ch, $opts);
 $data = curl_exec($ch);
 $error = curl_error($ch);
 curl_close($ch);
 return $data;
}
function p($star){
 echo '<pre>';
 print_r($star);
 echo '</pre>';
}
function logtext($content){
 $fp=fopen("json.ini","a");
 fwrite($fp,"\r\n".$content);
 fclose($fp);
}
//創建簽名SHA1
function genSha1Sign($Parameters){
 $signPars = '';
 ksort($Parameters);
 foreach($Parameters as $k => $v) {
  if("" != $v && "sign" != $k) {
   if($signPars == '')
    $signPars .= $k . "=" . $v;
   else
    $signPars .= "&". $k . "=" . $v;
  }
 }
 //$signPars = http_build_query($Parameters);
 $sign = SHA1($signPars);
 $Parameters['sign'] = $sign;
 return $sign;
}
?>
<!DOCTYPE html>
<html>
<head>
 <title>獲取共享地址</title>
 <meta charset="utf-8" />
 <meta id="viewport" name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1; user-scalable=no;" />
</head>
<script language="javascript">
 function getaddr(){
  WeixinJSBridge.invoke('editAddress',{
   "appId" : "<?php echo $appId;?>", //公眾號名稱,由商戶傳入
   "timeStamp" : "<?php echo $timestamp;?>", //時間戳 這里隨意使用了一個值
   "nonceStr" : "<?php echo $nonceStr;?>", //隨機串
   "signType" : "SHA1", //微信簽名方式:sha1
   "addrSign" : "<?php echo $addrSign;?>", //微信簽名
   "scope" : "jsapi_address"
  },function(res){
   if(res.err_msg == 'edit_address:ok'){
    document.getElementById("showAddress").innerHTML="收件人:"+res.userName+" 聯系電話:"+res.telNumber+" 收貨地址:"+res.proviceFirstStageName+res.addressCitySecondStageName+res.addressCountiesThirdStageName+res.addressDetailInfo+" 郵編:"+res.addressPostalCode;
   }
   else{
    alert("獲取地址失敗,請重新點擊");
   }
  });
 }
</script>
<body>
<style>
 section.content{padding:10px 12px;}
 section .showaddr{border:1px dashed #C9C9C9;padding:10px 10px 15px;margin-bottom:20px;color:#666666;font-size:12px;text-align:center;}
 section .showaddr strong{font-weight:normal;color:#9900FF;font-size:26px;font-family:Helvetica;}
</style>

<section class="content">
 <div class="showaddr" id="showAddress" ><a id="editAddress" href="javascript:getaddr();" rel="external nofollow" ><strong>點擊設置收貨地址</strong></a></div>
</section>
</body>
</html>

以上就是如何在php項目中獲取微信共享的收貨地址,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

镇原县| 绍兴县| 南川市| 鹤山市| 红河县| 桓台县| 乐陵市| 衡水市| 柏乡县| 左权县| 龙井市| 拜城县| 阿克陶县| 汤阴县| 阜南县| 长海县| 宁强县| 灵山县| 思茅市| 岑溪市| 弥渡县| 新蔡县| 垣曲县| 中西区| 洛扎县| 南城县| 射洪县| 泗洪县| 台南市| 嘉祥县| 谢通门县| 合作市| 大丰市| 卫辉市| 常山县| 萍乡市| 海门市| 丘北县| 广南县| 上林县| 乌拉特前旗|