微信小程序开发-01-入门

news2024/11/16 11:40:45

文章目录

  • 一、微信开发者工具介绍
    • 基础文件介绍
    • 具体文件介绍
      • JSON配置文件的作用
      • wxml
      • wxss
      • js
  • 二、宿主环境
    • 介绍
      • 通信模型
      • 运行机制
      • 组件
        • 视图容器
        • 基础内容
        • 其他常用组件
      • API
  • 三、操作流程
    • 基本操作流程
      • 新建小程序页面
    • 修改项目首页
    • 后续
  • 四、协同工作和发布
    • 权限管理需求
    • 项目成员的组织结构
    • 小程序开发流程
    • 成员管理的两个方面
      • 项目成员
      • 体验成员

一、微信开发者工具介绍

基础文件介绍

在这里插入图片描述

pages:用来存放所有小程序的页面,每个页面以单独文件夹形式存在
	每个页面都由四个基本文件组成,分别是:
		.js文件:页面脚本文件,存放页面的数据,事件处理函数等
		.json文件:页面的配置文件,配置窗口的外观,表现等
		.wxml文件:页面的模板结构文件
		.wxss文件:当前页面的样式表文件
utils:用来存放工具性质的模块(例如格式化时间的自定义模块)
app.js:整个小程序项目的入口
app.json:小程序项目的全局配置文件
app.wxss:小程序项目的全局样式文件
project.config.json:项目的配置文件
sitemap.json:用来配置小程序及其页面是否允许被微信索引 

具体文件介绍

JSON配置文件的作用

JSON是一种数据格式,在实际开发中,总是以配置文件的形式出现。小程序项目也不例外,通过.json配置文件,可以对小程序项目进行不同级别的配置
小程序项目有四种json配置文件:

项目根目录中的app.json配置文件:
	包括所有页面路径,窗口外观,界面表现,底部tab等。

在这里插入图片描述

如上图:
pages:用来记录当前小程序所有页面的路径
window:全局定义小程序所有页面的背景色,文字颜色等
style:全局定义小程序组件所使用的样式版本(v2是最新的版本)
sitemapLocation:用来指明sitemap.json的位置
根目录中的project.config.json配置文件
	用来记录对小程序开发工具所作的个性化配置
	setting保存了和编译相关的配置
	projectname:保存了项目名称
	appid:保存小程序账号ID
项目根目录中的sitemap.json配置文件
	目前微信已开放小程序内搜索,效果类似于PC网页的SEO,这个文件用来配置小程序页面是否允许微信索引。
	当开发者允许微信索引时,微信会通过爬虫的形式,为小程序的页面内容建立索引,当用户的搜索关键字和页面索引匹配成功时,小程序页面将可能展示在搜索结果中。
每个页面文件夹中的.json配置文件
	对本页面的窗口外观进行配置,页面中的配置项会覆盖app.json的window中相同配置项

wxml

小程序框架设计的一套标签语言,用来构建小程序页面的结构,其作用类似于网页开发中的html

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

wxss

类似于网页开发的css

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

在这里插入图片描述

js

项目仅提供界面展示是不够的,在小程序中,通过js来处理用户的操作,例如相应用户的点击,获取用户的位置等等。

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

二、宿主环境

介绍

·指程序运行所必须的依赖环境。
·Android系统和ios系统是两个不同的宿主环境,安卓版的微信app是不能在ios环境下运行的,所以Android是安卓环境的宿主环境,脱离了宿主环境的软件是没有任何意义的。
·手机微信是小程序的宿主环境,借助宿主环境提供的能力,可以完成许多普通网页无法完成的功能,例如,微信扫码,微信支付,微信登陆,地理定位,etc……
包含内容
	通信模式:主体是渲染层和逻辑层,其中:
		WXML模板和WXSS样式工作在渲染层
		JS脚本工作在逻辑层
	运行机制
	组件
	API

通信模型

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

在这里插入图片描述

运行机制

在这里插入图片描述
在这里插入图片描述

组件

小程序的组件也是由宿主环境提供的,开发者可以基于组件快速搭建漂亮的页面结构。共有九大类

视图容器,基础内容,表单组件,导航组件,媒体组件,map地图组件,canvas画布组件,开放能力,无障碍访问
其中前四个最为重要
视图容器
view:普通视图区域,类似于HTML的div,是一个块级元素,用来实现页面布局效果

例子:
在这里插入图片描述

scroll-view:可滚动的视图区域,用来实现滚动列表效果

常用属性:
在这里插入图片描述

在这里插入图片描述

swiper和swiper-item:轮播图容器组件和轮播图item组件

在这里插入图片描述

基础内容
text:文本组件,类似于HTML中的span标签,是一个行内元素
通过selectable属性,实现长按选中文本内容的效果(只有text有这个属性)

在这里插入图片描述

rich-text:富文本组件,把HTML字符喘渲染为WXML结构。
通过rich-text组件的nodes属性节点,把HTML字符串渲染为对应的UI结构。
使用范围:商品详情页返回HTML标签时即可使用此方法转为微信能识别的。
其他常用组件
button:按钮组件,比HTML的button按钮丰富,通过open-type属性可以调用微信提供的各种功能(客服,转发,获取用户授权,获取用户信息等)

在这里插入图片描述

image:图片组件,image组件默认宽度为300px,高度为240px。
mode属性用来指定图片的裁剪和缩放模式,常见值如下

在这里插入图片描述

在这里插入图片描述

navigator“页面导航组件,类似于HTML的a链接

API

API是由宿主环境提供的,通过丰富小程序的API,可以方便调用微信提供的功能,例如获取用户信息,本地存储,支付功能等。分为三大类

事件监听API:以on开头用来监听某些事件的触发
eg.wx.onWindowResize(function):监听窗口尺寸变化的事件
PS:wx相当于浏览器的window对象,不用声明即可全局调用
同步API:以Sync结尾的API都是同步API,同步API的执行结果可以通过函数返回值直接获取,如果执行错误会抛出异常。
eg.wx.setStorageSync('Key','value')向本地存储中写入内容
异步API:类似于jQuery中的$.ajax(options)函数,需要通过success,fail,complete接受调用的结果
eg.wx.request()发起网络中数据请求,通过success回调函数接受数据

三、操作流程

基本操作流程

新建小程序页面

只需要在app.json->pages中新增页面的存放路径,小程序开发工具即可自动创建对应的页面文件。

修改项目首页

只需要调整app.json->pages数组中页面路径的前后顺序,即可修改项目的首页,小程序会把第一位的页面当作项目首页进行渲染

后续

根据所学语法在相应文件进行修改即可

四、协同工作和发布

权限管理需求

在中大型的公司里,人员的分工非常仔细:同一个小程序项目,一般会有不同岗位、不同角色的员工同时参与设计与开发。
此时出于管理需要,我们迫切需要对不同岗位、不同角色的员工的权限进行边界的划分,使他们能够高效的进行协同工作。

项目成员的组织结构

在这里插入图片描述

小程序开发流程

在这里插入图片描述

成员管理的两个方面

在这里插入图片描述

小程序成员管理体现在管理员对小程序项目成员及体验成员的管理:

项目成员

·表示参与小程序开发、运营的成员
·可登录小程序管理后台
·管理员可以添加、删除项目成员,并设置项目成员的角色

体验成员

表示参与小程序内测体验的成员
可使用体验版小程序,但不属于项目成员
·管理员及项目成员均可添加、删除体验成员

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

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

相关文章

Go语言入门心法(十四): Go操作Redis实战

Go语言入门心法(一): 基础语法 Go语言入门心法(二): 结构体 Go语言入门心法(三): 接口 Go语言入门心法(四): 异常体系 Go语言入门心法(五): 函数 Go语言入门心法(六): HTTP面向客户端|服务端编程 Go语言入门心法(七): 并发与通道 Go语言入门心法(八): mysql驱动安装报错o…

成都瀚网科技有限公司抖音小店:创新营销引领电商潮流

在当今数字化时代&#xff0c;抖音作为一款备受欢迎的短视频平台&#xff0c;不仅吸引了大量用户的关注&#xff0c;还为众多电商企业提供了新的销售渠道。成都瀚网科技有限公司抖音小店便是其中之一&#xff0c;凭借其独特的营销策略和优质的产品&#xff0c;成为了抖音电商领…

编写竞赛程序

目录 程序设计 程序分析 系列文章 竞赛规则(Competitive Rules)包括启动(Start)、加速(speedup)、转弯(turn)、犯规(foul)。参与竞赛可能涉及的有汽车(car)、摩托车(motorbike)、自行车(bike)、马(horse)、摩托艇(motorboat)。 程序设计 Competition…

vue2.x封装svg组件并使用

第一步&#xff1a;安装svg-sprite-loader插件 <!-- svg-sprite-loader svg雪碧图 转换工具 --> <!-- <symbol> 元素中的 path 就是绘制图标的路径&#xff0c;这种一大串的东西我们肯定没办法手动的去处理&#xff0c; 那么就需要用到插件 svg-sprite-loader …

安装elasticsearch,kibana

大家好, 我是苏麟 , 今天来安装es , kibana . 部署单点es 创建网络 因为我们还需要部署kibana容器&#xff0c;因此需要让es和kibana容器互联。这里先创建一个网络&#xff1a; docker network create es-net 镜像 我们用docker命令拉取和长传都可以选一种就可以 . 拉取…

内网windows实现同步时钟

windows系统可通过联网自动校准系统时间&#xff0c;如果是公网连接的内网环境主机可通过以下方式实现 1. 配置时间服务器 &#xff08;本案例环境为windows server 2019&#xff0c;ip:192.168.0.1&#xff09; 修改注册表 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\serv…

如何在两个月内学会Python编程?——最佳学习计划指南

Python编程已经成为互联网时代最重要的技能之一&#xff0c;不仅对编程新手&#xff0c;对于从事数据科学、网站开发和自动化任务的专业人士也是必备的技能。你是否想要学习Python编程&#xff0c;但不知道如何安排时间和方法&#xff1f;你是否担心学习过程太长、太枯燥、太难…

VR酒店专业情景教学演示

VR酒店情景教学为学生带来的全新学习体验。在这个虚拟环境中&#xff0c;学生可以亲身经历各种酒店管理场景&#xff0c;从客房清洁、餐厅服务&#xff0c;到客人接待、突发事件处理&#xff0c;都能得到生动的模拟和实践。 客房清洁是酒店管理中最基础却也最重要的一环。通过V…

自编efi文件测试vmware虚拟机如何进入UEFI环境

同事突然让帮忙编一下UEFI&#xff0c;之前完全没有接触过&#xff0c;在此粗鲁记录其过程。 UEFI的开源框架是edk2&#xff0c;开发环境配置起来还是有些麻烦&#xff0c;完全按照文档编译不过&#xff0c;经人帮助总算编译通过&#xff0c;但如何测试又是问题&#xff1b;网…

设计模式:装饰器模式(C#、JAVA、JavaScript、C++、Python、Go、PHP)

上一篇《桥接模式》 下一篇《迭代器模式》 简介&#xff1a; 装饰器模式&#xff0c;它是一种结构型模式&#xff0c;它通过将一个对象封装在一个装饰器对象中&#xff0c;使得你可以通过改变装饰器对象来改变…

layui移除(删除)table表格的一行

表格里添加删除按钮&#xff1a; , {field: wealth, width: 150, title: 操作, align: center, fixed: right,templet: function (item) {return <a style"margin:0px 5px; color:red; cursor: pointer;" lay-event"delete" id"DeleteTr" >…

c++找工作现状是怎样的?

c找工作现状是怎样的&#xff1f; 因为发现最近的就业市场c加加的工作岗位多&#xff0c;Java的工作岗位少了&#xff0c;所以就连某些Java培训机构今 年也纷纷开设了c加加嵌入式开发培训专业。 最近很多小伙伴找我&#xff0c;说想要一些C资料&#xff0c;然后我根据自己从业…

【JAVA核心知识】深度了解MySql的innodb引擎

关键词InnoDB架构图表空间数据页顺序下数据页的存储页分裂页合并高水位排序索引构建img_v2_455d98d3-a67a-47ef-b15a-c1798de6f56g.jpg 索引优化模糊查询打断最左匹配&#xff1f;-索引下推仅能使用一个索引&#xff1f;-索引合并自适应Hash索引 AUTO_INCREMENT计数器新增语句的…

GOPS·2023上海站 | 提前剧透!阿里、腾讯、字节、擎创等专家齐聚上海,共话互联网运维

一、前言 2023年10月26日-27日&#xff0c;第二十一届 GOPS 全球运维大会 2023 上海站即将举行。作为年终前最后一场面向 IT 技术从业者的高端运维盛会。大会上&#xff0c;来自腾讯、阿里、字节跳动、抖音、美团、擎创科技等明星专家&#xff0c;将带来十大互联网行业精彩主…

混淆技术研究笔记(八)扩展yGuard实现签名

前面铺垫了这么多&#xff0c;终于开始实现签名反篡改的功能了。 下载 yGuard 源码&#xff08;https://github.com/yWorks/yGuard&#xff09;&#xff0c;然后先修改一处错误&#xff0c;在 settings.gradle 中定义的项目名是错的&#xff08;和github上的名字不一样&#x…

国密 SM2 SSL 证书 Nginx 安装指南 linux版

一、获取国密证书 1、在您完成申请西部GDCA服务器证书的流程后&#xff0c;下载证书将获取一个证书包&#xff0c;有以下 *.***.com_sign.crt&#xff1a;签名证书 *.***.com_sign.key&#xff1a;签名证书私钥 *.***.com_encrypt.crt&#xff1a;加密证书 *.***.com_encr…

弗洛伊德(Floyd)算法求个顶点之间最短路径问题(详解+图解)

弗洛伊德算法&#xff0c;也称为迪科斯彻算法&#xff0c;是一种用于寻找图形中所有最短路径的算法。它的基本思想是通过一定的规则逐步更新每个节点的最短路径估计值&#xff0c;直到每个节点的最短路径估计值收敛为止。 具体来说&#xff0c;弗洛伊德算法通过求解所有点对之…

澳福外汇还不会超短线交易,可以了解一下混沌理论

很多投资者还不会使用超短线交易盈利&#xff0c;澳福外汇认为投资者还没有了解混沌理论的三大原则&#xff0c; 混沌理论有三个原则&#xff1a; 1、能量永远会遵循阻力最小的途径 2、始终存在着通常不可见的根本结构&#xff0c;这个结构决定阻力最小的途径。 3、 这种始终存…

护眼灯有效果吗?五款好用热门的护眼台灯推荐

可以肯定的是&#xff0c;护眼灯一般可以达到护眼的效果。看书和写字时&#xff0c;光线应适度&#xff0c;不宜过强或过暗&#xff0c;护眼灯光线较柔和&#xff0c;通常并不刺眼&#xff0c;眼球容易适应&#xff0c;可以防止光线过强或过暗导致的用眼疲劳。如果平时生活中需…

新生儿蒙古斑:原因、科普和注意事项

引言&#xff1a; 新生儿蒙古斑是一种常见的皮肤状况&#xff0c;通常在新生儿期间出现。尽管它通常是无害的&#xff0c;但许多父母对它感到担忧&#xff0c;不清楚它的原因和如何处理。本文将科普新生儿蒙古斑的原因&#xff0c;提供相关信息&#xff0c;以及为父母和监护人…