一、代码构成

1、.json 后缀的 JSON 配置文件 页面配置。
2、.wxml 后缀的 WXML 模板文件 页面结构。
3、.wxss 后缀的 WXSS 样式文件 页面样式表。
4、.js 后缀的 JS 脚本逻辑文件 页面逻辑。

二、JSON 配置

1、pages字段 —— 用于描述当前小程序所有页面路径,这是为了让微信客户端知道当前你的小程序页面定义在哪个目录。
2、window字段 —— 小程序所有页面的顶部背景颜色,文字颜色定义在这里的。
1、 project.config.json

通常大家在使用一个工具的时候,都会针对各自喜好做一些个性化配置,例如界面颜色、编译配置等等,当你换了另外一台电脑重新安装工具的时候,你还要重新配置。

2、page.json 具体看官网

这里的 page.json 其实用来表示 pages/logs 目录下的 logs.json 这类和小程序页面相关的配置。

3、WXML 模版

view, button, text等

4、WXSS 样式

新增了尺寸单位。在写 CSS 样式时,开发者需要考虑到手机设备的屏幕会有不同的宽度和设备像素比,采用一些技巧来换算一些像素单位。WXSS 在底层支持新的尺寸单位 rpx

5、JS 交互逻辑

<view>{{ msg }}</view>
<button bindtap="clickMe">点击我</button>Page({clickMe: function() {this.setData({ msg: "Hello World" })}
})

6、小程序启动方式

1、紧接着通过 app.json 的 pages 字段就可以知道你当前小程序的所有页面路径:

{"pages":["pages/index/index","pages/logs/logs"]
}

分别位于 pages/index/index 和 pages/logs/logs 目录。而写在 pages 字段的第一个页面就是这个小程序的首页(打开小程序看到的第一个页面)。

2、小程序启动之后 app.js中 触发 onLaunch

App({onLaunch: function () {// 小程序启动之后 触发}
})

7、程序和页面

Page 是一个页面构造器,这个构造器就生成了一个页面。在生成页面的时候,小程序框架会把 data 数据和 index.wxml 一起渲染出最终的结构,于是就得到了你看到的小程序的样子。

Page({data: { // 参与页面渲染的数据logs: []},onLoad: function () {// 页面渲染后 执行 这个回调处理你的逻辑。}
})

8、组件

<map></map><map longitude="广州经度" latitude="广州纬度"></map>

9、Api

1、要获取用户的地理位置时,只需要:

wx.getLocation({type: 'wgs84',success: (res) => {var latitude = res.latitude // 经度var longitude = res.longitude // 纬度}
})

1、调用微信扫一扫能力,只需要:

wx.scanCode({success: (res) => {console.log(res)}
})

二、框架 —— 配置 是整个小程序的总配置项

1、app.json

文件用来对微信小程序进行全局配置,决定页面文件的路径、窗口表现、设置网络超时时间、设置多 tab 等。

{
"pages": [        // 设置页面路径"pages/index/index","pages/logs/index"
],
"window": {       // 设置默认页面的窗口表现"navigationBarTitleText": "Demo"
},
"tabBar": {     // 设置底部tab表现"list": [{"pagePath": "pages/index/index","text": "首页"}, {"pagePath": "pages/logs/logs","text": "日志"}]
},
"networkTimeout": {    // 设置网络超时时间"request": 10000,"downloadFile": 10000
},
"debug": true     // 是否开启debug模式
}
1)、pages

接受一个数组,每一项都是字符串,来指定小程序由哪些页面组成。每一项代表对应页面的【路径+文件名】信息,数组的第一项代表小程序的初始页面。小程序中新增/减少页面,都需要对 pages 数组进行修改。

{
"pages":["pages/index/index","pages/logs/logs"
]
}
2)、window

用于设置小程序的状态栏、导航条、标题、窗口背景色

navigationBarBackgroundColor   导航栏背景颜色
navigationBarTextStyle    导航栏标题颜色
navigationBarTitleText  导航栏标题文字内容
navigationStyle    导航栏样式  只在app.json中生效backgroundColor    窗口颜色
backgroundTextStyle  下拉 loading 的样式 支持 dark/light
backgroundColorTop   顶部窗口背景色  仅iOS
backgroundColorBottom  底部窗口的背景色  仅iOS
enablePullDownRefresh  是否开启下拉刷新
onReachBottomDistance  页面上拉触底事件触发时距页面底部的距离
3)、tabBar

如果小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。

color     tab上的文字默认颜色
selectedColor    tab上的文字选中时的颜色
backgroundColor  tab背景色
borderStyle      tabbar 上边框的颜色,仅支持black/white
list     tab 的列表
position   可选值  bottom/top
注:
list接受一个数组,数组中的每一项都是一个对象
pagePath  页面路径,必须在 pages 中先定义
text    tab上的按钮文字
iconPath    图片路径
selectedIconPath   选中时的图片路径
4)、networkTimeout
request      wx.request的超时时间connectSocket    wx.connectSocket的超时时间uploadFile    wx.uploadFile的上传时间downloadFile    wx.downloadFile 的超时时间
5)、debug

可以在开发者工具中开启 debug 模式,在开发者工具的控制台面板,调试信息以 info 的形式给出,其信息有Page的注册,页面路由,数据更新,事件触发 。 可以帮助开发者快速定位一些常见的问题。

6)、page.json

每一个小程序页面也可以使用.json文件来对本页面的窗口表现进行配置。 页面的配置比app.json全局配置简单得多,只是设置 app.json 中的 window 配置项的内容,页面中配置项会覆盖 app.json 的 window 中相同的配置项。

navigationBarBackgroundColor   导航栏背景颜色
navigationBarTextStyle    导航栏标题颜色
navigationTitleText      导航栏标题文字颜色
backgroundColor         窗口背景色
backgroundTextStyle    下拉 loading 的样式
enablePullDownRefresh     是否开启下拉刷新
disableScroll          设置为 true 则页面整体不能上下滚动
onReachBottomDistance    页面上拉触底事件触发时距页面底部距离

总结:这是微信小程序中最基础最细节的部分,也是小程序的骨干部分,多加练习。

这也是我学习微信api文档的笔记,会不定时更新中,业精于勤,荒于嬉。。。

做一个快乐小码农,啊哈哈哈,去写bug咯~~~

菜鸟学习小程序之路(一)相关推荐

  1. June:Datawhale开源学习小程序升级啦!

    1. 开源学习小程序的使用 我们通过七个视频来介绍如何使用Datawhale开源学习小程序. 第一个视频:完善个人信息+报名 组队学习报名前,请大家完善个人信息的填写,便于结课后证书发放. 切换到组队 ...

  2. 六一:如何在Datawhale开源学习小程序中管

    我们的组队学习马上就要开营了,本次组队学习与以往不同的是小程序中增加了队伍管理的功能. 为了方便大家组队,Datawhale的 六一同学 为大家准备了在Datawhale开源学习小程序中队伍管理的教程 ...

  3. 如何在Datawhale开源学习小程序中创建队伍?

    我们的组队学习马上就要开营了,本次组队学习与以往不同的是小程序中增加了组队的功能.为了方便大家组队,Datawhale的 六一同学 为大家准备了在Datawhale开源学习小程序中创建队伍的教程. S ...

  4. 学习小程序遇到的问题总结

    学习小程序遇到的问题 1.小程序中无法长按图片扫描识别公众号二维码,可以通过自带的api中wx.previewImage来进行预览图片的操作,保存至本地后可操作.但例外的是,可以识别小程序码. 2.W ...

  5. 基于微信在线教育视频学习小程序毕业设计毕设作品(2)小程序功能

    整个项目包含了:开题报告 + 开题报告PPT + 任务书 + 中期报告 + 论文模板 + 答辩PPT等 主要安介绍了系统在开发过程中所应用到的一些关键的技术,主要包括了前端小程序开发的MINA框架:后 ...

  6. 基于微信在线教育视频学习小程序毕业设计毕设作品(6)开题答辩PPT

    整个项目包含了:开题报告 + 开题报告PPT + 任务书 + 中期报告 + 论文模板 + 答辩PPT等 主要安介绍了系统在开发过程中所应用到的一些关键的技术,主要包括了前端小程序开发的MINA框架:后 ...

  7. 小程序毕设作品之微信在线教育视频点播学习小程序毕业设计(3)后台功能

    整个项目包含了:开题报告 + 开题报告PPT + 任务书 + 中期报告 + 论文模板 + 答辩PPT等 + 项目源码 主要安介绍了系统在开发过程中所应用到的一些关键的技术,主要包括了前端小程序开发的M ...

  8. 小程序毕设作品之微信在线教育视频点播学习小程序毕业设计(7)中期检查报告

    整个项目包含了:开题报告 + 开题报告PPT + 任务书 + 中期报告 + 论文模板 + 答辩PPT等 + 项目源码 主要安介绍了系统在开发过程中所应用到的一些关键的技术,主要包括了前端小程序开发的M ...

  9. 我在学习小程序之flex布局

    我在学习小程序之flex布局 什么是flex布局呢? flex布局定义 flex布局原理 一个小案例 需求 分析 代码实现 代码部分 效果部分 总结 什么是flex布局呢? flex布局定义 flex ...

最新文章

  1. 中科院遗传发育所王秀杰团队鉴定出10种潜在的2019-nCoV蛋白酶抑制剂
  2. 17行代码AC——习题5-3 卡片游戏(Throwing cards away I, UVa 10935,约瑟夫环)_解题报告
  3. Nginx 附录A 编码风格 和 附录B 常用API
  4. ubuntu16.04卸载firefox,然后再次安装firefox
  5. 解决Spring Boot启动项目Tomcat不能访问80端口的问题
  6. kubernetes service是什么
  7. 实验板FPGA型号在哪里看_【VE】一文看懂乙烯基树脂发展史!
  8. 基于NSIS的Qt项目打包
  9. 基于 Markdown 的中文文档排版规范
  10. 2019华为网络技术大赛模拟题
  11. Jedis hget连接好久没有反应
  12. 2021江苏高考成绩查询:声讯台,2021年江苏高考成绩几点钟可以查询,附具体查询时间安排...
  13. Splitter 用法
  14. 若依前后端分离版+vue图片上传
  15. 二手交易APP开发主要功能有哪些?(一)
  16. 国际“知识共享”运动的现状
  17. Mac Chrome 访问证书有问题的https网站时无法忽略风险继续浏览
  18. iPhone自动旋转控制代码-IOS开发
  19. java 8——Stream
  20. javaweb_(杨)

热门文章

  1. 美团面试——北京总部四轮面
  2. java getdocument_getDocument
  3. 零基础学平面设计还学美工设计比较有前途?
  4. 日常见到的一些js轮子
  5. springboot打印出sql语句【伸手党福利】
  6. 电商平台数据可视化如何实现
  7. 如何才算掌握Java
  8. wordpress表单数据验证_手拉手搭建 lnmp 环境及安装 wordpress
  9. 台湾股坛教父:漂亮50还能够走多远
  10. DTE和DCE的区分