微信小程序云开发框架

概述
一直做后端服务器开发,最近看了一篇文章介绍小程序的云开发模式,觉得挺有意思,就尝试了一下,由本文做个记录。
因为不是专业的小程序开发人员,也没有做过网页开发,所以论述中出现错误难以避免,请多谅解。
微信小程序,在我的理解中,就是一个由微信内置的浏览器解析并展示的js页面,支持一些微信特有的功能性API。
通常的框架中,js页面展示布局和框架,页面中的动态内容由后端服务返回数据,所以早先的小程序需要自己开发并部署后端服务和数据库。
随着小程序的发展,现在的后端服务和数据库支持云开发模式。
开发者可以使用云开发快速开发小程序、小游戏、公众号网页等,并且原生打通微信开放能力。
开发者无需搭建服务器,可免鉴权直接使用平台提供的 API 进行业务开发。
最重要的,云开发环境有免费版可以用, 适合个人开发者学习和玩玩。
下面用一个简单的单页面小程序介绍小程序+云函数+云数据库的开发框架。
环境
windows:win10
微信开发值工具Stable v1.05.2110110
wx-server-sdk:~2.4.0
云开发步骤
简单的小程序云开发步骤总结:
1, 注册微信小程序,获取小程序APPID。
2, 下载安装微信开发者工具。
3, 创建项目,后端服务选择云开发模式。
4, 创建成功后,直接得到一个实例小程序,包含完整的代码框架。
5, 点击云开发按钮,开通云开发,并创建一个新的云开发环境,云开发环境包含了云函数和云数据库,也包含了云托管、云存储、运营分析、概览等内容。
6, 现在,你可以专心的写代码了。
详细步骤请参考小程序开发官方文档。
代码树
源代码地址:https://github.com/yuyoucuobei/miniprogram-template.git
# tree base-info/
base-info/ #项目根目录
├── cloudfunctions #云函数目录
│ └── quickstartFunctions
│ ├── config.json #云函数配置文件
│ ├── index.js #云函数入口函数
│ ├── package.json #云函数打包配置
│ ├── selectRecord
│ │ └── index.js #云函数子函数
│ └── updateRecord
│ └── index.js #云函数子函数
├── miniprogram #小程序目录
│ ├── app.js #小程序启动入口
│ ├── app.json #小程序全局配置
│ ├── app.wxss #小程序全局样式
│ ├── components #自定义组件
│ ├── envList.js #环境配置
│ ├── images #图片资源
│ ├── pages #页面目录
│ │ └── index
│ │ ├── index.js #页面代码
│ │ ├── index.json #页面配置
│ │ ├── index.wxml #页面布局
│ │ └── index.wxss #页面样式
│ └── sitemap.json #微信搜索索引配置
├── project.config.json #项目配置
├── project.private.config.json
├── README.md
└── uploadCloudFunction.bat
9 directories, 18 files
云函数
云函数的代码编写完成后,要点击上传部署。
上传部署方法:对“quickstartFunctions”目录右键选择“上传并部署,云端安装依赖(不上传node_modules)”,弹窗显示成功即可。
在云开发控制台中,云函数页面,可以看到云函数名称、运行环境、更新时间、状态等信息,也可以看到运行中的日志信息,方便定位问题。
云数据库
在云开发控制台中,数据库页面,可以查看和操作云数据库。
云数据库和mongodb基本一样,或者说就是在mongodb的基础上封装出来的。
collection就是表名,数据使用json格式保存。
支持索引管理和数据权限设置。
代码逻辑
按照上面的代码框架,小程序在启动之后的逻辑流程如下图,截图是使用PC端自动预览中的vconsole日志展示。

其中的“111”是在js页面调用云函数之前的日志打印。
云函数返回数据是“Object …”,可以点击查看具体数据内容。
页面效果

总结
小程序在云开发模式下,开发人员可以更多的关注代码逻辑的开发,极大的简化了上线的部署流程,方便快捷。
空空如常
求真得真
微信小程序云开发框架的更多相关文章
- 技本功丨收藏!斜杠青年与你共探微信小程序云开发(下篇)
2019年2月26日,人们为了一个杯子疯了一天. 星巴克猫爪杯,一场已经与猫无关了的“圣杯战争“.网上的倒卖价格,已炒至近千元! 求而不得,舍而不能,得而不惜.这是人最大的悲哀... 所以,请珍惜以下 ...
- 微信小程序-云开发(手记)
微信小程序-云开发(手记) 1.创建data.json文件 注意以下几点要求: 入门示例: init方法的env:默认环境配置,传入字符串形式的环境 ID(理解为数据库)可以指定所有服务的默认环境(意 ...
- 第六章 “我要点爆”微信小程序云开发实例之爆文详情页制作
爆文详情页制作 从首页中数据列表打开相应详情页面的方法: 给数据列表中每个数据项加一个点击事件,同时将当前数据项的id暂时记录在本地,然后跳转到详情页面detail goopen: function ...
- 第一章 “我要点爆”微信小程序云开发之项目建立与我的页面功能实现
第一章 “我要点爆”微信小程序云开发之项目建立与我的页面功能实现 开发环境搭建 使用自己的AppID新建小程序项目,后端服务选择小程序·云开发,点击新建,完成项目新建. 新建成功后跳转到开发者工具界面 ...
- “我要点爆”微信小程序云开发实例
使用云开发进行微信小程序“我要点爆”的制作 下一章:“我要点爆”微信小程序云开发之项目建立与我的页面功能实现 接下来我将对“我要点爆”微信小程序进行完整的开源介绍 小程序名称: 我要点爆 查看方式:从 ...
- 微信小程序云开发报错解决: Setting data field "openid" to undefined is invalid.
最近在学习微信小程序云开发,刚一开始就遇到了问题. 点击获取openid的时候控制台开始报错: [云函数] [login] user openid: undefined VM97:1 Setting ...
- 微信小程序云开发-从0打造云音乐全栈小程序
第1章 首门小程序“云开发”课程,你值得学习本章主要介绍什么是小程序云开发以及学习云开发的重要性,并介绍项目的整体架构,真机演示项目功能,详细介绍整体课程安排.课程适用人群以及需要掌握的前置知识.通过 ...
- 微信小程序云开发不完全指北
微信小程序云开发不完全指北 首先必须说明云开发的"云"并不是类似云玩家里的云的意思,而是微信小程序真的提供了云开发的接口以及一个简单的提供存储.数据库服务的虚拟后台(对于一些轻量小 ...
- 个微信小程序云开发云函数
1. project.config.json写上云函数所在目录"cloudfunctionRoot": "cloudfunctions/",如图 2. app. ...
随机推荐
- java 网络编程基础 UDP协议的Socket:DatagramSocket;广播Socket:MulticastSocket
什么是UDP协议: UDP协议是一种不可靠的网络协议,它在通信实例的两端各建立一个Socket 但这两个 Socket之间并没有虚拟链路,这两个Socket只是发送.接收数据报的对象.Java 提供了 ...
- Django modules模块
http://www.cnblogs.com/wupeiqi/articles/5246483.html
- vue使用npm install安装太慢连接不上(设置使用淘宝镜像)
当使用默认的npm install速度太慢时候,可以配置使用淘宝镜像 npm config set registry https://registry.npm.taobao.org
- 【九度OJ】题目1178:复数集合 解题报告
[九度OJ]题目1178:复数集合 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1178 题目描述: 一个复数(x+iy)集合,两种 ...
- 【LeetCode】434. Number of Segments in a String 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 统计 正则表达式 字符串分割 日期 题目地址:htt ...
- WHT, SLANT, Haar
目录 基本 酉变换 WALSH-HADAMARD TRANSFORMS sequency-ordered WHT SLANT TRANSFORM Haar Transform Gonzalez R. ...
- What is being transferred in transfer learning?
目录 概 主要内容 feature reuse mistakes and feature similarity loss landscape module criticality pre-traine ...
- The Expressive Power of Neural Networks: A View from the Width
目录 概 主要内容 定理1 定理2 定理3 定理4 定理1的证明 Lu Z, Pu H, Wang F, et al. The expressive power of neural networks: ...
- 计算机系统2->从芯片说起 | 芯片怎样诞生
这部分数字逻辑课上老师在讲CMOS部分时有讲过,当时在课堂上放了一个全英的视频,没怎么看懂,现在在研究计算机系统,自底层说起,也得从这讲起. 主要参考: <嵌入式C语言自我素养> b站相关 ...
- 使用.NET 6开发TodoList应用(13)——实现查询分页
系列导航及源代码 使用.NET 6开发TodoList应用文章索引 需求 查询中有个非常常见的需求就是后端分页,实现的方式也不算复杂,所以我们本文仅仅演示一个后端查询分页的例子. 目标 实现分页查询返 ...