小程序快速入门教程(登录注册、开发工具、文件及结构介绍)
虽然主要还是研究 Java 的后端方向,不过有时候想写点 Demo 只有自己一个人,也就抓着临时把前端的一些东西也看一看,趁着假期,看看小程序哇,其实关于入门的几篇文章也都写差不多了,感觉有几篇写的很一般,写前端的东西,思路总是理不清,就当做笔记来看吧 官方的文档写的很全,一定要好好看哈
(一) 准备工作
(1) 登录注册
- 注册账号:这就不谈了,只需要注意使用一个全新的邮箱,别之前注册过公众号小程序等就可以了
https://mp.weixin.qq.com/wxopen/waregister?action=step1
- 登录账号:通过邮箱密码登录,亦或者绑定微信后使用扫码也是可以的
https://mp.weixin.qq.com/
(2) 获取 APPID
登录后,在开发入门的阶段有一个比较重要的内容需要了解,那就是 APPID,很好理解,就是这个小程序的唯一标识,就类似我们的身份证,登录后首页左侧栏选择【开发】,跳转后,选择【开发设置】就可以看到我们的 APPID
这个 APPID 要记好哈,在刚开始学习的时候,就会使用到
(3) 下载工具
在官网选择一个合适的版本进行下载,这就是我们小程序的编译器,这里我选择的是开发版,不过选择稳定版也是可以的,针对入门并没有太大的区别,不过稳定版可能出现的小毛病会少一些
https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
安装好后,直接提示扫码登录,接着就是点击左侧【小程序】,然后点击右侧【新建】(一个大加号)填写一些基本的信息
- 项目名称和目录:自己看着弄就可以了
- APPID:之前页面中找到的 APPID 在这个时候就可以用的上了,虽然你使用测试号也是可以进入的,到底后面还是要用自己的 ID 的。
- 开发模式:小程序
- 后端服务:不使用云服务,前面还是以学习小程序本身为主,不使用此选项
- 语言:JavaScript 和 Typescript,根据自身的熟悉程序选择即可
新建后,第一个小程序就完事了哈~
(二) 初识小程序
(1) 界面总览
下面的区域就是一个初始化新建好的项目界面了,图片中标的很清楚,每一块的具体内容,第一次创建项目时,也可以在设置的通用设置中将默认的的工作区以及主题(浅色还是深色)根据自己的需要修改
说明:直接在小程序官方的工具中编写代码也可以,不过我个人选择配合 vscode 或 sublime 进行代码的编辑,在微信官方开发工具或者那个查看结果以及控制台的一些信息
(2) 文件类型
与传统的网页开发有一丝小不同,微信小程序重新定义了它的描述语言,例如 wxml、wxss 等,同时还额外提供了一层 JSON 的配置文件
wxml(页面结构文件)
- 用来书写、构建页面,类似传统网页开发的 HTML
wxss(样式表文件)
- 用于制定页面样式,从而美化页面,类似传统网页开发的 CSS
js(脚本文件)
- 用于指定一定页面交互逻辑,就是 Javascript
json(静态数据配置文件)
- JSON 格式的配置文件,设置程序的一些配置效果
(3) 结构目录
A:总体介绍
通过官方开发工具或者vscode等其他编辑器,你可以看到,新建一个项目后,会默认生成一个初始化的项目结构,里面含有很多文件,其后缀格式都是我们上面介绍过的
下面我们针对一些主要的内容进行一个基本的介绍
├── pages // 页面文件夹
| ├── index // 首页
│ | ├── index.js // 首页逻辑脚本文件
│ | ├── index.json // 首页配置文件
│ | ├── index.wxml // 首页页面结构文件
│ | ├── index.wxss // 首页样式文件
| ├── logs // 日志页面
│ | ├── logs.js // 日志页面逻辑脚本文件
│ | ├── logs.json // 日志页面配置文件
│ | ├── logs.wxml // 日志页面页面结构文件
│ | ├── logs.wxss // 日志页面样式文件
| ├── utils // 工具js文件(第三方,可删除)
│ | ├── util.js // 日志页面逻辑脚本文件
│ ├── app.js // 项目的全局脚本文件
│ ├── app.json // 项目的全局配置文件
│ ├── app.wxss // 项目的全局配置文件
│ ├── project.config.json // 项目的开发者工具的配置
│ ├── sitemap.json // 索引配置文件
具体的一些例如 wxml wxss 等的用法,会在后面提到,这里我们还要提一下两个内容:
A:针对说明
app.js:项目的入口文件,用来创建应用程序的对象,处理程序的生命周期
app.json:项目全局的配置文件,涉及到了页面的路径,界面/窗口 的表现时间,网格超时的时间,还有小程序底部的 tab 等等,还是非常重要的,初始化新建项目后,可以看到如下pages 字段和 windows 字段
{
"pages":[
"pages/index/index",
"pages/logs/logs"
],
"window":{
"backgroundTextStyle":"light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "WeChat",
"navigationBarTextStyle":"black"
}
}
- pages 字段,是关于页面路径的,也就是给客户端说明出你小程序页面到底在哪里
- window 字段,对应 页面的颜色、标题等等
- tabbar 字段,底部 tab 栏(切换页面)
贴一段官网关于tabbar的说明(官网的说明确实很可!):
如果小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。
属性 |
类型 |
必填 |
默认值 |
描述 |
---|---|---|---|---|
color |
HexColor |
是 |
tab 上的文字默认颜色,仅支持十六进制颜色 |
|
selectedColor |
HexColor |
是 |
tab 上的文字选中时的颜色,仅支持十六进制颜色 |
|
backgroundColor |
HexColor |
是 |
tab 的背景色,仅支持十六进制颜色 |
|
borderStyle |
string |
否 |
black |
tabbar 上边框的颜色, 仅支持 black / white |
list |
Array |
是 |
tab 的列表,详见 list 属性说明,最少 2 个、最多 5 个 tab |
|
position |
string |
否 |
bottom |
tabBar 的位置,仅支持 bottom / top |
custom |
boolean |
否 |
false |
自定义 tabBar,最低需要 2.5 版本 |
而一般我们想要设置出常见的效果就会选择使用 list 进行配置
属性 |
类型 |
必填 |
说明 |
---|---|---|---|
pagePath |
string |
是 |
页面路径,必须在 pages 中先定义 |
text |
string |
是 |
tab 上按钮文字 |
iconPath |
string |
否 |
图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,不支持网络图片。当 position 为 top 时,不显示 icon。 |
selectedIconPath |
string |
否 |
选中时的图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,不支持网络图片。当 position 为 top 时,不显示 icon。 |
给大家举个例子,书写的格式就是这样的,别忘了制定了 tabbar 一定要有在pages中设置对应的页面哦
"tabBar": {
"color": "#999",
"selectedColor": "#ff2d4a",
"backgroundColor": "#fafafa",
"position": "bottom",
"borderStyle": "black",
"list": [
{
"pagePath": "pages/index/index",
"text": "首页",
"iconPath": "icons/home.png",
"selectedIconPath": "icons/home.png"
},
{
"pagePath": "pages/user/index",
"text": "我的",
"iconPath": "icons/my.png",
"selectedIconPath": "icons/my.png"
}
]
},
每一个小程序页面也可以使用 .json
文件来对本页面的窗口表现进行配置。页面中配置项在当前页面会覆盖 app.json
的 window
中相同的配置项。同样的,也有很多配置内容,看一下官网就可以了
https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/page.html
结尾
域名:www.ideal-20.cn
- 微信力推搜一搜,培养用户微信搜索习惯,搜一搜直接给红包
- datetime
- [转自JeffreyZhao]在LINQ to SQL中使用Translate方法以及修改查询用SQL
- Flask-SQLAlchemy
- 2017全球存储大会:存储设备面临三大挑战
- cobbler自动安装系统(Centos7.X)
- Python接口自动化-7-unittest
- cobbler自动安装系统(Centos7.X)
- Linux NTP时间服务器
- 子查询的另一种方式——映射
- LNMP架构之搭建wordpress博客网站
- Nginx的各种报错总结
- 谷歌TensorFlowLite正式发布,机器学习框架向移动端大步挺进!
- ABP+AdminLTE+Bootstrap Table权限管理系统一期
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- C#实现前向最大匹、字典树(分词、检索)
- Tomcat 中文乱码,设置UTF-8
- 从零搭建Spring Boot脚手架(4):手写Mybatis通用Mapper
- IDEA将Maven项目中指定文件夹下的xml等文件编译进classes
- 数据误操作,教你使用ApexSQLLog工具从 SQLServer日志恢复数据!
- 从零搭建Spring Boot脚手架(5):整合 Mybatis Plus
- SQL Server数据库阻塞,死锁查询
- 如何优雅地写出大规模线性规划的对偶
- 数据库char varchar nchar nvarchar,编码Unicode,UTF8,GBK等,Sql语句中文前为什么加N(一次线上数据存储乱码排查)
- [Maven][maven-shade-plugin]告警[WARNING] maven-shade-plugin has detected that some class files are pre
- asp.net core 3.1多种身份验证方案,cookie和jwt混合认证授权
- 只知道java反射,宁知道内省吗?
- JDK1.8新特性(七):默认方法,真香,开动!接口?我要升级!!
- Windows10上安装Linux子系统(WSL2,Ubuntu),配合Windows Terminal使用,还要什么自行车
- [Maven][maven-site-plugin]告警[WARNING] No project URL defined - decoration links will not be relativi