E企盈营销工具技术服务商 热线:4006-838-530

微信小程序获取微信公众号文章2

E企盈直播平台营销卖货系统

微信小程序获取微信公众号文章2前面介绍了一篇微信小程序打开微信公众号中的文章实战教程,主要介绍了实现的具体原理,但是实际去做的时候,发现了更多的坑,所以这里再补充一下。原先的思路是不完整的原先我们调用了微信的接口,获取了指向这篇文章的地址,以为使用web-view就可以让微信小程序指向那个地址,虽然微信设置了业务域名这个限制,但是将其设置为我们要访问的地址即可,这是最开始的想法,但是这个想法是不完整的,原因很简单,微信业务域名的限制如下:只能支持https要将对应的验证文件放在对应域名服务器下的根目录中,即使用那个域名可以直接请求到而微信公众号的文章域名第一不是https的,第二,那个验证文件也不可能放在微信的服务器下,除非你有能力黑进去。所以按照我们原先的想法,直接使用web-view访问的想法泡汤了。但是也不是没有不能实现的办法,就是实现起来比较麻烦。既然微信能访问的域名是限制死的,那么就让其访问我们自己的服务器,并在我们自己的服务器中获取文章后渲染出来。间接的访问那篇文章。大体上的思路其实就是拿我们自己的服务器做了一个中转站,所以接下来的问题就是:服务器如何获取文章获取文章后如何显示  注意其中有一个坑,那就是调用微信公众号接口时其实是有返回文章内容的,可以看下面的例子:其中的content就是文章的内容,但是注意,这里的内容是不完整的!!!不完整的!!!不完整的!!!当你直接选择渲染着部分内容时,会出现样式的缺失问题,即部分内容显示错误的问题,可能是缺了一些文件的原因。注意不要跳进这个坑!实战代码我用的是thinkphp 3.2.3框架,配合上curl进行文章获取。前端的代码基本不用怎么变的,就是将地址指向哦我们制定的域名即可。// curl获取文件内容的代码function curl_get_contents($durl) {      if (function_exists(‘curl_init’)) {          $ch = curl_init();          curl_setopt($ch, CURLOPT_URL, $durl);          curl_setopt($ch, CURLOPT_TIMEOUT, 5);          curl_setopt($ch, CURLOPT_USERAGENT, _USERAGENT_);          curl_setopt($ch, CURLOPT_REFERER, _REFERER_);          curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);          $result = curl_exec($ch);          curl_close($ch);      } else {          $result = @file_get_contents($durl);      }      return $result;  }其中的$durl就是微信公众号的文章地址了,获取内容后最直接的显示就是// 控制器中$url=””;// 当然,如果你想要更快的加载,而不是每一个人来请求一次你就再获取一次的话,建议你将内容缓存起来$articleContent=curl_get_content($url);$this-assign(‘content’,$articleContent);$this-display();接着在模版中?php    echo $content;?好了,这样就可以了。其实思路上实现是简单的,就是微信对微信小程序的限制掐的很死,所以我们需要绕一点弯路而已。

赞(0) 打赏
未经允许不得转载:E企盈小程序开发-热线:4006-838-530 » 微信小程序获取微信公众号文章2
分享到: 更多 (0)
E企盈小程序直播营销卖货系统
E企盈直播平台营销卖货系统

评论 抢沙发

E企盈小程序开发

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏