微信小程序知识点汇总---更新中

微信公众平台

是基于微信公众号,为微信用户提供服务的平台

微信公众平台开发:是基于微信内进行的公众号业务开发;

前端程序员是公众平台开发的主力军

平台登录地址:https://mp.weixin.qq.com

微信公众平台的账号分类

  • 公众号
    • 订阅号
      • 偏于为用户传达资讯(类似报纸杂志)
    • 服务号
      • 偏于服务交互(类似银行、114),提供更多的服务,例如开通微信支付
    • 小程序
      • 一种新的开放能力,具有类似于手机App的使用体验
    • 企业微信(原企业号)
      • 企业的专业办公管理工具,用于企业员工内部通讯、打卡、审批等

小程序

小程序:基于微信提供的API进行开发

官网申请开发者账号的教程:
https://developers.weixin.qq.com/miniprogram/introduction/index.html?t=18101214

组件

  • 组件是视图层的基本组成单元

  • 组件以UI结构布局为主,一般不需要处理业务逻辑

  • 一个组件通常包括 开始标签 和 结束标签,属性 用来修饰这个组件,内容 在两个标签之内

    • 注意:所有 组件名称 与 属性名称 都是小写

API

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数。

API 以纯业务逻辑为主,一般没有对应的UI结构

API 的三种分类:

事件监听 API

特点:这类 API 以 on 开头,用来监听某个事件是否触发

举例:wx.onNetworkStatusChange(function callback) // 当网络状态更改时触发此事件

同步 API

特点1:以 Sync 结尾的 API 都是同步 API
特点2:同步 API 的执行结果,可以通过函数返回值直接获取

举例:var batteryInfo = wx.getBatteryInfoSync() // 获取电池信息

异步 API

特点:通常需要指定回调函数接收调用的结果;小程序中,大多数 API 都是异步 API

举例:wx.request(Object object) // 发起 HTTPS 网络请求

小程序项目的结构

├── pages ······································ 【目录】存放所有的小程序页面
│ │── index ······································· 【目录】index 页面
│ │ ├── index.wxml ··························· 【文件】 index 页面的结构
│ │ ├── index.js ·································· 【文件】 index 页面的逻辑
│ │ ├── index.json ····························· 【文件】 index 页面的配置
│ │ └── index.wxss ···························· 【文件】 index 页面的样式
│ └── logs ·········································· 【目录】 logs 页面
│ ├── logs.wxml ································【文件】 logs 页面的结构
│ └── logs.js ·······································【文件】 logs 页面的逻辑
└── utils ······································· 【目录】 存放小程序中用到的工具函数
├── app.js ···································· 【文件】 小程序逻辑
├── app.json ······························· 【文件】 小程序的公共配置
├── app.wxss ······························ 【文件】小程序公共样式表
├── project.config.json ·············· 【文件】 开发工具配置文件

  • 注意:
    • 对于小程序来说:app.js 和 app.json 文件是必须的
    • 对于小程序的页面来说: .js 和 .wxml 文件是必须的
小程序页面的结构
  • 每个小程序的页面,是由 .wxml 结构、.js 逻辑、.json 配置、.wxss 样式表 这4个文件组成的
    • .wxml : 用来描述当前这个页面的结构,同时提供了类似于Vue中指令的语法
    • .js : 用来定义当前页面中用到的数据、交互逻辑和响应用户的操作
    • .json : 用来定义当前页面的个性化配置,例如,为每个页面单独配置顶部颜色、是否允许下拉刷新等
    • .wxss : 用来定义样式来美化当前的页面

小程序常用的UI组件

text文本
属性名类型默认值说明
selectableBooleanfalse文本是否可选,除了text组件之外,其它组件都无法长按选中
spaceStringfalse显示连续空格,可选值:ensp、emsp、nbsp
decodeBooleanfalse是否解码,可解析   < > & '    
view视图容器
属性名类型默认值说明
hover-classStringnone指定按下去的样式类。当 hover-class=“none” 时,没有点击态效果
hover-stop-propagationBooleanfalse指定是否阻止本节点的祖先节点出现点击态
hover-start-timeNumber50按住后多久出现点击态,单位毫秒
hover-stay-timeNumber400手指松开后点击态保留时间,单位毫秒
button按钮
属性名类型默认值说明
sizeStringdefault按钮的大小 mini
typeStringdefault按钮的样式类型
plainBooleanfalse按钮是否镂空,背景色透明
disabledBooleanfalse是否禁用
loadingBooleanfalse名称前是否带 loading 图标
input输入框
属性名类型默认值说明
valueString输入框的初始内容
typeString“text”input 的类型
passwordBooleanfalse是否是密码类型
placeholderString输入框为空时占位符
disabledBooleanfalse是否禁用
maxlengthNumber140最大输入长度,设置为 -1 时不限制最大长度
image图片
  • 常见的属性:

    • src :支持本地和网络上的图片
    • mode :指定图片裁剪、缩放的模式
  • 注意:image组件默认宽度300px、高度225px

小程序中的样式

WXSS
  • WXSS 具有 CSS 大部分特性;
  • WXSS 对 CSS 进行了扩充以及修改,以适应微信小程序的开发;
  • 与 CSS 相比,WXSS 扩展的特性有:
    • 尺寸单位
    • 样式导入
WXSS目前支持的选择器
  • 标签选择器
  • id选择器
  • class选择器
  • 伪类选择器:hover :active
  • 伪元素::before ::after
  • 自定义属性 data-*属性选择器
  • :nth-of-type() 等常用的 css3 选择器
解决适配:rpx尺寸单位
  • rpx(responsive pixel): 是微信小程序独有的、解决屏幕自适应的尺寸单位
    • 可以根据屏幕宽度进行自适应。不论大小屏幕,规定屏幕宽为750rpx
    • 通过rpx设置元素和字体的大小,小程序在不同尺寸的屏幕上,可以实现自动适配
@import 样式导入
  • 使用 @import 语句可以导入外联样式表;
  • 语法格式为:@import “wxss样式表的相对路径”;
全局样式与局部样式
  • 全局样式
    • 定义在 app.wxss 中的样式为全局样式,作用于每一个页面
  • 局部样式
    • 在 page 的 wxss 文件中定义的样式为局部样式,只作用在对应的页面,并会覆盖 app.wxss 中相同的选择器
    • 注意:当局部样式的权重大于或等于全局样式的权重时,才会覆盖全局的样式效果!

严格遵守json语法

  • string必须使用双引号“”
  • 不能加注释
  • 每个行尾不能加,

全局配置文件app.json

在app.json配置文件中,最主要的配置节点是:

  • pages 数组:配置小程序的页面路径
  • window 对象:用于设置小程序的状态栏、导航条、标题、窗口背景色
  • tabBar 对象:配置小程序的tab栏效果
window节点常用的配置项
属性名类型默认值说明
navigationBarTitleTextString字符串导航栏标题文字内容
navigationBarBackgroundColorHexColor#000000导航栏背景颜色,如 #000000
navigationBarTextStyleStringwhite导航栏标题颜色,仅支持 black / white
backgroundColorHexColor#ffffff窗口的背景色
backgroundTextStyleStringdark下拉 loading 的样式,仅支持 dark / light
enablePullDownRefreshBooleanfalse是否全局开启下拉刷新
onReachBottomDistanceNumber50页面上拉触底事件触发时距页面底部距离,单位为px (没有特殊需求,用默认值)
tabBar - 配置Tab栏
  • tabBar 是移动端应用常见的页面效果,用于实现多页面的快速切换;
  • 小程序中通常将其分为底部tabBar和顶部tabBar

注意:

  1. tabBar中tab 页签数量[2,5]

  2. 当渲染顶部tabBar的时候,不显示icon,只显示文本

tabBar节点的配置项
属性类型必填默认值描述
colorHexColortab 上的文字默认颜色
selectedColorHexColortab 上的文字选中时的颜色
backgroundColorHexColortab 的背景色
borderStyleStringblacktabBar上边框的颜色, 仅支持 black / white
listArraytab 的列表,详见 list 属性说明,最少2个、最多5个 tab
positionStringbottomtabBar的位置,仅支持 bottom / top
tabBar节点中list的配置项
属性类型必填描述
pagePathString页面路径,必须在 pages 中先定义
textStringtab 上按钮文字
iconPathString图片路径;icon 大小限制为40kb,建议尺寸为 81px * 81px,不支持网络图。当 postion 为 top 时,不显示 icon。
selectedIconPathString选中时的图片路径;icon 大小限制为40kb,建议尺寸为 81px * 81px,不支持网络图片。当 postion 为 top 时,不显示 icon。

页面配置文件page.json

  • 页面级别配置优先于全局配置生效
  • 页面的.json只能设置 window 相关的配置项,以决定本页面的窗口表现

小程序的生命周期

  • 生命周期

    • 应用生命周期:特指小程序从启动 -> 运行 -> 销毁的过程;
    • 页面生命周期:特指小程序中,每个页面的加载 -> 渲染 -> 销毁的过程;
  • 生命周期函数

    • 由小程序框架提供的内置函数,会伴随着生命周期,自动按次序执行;

      • 应用生命周期函数

        属性类型描述触发时机
        onLaunchFunction生命周期回调 - 监听小程序初始化小程序初始化完成时(全局只触发一次)
        onShowFunction生命周期回调 - 监听小程序显示小程序启动,或从后台进入前台显示时
        onHideFunction生命周期回调 - 监听小程序隐藏小程序从前台进入后台时
      • 页面生命周期函数

        属性类型描述
        onLoadFunction生命周期回调 - 监听页面加载
        onShowFunction生命周期回调 - 监听页面显示
        onReadyFunction生命周期回调 - 监听页面初次渲染完成
        onHideFunction生命周期回调 - 监听页面隐藏
        onUnloadFunction生命周期回调 - 监听页面卸载
  • 注意:生命周期强调的是时间段,生命周期函数强调的是时间点。

⭐面试问题

  1. 小程序为什么体验好?

    1. 类似APP
    2. 轻度依赖
  2. 小程序与app的区分?

    1. 运行基础不同
      1. App:基于手机操作系统提供的API进行开发;
      2. 小程序:基于微信提供的API进行开发;
    2. 开发方式和语言不同
      1.
  3. 常见错误代码

    304 资源没有发生改变,继续用缓存

    301 永久性重定向

    302 暂时重定向

    303 get 请求重定向

    404 资源找不到

    401 没有权限

    402 认证没有通过

    403 没有权限访问

    405 请求方法不对

    500 服务器错误

    503 服务不可用

    504 timeout超时

    502 网关错误

  4. 小程序的生命周期

  • 1
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值