百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

微信小程序开发教程1(从0基础到学会UI组件开发)

liuian 2025-01-29 16:48 33 浏览

1、体验官方提供的小程序组件/接口等

可以点击进入相关组件看看效果和如何使用。

2、提前了解小程序的开发与发布

2.1 注册一个小程序的开发账号

https://mp.weixin.qq.com/wxamp/home/guide?lang=zh_CN&token=1313416074

个人只能注册个人的账号,不能注册企业的账号,个人的账号无法调用微信支付的高级接口。

2.1.1 获取appid

注册完小程序,可以在如下找到

2.2、小程序的协同工作与发布推广

1、 添加项目成员和体验成员

2、小程序的版本

3、 小程序的发布

1、 上传代码

上传后可以从以下图中看到上传的代码

2 、提交审核

3 、发布上线

4、 小程序的推广

1、 查看小程序的运营数据

3、微信小程序开发者工具使用

3.1 安装

3.2 创建小程序项目

3.3 开发者工具使用功能介绍

3.3.1 常用的菜单工具

  • 打开开发者文档
  • 构建npm
  • 控制功能窗口是否展示
  • (注意模拟器有时无法真正正常展示开发的功能,一切已扫描二维码测试为准)
  • 查看小程序的本地配置基本信息等
  • 控制模拟器的展示机型(建议选择iphone 6/7/8 )可以切换当前模拟器页面的页面路径、页面参数、场景值等。

3.3.2 预览开发中的小程序界面

方式一点击编译

方式二点击预览,出现一个二维码,用手机微信扫描即可在手机看到界面

3.3.3 常用的开发功能

  • 调式器可以像浏览器一样,调式小程序的页面

4、微信小程序代码结构介绍

4.1 目录结构介绍

1 pages 小程序页面目录

用来存放所有小程序的页面,定义一个页面由如下4部分组成,如index页面

(1)页面里的.json文件

如下小程序的index页的导航就会变成绿色。

(2)页面里的.wxml文件

(3)页面里的.wxss文件

(4)页面里的.js文件

2 app.json全局配置文件

3 project.config.json项目配置文件

对应菜单中的详情

4 sitemap.json项目是否被微信索引配置文件

如下page为* , action为allow,表示所有页面允许被索引(如果不允许改成disallow)

5、小程序环境与代码开发

小程序的宿主环境就是微信,微信给小程序提供了如下:

5.1通信模型

5.2 运行机制

5.3 页面组件

5.3.1 视图容器组件基本使用

5.3.1.1 展示view组件

5.3.1.2 滚动效果scroll-view组件

5.3.1.3 轮播图swiper和swiper-item组件

5.3.2 基础内容组件基本使用

5.3.2.1 文本text组件

长按选中只能在真机测试,在开发工具里无法测试

5.3.2.2 富文本rich-text组件

5.3.2.3 按钮button和图片image组件

button的使用如下

image的使用如下

5.4 页面API

5.5 新建小程序页面

(测试时创建不成功,从新创建项目又可以了)

5.6 修改小程序首页

5.7 小程序页面中4个文件的开发

5.7.1 js文件开发

1、数据定义

2、事件定义

5.7.2 wxml文件开发

1、数据绑定

将js里定义的data数据展示

如下:

{{info}}

2、三元运算符

3、调试器看到当前渲染的数据

4、算术运算

5、事件绑定

(1)介绍

(2)点击事件事例

(2.1)通过点击事件修改data中的数据

(2.2)点击事件传参




(3)文本框输入事件

下图的input应为

(本人测试时进行了手动编译才行,可能工具没反应过来)

(3.1)文本框与data之间的数据同步

第一步:定义数据

第二步:渲染结构

第三步:美化输入框

第四步:绑定input处理事件,实现与data之间的数据同步

6、条件渲染

(1)wx:if wx:else

(2)block控制多个组件的展示与隐藏

(3)hidden

7、列表渲染

(1)wx:for

(2)vx:key

5.7.3 wxss文件开发

1、rpx尺寸单位

2、@import样式导入

3、全局样式和局部样式

权重大小判断就是定位到更小层次的权重一般较高,样式就按权重高的,可以把鼠标放上去可以展示权重,

如下图一比图二的权重就高

5.7.4 json文件开发

1、配置当前页

2、监听当前页的下拉刷新

3、监听上拉触底的加载

(1)上拉加载数据预防多次请求数据

案例如下

4、动态设置导航栏标题

如下场景需要设置动态标题,查官方文档

根据官方说明只能在如下图方法中设置

5.8 全局配置window窗口部分(app.json )

window可以配置如下图中的导航栏区域和背景区域


5.8.1 window节点常用配置项

(1)举例设置导航栏标题

(2)举例设置导航栏背景色

(3)举例设置导航栏标题颜色

(仅支持black/white)

(4)全局开启下拉刷新

不建议全局开启下拉刷新,通常在需要的页面里的json文件开启当前页有下拉刷新

(5)全局下拉的窗口背景色

(6)全局设置下拉的loading的样式

仅支持light、dark

(7)设置上拉触底的距离

5.9 全局配置页签tabBar(app.json)

1 tabBar页签介绍

注意tab项里指定的pagePath相关的页面,在pages里应排在头部的位置,否则可能不展示

2 tabBar页签设置举例

在app.json中加如下

"tabBar": {
"list": [
{
"pagePath": "
pages/pageSamples/pageList/list",

"text": "页面",
"iconPath": "
/images/icon/unchecked1.png",

"selectedIconPath": "/images/icon/checked1.png"
},
{
"pagePath": "
pages/buttonSamples/buttonList/list",

"text": "按钮",
"iconPath": "
/images/icon/unchecked2.png",

"selectedIconPath": "/images/icon/checked2.png"
},
{
"pagePath": "
pages/richTextSamples/richTextList/list",

"text": "富文本",
"iconPath": "
/images/icon/unchecked3.png",

"selectedIconPath": "/images/icon/checked3.png"
},
{
"pagePath": "
pages/swiperSamples/swiperList/list",

"text": "轮播图",
"iconPath": "
/images/icon/unchecked4.png",

"selectedIconPath": "/images/icon/checked4.png"
},
{
"pagePath": "
pages/scrollViewSamples/scrollViewList/list",

"text": "滚动菜单",
"iconPath": "
/images/icon/unchecked5.png",

"selectedIconPath": "/images/icon/checked5.png"
}
]
},

效果

3、自定义tabBar页签(需要用到组件)

步骤一、配置信息

如下为兼容低版本的,tabBar里的list不要删除

步骤二、添加tabBar代码文件(新建组件)

步骤三、使用Vant提供的样式组件

根据Vant后面的代码演示,找到我们需要的即可

相关推荐

教你把多个视频合并成一个视频的方法

一.情况介绍当你有一个m3u8文件和一个目录,目录中有连续的视频片段,这些片段可以连成一段完整的视频。m3u8文件打开后像这样:m3u8文件,可以理解为播放列表,里面是播放视频片段的顺序。视频片段像这...

零代码编程:用kimichat合并一个文件夹下的多个文件

一个文件夹里面有很多个srt字幕文件,如何借助kimichat来自动批量合并呢?在kimichat对话框中输入提示词:你是一个Python编程专家,完成如下的编程任务:这个文件夹:D:\downloa...

Java APT_java APT 生成代码

JavaAPT(AnnotationProcessingTool)是一种在Java编译阶段处理注解的工具。APT会在编译阶段扫描源代码中的注解,并根据这些注解生成代码、资源文件或其他输出,...

Unit Runtime:一键运行 AI 生成的代码,或许将成为你的复制 + 粘贴神器

在我们构建了UnitMesh架构之后,以及对应的demo之后,便着手于实现UnitMesh架构。于是,我们就继续开始UnitRuntime,以用于直接运行AI生成的代码。PS:...

挣脱臃肿的枷锁:为什么说Vert.x是Java开发者手中的一柄利剑?

如果你是一名Java开发者,那么你的职业生涯几乎无法避开Spring。它如同一位德高望重的老国王,统治着企业级应用开发的大片疆土。SpringBoot的约定大于配置、SpringCloud的微服务...

五年后,谷歌还在全力以赴发展 Kotlin

作者|FredericLardinois译者|Sambodhi策划|Tina自2017年谷歌I/O全球开发者大会上,谷歌首次宣布将Kotlin(JetBrains开发的Ja...

kotlin和java开发哪个好,优缺点对比

Kotlin和Java都是常见的编程语言,它们有各自的优缺点。Kotlin的优点:简洁:Kotlin程序相对于Java程序更简洁,可以减少代码量。安全:Kotlin在类型系统和空值安全...

移动端架构模式全景解析:从MVC到MVVM,如何选择最佳设计方案?

掌握不同架构模式的精髓,是构建可维护、可测试且高效移动应用的关键。在移动应用开发中,选择合适的软件架构模式对项目的可维护性、可测试性和团队协作效率至关重要。随着应用复杂度的增加,一个良好的架构能够帮助...

颜值非常高的XShell替代工具Termora,不一样的使用体验!

Termora是一款面向开发者和运维人员的跨平台SSH终端与文件管理工具,支持Windows、macOS及Linux系统,通过一体化界面简化远程服务器管理流程。其核心定位是解决多平台环境下远程连接、文...

预处理的底层原理和预处理编译运行异常的解决方案

若文章对您有帮助,欢迎关注程序员小迷。助您在编程路上越走越好![Mac-10.7.1LionIntel-based]Q:预处理到底干了什么事情?A:预处理,顾名思义,预先做的处理。源代码中...

为“架构”再建个模:如何用代码描述软件架构?

在架构治理平台ArchGuard中,为了实现对架构的治理,我们需要代码+模型描述所要处理的内容和数据。所以,在ArchGuard中,我们有了代码的模型、依赖的模型、变更的模型等,剩下的两个...

深度解析:Google Gemma 3n —— 移动优先的轻量多模态大模型

2025年6月,Google正式发布了Gemma3n,这是一款能够在2GB内存环境下运行的轻量级多模态大模型。它延续了Gemma家族的开源基因,同时在架构设计上大幅优化,目标是让...

比分网开发技术栈与功能详解_比分网有哪些

一、核心功能模块一个基本的比分网通常包含以下模块:首页/总览实时比分看板:滚动展示所有正在进行的比赛,包含比分、比赛时间、红黄牌等关键信息。热门赛事/焦点战:突出显示重要的、关注度高的比赛。赛事导航...

设计模式之-生成器_一键生成设计

一、【概念定义】——“分步构建复杂对象,隐藏创建细节”生成器模式(BuilderPattern):一种“分步构建型”创建型设计模式,它将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建...

构建第一个 Kotlin Android 应用_kotlin简介

第一步:安装AndroidStudio(推荐IDE)AndroidStudio是官方推荐的Android开发集成开发环境(IDE),内置对Kotlin的完整支持。1.下载And...