夜光 带你走进微信小程序研发(四)

夜光序言:

 

 

对心灵如水,既柔顺又稳重,既驯服又坚强,可弯而不可折的人,我会永远温柔和真诚。

 

 

 

 

 

 

正文:

小程序目录结构

小程序的目录结构主要包含项目配置文件、主体文件、页面文件和其他文件。

夜光将基于 Hello World 小程序对目录结构进行分析,并对 hello World 小程序进行理解与简单修改。


项目配置文件

新建小程序时,都会自动生成一个项目配置文件,即项目根目录下的

project.config.json 文件

如图所示。项目配置文件中主要通过定义项目名 称、AppID 等内容来对项目进行配置。


主体文件

一个小程序的主体文件有三个文件组成,必须放在项目的根目录下

主体文件均以 app 为前缀,共分为三个文件

1.app.js

 

app.js 为系统的方法处理全局文件,也就是说文件中规定的函数和数据,在整 个小程序中,每一个框架页面和文件都可以使用 this 获取。每个小程序都会有一个 app.js 文件,有且只有一个,位于项目的根目录。

 

该文件 App()函数用来注册一个小程序。接受一个 object 参数,其指定小程序 的生命周期函数等。详见:

https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/app.html

App()函数

//app.js
App({
  onLaunch: function () {
    // 展示本地存储能力
    var logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)

    // 登录
    wx.login({
      success: res => {
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
      }
    })
    // 获取用户信息
    wx.getSetting({
      success: res => {
        if (res.authSetting['scope.userInfo']) {
          // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
          wx.getUserInfo({
            success: res => {
              // 可以将 res 发送给后台解码出 unionId
              this.globalData.userInfo = res.userInfo

              // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
              // 所以此处加入 callback 以防止这种情况
              if (this.userInfoReadyCallback) {
                this.userInfoReadyCallback(res)
              }
            }
          })
        }
      }
    })
  },
  globalData: {
    userInfo: null
  }
})

2.app.json

 

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

 

在上述 app.json 配置列表中,常用该文件内不可包含注释,否则不可运行。其中,app.json 的属性相对较多,本小节简单介绍相对常用的几个属性。

1pages

pages 属性主要用于指定小程序由哪些页面组成,每一项都对应一个页面的路26 径+文件名信息。通俗来讲,就是你的小程序需要显示一个页面,就需要在该文件中注册。此外需要注意一点,pages 配置项中第一条记录为最先呈献给用户的界面。

 

除此之外的数组顺序尽量按照呈现给用户界面的顺序进行排序。以 hello world 小程序为例,如图所示,小程序中共有 index 页面和 logs 页面,其中 index 页 面为该项目的初始页面。

开发者如果想将 logs 页面变为初始页面,只需将 logs 页面 路径放置于 pages 配置项的第一行即可。

2window

window 属性主要用于设置小程序的状态栏、导航栏、标题与窗口背景颜色,具 体所包含的属性如表

注 1:HexColor 的属性值只支持十六进制颜色值,如"#ff00ff",大小写不限。

window 属性中各属性值的作用区域,如图

3tabBar

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

其中 list 接受一个数组,只能配置最少 2 个、最多 5 tabtab 按数组的顺序排序,每个项都是一个对象,其属性值如表

tabBar 个属性值的作用区域,如下图所示【有点类似前端的东西~】

3. app.wxss

app.wxss文件是小程序的全局样式文件,作用于每一个页面,其中,WXSS (WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式。该文件是可选文件, 如果没有全局样式规定,可以省略不写

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值