微信小程序 框架(MINA)
1、小程序开发框架的目标是通过尽可能简单、高效的方式让开发者可以在微信中开发具有原生APP体验的服务。
框架提供了自己的视图层描述语言WXML和WXSS,以及基于JavaScript的逻辑层框架,并在视图层与逻辑层间提供了数据传输和事件系统,可以让开发者可以方便的聚焦于数据与逻辑上。
2、框架可以让数据与视图非常简单地保持同步。当做数据修改的时候,只需要在逻辑层修改数据,视图层就会做相应的更新
3、
页面管理
框架管理了整个小程序的页面路由,可以做到页面间的无缝切换,并给以页面完整的生命周期。开发者需要做的只是将页面的数据,方法,生命周期函数注册进框架中,其他的一切复杂的操作都交由框架处理。
基础组件
框架提供了一套基础的组件,这些组件自带微信风格的样式以及特殊的逻辑,开发者可以通过组合基础组件,创建出强大的微信小程序 。
丰富的API
框架提供丰富的微信原生API,可以方便的调起微信提供的能力,如获取用户信息,本地存储,支付功能等。
4、
文件结构
MINA程序包含一个描述整体程序的app和多个描述各自页面的page。
一个MINA程序主体部分由三个文件组成,必须放在项目的根目录,如下:
文件 | 必需 | 作用 |
---|---|---|
app.js | 是 | 小程序逻辑 |
app.json | 是 | 小程序公共设置 |
app.wxss | 否 | 小程序公共样式表 |
一个MINA页面由四个文件组成,分别是:
文件类型 | 必须 | 作用 |
---|---|---|
wxml | 是 | 页面结构 |
wxss | 否 | 页面样式表 |
json | 否 | 页面配置 |
js | 是 | 页面逻辑 |
注意:为了方便开发者减少配置项,我们规定描述页面的这四个文件必须具有相同的路径与文件名。
5、我们使用app.json
文件来对微信小程序进行全局配置,决定页面文件的路径、窗口表现、设置网络超时时间、设置多 tab 等。
app.json 配置项列表
属性 | 类型 | 必填 | 描述 |
---|---|---|---|
pages | String Array | 是 | 设置页面路径 |
window | Object | 否 | 设置默认页面的窗口表现 |
tabBar | Object | 否 | 设置底部 tab 的表现 |
networkTimeout | Object | 否 | 设置网络超时时间 |
debug | Boolean | 否 | 设置是否开启 debug 模式 |
pages
接受一个数组,每一项都是字符串,来指定小程序由哪些页面组成。每一项代表对应页面的【路径+文件名】信息,数组的第一项代表小程序的初始页面。小程序中新增/减少页面,都需要对 pages 数组进行修改。
文件名不需要写文件后缀,因为框架会自动去寻找路径.json
,.js
,.wxml
,.wxss
的四个文件进行整合。
window
用于设置小程序的状态栏、导航条、标题、窗口背景色。
{
"window":{
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black",
"navigationBarTitleText": "微信接口功能演示",
"backgroundColor": "#eeeeee",
"backgroundTextStyle": "light"
}
}
tabBar
如果我们的小程序是一个多 tab 应用(客户端窗口的底部有tab栏可以切换页面),那么我们可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。
Tip:
1. 当设置 position 为 top 时,将不会显示 icon
2. tabBar 是一个数组,只能配置最少2个、最多5个 tab,tab 按数组的顺序排序。
networkTimeout
可以设置各种网络请求的超时时间。
属性说明:
属性 | 类型 | 必填 | 说明 |
---|---|---|---|
request | Number | 否 | wx.request的超时时间,单位毫秒 |
connectSocket | Number | 否 | wx.connectSocket的超时时间,单位毫秒 |
uploadFile | Number | 否 | wx.uploadFile的超时时间,单位毫秒 |
downloadFile | Number | 否 | wx.downloadFile的超时时间,单位毫秒 |
debug
可以在开发者工具中开启 debug 模式,在开发者工具的控制台面板,调试信息以 info 的形式给出,其信息有Page的注册
,页面路由
,数据更新
,事件触发
。可以帮助开发者快速定位一些常见的问题。
page.json
每一个小程序页面也可以使用.json
文件来对本页面的窗口表现进行配置。页面的配置比app.json
全局配置简单得多,只是设置 app.json 中的 window 配置项的内容,页面中配置项会覆盖 app.json 的 window 中相同的配置项。
页面的.json
只能设置window
相关的配置项,以决定本页面的窗口表现,所以无需写window
这个键
微信小程序 框架(MINA)相关推荐
- 微信小程序框架探究和解析
2019独角兽企业重金招聘Python工程师标准>>> 何为框架 你对微信小程序的技术框架了解多少? 对wepy 框架进行一系列的深入了解 微信小程序框架解析和探究 小程序组件化框架 ...
- 微信小程序框架——微信小程序前端开发工具
微信小程序框架 框架 小程序开发框架的目标是通过尽可能简单.高效的方式让开发者可以在微信中开发具有原生 APP 体验的服务. 框架提供了自己的视图层描述语言 WXML 和 WXSS,以及基于 Java ...
- WMPF微信小程序框架 微信刷脸登录 获取openId 授权获取手机号 快速接入 快速集成
官方Demo Github:WMPF微信小程序框架 推荐开发前先快速了解API:wiki 快速接入Demo:WMPF快速接入demo 运行环境下载:WMPF运行环境(待上传) 应⽤版本 刷脸 SDK, ...
- 开发小程序用php框架,微信小程序框架目前比较火的是?
微信小程序框架目前比较火的是? 微信小程序框架目前比较火的应该就是uniapp,该框架是一个使用Vue开发的小程序框架,其优势在于开发者只需编写一套代码,即可发布到iOS.Android.H5.以及各 ...
- 微信小程序框架分析思维导图
微信小程序框架分析思维导图
- wepy微信小程序框架和wept第三方小程序开发工具
微信小程序框架wepy文档: 参考链接:https://segmentfault.com/a/1190000007580866 点击打开链接 点击打开链接 微信小程序第三方开发工具wept: 项目地址 ...
- 微信小程序框架(思维导图)
这是小编整理的一份关于微信小程序框架的思维导图,建议大家电脑点击图片查看哦!
- 【微信小程序开发小白零基础入门】微信小程序框架【建议收藏】
微信小程序框架 文章目录 微信小程序框架 一.逻辑层 1.注册程序 1.App()函数 2.onPageNotFound()函数 3.getApp()函数 2.注册页面 1.初始数据 2.生命周期回调 ...
- 微信小程序云开发教程-微信小程序框架的介绍
同学们大家好,我是小伊同学,今天我们来学习微信小程序框架. 微信小程序实质上是一款基于web技术的应用程序,他和我们平常所接触到的前端网页是大同小异的.相同点在于他们使用的开发语言,代码结构以及代码的 ...
- 王者级微信小程序开发实战教学 从零到高手搭建微信小程序框架开发教程
王者级微信小程序开发实战教学 从零到高手搭建微信小程序框架开发教程 小程序进阶 王者级微信小程序开发实战教学课程,讲师手把手对同学们进行微信小程序开发的进阶实战,从零开始搭建,从本地到云端开始系统化的 ...
最新文章
- 解耦 多态性 java_java多态
- AI实时筛查癌细胞,普通显微镜简单改装就能用,谷歌新突破登上Nature子刊
- 解读Java8中ConcurrentHashMap是如何保证线程安全的
- java生成随机数保留数点后两位
- 2016 Multi-University Training Contest 1 GCD【RMQ+二分】
- DataWhale sklearn学习笔记(一)
- linux文件解压zip文件,linux下解压zip文件报错
- 信息学奥赛一本通(1202:Pell数列)
- 超酷的屏幕抠图转场技巧
- 向日葵如何远程桌面Linux,最快的远程桌面向日葵软件
- ios福利部落绕过激活锁,屏幕锁/已停用界面完美隐藏工具,支持最新ios15.5系统绕过
- 小程序项目:基于微信小程序的培训机构系统——计算机毕业设计
- 【转】深入浅出的讲解傅里叶变换(真正的通俗易懂)
- 《不只是美:信息图表设计原理与经典案例》—— 2.2 数据的展示形式
- qemu与宿主机网络通信配置
- 什么是TDK?什么是网站的TDK?扫(myself的)盲
- android微信分享走小程序流程,教你怎么把微信小程序分享到朋友圈
- 2023 电脑PC 素材解析浏览器插件 支持20网
- 管理实践.原创 | 替代电子表格进行台账管理
- codecombat 矩形形态攻略
热门文章
- 图片占屏幕全宽,且显示正方形的CSS
- 苹果手机免越狱群控安装教程
- 100vh height when address bar is shown - Chrome Mobile
- python使用open的OSError: [Errno 22\] Invalid argument错误
- java写入txt文件换行,隔壁都馋哭了
- Linux高级命令(十三):软件安装,使用apt-get命令安装软件
- Echarts条形图实战
- 天体赛练习集 简要题解 - L2
- web前端自学都要学什么?
- Syncthing VS Resilio Sync VS Nextcloud 文件同步服务对比