轻松构建基于 Serverless 架构的小程序
Posted 阿里巴巴云原生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了轻松构建基于 Serverless 架构的小程序相关的知识,希望对你有一定的参考价值。
前言
-
大量的小程序是不活跃的,传统的至少一台服务器的方式会造成资源浪费; -
在活动高峰期小程序的调用量激增,要求服务端能够快速进行弹性伸缩。
阿里云是一个全托管 Serverless 计算服务,让开发者无需管理服务器等基础设施,只需编写和上传代码,就能够构建可靠、弹性、安全的服务。
解决方案
-
运维效率高: 无需管理服务器,部署函数即可上线 -
开发效率高: 基于封装好的数据接口,直接开发业务代码 -
零费用启动: 服务端基于函数计算,数据库采用表格存储,都是按量付费并且有较大的免费额度
1. 小程序的工作流程
-
支付宝 App: 是支付宝小程序的载体,运行在用户手机端 -
小程序客户端: 是小程序展现给用户的操作页面 -
小程序服务端: 是小程序的逻辑处理单元,比如对用户进行身份认证以及对数据进行存取 -
支付宝服务端: 是支付宝 App 的逻辑处理单元,包含用户的身份信息
2. FC 服务端模板工作流程
-
身份认证: 服务端提供的 API 如何对客户端的请求进行鉴权? 客户端的信息如果泄露如何保证数据安全? -
数据访问: 客户端如何进行数据库操作和文件操作?
-
客户端小程序通过支付宝 App 的 API,获得 authCode,这个过程会在 App 中弹出用户授权框; -
小程序客户端向小程序服务端发起 createSession 请求,用于初始化的身份认证; -
小程序服务端将 authCode 传给支付宝服务端,支付宝服务端校验 authCode,返回 accessToken; -
小程序服务端根据收到的 accessToken 生成一个 sessionId 和一个 STS token,在服务端记录这 2 个信息然后把它们返回给客户端。 STS token 是用于访问服务端函数的凭证,而 sessionId 作为前面认证成功而建立的会话信息,通过这 个sessionId 可以识别当前请求的用户信息; -
小程序客户端再次需要获取数据,带着证明自己身份的 sessionId 向小程序服务端发起获取数据请求; -
小程序服务端首先根据 sessionId 获取用户身份信息,再根据用户信息获取相关数据; -
将用户数据返回给小程序客户端。
搭建流程
1. 注册支付宝小程序
准备工作:注册支付宝开发者账号
如果您尚未注册支付宝开发者账号,使用支付宝账号登录,并完成开发者身份注册。详细信息请参见。
创建支付宝小程序应用
使用支付宝账号登录创建小程序,填写基本信息,并记录下 APPID;
,需要在小程序服务端与支付宝服务端配置密钥,对交易数据进行双方校验;
将公钥配置在 【设置】->【开发设置】-【接口加签方式】,并记录私钥。
2. 搭建小程序服务端
准备工作
部署应用
3. 搭建小程序客户端
准备工作
搭建应用
在小程序项目根目录下,安装;
npm install git://github.com/aliyun/fc-nodejs-sdk.git#mini-app --save
TODO LIST 客户端代码在。修改 server.js 开头定义的变量,这些值会在部署成功后自动输出;
|信息|说明|
{
"node_modules_es6_whitelist": [
"@alicloud/fc2"
]
}
总结
以上是关于轻松构建基于 Serverless 架构的小程序的主要内容,如果未能解决你的问题,请参考以下文章