微信分享連接製做(先行版)

 (我在thinkphp的官網和QQ空間更新過)關於微信分享,即微信名片式的連接(以下圖) 圖片,首先須要有通過驗證的微信公衆號,不然是玩不來的。
製做這種名片式的分享連接的步驟以下:
一、須要在公衆號裏綁定域名(一個公衆號限定綁定三個域名,一天也只能修改三次),開通開發者模式,把裏面的AppId和AppSecret記錄下來,後面會用到;
二、下載騰訊官方的API文件(Demo包有4個文件,不過咱們須要的是其中的3個php文件:jssdk.php、jsapi_ticket.php),這三個文件是怎樣的,本身去查騰訊微信的API文檔吧。別忘了在jssdk.php中添加命名空間:
namespace Home\Controller;
use Think\Controller;
不然會出現找不到JSSDK類的狀況;
三、接下來是很是粗糙的寫法,基於目前對命名空間的使用和對thinkphp的公共函數用法以及類的繼承和構造函數的使用不熟悉的前提,我把全部的關聯代碼都寫在了同一個控制器文件中,什麼都不用說,直接上代碼:
<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
    public function index(){
                /*******************************************下面是微信分享的代碼***********************************************/
 // 由於不熟悉命名空間的使用,我直接把微信的API文件放在和這個控制器文件同一級的Controller目錄下
                include('jssdk.php');         
$jssdk = new JSSDK("wxf352c30e8350b48a","28e56c1a1ea8aefdfd2e700853bef8c9");
$wxconfig = array();
$wxconfig = $jssdk ->GetSignPackage();
 
$this->assign('wxconfig',$wxconfig);
               /************************************************************************************************************************/

if(empty($_POST)){
//echo "wrong";
$this->display();
}else{
$submit=M("User");
if (!$submit->autoCheckToken($_POST)){
         // 令牌驗證錯誤
         //return false;
         //echo "表單信息重複提交了";
         $this->display();
 
         }else{
         $get["username"]=$_POST["name"];
            $get["telphone"]=$_POST["mobile"];
            $submit->add($get);
             //$name=md5($get["username"]);//字符加密
             //echo $get["username"]."<br>".$get["telphone"];
         }
                $this->display();
}
    }

 
 四、在模板文件Index.html中導入jweixin-1.0.0.js文件和添加以下代碼:
<!--微信分享代碼-->
<script>
wx.config({
    appId: '{$wxconfig["appId"]}',
    timestamp: {$wxconfig["timestamp"]},
    nonceStr: '{$wxconfig["nonceStr"]}',
    signature: '{$wxconfig["signature"]}',
   jsApiList: [
        'checkJsApi',
        'onMenuShareTimeline',
        'onMenuShareAppMessage',
        'onMenuShareQQ',
        'onMenuShareWeibo'
      ]
  });
  /*
 * 注意:
 * 1. 全部的JS接口只能在公衆號綁定的域名下調用,公衆號開發者須要先登陸微信公衆平臺進入「公衆號設置」的「功能設置」裏填寫「JS接口安全域名」。
 * 2. 若是發如今 Android 不能分享自定義內容,請到官網下載最新的包覆蓋安裝,Android 自定義分享接口需升級至 6.0.2.58 版本及以上。
 *
 * 若有問題請經過如下渠道反饋:
 * 郵箱地址:weixin-open@qq.com
 * 郵件主題:【微信JS-SDK反饋】具體問題
 * 郵件內容說明:用簡明的語言描述問題所在,並交代清楚遇到該問題的場景,可附上截屏圖片,微信團隊會盡快處理你的反饋。
 */
wx.ready(function () {
  var options = {
title: '上海紅酒交易中心-微紅酒(華南運營中心)',
link: 'www.gxjft.com',
imgUrl: ' http://www.gxjft.com/Public/logo.png',        //必須使用絕對路徑
desc: '上海紅酒交易中心,我國第一家紅酒電子交易平臺,也是亞洲第一家紅酒交易中心。',
success: function(){
console.info('分享成功!');
},
cancel: function(){
console.info('取消分享');
}
  }
    
  
  wx.onMenuShareAppMessage(options);
  wx.onMenuShareTimeline(options);
  wx.onMenuShareQQ(options);
  wx.onMenuShareWeibo(options);
});
wx.error(function (res) {
  alert(res.errMsg);
}); 
</script> 
以上就是微信分享製做的基本流程,由於對PHP仍是不大熟悉,寫出來的代碼至關不簡潔和漂亮,若是有什麼遺漏的地方後面會補上和優化。
若是看不慣的話,能夠訪問這個網址: http://www.jb51.net/article/106174.htm。我都是從這裏面搗鼓出來的。 
相關文章
相關標籤/搜索