微信小程序全局配置详解

通过全局配置实现的效果

开发者

微信公众平台

登录网址

https://mp.weixin.qq.com/

注册网址

https://mp.weixin.qq.com/cgi-bin/wx?token=&lang=zh_CN

微信小程序开发者工具

下载地址

https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

小程序目录结构

描述整体的app

app.js 小程序逻辑

app.json 小程序公共配置

app.wxss 小程序公共样式表

描述各自页面的page

为了方便开发者减少配置项,描述页面的四个文件必须具有相同的路径与文件名

js 页面逻辑

wxml 页面结构

json 页面配置

wxss 页面样式表

全局配置

Pages

简介

Pages用于指定小程序由哪些页面组成

配置项

pages:配置小程序的页面

文件名不需要写文件后缀,框架会自动去寻找对应位置的 .json, .js, .wxml, .wxss 四个文件进行处理

entryPagePath:指定小程序的首页

未指定 entryPagePath 时,数组的第一项代表小程序的首页

如:"entryPagePath": "pages/index/index",

配置【app.json】

"entryPagePath": "pages/index/index",
"pages": [
    "pages/index/index",
    "pages/logs/logs"
],

window

简介

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

配置项

navigationBarBackgroundColor:  导航栏背景颜色【默认  # 000000】
navigationBarTextStyle:        导航栏标题颜色【默认white,仅支持black / white】
navigationBarTitleText:        导航栏标题文字内容
backgroundColor:               窗口的背景色【  # ffffff】
backgroundTextStyle:           下拉loading的样式【默认dark,仅支持dark / light】
enablePullDownRefresh:         是否开启全局的下拉刷新【默认false】
onReachBottomDistance:         页面上拉触底事件触发时距页面底部距离【默认50,单位px】

配置【app.json】

"window": {
    "navigationBarBackgroundColor": "#000000",
    "navigationBarTextStyle": "white",
    "navigationBarTitleText": "第一个小程序",
    "backgroundColor": "#000000",
    "backgroundTextStyle": "light",
    "enablePullDownRefresh": true,
    "onReachBottomDistance": 50
},

tabBar

简介

客户端窗口的底部或顶部有 tab 栏可以切换页面

配置项

position:tab的位置【默认bottom,仅支持bottom / top】
color :tab上的文字默认颜色
selectedColor:tab上的文字选中时的颜色
backgroundColor:tab的背景色
borderStyle:tab上边框的颜色【默认blak,仅支持black / white】

list:tab的列表【最少2个,最多5个】属性:
pagePath:页面路径【必须在pages有】
text:按钮文字
iconPath【可选】:图片路径【最大40kb,建议尺寸81px * 81px,不支持网络图片,当position为top时不显示】
selectedIconPath【可选】:选中时的图片路径

配置【app.json】

"tabBar": {
    "color": "#999999",
    "selectedColor": "#ff0000",
    "backgroundColor": "#fff",
    "borderStyle": "black",
    "position": "bottom",
    "list": [{
        "pagePath": "pages/index/index",
        "text": "首页",
        "iconPath": "./images/home.png",
        "selectedIconPath": "./images/home_select.png"
    },
        {
            "pagePath": "pages/news/news",
            "text": "新闻",
            "iconPath": "./images/news.png",
            "selectedIconPath": "./images/news_select.png"
        }]
},

其余配置

配置项

style:app.json 中配置 "style": "v2"可表明启用新版的组件样式
sitemapLocation:指明 sitemap.json的位置

debug:是否开启debug模式【默认false】
debugOptions:小程序调试相关配置项
配置项:
enableFPSPanel:是否开启 FPS 面板【默认false】
FPS 面板:为了便于开发者调试渲染层的交互性能,小程序基础库提供了选项开启 FPS 面板,开发者可以实时查看渲染层帧率

networkTimeout:各类网络请求的超时时间,单位均为毫秒
配置项:
request:wx.request的超时时间【默认60000】
connectSocket:wx.connectSocket的超时时间【默认60000】
uploadFile:wx.uploadFile的超时时间【默认60000】
downloadFile:wx.downloadFile的超时时间【默认60000】

permission:小程序接口权限相关设置

配置【app.json】

"style": "v2",
"sitemapLocation": "sitemap.json",
"debug": true,
"debugOptions": {
    "enableFPSPanel": true
},
"networkTimeout": {
    "request": 10000,
    "downloadFile": 10000
},
"permission": {
    "scope.userLocation": {
        "desc": "你的位置信息将用于小程序位置接口的效果展示"
    }
}

公共样式

简介

在项目根目录的 app.wxss 文件为小程序公的共样式表,相当与CSS初始化文件配置
WXSS (WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式
WXSS 用来决定 WXML 的组件应该怎么显示
为了适应广大的前端开发者,WXSS 具有 CSS 大部分特性。同时为了更适合开发微信小程序,WXSS 对 CSS 进行了扩充以及修改
与 CSS 相比,WXSS 扩展的特性有:尺寸单位/样式导入

尺寸单位

rpx: 可以根据屏幕宽度进行自适应【规定屏幕宽为750rpx】
开发微信小程序时设计师可以用 iPhone6作为视觉稿的标准,如在 iPhone6 上,
屏幕宽度为375px,共有750个物理像素,则750rpx = 375px = 750物理像素,1rpx = 0.5px = 1物理像素

样式导入

使用@import语句可以导入外联样式表,@import后跟需要导入的外联样式表的相对路径,用;表示语句结束

在app.wxss文件中引入common.wxss文件:@import "./common/common.wxss";

配置【app.wxss】

@import "./common/common.wxss";

.box{
    margin: 50px;
}             

全局生命周期函数

简介

每个小程序都需要在app.js中调用App方法注册小程序实例,绑定生命周期回调函数、错误监听和页面不存在监听函数等

生命周期回调函数

onLaunch:监听小程序初始化
onShow:监听小程序启动或切前台
onHide:监听小程序切后台
onError:错误监听函数
onPageNotFound:页面不存在监听函数
onThemeChange:监听系统主题变化

配置【app.js】

App({
onLaunch(options)
{
console.log("监听小程序初始化", options);
},
onShow(options)
{
    console.log("监听小程序启动", options);
},
onHide()
{
    console.log("监听小程序切后台");
},
onError(msg)
{
// 小程序发生脚本错误或
API
调用报错时触发
console.log("错误监听函数", msg)
},
onPageNotFound(res)
{
    console.log("页面不存在监听函数");
},
onThemeChange()
{
    console.log("系统切换主题时触发");
}
})

全局属性

简介

整个小程序只有一个 App 实例,开发者可以通过getApp方法获取到全局唯一的App实例,获取App上的数据或调用开发者注册在App上的函数

配置【app.js】

App({
    globalData: {
        userInfo: "我是全局属性"
    }
})

读取【单页面.js】

Page({
    onLoad(options)
{
    const
appInstance = getApp()
console.log(appInstance.globalData.userInfo) // 我是全局属性
}
})


           

猜你喜欢

转载自blog.csdn.net/m0_63040701/article/details/131606386
今日推荐