• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > PHP制作微信自定义分享

PHP制作微信自定义分享

作者:站长图库 字体:[增加 减小] 来源:互联网

站长图库向大家介绍了PHP微信分享,微信自定义分享等相关知识,希望对您有所帮助

最近在做项目的时候遇到一个项目,要求再通过微信分享文章时,需要按照他自己的要求显示分享标题、分享摘要以及分享图片,在网上找了好多种办法,最后采用了微信公众平台自带的分享接口功能。

要制作微信接口分享功能,前期需要注册一个公众号,并认证通过,只有这样才能实现接口制作。在这里微信注册再不做详细的说明,大家可以直接在微信公众平台官网自己查找:mp.weixin.qq.com

下面我一步步给大家做介绍

1、公众号开发信息配置

在开发分享接口之前需要先配置公众平台配置信息,如下图所示:点击“开发-基本信息”,可以看到公众号开发信息,在开发者秘钥哪里点击“开启”,配置自己的秘钥信息,配置成功后,保存开发者ID(AppID)和开发者密码(AppSecret)


611a0b2ad38d1.jpg


2、配置JS接口安全域名

点击“设置与开发--公众号设置”,点击JS接口安全域名后面的设置,按照要求添加js安全域名,如图所示

3、PHP分享接口类

这里不多说,直接上代码

class wechatClass{    public $AppID;    public $AppSecret;    public $redirect_uri;    public $DbSy;    public $dump_url;    public $scope;    public function __construct()    {        parent::__construct();        $this->AppID = "开发者密码(AppSecret)";        $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}&timestamp={$timestamp}&url={$url}";        $signature = sha1($string);        // var_dump($signature);die;        $signPackage = array(            "appId"     => $this->AppID,            "nonceStr"  => $nonceStr,            "timestamp" => $timestamp,            "url"       => $url,            "signature" => $signature,            "rawString" => $string        );        return $signPackage;    }    public 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;    }    public function getJsApiTicket() {        // jsapi_ticket 应该全局存储与更新,以下代码以写入到文件中做示例        //echo $_SERVER['DOCUMENT_ROOT'];        $data = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT']."/static/yejuzhi/js/access_token.json"));        // var_dump($data->expire_time);die;        if ($data->expire_time < time()) {            $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}";            $res = json_decode($this->httpGet($url));            $ticket = $res->ticket;            if ($ticket) {                $data->expire_time = time() + 7000;                $data->jsapi_ticket = $ticket;                $fp = fopen($_SERVER['DOCUMENT_ROOT']."/static/yejuzhi/js/access_token.json", "w");                fwrite($fp, json_encode($data));                fclose($fp);            }        } else {            $ticket = $data->jsapi_ticket;        }        return $ticket;    }    public function getAccessToken() {        // access_token 应该全局存储与更新,以下代码以写入到文件中做示例        $data = json_decode(file_get_co
  


 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • PHP制作微信自定义分享

相关文章

  • ThinkPHP6通过Ucenter实现注册登录的示例代码
  • 两分钟带你了解在CSS中三种使图片居中的方法
  • WordPress隐藏部分内容,评论后可见
  • 使用18小时快速搜索引擎排名的后果
  • PHP将数据导出成excel表格
  • 禾匠4.4.8微信授权接口修复教程
  • 解决TP5.1出现A non well formed numeric value encountered的问题
  • DedeCMS使用sql语句获取文章链接地址
  • AI和PS快速制作漂亮复古海报
  • 为kindsoft编辑器替换SyntaxHighlighter代码高亮,整合

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • vue中query和params的区别是什么
    • 介绍Thinkphp5之Workerman
    • CDR制作IE浏览器标志教程
    • 一键开启网页夜间模式代码
    • 纯css实现gif动图生成字画符
    • 修改织梦cms标签TAG不限制长度
    • Photoshop设计水晶质感的立体盒子教程
    • 分享Laravel模型使用的2个小技巧
    • 大型企业网站的十大问题详解
    • Photoshop详细解析置换滤镜的工作原理

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有