开发 Todo List 小程序收藏我的收藏
收藏
我的收藏简介
抖音小程序是可以在抖音、抖音极速版、抖音火山版、今日头条、今日头条极速版 App 中运行的小程序。一套代码,可以支持 Android、iOS 双端适配。
本教程将带你从零开始创建一个 Todo 小程序,你将快速了解如何调用小程序组件、小程序 API、以及如何让小程序适配移动端。
该小程序将实现以下功能:
- •用户登录并获取用户的基本信息。
- •用户可以添加和更新自己的 Todo。
开发路径说明
开发并发布小程序的完整路径如下:
- 1.入驻开发者平台。
- 2.创建小程序并获取 AppID。
- 3.创建小程序项目。
- 4.全局配置。
- 5.开发页面。
- 6.预览与调试。
- 7.发布小程序。
其中,入驻开发者平台过程比较复杂,而且入驻开发者平台和创建小程序还需要审核,所以为了方便您快速体验开发过程,建议:
- 1.使用测试号创建小程序项目。
- 2.全局配置。
- 3.开发页面。
- 4.预览与调试。
- 5.待入驻开发者平台、创建小程序后,再发布小程序。
预览效果
使用抖音、抖音极速版、今日头条、今日头条极速版 App 扫描以下代码,体验 Todo 小程序 Demo。
可运行的示例代码
视频教程
创建小程序项目
安装 IDE
在 IDE 中新建小程序项目
- 1.打开 IDE,用邮箱、手机、抖音扫码都可以完成登录。
- 2.在 IDE 左侧导航栏点击「小程序」,在「小程序」界面点击「新建」。
- 3.在「新建项目」页面填写小程序的「项目目录」、「项目名称」、「AppID」,选择「开发语言」和「项目模板」,然后点击「新建」。
- ◦AppID:
- ▪在开发者平台创建的或被邀请协作的小程序的 AppID。
- ▪使用沙盒小程序的 AppID。
- ▪如果没有已创建或可用的小程序,可以去抖音开放平台新建小程序或使用「测试号」。
注意:使用测试号开发的小程序无法上传到抖音开放平台。
- ▪开发语言:选择「JavaScript」。
- ▪项目模板:选择「空白模板」。
创建完成后,即可在 IDE 中看到小程序的目录结构。
小程序目录结构
抖音小程序以 MVVM(Model–view–viewmodel) 的方式进行开发,通过状态变更来更新视图。
目录结构
小程序包含一个描述整体程序的
app
和多个描述各自页面的 page
。. ├── app.js # 小程序逻辑 ├── app.json # 小程序公共配置 ├── app.ttss # 小程序公共样式表 ├── project.config.json # 项目配置 └── pages # 页面 └── pageA # 页面 A ├── pageA.ttss # 页面 A 样式表 ├── pageA.js # 页面 A 逻辑 ├── pageA.json # 页面 A 配置 └── pageA.ttml # 页面 A 结构
根目录
一个小程序主体部分由 1 个项目配置文件和 3 个全局配置文件组成,必须放在项目的根目录下。
文件 | 必需 | 作用 |
是 | 小程序逻辑 | |
是 | 小程序公共配置 | |
否 | 小程序公共样式表 | |
是 | 项目配置 |
页面
上述目录结构中的
pages/
可以根据项目结构灵活调整,仅需要保证其与 app.json
文件内 pages
字段的配置对应。一个小程序页面由 4 个文件组成:
注意
为了方便开发者减少配置项,描述页面的 4 个文件必须具有相同的路径与文件名。
允许上传的文件
在项目目录中,以下文件会经过编译,因此上传之后无法直接访问
.js
、.json
、.ttml
、.ttss
(其中 .ttml
和 .ttss
文件仅针对在 app.json
中配置了的页面)。除此之外,只有后缀名在白名单内的文件可以被上传,不在白名单列表内的文件在开发工具能被访问,但无法被上传。具体白名单包含:png、jpg、jpeg、gif、svg、cer、mp3、aac、m4a、mp4、ttf、otf、eot、woff。
注意:后缀名在白名单内的文件和
.js
文件无论是否被引用都会被打包,.json、.ttml 和 .ttss 文件只有被引用时才会被打包。小程序代码构成
小程序项目中单个页面会依赖不同类型的文件:
- •
.json
后缀的 JSON
配置文件- •
.ttml
后缀的 TTML
模板文件- •
.ttss
后缀的 TTSS
样式文件- •
.js
后缀的 JS
脚本文件接下来我们分别看看这 4 种文件的作用。
JSON 配置
JSON 是一种数据格式,并不是编程语言,在小程序中,JSON 扮演着静态配置的角色。
对于一个包含 index 页面的小程序而言,在项目的根目录有一个
app.json
和 project.config.json
,此外在 pages/index
目录下还有一个 index.json
。小程序配置 app.json
app.json
是小程序的全局配置,包括了小程序的所有页面路径、界面表现、网络超时时间、底部 tab 等。一般包含如下内容:{ "pages": ["pages/index/index", "pages/logs/logs"], "window": { "backgroundTextStyle": "light", "navigationBarBackgroundColor": "#fff", "navigationBarTitleText": "TikTok", "navigationBarTextStyle": "black" } }
这个配置各项的含义如下:
- •
pages
字段:用于描述当前小程序所有页面路径,让客户端知道当前小程序页面定义在哪个目录。- •
window
字段:定义小程序所有页面的顶部背景颜色,文字颜色等。工具配置 project.config.json
通常在使用一个工具的时候,都会针对各自喜好做一些个性化配置,例如界面颜色、编译配置等等。当换了另外一台电脑重新安装工具的时候,还要重新配置。
考虑到这点,小程序开发者工具在每个项目的根目录都会生成一个
project.config.json
,你在工具上做的任何配置都会写入到这个文件,当你重新安装工具或者换电脑工作时,你只要载入同一个项目的代码包,开发者工具就自动会帮你恢复到之前你开发项目时的个性化配置,其中会包括编辑器的颜色、代码上传时自动压缩等等一系列选项。页面配置 page.json
这里的
page.json
其实用来表示 pages/logs
目录下的 logs.json
这类和小程序页面相关的配置。如果你整个小程序的风格是蓝色调,那么你可以在
app.json
里边声明顶部颜色是蓝色即可。实际情况可能不是这样,可能你小程序里边的每个页面都有不一样的色调来区分不同功能模块,因此我们提供了 page.json
,让开发者可以独立定义每个页面的一些属性,例如刚刚说的顶部颜色、是否允许下拉刷新等等。JSON 语法
这里说一下小程序里 JSON 配置的一些注意事项。
JSON 文件都是被包裹在一个大括号中 {},通过 key-value 的方式来表达数据。JSON 的 key 必须包裹在一个双引号中,在实践中,编写 JSON 的时候,忘了给 key 值加双引号或者是把双引号写成单引号是常见错误。
JSON 的值只能是以下几种数据格式,其他任何格式都会触发报错,例如 JavaScript 中的 undefined。
- •数字,包含浮点数和整数