温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么轻松构建基于Serverless 架构的小程序

发布时间:2021-12-16 11:52:32 来源:亿速云 阅读:176 作者:柒染 栏目:云计算

今天就跟大家聊聊有关怎么轻松构建基于Serverless 架构的小程序,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

解决方案

函数计算封装了一套小程序服务端模板,帮助小程序开发者快速搭建基于函数计算的小程序。

使用这个模板搭建小程序应用具有以下特点:

  • 运维效率高:无需管理服务器,部署函数即可上线;

  • 开发效率高:基于封装好的数据接口,直接开发业务代码;

  • 零费用启动:服务端基于函数计算,数据库采用表格存储,都是按量付费并且有较大的免费额度。

小程序的工作流程

怎么轻松构建基于Serverless 架构的小程序

一个完整的支付宝小程序需要以下几个元素:

  • 支付宝 App:是支付宝小程序的载体,运行在用户手机端;

  • 小程序客户端:是小程序展现给用户的操作页面;

  • 小程序服务端:是小程序的逻辑处理单元,比如对用户进行身份认证以及对数据进行存取;

  • 支付宝服务端:是支付宝 App 的逻辑处理单元,包含用户的身份信息。

函数计算封装了一套小程序服务端模板,帮助小程序开发者快速搭建基于函数计算的小程序。下面介绍服务端模板的工作流程。

FC 服务端模板工作流程

除了基础设施的运维问题,服务端主要解决两个通用问题:

  1. 身份认证:服务端提供的 API 如何对客户端的请求进行鉴权?客户端的信息如果泄露如何保证数据安全?

  2. 数据访问:客户端如何进行数据库操作和文件操作?

这是每一个小程序开发都会遇到的共性的问题,可以通过一些框架或者模板来避免重复建设。因此我们基于函数计算开发了一个小程序应用模板,解决了这些通用的问题,让开发者能够专注在业务逻辑上,快速开发上线自己的小程序。

怎么轻松构建基于Serverless 架构的小程序

  1. 客户端小程序通过支付宝 App 的 API,获得 authCode,这个过程会在 App 中弹出用户授权框;

  2. 小程序客户端向小程序服务端发起 createSession 请求,用于初始化的身份认证;

  3. 小程序服务端将 authCode 传给支付宝服务端,支付宝服务端校验 authCode,返回 accessToken;

  4. 小程序服务端根据收到的 accessToken 生成一个 sessionId 和一个 STS token,在服务端记录这 2 个信息然后把它们返回给客户端。STS token 是用于访问服务端函数的凭证,而 sessionId 作为前面认证成功而建立的会话信息,通过这个 sessionId 可以识别当前请求的用户信息;

  5. 小程序客户端再次需要获取数据,带着证明自己身份的 sessionId 向小程序服务端发起获取数据请求;

  6. 小程序服务端首先根据 sessionId 获取用户身份信息,再根据用户信息获取相关数据;

  7. 将用户数据返回给小程序客户端。

搭建流程

注册支付宝小程序

  • 准备工作:注册支付宝开发者账号

如果您尚未注册支付宝开发者账号,使用支付宝账号登录 蚂蚁金服开放平台,并完成开发者身份注册。详细信息请参见 开发者入驻说明。

  • 创建支付宝小程序应用

    • 使用支付宝账号登录 蚂蚁金服开放平台进入开发者中心 创建小程序,填写基本信息,并记录下 APPID

怎么轻松构建基于Serverless 架构的小程序 怎么轻松构建基于Serverless 架构的小程序

  • 生成密钥,需要在小程序服务端与支付宝服务端配置密钥,对交易数据进行双方校验

  • 将公钥配置在 【设置】->【开发设置】->【接口加签方式】,并记录私钥

怎么轻松构建基于Serverless 架构的小程序

搭建小程序服务端

  • 准备工作

    • 开通 函数计算,表格存储,日志服务

  • 部署应用

    • 进入控制台应用中心,选择 Mini App Todo List Server Template 模板,填写刚才记录的 APPID 与 PrivateKey,为 DBInstance/LogProject 取个自定义的名字(如果名字已被占用,会报 Already Exists 的错误),部署应用

搭建小程序客户端

  • 准备工作

    • 下载并安装支付宝 小程序开发者工具。

  • 搭建应用

    • 在小程序项目根目录下,安装 fc-nodejs-sdk:

npm install git://github.com/aliyun/fc-nodejs-sdk.git#mini-app --save
  • TODO LIST 客户端代码在 mini-app-todo-list-client

    • 修改server.js开头定义的变量,这些值会在 服务端模板 部署成功后自动输出:

信息说明
fcAccountId阿里云AccountId
fcRegion函数部署的区域,例如cn-shanghai
fcServiceName函数计算服务名称
sessionFunctionNamesession函数的名称,例如session
dbFunctionNamedb函数的名称,例如db

由于 fc-nodejs-sdk 使用了ES6语法,在发布小程序时,需要在小程序项目的根目录下,新建一个文件mini.project.json,填入以下内容:

{
  "node_modules_es6_whitelist": [
     "@alicloud/fc2"
  ]
}

至此,开发工作已经完成,您可以调试,上线您的小程序啦。

看完上述内容,你们对怎么轻松构建基于Serverless 架构的小程序有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI