纵横天下

新闻资讯

service items

微网站建设教程

来源:纵横小编时间:2016-06-13 14:39

  

  纵横天下小编发现前一段时间很多在问微网站怎么做,于是纵横天下小编就来一个微网站建设教程叫你们微网站怎么做,一些基于微信公众平台的基础的微网站建设流程等问题。可能这个教程并不是对每个人都有用,对于一定开发基础的人有用。

  下面纵横天下小编就以微网站建设教程:

  第一步:首先,需要在微信公众平台上注册一个自己的服务号或者订阅号。

  

微网站制作教程图解1:注册自己的服务号或者订阅号

 

  第二步:申请公众账号成功后,便可以使用其基本功能了,当然,要想做成自己的微信官网,则需要进入开发模式,接入第三方接口。

  

微网站制作教程图解2

 

  

微网站制作图解3

 

  

微官网

 

  第三步:注册成功并登陆第三方接口,将注册好的微信公众号添加到第三方接口上,所需信息在微信公众号设置下的账号信息里。

  

注册成功并登陆第三方接口

 

  第四步:添加公众账号后,连接公众平台与第三方接口,如图:登录微信公众平台,点击最左侧最下方的【开发者中心】,点击开发模式。

  

登录微信公众平台

 

  第五步:最后,设计自己的微信官网。并且可在线预览。

  

设计自己的微信官网,并且可在线预览

 

  完成以上步骤后,并且认证订阅号或服务号后就可以做微信的二次开发了,比如我要制作一个群发功能的接口,需要使用一下微信接口:

  1、获取access token

  2、新增临时素材接口

  3、上传图文消息素材接口

  4、调用群发接口

  接口代码示例:WeixinApi.class.php

  class WeixinApi{

  private $appid,$appsecret,$media_id;

  public function __construct($appid="",$appsecret=""){

  $this->appid=$appid;

  $this->appsecret=$appsecret;

  }

  //获取token

  public function getToken(){

  if($_COOKIE["exptime"]=="" || time()-$_COOKIE["create_time"]>=$_COOKIE["exptime"]){

  [email protected]_get_contents("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$this->appid}&secret={$this->appsecret}");

  $tokenarr=json_decode($token,true);

  setcookie("exptime",$tokenarr["expires_in"],0,'/');

  setcookie("access_token",$tokenarr["access_token"],0,'/');

  setcookie("create_time",time(),0,'/');

  }else{

  $tokenarr=array(

  "access_token"=>$_COOKIE["access_token"],

  "expires_in"=>$_COOKIE["exptime"],

  "create_time"=>$_COOKIE["create_time"]

  );

  }

  return $tokenarr;

  }

  private function sockupload($phost,$pport,$purl,$filename,$file_data=array()){

  $host = $phost;

  $port = $pport;

  $errno = '';

  $errstr = '';

  $timeout = 30;

  $url = $purl;

  /*$form_data = array(

  'name' => 'lijie',

  'gender' => 'man',

  );*/

  $file_data = array(

  array(

  'name' => 'media',

  'filename' => $filename,

  //'path' =>'1.jpg'

  )

  );

  // create connect

  $fp = fsockopen($host, $port, $errno, $errstr, $timeout);

  if(!$fp){

  return false;

  }

  // send request

  srand((double)microtime()*1000000);

  $boundary = "---------------------------".substr(md5(rand(0,32000)),0,10);

  $data = "--$boundaryrn";

  // form data

  if(count($form_data)>0){

  foreach($form_data as $key=>$val){

  $data .= "Content-Disposition: form-data; name="".$key.""rn";

  $data .= "Content-type:text/plainrnrn";

  $data .= rawurlencode($val)."rn";

  $data .= "--$boundaryrn";

  }

  }

  // file data

  if($filename!=""){

  foreach($file_data as $file){

  $data .= "Content-Disposition: form-data; name="".$file['name'].""; filename="".$file['filename'].""rn";

  $pinfo=pathinfo($file['filename']);

  $data .= "Content-Type: ".$pinfo["extension"]."rnrn";

  $data .= implode("",file($file['filename']))."rn";

  $data .= "--$boundaryrn";

  }

  }

  $data .="--rnrn";

  $out = "POST ${url} HTTP/1.1rn";

  $out .= "Host:${host}rn";

  $out .= "Content-type:multipart/form-data; boundary=$boundaryrn"; // multipart/form-data

  $out .= "Content-length:".strlen($data)."rn";

  $out .= "Connection:closernrn";

  $out .= "${data}";

  fputs($fp, $out);

  // get response

  $response = '';

  while($row=fread($fp, 4096)){

  $response .= $row;

  }

  $pos = strpos($response, "rnrn");

  $response = substr($response, $pos+4);

  return $response;

  }

  //json数据提交

  private function jsonUpload($url,$jsdata){

  $data_string = $jsdata;

  $ch = curl_init();

  curl_setopt ( $ch, CURLOPT_URL, $url );

  curl_setopt($ch, CURLOPT_POST, 1);

  curl_setopt($ch, CURLOPT_POSTFIELDS,$data_string);

  curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);

  curl_setopt($ch, CURLOPT_HTTPHEADER, array(

  'Content-Type: application/json;charset=utf-8',

  'Content-Length: ' . strlen($data_string))

  );

  $result = curl_exec($ch);

  curl_close ( $ch );

  return $result;

  }

  //上传媒体接口

  public function upload($type,$filename){

  $tokens=$this->getToken();

  $result=$this->sockupload("api.weixin.qq.com",80,"/cgi-bin/media/upload?access_token=".$tokens["access_token"]."&type={$type}",$filename);

  $media=json_decode($result,true);

  $this->media_id=$media['media_id'];

  return $this;

  }

  //上传素材

  public function uploadnews($title,$content,$author="",$url="",$digest="",$show_cover_pic="1"){

  $articles=array(

  "articles"=>array(

  array(

  "thumb_media_id"=>$this->media_id,

  "author"=>$author,

  "title"=>urlencode($title),

  "content_source_url"=>$url,

  "content"=>urlencode($content),

  "digest"=>$digest,

  "show_cover_pic"=>"1"

  )

  )

  );

  $tokens=$this->getToken();

  $news=urldecode(json_encode($articles));

  $result=$this->jsonUpload("api.weixin.qq.com/cgi-bin/media/uploadnews?access_token=".$tokens["access_token"]."",$news);

  $newsdata=json_decode($result,true);

  $this->media_id=$newsdata["media_id"];

  return $this;

  }

  //群发接口

  public function sendall(){

  $arr=array(

  "filter"=>array("is_to_all"=>true,"group_id"=>""),

  "mpnews"=>array("media_id"=>$this->media_id),

  "msgtype"=>"mpnews"

  );

  $json=json_encode($arr);

  $tokens=$this->getToken();

  $result=$this->jsonUpload("api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token=".$tokens["access_token"]."",$json);

  return $result;

  }

  }

  使用:

  $weixin=new WeixinApi($appid,$appsecret);

  $result=$weixin->upload("image","图片路径")->uploadnews("文章标题","文章内容")->sendall();

  以上就是微网站建设教程了,主要基于微信公众平台上开发的,不需要那些第三方平台开发的。但是后面的开发者模式只是对于有一定的开发基础的程序猿有用,不适用于新手。要想看新手,还得再去纵横天下找下哦。

上一篇:营销型网站设计方案 下一篇:微网站建设方案