前端微信小程序开发基础

news2025/7/13 19:15:43

文章参考(黑马小程序教学视频)仅供参考与学习

简介

小程序和普通页面开发的区别

运行环境不同

网页运行在浏览器中,小程序运行在微信环境

API不同

由于运行环境不同,所以小程序中,无法调用DOM和BOM的API.

但是,小程序中可以调用微信环境提供的各种API,例如:

  • 地理定位
  • 扫码
  • 支付

开发模式不同

网页发开模式:浏览器+代码编辑器

小程序有自己的一套标准开发模式:

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

注册小程序账号&安装开发者工具

点击注册按钮

微信公众平台 点击右上角 “立即注册即可进入小程序开发账号的注册流程

 选择注册账号的类型

填写账号信息,邮箱激活,信息登记

具体可以查看此视频 微信小程序注册账号&安装开发者工具

登录成功,获取小程序的AppID

了解微信开发者工具 

微信开发者工具是官方推荐使用的小程序开发工具,它提供的主要功能如下:

  • 快速创建小程序项目
  • 代码的查看和编辑
  • 对小程序功能进行调试
  • 小程序的预览和发布

下载开发者工具

安装

 一直点击下一步

扫码登录

创建第一个小程序 

设置外观和代理

 点击“加号”按钮

 填写项目信息

 创建成功

认识小程序项目的基本组成结构

pages

用来存放所有小程序的页面

 页面的 .json 配置文件

app.js

小程序的入口文件

app.json

小程序的全局配置文件,包含了小程序的所有页面路径、窗口外观、界面表现、底部tab

app.wxss

小程序项目的全局样式文件

project.config.json

项目的配置文件,用来记录我们对小程序开发工具所做的个性化配置

project.private.config.json

项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中

sitemap.json 

用来配置小程序及页面是否允许被微信索引,效果类似于pc页面中的SEO

  • 当action值为 disallow时:表示不被索引
  • 当action值为 allow时:表示被索引

认识小程序页面

快速新建小程序页面

 修改项目首页

 WXML 模板

什么是 WXML

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

WXML 和 HTML 的区别

  • 标签名称不同
  1.  HTML(div,span,img,a)
  2. WXML (view,text,image,navigator)
  • 属性节点不同
  1. <a href='#'>超链接</a>
  2. <navigator url='/pagea/home/home'></navigator>
  • 提供了类似于vue中的模板语法
  1. 数据绑定
  2. 列表渲染
  3. 条件渲染

WXSS 和 CSS 的区别

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

小程序中 .js 文件的分类

  • app.js
  1. 整个小程序项目的入口文件,通过调用 APP() 函数来启动整个小程序
  • 页面的 .js 文件
  1. 页面中的入口文件, 通过 调用 Page() 函数来创建并运行页面

小程序中组件的分类

九大组件

开发者可以基于组件快速搭建出漂亮的页面结构,官方把小程序的组件分为9大类,分别是:

  1. 视图容器
  2. 基础内容
  3. 表单组件
  4. 导航组件
  5. 媒体组件
  6. map地图组件
  7. canvas画布组件
  8. 开放能力
  9. 无障碍访问

 长用的视图容器类组件 

view

  • 类似于HTML中的div,是一个块元素

scroll-view

  • 可滚动的视图区域
  • 常用来实现滚动列表效果

swiper和swiper-item

  • 轮播图效果

长用的基础内容组件

text

  • 文本组件
  • 类似于HTML中的span,是一个行内元素
  • 支持长按选中操作,属性:selectable

rich-text 

  • 富文本组件
  • 支持把HTML字符串渲染为WXML结构

其他长用组件

 button

  • 按钮组件
  • 功能比HTML更加丰富
  • 通过open-type属性可以调用微信提供的各种功能(客服,转发,获取用户授权,获取用户信息等)

image

  • 图片组件
  • image组件默认宽度约300px,高度约240px

navigator

  • 页面导航组件
  • 类似于HTML中的a链接

小程序API概述 

概述

小程序中API是由宿主环境提供的,通过这些丰富的小程序API,开发者可以方便的调用微信提供的能力,例如:获取用户信息,本地存储,支付功能等

小程序API的3大分类

  1. 事件监听API
  • 特点:以 on 开头,用来监听某些事件的触发
  • 举例:wx.onWindowResize(function callback) 监听窗口尺寸变化的事件
  1. 同步API
  • 特点1:以 Sync 结尾的 API 都是同步API
  • 特点2:同步API的执行结果,可以通过函数返回值直接获取,如果执行出错会抛出异常
  • 举例:wx.setStorageSync('key','value')向本地存储中写入内容
  1. 异步API
  • 特点:类似于jQuery中的 $.ajax(options)函数,需要通过 success fail complete 接受调用的结果
  • 举例:wx.request() 发起网络数据请求,通过 success 回调函数接收数据

发布上线

小程序发布上线的整体步骤

上传代码 

在后台查看上传之后的代码 

 提交审核

 发布

小程序的推广与运行数据的查看 

基于小程序码进行推广

 查看小程序运营数据的两种方式

1.在“小程序后台”查看

 

2.使用“小程序数据助手”查看

WXHML模板

 WXHL模板语法-事件绑定

(渲染层对应wxhl页面,逻辑层对应js文件)

 小程序中常用的事件

 事件对象的属性列表

target 与 currtarget的区别

bindtap的语法格式

在事件处理函数中为data中的数据赋值

事件传参 

{{2}} 传入的是数字 2 ,直接写2 传入的字符串 2

 

 bindinput语法格式

实现文本框与data之间的数据同步

实现步骤:

定义数据、渲染结构、绑定input事件处理函数

 

 

 WXHL模板语法:条件渲染

1.wx:if

2.结合<block>使用wx:if

3.hidden

(相对与vue中的v-show相同) 

 

4.wx:if与hidden的对比

 WXHL模板语法-列表渲染

1.wx:for

2.wx:for手动指定索引和当前项的变量名*

 

3.wx:key 

wxss模板样式

1.什么是wxss

2.wxss与css区别

 wsss模板样式-rpx

1.什么是rpx单位

2.rpx实现原理

3.rpx与px单位换算 

wxss模板样式-样式导入

1.什么是样式导入

2.@import的语法格式

 

wxss模板样式-全局样式与局部样式

1.全局样式

 

2.局部样式

注意:鼠标光标放到类名或标签名或id名上时,可查看权重

 

全局配置

全局配置文件及常用的配置项

 全局配置windows

小程序窗口的组成部分

 了解widows节点常用的配置项

设置导航栏的标题 

设置导航栏的背景色

 

设置导航栏的标题颜色

全局开启下拉刷新功能

(模拟器有时候不能实现真机的效果)

 设置下拉刷新时的窗口的背景色

只能是16进制

 设置下拉刷新的loding效果样式

 设置上拉触底的距离

全局配置 -tabBar

 什么是tabBar

tabBar的6个组成部分

 tabBar的节点配置项

每一个tab项的配置选项

 案例:配置tabBar

需求

 实现步骤

1.拷贝图标资源

 

2.新建3个对应的tab页面

3.配置tabBar选项

小程序的页面配置

页面配置文件的作用

页面配置和全局配置的关系

页面配置中常用的配置项

网络数据请求

小程序中网络请求的限制

配置request合法域名

 发起GET请求

发起POST请求

在页面刚加载时请求数据

 

跳过request合法域名校验

关于跨域和Ajax

 

案例-本地生活

首页效果以及实现步骤

待续............ 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

        

 

 

 

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

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

相关文章

如何使用 CSS 使表格居中(快速指南)

在网页设计中使用表格有一段有趣的历史。在采用 CSS 之前&#xff0c;表格不仅仅用于以传统方式显示表格数据练习列表&#xff0c;而是更常用于控制完整的页面布局。 那时&#xff0c;HTML 表格用于定义网页的结构和视觉外观&#xff0c;其中表格的位置可以直接在 HTML 中指定…

input详解之文件上传

input 全部类型 常用的并且能为大多数浏览器所识别的类型大概有&#xff1a;text、password、number、button、reset、submit、hidden、radio、checkbox、file、image、color、range、date、month、week、time、datetime-local。 1、一般类型 <!-- text类型 文本框 默认…

Vue2 Element DatePicker组件设置默认日期、控制日期范围

文章目录前言一、设置默认日期1.不要用placeholder2.设置动态的默认日期二、限制日期选取1.方案2.举例总结前言 以前都是做练习, 上周拿到这个任务直接被卡住… 一、设置默认日期 1.不要用placeholder 依然不使用placeholder属性, 在v-model初始就绑定了时间的情况下, 组件可…

vue导入处理Excel表格详解

目录1. 前言2.vue导入Excel表格2.1 使用ElementUI中的upload组件2.2 使用input文件上传3. 总体代码与效果4. 总结1. 前言 最近遇到前端导入并处理excel表格的情况&#xff0c;趁此机会刚好研究一下vue导入并处理excel数据&#xff1b;当然自己手撸一个工具没有那么多时间&#…

vue3 使用tinymce编辑器实现单/多图片上传,附件上传,视频上传

安装: 我用的是tinymce最新版本v6 npm install tinymce -S npm install tinymce/tinymce-vue -S 2.安装语言包:Language Packages | Trusted Rich Text Editor | TinyMCE 3.在项目public文件夹下--新建tinymce文件夹,安装包解压在该文件夹下 封装组件TEditor.vue <templa…

微信小程序实现上拉加载下拉刷新(即粘即用)

前言 去年有出过一篇关于 vue 实现上拉加载下拉刷新的功能&#xff0c;最近微信小程序中也用到了这个功能&#xff0c;下面一起来看看微信小程序中是怎么实现这个小功能的吧。 实现效果如下&#xff1a; 实现思路&#xff1a; 1. 首先需要在使用到的 json 文件下配置 "ena…

vue项目遇见事件冒泡如何处理

开发环境 Win 10 element-ui "2.8.2" Vue 2.9.6 事件冒泡简介 如下图&#xff0c;当我们点击页面某个元素时&#xff0c;会产生点击事件&#xff0c;事件由外到内&#xff0c;逐层递进&#xff08;事件捕获阶段&#xff0c;途中的1->2->3->4&#xff09…

DVWA靶场搭建

1.靶场是什么&#xff0c;靶场的搭建 在学习web安全的过程中&#xff0c;靶场是必不可少的&#xff0c;毕竟在计算机界&#xff0c;任何理论知识都不如实操 靶场就是人为提供的带有安全漏洞的服务&#xff0c;每一个学习者都可以在本地快速搭建来实操&#xff0c;回溯漏洞的发…

超好玩的js页面效果---实现数值的动态变化

✅ 作者简介&#xff1a;一名普通本科大三的学生&#xff0c;致力于提高前端开发能力 ✨ 个人主页&#xff1a;前端小白在前进的主页 &#x1f525; 系列专栏 &#xff1a; node.js学习专栏 ⭐️ 个人社区 : 个人交流社区 &#x1f340; 学习格言: ☀️ 打不倒你的会使你更强&a…

JS实战——轮播图

目录 一、轮播图介绍 二、原理 三、轮播图基本htm布局 四、轮播图CSS布局 五、轮播图JS布局 六、轮播图效果 一、轮播图介绍 现在我们在很多网站上都能看到轮播图&#xff0c;像某东、某宝、某猫等等大小型网站上都有应用。下面就是某宝上的轮播图样式。 二、原理 将一些图…

【chatgpt谈前端三大主流框架】React、Vue和Angular的优缺点及如何选择

文章目录React优点缺点Vue优点缺点Angular优点缺点总结chatgpt号称无所不能&#xff0c;今天我们就来考考他&#xff0c;让他来对比下React、Vue和Angular。下面是chatgpt全部回答&#xff0c;大家觉得他分析得对吗&#xff1f;React、Vue和Angular都是目前最流行的前端框架&am…

【vue2】使用elementUI进行表单验证实操(附源码)

&#x1f973;博 主&#xff1a;初映CY的前说(前端领域) &#x1f31e;个人信条&#xff1a;想要变成得到&#xff0c;中间还有做到&#xff01; &#x1f918;本文核心&#xff1a;vue使用elementUI进行表单验证实操&#xff08;附源码&#xff09; 【前言】我们在构建一…

VUE 使用 vue create 命令 创建 vue2.0 项目

为了保证创建过程中避免出现因权限不足的原因 从而 导致创建失败的问题&#xff0c;我们使用 管理员身份 打开命令行 第一步&#xff0c;打开命令行后&#xff0c;首先进入我们想要创建项目的目录下 g: 表示切换进入G盘 cd git 表示打开 当前盘下的 git 文件夹 大家可以根据以上…

如何解决 npm 安装依赖报错 ERESOLVE unable to resolve dependency tree

现代前端项目开发中依赖管理已经是不可或缺的一环&#xff0c;然后由于各种问题&#xff0c;如历史原因、项目缺少维护等&#xff0c;前端项目在依赖管理中会遇到非常多的问题。本篇文章讨论其中一种&#xff0c;当 npm install 时遇到报错 ERESOLVE unable to resolve depende…

百度文心一言对标 ChatGPT,你怎么看?

文心一言 VS ChatGPT接受不完美 期待进步里程碑意义文心一言初体验✔ 文学创作✔ 商业文案创作✔ 数理逻辑推算✔ 中文理解✔ 多模态生成写在最后何为文心&#xff1f;“文”就是我们中华语言文字中的文&#xff0c;“心”是希望该语言模型可以用心的去理解语言&#xff0c;用心…

手把手教你基于HTML、CSS搭建我的相册(上)

The sand accumulates to form a pagoda写在前面HTML是什么&#xff1f;CSS是什么&#xff1f;demo搭建写在最后写在前面 其实有过一些粉丝咨询前端该从什么开始学&#xff0c;那当然是我们的前端基础三件套开始学起&#xff0c;HTML、CSS、javaScript&#xff0c;前端的大部分…

pnpm学习

1、pnpm是什么&#xff1f; 现代的包管理工具 pnpm&#xff08; performant npm &#xff09;&#xff0c;意思是高性能的 npm 它由 npm/yarn 衍生而来&#xff0c;但却解决了 npm/yarn 内部潜在的 bug&#xff0c;并且极大了地优化了性能 2、特性概览 &#xff08;1&#x…

前端小技巧

1.html 1.1 网站自动刷新 应用场景&#xff1a; 网页定期自动刷新&#xff08;现在基本淘汰了&#xff0c;采用ajax&#xff09;&#xff1b;自动跳转到指定页面&#xff0c;这个自动跳转的好处就是不需要JS调用&#xff0c;属于纯html网页自动跳转 v7-网站自动刷新 你可以…

【uni-app】小程序实现微信授权登陆(附流程图)

微信授权登陆是比较常见的一种登陆方式&#xff0c;今天来总结下实现流程 进入授权登陆页面 初始化调用wx.login获取登陆凭证code&#xff08;用户无感知&#xff09; //封装微信获取用户code&#xff0c;避免嵌套 login() {return new Promise((resolve, reject) > {uni.l…

基于Vue+Less+axios封装+ElementUI搭建项目底层支撑实战

目录 一、本节介绍和上节回顾 1. 上节介绍 2. Vue SpringBoot前后端分离项目实战目录 3. 本节介绍 二、项目前置所需应用安装 1. Less的安装 2. Less安装后的验证 3. axios的安装 4. axios请求的封装与拆解 5. axios请求封装后的验证 6. ElementUI的安装、验证 …