当前位置: 首页 > 后端技术 > PHP

微信自定义分享

时间:2023-03-29 20:36:40 PHP

第一步:登录公众号,进入公众号设置->选择功能设置,在页面下方找到js接口安全域名,点击js接口安全域名下载将红框内的txt文件,复制文件复制到你下面填写的域名的根目录下,先上传,然后点击保存。如果文件上传到错误的地方,点击保存,会报错。如果文件保存成功,则表示第一步已经完成。第二步:输入微信公众号,Development->BasicConfiguration,可以看到AppID和AppSecret的值,设置IP白名单,如图:注意:上图中AppID和AppSecret的值一定要获取并保存,并且IP也必须设置为1:首先获取access_token的值,并将access_token的值保存到数据库中,或者使用缓存等,看个人习惯;//获取微信签名需要的access_tokenpublicfunctiongetAccessToken(){//查询数据表中的值$info=D('WxToken')->find();if($info['expires_in']CURLSend($url_token);//json格式$obj=json_decode($tmp);if($obj->access_token!=null){$data['access_token']=$obj->access_token;$data['expires_in']=time()+$obj->expires_in;如果($info['id']){$res=D('WxToken')->where('id='.$info['id'])->save($data);}else{$res=D('WxToken')->add($数据);}if($res){$data_new=$obj->access_token;}else{$data_new='错误';}返回$data_new;}否则返回“错误”;}else返回$info['access_token'];}2:获取微信签名所需的jsapi_ticket//获取微信签名所需的ticketpublicfunctiongetTicket(){$token=$this->getAccessToken();$url="https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=$token&type=jsapi";$tmp=$this->CURLSend($url);//json格式$obj=json_decode($tmp);返回$obj->ticket;}私有函数CURLSend($url){$curl=curl_init();curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);curl_setopt($curl,CURLOPT_TIMEOUT,500);curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false);curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,false);curl_setopt($curl,CURLOPT_URL,$url);$res=curl_exec($curl);curl_close($curl);返回$res;}3:获取微信签名和分享配置信息//整理数据获取微信签名publicfunctiongenerateSign(){$noncestr=uniqid();$时间戳=时间();$url='http://'。$_SERVER["SERVER_NAME"]。$_SERVER["REQUEST_URI"];$ticket=$this->getTicket();if($ticket){$str='jsapi_ticket='.$ticket.'&noncestr='.$noncestr.'×tamp='.$timestamp.'&url='.$url;$signature=sha1($str);$data['noncestr']=$noncestr;$数据['时间戳']=$时间戳;$data['signature']=$signature;$data['appId']=第二步得到的AppID值;$data['链接']=$url;返回$数据;}}4:赋值给模板publicfunctionindex(){$this->assign('wxdata',$this->generateSign());}说明:PHP代码下面是js代码6:接下来是配置文件