基于 TypeScript 和 hapi 框架构建的微信小程序后端 API 示例。同时也提供了对应的基于 React + Taro 的小程序客户端。
- 🔥 通过 Serverless 应用中心 , 该应用。
- 通过 Serverless Devs Cli 进行部署:
- 安装 Serverless Devs Cli 开发者工具 ,并进行授权信息配置 ;
- 初始化项目:
s init start-weapp -d start-weapp
- 进入项目,并进行项目部署:
cd start-weapp && s deploy -y
可以在手机里使用你的小程序
- 在阿里云函数计算控制台的“应用中心”中一键部署当前小程序后端。
- 在微信公众平台上注册微信小程序。
git clone git@github.com:devsapp/weapp-client.git
下载当前示例的小程序客户端代码。并按照说明构建,并发布小程序客户端。- 在微信公众平台 -> 开发管理 -> 开发设置页面获取小程序的 AppID 和 AppSecret,然后在函数计算控制台给函数配置名称为
APP_ID
和SECRET
的环境变量。 - 在微信公众平台找到测试二维码,然后通过手机进行测试。您也可以添加更多体验成员,使用您的小程序。
客户端代码地址为 https://github.com/devsapp/weapp-client 请按照客户端中的说明配置并发布小程序客户端。
在本项目的认证模块auth/index.ts
中,我们实现了微信用户的登录,您可以获取到微信用户的唯一 id。您申请完小程序后,需要找到在微信公众平台上(开发管理 -> 开发设置页面)获取小程序的 AppID 和 AppSecret ,然后在控制台上编辑函数,给函数设置名称为 APP_ID
和 SECRET
的环境变量。在本地开发时,您也可以在本地环境设置这两个环境变量。
- 下载安装 Serverless Devs:
npm install @serverless-devs/s
详细文档可以参考 Serverless Devs 安装文档
- 配置密钥信息:
s config add
详细文档可以参考 阿里云密钥配置文档
- 安装 Docker
- 安装 Node,Npm 等
修改s.yaml
中的 "{{ access }}"
"{{ region }}"
"{{ serviceName }}"
为您自己函数的密钥,地域和服务名。
npm install
npm run dev
启动本地开发环境。然后您可以通过 http://localhost:9000/api/tasks 进行访问。 您也可以通过 http://localhost:9000/documentation 查看基于 swagger 自动生成的 API 文档。
注意:此 Demo 使用的是本地数据库,挂载到 Nas 做持久化,不能用于生产环境。 您可以创建自己的云数据,然后修改 common/base-repository
中的代码。查看相关文档和案例
您可以直接修改代码,推送到代码仓库或发布 Release 后,将自动触发 CICD 流程,从而发布您的最新改动。
如果您不希望把 node_modules 直接打到代码包里,而是使用层来维护 node_modules,请按照 s.yaml
中的说明进行修改。关于层的创建请参考“创建并发布层”。
npm run deploy:all
编译,并将最新改动部署到线上函数。
npm run deploy:code
编译,并将最新改动部署到线上函数。但是部署的代码包中,不包含 node_modules。node_modules 需要通过层进行部署。这样可以较少 CICD 的时间和冷启动时间。具体方式请参考“创建并发布层”。
npm run create:layer
根据最新的 package.json 构建所需的 node_modules,并创建层。 创建成功后,您需要在控制台中配置函数使用这个层。
注意:每次需要修改依赖时,您需要使用此命令构建新的层,并更新函数的配置,使用新的层。
您如果有关于错误的反馈或者未来的期待,您可以在 Serverless Devs repo Issues 中进行反馈和交流。如果您想要加入我们的讨论组或者了解 FC 组件的最新动态,您可以通过以下渠道进行:
微信公众号:serverless |
微信小助手:xiaojiangwh |
钉钉交流群:33947367 |