微信小程序入门教程:从零开始,轻松上手!

推荐阅读

智能化校园:深入探讨云端管理系统设计与实现(一)
智能化校园:深入探讨云端管理系统设计与实现(二)


在这里插入图片描述

小程序简介

小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验。
小程序优点:无需安装,不占内存,易传播

小程序生态

1676538960553-e909dfd1-0335-45d8-8d96-029ce94bf4a2.png

开发准备

注册登录账号,安装开发者工具
小程序注册指引 | 微信开放社区

小程序配置

全局配置

小程序根目录下的 app.json 文件用来对微信小程序进行全局配置。文件内容为一个 JSON 对象,有以下属性。

属性类型描述
entryPagePathstring小程序默认启动首页
pages(必填)string[]页面路径列表
windowObject全局的默认窗口表现
tabBarObject底部 tab 栏的表现
networkTimeoutObject网络超时时间
debugboolean是否开启 debug 模式,默认关闭
functionalPagesboolean是否启用插件功能页,默认关闭
subpackagesObject[]分包结构配置
workersstringWorker 代码放置的目录
requiredBackgroundModesstring[]需要在后台使用的能力,如「音乐播放」
requiredPrivateInfosstring[]调用的地理位置相关隐私接口
pluginsObject使用到的插件
preloadRuleObject分包预下载规则
resizablebooleanPC 小程序是否支持用户任意改变窗口大小(包括最大化窗口);iPad 小程序是否支持屏幕旋转。默认关闭
usingComponentsObject全局自定义组件
配置
permissionObject小程序接口权限相关设置
sitemapLocation(必填)string指明 sitemap.json 的位置
stylestring指定使用升级后的weui样式
useExtendedLibObject指定需要引用的扩展库
entranceDeclareObject微信消息用小程序打开
darkmodeboolean小程序支持 DarkMode
themeLocationstring指明 theme.json 的位置,darkmode为true为必填
lazyCodeLoadingstring配置自定义组件代码按需注入
singlePageObject单页模式相关配置
supportedMaterialsObject聊天素材小程序打开
相关配置
serviceProviderTicketstring定制化型服务商
票据
embeddedAppIdListstring[]半屏小程序 appId
halfPageObject视频号直播半屏场景设置
debugOptionsObject调试相关配置
enablePassiveEventObject或booleantouch 事件监听是否为 passive
resolveAliasObject自定义模块映射规则
rendererstring全局默认的渲染后端

entryPagePath

默认首页面。(不填,即默认pages列表的第一项)不支持带页面路径参数。

{
  "entryPagePath": "pages/index/index"
}

pages

用于指定小程序由哪些页面组成,每一项都对应一个页面的 路径(含文件名) 信息。文件名不需要写文件后缀,框架会自动去寻找对应位置的 .json, .js, .wxml, .wxss 四个文件进行处理。

在创建文件夹时,可以直接选用创建page.系统会自动创建好4个文件。

image.png
(未指定 entryPagePath 时,数组的第一项代表小程序的初始页面(首页)。
小程序中新增/减少页面,都需要对 pages 数组进行修改。

 "pages": [
    "pages/helloword/helloword",
    "pages/index/index"
  ]

window

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

属性类型默认值描述
navigationBarBackgroundColorHexColor(十六进制颜色)#000000导航栏背景颜色,如 #000000
navigationBarTextStylestringwhite导航栏标题颜色,仅支持 black / white
navigationBarTitleTextstring导航栏标题文字内容
navigationStylestringdefault导航栏样式,仅支持以下值:
default 默认样式
custom 自定义导航栏,只保留右上角胶囊按钮。参见注 2。
homeButtonbooleandefault在非首页、非页面栈最底层页面或非tabbar内页面中的导航栏展示home键
backgroundColorHexColor#ffffff窗口的背景色
backgroundTextStylestringdark下拉 loading 的样式,仅支持 dark / light
backgroundColorTopstring#ffffff顶部窗口的背景色,仅 iOS 支持
backgroundColorBottomstring#ffffff底部窗口的背景色,仅 iOS 支持
enablePullDownRefreshbooleanfalse是否开启全局的下拉刷新。
详见 Page.onPullDownRefresh
onReachBottomDistancenumber50页面上拉触底事件触发时距页面底部距离,单位为 px。
详见 Page.onReachBottom
pageOrientationstringportrait屏幕旋转设置,支持 auto / portrait / landscape
详见 响应显示区域变化
restartStrategystringhomePage重新启动策略配置
initialRenderingCachestring页面初始渲染缓存
配置,支持 static / dynamic
visualEffectInBackgroundstringnone切入系统后台时,隐藏页面内容,保护用户隐私。支持 hidden / none
handleWebviewPreloadstringstatic控制预加载下个页面的时机
。支持 static / manual / auto
"window": {
    "backgroundTextStyle": "light",
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTitleText": "Weixin",
    "navigationBarTextStyle": "black",
    "backgroundColor": "#fff",
    "enablePullDownRefresh": true
  }

image.png

tabBar

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

属性类型必填默认值描述
colorHexColortab 上的文字默认颜色,仅支持十六进制颜色
selectedColorHexColortab 上的文字选中时的颜色,仅支持十六进制颜色
backgroundColorHexColortab 的背景色,仅支持十六进制颜色
borderStylestringblacktabbar 上边框的颜色, 仅支持 black / white
listArraytab 的列表,详见 list 属性说明,最少 2 个、最多 5 个 tab
positionstringbottomtabBar 的位置,仅支持 bottom / top
custombooleanfalse自定义 tabBar,见详情

list 接受一个数组,至少2个最多5个tab。每一项都是一个对象。

属性类型必填说明
pagePathstring页面路径,必须在 pages 中先定义
textstringtab 上按钮文字
iconPathstring图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,不支持网络图片。
当 position 为 top 时,不显示 icon。
selectedIconPathstring选中时的图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,不支持网络图片。
当 position 为 top 时,不显示 icon。

iconfont可以去这里面找不同的颜色的图标。
iconfont-阿里巴巴矢量图标库

"tabBar": {
    "color": "#8a8a8a",
    "selectedColor": "#1AAD16",
    "backgroundColor": "#fff",
    "list": [
      {"pagePath": "pages/helloword/helloword",
      "text": "首页",
      "iconPath": "images/tabbar/tabbar1.png",
      "selectedIconPath": "images/tabbar/tabbar1_selected.png"
      },
      {
        "pagePath":"pages/index/index" ,
        "text": "测试"
      }
    ]

debug

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

permission

微信客户端 7.0.0 及以上版本支持

小程序接口权限相关设置。字段类型为 Object,结构为:

属性类型必填默认值描述
scope.userLocationPermissionObject位置相关权限声明

PermissionObject 结构

属性类型必填默认值说明
descstring小程序获取权限时展示的接口用途说明。最长 30 个字符
{
  "pages": ["pages/index/index"],
  "permission": {
    "scope.userLocation": {
      "desc": "你的位置信息将用于小程序位置接口的效果展示" // 高速公路行驶持续后台定位
    }
  }
}

permission-desc.496b775d.jpeg

sitemapLocation

指明 sitemap.json 的位置;默认为 ‘sitemap.json’ 即在 app.json 同级目录下名字的 sitemap.json 文件

"sitemapLocation": "sitemap.json"

themeLocation

自定义 theme.json 的路径,当配置"darkmode":true时,当前配置文件为必填项。

{
  "themeLocation": "/path/to/theme.json"
}

renderer

指定小程序全局的默认渲染后端。
可选值:webview, skyline
默认值:webview

页面配置

app.json 中的部分配置,也支持对单个页面进行配置,可以在页面对应的 .json 文件来对本页面的表现进行配置。
页面配置项的优先级大于全局配置。页面中配置项在当前页面会覆盖 app.json 中相同的配置项(样式相关的配置项属于 app.json 中的 window 属性,但这里不需要额外指定 window 字段)。
文件内容为一个 JSON 对象,有以下属性(以下属性,页面配置可以覆盖全局配置):

属性类型默认值描述
navigationBarBackgroundColorHexColor#000000导航栏背景颜色,如 #000000
navigationBarTextStylestringwhite导航栏标题颜色,仅支持 black / white
navigationBarTitleTextstring导航栏标题文字内容
navigationStylestringdefault导航栏样式,仅支持以下值:
default 默认样式
custom 自定义导航栏,只保留右上角胶囊按钮。
homeButtonbooleanfalse在非首页、非页面栈最底层页面或非tabbar内页面中的导航栏展示home键
backgroundColorHexColor#ffffff窗口的背景色
backgroundTextStylestringdark下拉 loading 的样式,仅支持 dark / light
backgroundColorTopstring#ffffff顶部窗口的背景色,仅 iOS 支持
backgroundColorBottomstring#ffffff底部窗口的背景色,仅 iOS 支持
enablePullDownRefreshbooleanfalse是否开启当前页面下拉刷新。
详见 Page.onPullDownRefresh
onReachBottomDistancenumber50页面上拉触底事件触发时距页面底部距离,单位为px。
详见 Page.onReachBottom
pageOrientationstringportrait屏幕旋转设置,支持 auto / portrait / landscape
详见 响应显示区域变化
disableScrollbooleanfalse设置为 true 则页面整体不能上下滚动。
只在页面配置中有效,无法在 app.json 中设置
usingComponentsObject页面自定义组件
配置
initialRenderingCachestring页面初始渲染缓存
配置,支持 static / dynamic
stylestringdefault启用新版的组件样式
singlePageObject单页模式相关配置
restartStrategystringhomePage重新启动策略配置
handleWebviewPreloadstringstatic控制预加载下个页面的时机
。支持 static / manual / auto
visualEffectInBackgroundstring切入系统后台时,隐藏页面内容,保护用户隐私。支持 hidden / none,若对页面单独设置则会覆盖全局的配置,详见 全局配置
enablePassiveEventObject或boolean事件监听是否为 passive,若对页面单独设置则会覆盖全局的配置,详见 全局配置
rendererstring渲染后端
{
  "usingComponents": {},
  "navigationBarTitleText": "Weixin",
  "navigationBarBackgroundColor": "#ccc",
  "navigationBarTextStyle": "black",
  "backgroundColor": "#ffffff",
  "enablePullDownRefresh": true
}

image.png

sitemap配置

小程序根目录下的 sitemap.json 文件用于配置小程序及其页面是否允许被微信索引,文件内容为一个 JSON 对象,如果没有 sitemap.json ,则默认为所有页面都允许被索引;

属性类型必填描述
rulesObject[]索引规则列表

rules配置项指定了索引规则,每一项规则都是json对象。并包含了action,page,params,matching,priority这几种属性。具体的规则实例可以参照文档。
sitemap 配置 | 微信开放文档

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天马行空的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值