微信小程序学习第1天:微信小程序开发入门介绍

news2024/11/15 16:45:26

前言:微信小程序开发模式

1、申请小程序开发账号
2、安装小程序开发者工具
3、创建和配置小程序项目

一、申请小程序开发账号

1、体验小程序

在这里插入图片描述

2、注册小程序开发账号

使用浏览器打开https://mp.weixin.qq.com网址,按照提示注册
注册承购后,获取小程序ID
在这里插入图片描述

二、安装小程序开发者工具

微信开发者工具是微信官方推荐使用的小程序开发工具

1、下载开发者工具

推荐下载稳定版,下载地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/stable.html

2、登录界面

在这里插入图片描述

3、设置代理

选择“不使用任何代理,勾选后直连网络”
在这里插入图片描述

三、创建第一个小程序

1、创建小程序

选择“不使用云服务”“javascript”
在这里插入图片描述

四、小程序代码的构成

1、项目结构

文件用途
pages用来存放所有小程序的页面
utils用来存放工具性质的模块(如:格式化时间的自定义模块)
app.js小程序项目的入口文件
app.json小程序项目的全局配置文件
app.wxss小程序项目的全局样式文件
project.config.json项目的配置文件
sitemap.json用来配置小程序及其页面是否允许被微信索引

2、小程序页面的组成部分

官方建议把所有小程序的页面,都存放在pages 目录中,以单独的文件夹存在
其中,每个页面由4个基本文件组成,它们是:

文件名用途
.js文件页面的脚本文件,存放页面的数据、事件处理函数等
json文件当前页面的配置文件,配置窗口的外观、表现等
.wxml 文件页面的模板结构文件
.wxss 文件当前页面的样式表文件

3、JSON配置文件

JSON是一种数据格式,小程序通过不同的.json 配置文件,可以对小程序项目进行不同级别的配置
小程序项目中有4 种json配置文件

配置文件用途配置项
app.json是当前小程序的全局配置,包括了小程序的所有页面路径、窗口外观、界面表现、底部 tab pages:用来记录当前小程序所有页面的路径 ② window:全局定义小程序所有页面的背景色、文字颜色等 ③style:全局定义小程序组件所使用的样式版本 ④sitemapLocation:用来指明 sitemap.json 的位置
project.config.json是项目配置文件,记录对小程序开发工具所做的个性化配置setting中保存了编译相关的配置projectname中保存的是项目名称appid中保存的是小程序的账号 ID
sitemap.json类似于网页的seo,用来配置小程序页面是否允许微信索引sitemap的索引提示是默认开启的,如需要关闭 sitemap 的索引提示,可在小程序项目配置文件project.config.json 的 setting 中配置字段 checkSiteMap 为false
页面的.json每一个页面,可以使用.json 文件来对本页面的窗口外观进行配置,页面中的配置项会覆盖app.json 的 window 中相同的配置项在app.json -> pages 中新增页面的存放路径

① 新建小程序页面

只需要在 app.json -> pages 中新增页面的存放路径,小程序开发者工具即可自动创建对应的页面文件
在这里插入图片描述

② 修改项目首页

调整 app.json -> pages 数组中页面路径的前后顺序,即可修改项目的首页
在这里插入图片描述

4、WXML 模板

WXML(WeiXin Markup Language)是小程序框架设计的一套标签语言,用来构建小程序页面的结构,其作用类似于网页开发中的 HTML。

区别HTMLWXML
标签名称不同div, span, img, aview, text, image, navigator
属性节点不同<a href="#">超链接</a><navigator url="/pages/home/home"></navigator>
提供了类似于 Vue 中的模板语法数据绑定、列表渲染、条件渲染

5、WXSS 样式

WXSS (WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式,类似于网页开发中的 CSS。

区别CSSWXSS
新增rpx尺寸单位CSS 中需要手动进行像素单位换算,例如 rem底层支持新的尺寸单位 rpx,在不同大小的屏幕上小程序会自动进行换算
提供了全局的样式和局部样式根据页面需要引入样式项目根目录中的 app.wxss 会作用于所有小程序页面,局部页面的 .wxss 样式仅对当前页面生效
WXSS 仅支持部分 CSS 选择器全部支持.class 和 #id、element、并集选择器、后代选择器、::after 和 ::before 等伪类选择器

6、JS交互逻辑

通过 .js 文件来处理用户的操作。例如:响应用户的点击、获取用户的位置等
小程序有3种JS文件

文件名作用
app.js整个小程序项目的入口文件,通过调用 App() 函数来启动整个小程序
页面的 .js 文件页面的入口文件,通过调用 Page() 函数来创建并运行页面
普通的 .js 文件普通的功能模块文件,用来封装公共的函数或属性供页面使用

四、小程序的宿主环境

宿主环境指的是程序运行所必须的依赖环境。安卓和IOS系统是两个不同的宿主环境。
小程序的宿主环境包括:通信模型、运行机制、组件、API

1、通信模型

小程序的通信主体是渲染层逻辑层
① WXML模板和WXSS样式工作在渲染层
② JS脚本工作在逻辑层

渲染层和逻辑层、逻辑层和第三方服务器之间的通信都是通过通过微信客户端进行转发

2、运行机制

小程序启动过程
① 把小程序的代码包下载到本地 → ② 解析 app.json 全局配置文件 → ③ 执行 app.js 小程序入口文件,调用 App() 创建小程序实例 → ④ 渲染小程序首页 → ⑤ 小程序启动完成

页面渲染的过程
加载解析页面的.json配置文件 → 加载页面的 .wxml 模板和 .wxss 样式 → 执行页面的 .js 文件,调用 Page() 创建页面实例 → 页面渲染完成

3、组件

微信官方9大组件类:① 视图容器② 基础内容③ 表单组件④ 导航组件⑤ 媒体组件⑥ map 地图组件⑦ canvas 画布组件⑧ 开放能力⑨ 无障碍访问
① 常用的视图容器类组件

名称用途
view类似于div,实现页面的布局效果
scroll-view实现滚动列表效果
swiper和swiper-item轮播图

swiper组件常用属性

属性类型默认值说明
indicator-dotsbooleanfalse是否显示面板指示点
indicator-colorcolorrgba(0,0,0,.3)指示点颜色
indicator-active-colorcolor#000000当前选中的指示点颜色
autoplaybooleanfalse是否自动切换
intervalnumber5000自动切换时间间隔
circularbooleanfalse是否采用衔接滑动

② 常用的基础内容组件

名称用途
text类似于span
rich-text富文本组件,支持将html字符串渲染为WXML结构

在小程序中只有text组件支持长按选中,通过text组件的selectable属性实现长按选中文本
通过rich-text组件的nodes属性,把HTML字符串渲染为对应的UI结构

③ 其他常用组件
button组件:可以通过open-type属性可以调用微信提供的各种功能(客服、转发、获取用户授权、获取用户信息等)
image组件:image组件默认的宽度约为300px、高度约为240px
navigator组件:页面导航组件,类似于a链接

4、API

3大类API

类型特点
事件监听API以ON开头
同步API以Sync结尾
异步API需要通过success、failcomplete接收调用的结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/187885.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微服务 初始 分布式搜索引擎 Elastic Search

文章目录⛄引言一、什么是Elastic Search&#xff1f;二、Elastic Search 倒排索引⛅正向索引⚡倒排索引⛄正向和倒排三、ES的一些概念⛅文档和字段⚡索引和映射四、MySQL 与 Elasticsearch⛵小结⛄引言 本文参考黑马 分布式Elastic search Elasticsearch是一款非常强大的开源…

OBB的计算python实现

OBB的计算python实现1. 实现步骤步骤① 分解点集的xyz分量步骤② 对x、y、z这三个随机变量&#xff08;一维数组&#xff09;求协方差矩阵步骤③ 对步骤②中的协方差矩阵求解特征值与特征向量&#xff0c;特征向量构造列向量矩阵M步骤④ 将点集的几何中心平移至坐标系原点&…

最全java面试题及答案(208道)

本文分为十九个模块&#xff0c;分别是&#xff1a;「Java 基础、容器、多线程、反射、对象拷贝、Java Web 、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、MyBatis、RabbitMQ、Kafka、Zookeeper、MySQL、Redis、JVM」 &#xff0c;如下图所…

Discord怎么抢白名单?Discord多账号防关联可以提高白名单成功率

Discord作为一个社交媒体&#xff0c;在加密货币领域扮演着重要的角色&#xff0c;它强大而便捷。更重要的是&#xff0c;如果你是一个投资者&#xff0c;Discord无疑是你了解项目动态&#xff0c;深入社区沟通交流的重要工具。 相信很多玩NFT和Web3的朋友都不会对discord 陌生…

分位数的理解与查询

目录 分位数的定义与理解&#xff1a; pyspark 中分位数查询 方式1 &#xff1a; 某列分位数查询&#xff1a; 采用dataframe的approxQuantile属性&#xff0c;返回一个list 例子&#xff1a; 方式2 &#xff1a; 转换为toPandas&#xff0c;利用pandas.dataframe利的…

全志T113-i+玄铁HiFi4开发板硬件说明书(2)

前 言 本文档主要介绍开发板硬件接口资源以及设计注意事项等内容,测试板卡为全志T113-i+玄铁HiFi4开发板,由于篇幅问题,本篇文章共分为上下两集,点击账户可查看更多内容详情,开发问题欢迎留言,感谢关注。 T113-i处理器的IO电平标准一般为1.8V和3.3V,上拉电源一般不超过…

【C++入门】命名空间的定义与使用

目  录1 命名空间1.1 命名空间定义1.2 命名空间使用1 命名空间 在C/C中&#xff0c;变量、函数和类都是大量存在的&#xff0c;这些变量、函数、类的名称将都存在于全局作用域中&#xff0c;可能会导致很多冲突。 使用命名空间的目的是对标识符的名称进行本地化&#xff0c;以…

经典动态规划OJ题目:接雨水or接青豆(多种方法,附详详细思维过程、解析及源码)

作者&#xff1a;非妃是公主 专栏&#xff1a;《算法》《刷题笔记》 个性签&#xff1a;顺境不惰&#xff0c;逆境不馁&#xff0c;以心制境&#xff0c;万事可成。——曾国藩 《算法》专栏系列文章 算法设计与分析复习01&#xff1a;主方法求递归算法时间复杂度 算法设计与分析…

MySQL批量插入4种方案(对比速度起飞)

一、前言二、准备工作1、Maven项目中pom.xml文件引入的相关依赖如下2、application.yml配置属性文件内容&#xff08;重点&#xff1a;开启批处理模式&#xff09;3、Entity实体类&#xff08;测试&#xff09;4、数据库student表结构&#xff08;注意&#xff1a;无索引&#…

4.2 避免缩进错误

4.1.3 在for循环结束后执行一些操作for循环结束后再怎么做呢?通常,你需要提供总结性输出或接着执行程序必须完成的其他任务。在for循环后面&#xff0c;没有缩进的代码都只执行一次&#xff0c;而不会重复执行。下面来打印一条向全体魔术师致谢的消息&#xff0c;感谢他们的精…

爬虫实例(一) —— 5行 Python 代码爬取

大家好&#xff0c;我是 Enovo飞鱼&#xff0c;今天分享一个爬虫小案例&#xff0c;小白或者爬虫入门的小伙伴推荐阅读&#xff0c;加油&#x1f4aa;。 目录 前言 基本环境配置 爬取目标网站 爬取内容 实现代码 后面我会继续更新爬虫实例&#xff0c;与大家共同学习&am…

ubuntu设置双网卡以及多网段

前提设备有两个网卡&#xff0c;分别作为内网和外网,比如两个网卡eth0和eth1,eth0作为外网&#xff0c;eth1作为内网&#xff0c;每个人的网卡名称可能不一样&#xff0c;网卡名称可以自行查看&#xff0c;使用ifconfig命令&#xff1a;ifconfig区分内网和外网的ip外网网卡&…

如何使用 Apache IoTDB 中的 UDF

本篇作者&#xff1a;IoTDB 社区 -- 廖兰宇本文将概述用户使用 UDF 的大致流程&#xff0c;UDF 的详细使用说明请参考官网用户手册&#xff1a;https://iotdb.apache.org/zh/UserGuide/Master/Operators-Functions/User-Defined-Function.html1编写 UDFIoTDB 为用户提供编写 UD…

opensuse15.4安装android-studio-2021.1.1.23_未完成

opensuse15.4安装android_studio再运行微信apk_未完成 未完成的原因是&#xff1a;本人台式机的物理内存为4G&#xff0c;官方要求是16G android studio与android sdkj是两个完全不同的两样东西。 Android studio是一个IDE&#xff08;可视化开发工具&#xff09;跟eclipse一…

SAP 新准则IFRS 17:重新思考和革新保险会计的机会

您准备好迎接 IFRS 17 了吗&#xff1f;财务报告准则过去曾多次更改&#xff0c;但这次没有。这一变化将为准备迎接新准则的保险公司带来广泛的机遇。许多公司都有应对这些要求的战术计划。但最大的成功将由制定包括 IFRS 17 在内的更广泛报告战略的公司实现。他们不会做出回应…

redis-哈希槽一致hash算法

1、一致性hash算法&#xff1f; 以分布式缓存为例&#xff0c;假设现在有3台缓存服务器(S0&#xff0c;S1&#xff0c;S2)&#xff0c;要将一些图片尽可能平均地分配到不同的服务器上&#xff0c;hash算法的做法是&#xff1a; (1) 以图片的名称作为key&#xff0c;然后对其做…

【Unity3D插件】UniRx(基于Unity的响应式编程框架)插件教程

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客QQ群&#xff1a;1040082875 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、介绍UniRx插件 UniRx是一种基于Unity3D的…

九龙证券|石墨烯电池和锂离子电池哪个好

电池技术是电动汽车大力推广和开展的最大门槛&#xff0c;而电池工业正处于铅酸电池和传统锂电池开展均遇瓶颈的阶段&#xff0c;石墨烯储能设备的研制成功后&#xff0c;若能批量生产&#xff0c;则将为电池工业乃至电动车工业带来新的改造。那么石墨烯电池和锂离子电池哪个更…

VUE VS React 对比

VUE VS React 对比 这是面试中经常考察的一个问题&#xff0c;简单整理一下。我主要写 react &#xff0c;所以 react 的特点阐述的多一点。 语法格式 vue 是单独的文件格式&#xff0c;一个文件包括了 js css HTML 全部 React 通常是 jsx 格式&#xff0c;JS 和 HTML 写在…

shiro相关源码解析

1. 认证过程相关源码解析 前后文可接查看 shiro的登陆都是通过subject.login()方法实现&#xff0c;接下来我们就进入login方法查看实现过程&#xff1a; 1.1 进入DelegatingSubject类的login方法&#xff1a; 此类实现了Subject接口&#xff1a; public void login(Authen…