微信小程序云开发获取关联公众号的文章列表

最近收到一个需求是:小程序获取关联公众号的文章并且显示。

首先想到的是,需要客户去买服务器和域名,进行域名备案,然后为客户开发一个网站,能够通过公众平台的appid与key来获取公众号的素材列表,最后开发一个接口给小程序使用。一般客户购买服务器和域名就是个难题,劝退了很多人。

但是我查看了微信小程序的官方文档,发现有一个云开发功能,其中有云数据库、云存储、云函数三种功能。类似于Serverless,我们不需要去买服务器和域名了,直接使用小程序的云开发功能就能做很多事情。我就想试试能不能用云开发功能做获取公众号文章的事情。

云数据库是一个类似于Redis的Key-Value数据库,使用微信提供的一些查询API,能够进行链式操作,有点像.Net的Entity Framework。

云存储主要是用来做上传与下载文件使用,可以用来做相册等应用。

云函数是提供了一个Node.Js的运行环境,我们能够部署自己的代码,也能够使用npm配置引入其他的开源软件包。云函数只能通过微信小程序框架里特有的方式调用,并且返回结果。与我们购买服务器自建服务不同的是,我们不清楚到底有几个实例在运行,每次执行不一定在同一个实例中,所以我们不太适合做一些在内存中缓存数据、保持状态的工作,应当及时把数据存入云数据库。云开发的云函数的独特优势在于与微信登录鉴权的无缝整合。当小程序端调用云函数时,云函数的传入参数中会被注入小程序端用户的 openid,开发者可以直接使用该 openid。

在做这个功能之前,首先是新建小程序,将公众平台与小程序关联,公众平台个人订阅号也是可以的。

然后在小程序的项目中,project.config.json文件中加入一个配置项,指定云函数的存储目录。

"cloudfunctionRoot": "clouds/"

新建这个clouds目录,在其中建立一个文件夹,比如我们命名为fetch,以后调用云函数也用这个名称,然后在其中新建index.js,作为云函数的入口。一个云函数的基本结构是:

// 云函数入口文件
const cloud = require('wx-server-sdk');
const request = require('request');
cloud.init();

// 云函数入口函数
exports.main = async (event, context) => {
  return {200: 40400, msg: 'success'};
}

我们可以像MVC和Servlet等Web框架一样,要求客户端传一个action参数,然后根据不同的action参数,选择对应的处理函数,也可以创建多个云函数。代码类似于:

  var action = event.action;
  if(!action){
    return {code: 20000, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

palhotel

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值