一.微信小程序简介
小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。
二.小程序界面结构
在成功创建一个微信小程序项目之后,在根目录下存在app.json(配置文件),app.js(逻辑文件),app.wxss(样式文件).文件夹pages为界面相关文件所在类,pages/index为默认的首页(index)所在文件夹,其中index.js(逻辑文件),index.json(配置文件),index.wxml(结构文件),index.wxss(样式文件):
--观察根目录下app.json文件:
--在windows中,定义设置了导航栏的样式:
backgroundTextStyle: 设置背景文字颜色,默认只能设置为dark和light
navigationBarBackgroundColor: 设置导航栏背景颜色
navigationBarTitleText: 设置导航栏的标题
navigationBarTextStyle: 设置导航栏文字颜色,默认只能设置为black和white
--在pages中设置路径:
"pages/index/index":寻找的是pages/index/index页面链接
"pages/logs/logs":寻找的是pages/logs/logs页面链接
--在微信官方开发文档中给出了其他可以自定义设置的配置属性信息:点击此处跳转官方文档
--自定义配置tabBar:
--在成功配置后,我们可以发现在页面模拟器中进行页面切换:
--app.js文件相关描述
1 //app.js
2 var obj = { 3 onLaunch: function () { 4 // 展示本地存储能力
5 var logs = wx.getStorageSync('logs') || [] 6 logs.unshift(Date.now()) 7 wx.setStorageSync('logs', logs) 8
9 // 登录
10 wx.login({ 11 success: res => { 12 // 发送 res.code 到后台换取 openId, sessionKey, unionId
13 } 14 }) 15 // 获取用户信息
16 wx.getSetting({ 17 success: res => { 18 if (res.authSetting['scope.userInfo']) { 19 // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
20 wx.getUserInfo({ 21 success: res => { 22 // 可以将 res 发送给后台解码出 unionId
23 this.globalData.userInfo = res.userInfo 24
25 // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
26 // 所以此处加入 callback 以防止这种情况
27 if (this.userInfoReadyCallback) { 28 this.userInfoReadyCallback(res) 29 } 30 } 31 }) 32 } 33 } 34 }) 35 }, 36 globalData: { 37 userInfo: null
38 } 39 }; 40 //调用了一个APP方法(全局方法)
41 App(obj);
--app.js文件在小程序运行时就会被加载,我们可以在该文件下方添加console.log()方法来验证该类的加载,在该类中主要作用是调用了一个App()全局方法,调用此方法的作用就是用来创建应用程序实例对象.定义应用程序的生命周期事件;在app.wxss中,定义了一些css样式属性.
--在pagex/index中,存在index.js文件主要是完成页面的逻辑,功能的实现;在index.wxml中则是进行界面定义,和html相似,但是是严格遵循XML语法的,在index.wxss中定义界面的样式,使用的是CSS语法,但是区别于CSS提供了更加方便的rpx单位(可以解决手机屏幕显示碎片化的问题).index.json文件,可以用来重写app.json中window中的属性样式,来调整页面的某些属性(只能设置windows当中的属性);
三.小程序的配置
在开发小程序的时候,通常都需要自定义小程序的标题导航来,底部导航栏等等界面设置,因此我们需要进行小程序的配置,我们可以在app.json中进行配置,也可以在每个页面的json文件中进行配置.
--配置app.json文件,该文件遵循JSON语法,可以进行导航来样式和组成的相关配置..
1 { 2 "pages": [ 3 "pages/index/index", 4 "pages/logs/logs", 5 "pages/demo/demo"
6 ], 7 "window": { 8 "backgroundTextStyle": "light", 9 "navigationBarBackgroundColor": "#ccc", 10 "navigationBarTitleText": "微信小程序", 11 "navigationBarTextStyle": "black"
12 }, 13 "tabBar": { 14 "list": [ 15 { 16 "pagePath": "pages/index/index", 17 "text": "首页"
18 }, 19 { 20 "pagePath": "pages/demo/demo", 21 "text": "自定义"
22 }, 23 { 24 "pagePath": "pages/logs/logs", 25 "text": "日志"
26 } 27 ] 28 }, 29 "sitemapLocation": "sitemap.json", 30 "style": "v2", 31 "debug":true
32 }
--在开启debug日志后,将会打印程序开发阶段的日志文件信息,方便我们测试调优.
--配置底部导航栏(标签栏)