微信小程序开发入门篇(一)

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

  • 官方文档:https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html

  • app.json 用来进行全局配置,文件内容为一个 JSON 对象,有以下常用属性:

  • 在官方文档中 框架 -> 小程序配置 -> 全局配置 中就可以看到

在这里插入图片描述

我这里只记录一些常用的:

| 属性 | 类型 | 必填 | 描述 |

| — | — | — | — |

| entryPagePath | string | 否 | 小程序默认启动首页 |

| pages | string[] | 是 | 页面路径列表(需要注意的页面路径开头不用加斜杠) |

| window | Object | 否 | 全局的默认窗口表现 |

| tabBar | Object | 否 | 底部 tab 栏的表现 |

| networkTimeout | Object | 否 | 网络超时时间 |

| debug | bpplean | 否 | 是否开启 debug 模式,默认关闭 |

  • 以下是一个包含了部分常用配置选项的 app.json

{

“pages”: [

“pages/index/index”,

“pages/logs/index”

],

“window”: {

“navigationBarTitleText”: “Demo”

},

“tabBar”: {

“list”: [{

“pagePath”: “pages/index/index”,

“text”: “首页”

}, {

“pagePath”: “pages/logs/index”,

“text”: “日志”

}]

},

“networkTimeout”: {

“request”: 10000,

“downloadFile”: 10000

},

“debug”: true

}

1.3.1.1、entryPagePath
  • 指定小程序的默认启动路径(首页),常见情景是从微信聊天列表页下拉启动、小程序列表启动等。

  • 如果不填,将默认为 pages 列表的第一项。

{

“entryPagePath”: “pages/index/index”

}

1.3.1.2、pages
  • 用于指定小程序由哪些页面组成,每一项都对应一个页面的 路径(含文件名) 信息

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

  • 未指定 entryPagePath 时,数组的第一项代表小程序的初始页面(首页)

  • 小程序中新增/减少页面,都需要对 pages 数组进行修改。

在这里插入图片描述

1.3.1.3、window
  • window 用于设置小程序的状态栏、导航条、标题、窗口背景色。它有如下属性

  • 这里只记录常用的,全部可以在官网文档查看。

| 属性 | 类型 | 默认值 | 描述 |

| — | — | — | — |

| navigationBarBackgroundColor | HexColor | #000000 | 导航栏(Bar)背景颜色,如 #000000 |

| navigationBarTextStyle | string | white | 导航栏标题颜色,仅支持black/white |

| navigationBarTitleText | string | | 导航栏标题文字内容 |

| navigationStyle | string | default | 导航栏样式,仅支持以下值:

default 默认样式

custom 自定义导航栏 |

| backgroundColor | HexColor | #ffffff | 窗口的背景色 |

| backgroundTextStyle | string | dark | 下拉 loading 的样式,仅支持 dark/light |

| enablePullDownRefresh | boolean | false | 是否开启全局的下拉刷新 |

| | | | |

{

“window”:{

“backgroundTextStyle”:“light”,

“navigationBarBackgroundColor”: “#fff”,

“navigationBarTitleText”: “大林的MINI-Program”,

“navigationBarTextStyle”:“black”

}

}

在这里插入图片描述

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

  • tabBar有如下属性,我们这里只记录常用的

| 属性 | 类型 | 必填 | 默认值 | 描述 |

| — | — | — | — | — |

| color | HexColor | 是 | | tab 上的文字默认颜色,仅支持十六进制颜色 |

| selectedColor | HexColor | 是 | | tab 上的文字选中时的颜色,仅支持十六进制颜色 |

| backgroundColor | HexColor | 是 | | tab 的背景色,仅支持十六进制颜色 |

| borderStyle | style | 否 | black | tabbar 上边框的颜色,仅支持 black/white |

| position | string | 否 | bottom | tabBar 的位置,仅支持 bottom/top |

| list | Array | 是 | | tab 的列表,最少 2 个、最多 5 个 tab |

这里着重介绍以下 list,list 接收一个数组,只能配置最少 2 个、最多 5 个 tab。tab 按数组的顺序排序,每个项都是一个对象,其属性值如下:

| 属性 | 类型 | 必填 | 说明 |

| — | — | — | — |

| pagePath | string | 是 | 页面路径,必须在 pages 中先定义 |

| text | string | 是 | tab 上按钮文字 |

| iconPath | string | 否 | 图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,不支持网络图片。

positiontop 时,不显示 icon。 |

| selectedIconPath | string | 否 | 选中时的图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,不支持网络图片。

positiontop 时,不显示 icon。 |

{

“tabBar”: {

“color”: “#c30”,

“selectedColor”: “#0ff”,

“backgroundColor”: “#ccc”,

“borderStyle”: “white”,

“list”: [

{

“pagePath”: “pages/index/index”,

“text”: “首页”,

“iconPath”: “/images/home.png”,

“selectedIconPath”: “/images/home (1).png”

},{

“pagePath”: “pages/logs/logs”,

“text”: “日志”

},{

“pagePath”: “pages/test/test”,

“text”: “案例”

}

]

},

}

在这里插入图片描述

在这里插入图片描述

1.3.1.5、debug
  • 可以在开发者工具中开启 debug 模式,在开发者工具的控制台面板,调试信息以 info 形式给出

  • 其信息有 Page 的注册,页面路由,数据更新,事件触发等。可以帮助开发者快速定位一些常见的问题。

{

“debug”: true

}

1.3.2、页面配置:页面名称.json

| 属性 | 类型 | 默认值 | 描述 |

| — | — | — | — |

| navigationBarBackgroundColor | HexColor | #000000 | 导航栏背景颜色,如 #000000 |

| navigationBarTextStyle | string | white | 导航栏标题颜色,仅支持 black / white |

| navigationBarTitleText | string | | 导航栏标题文字内容 |

| navigationStyle | string | default | 导航栏样式,仅支持以下值:

default 默认样式

custom 自定义导航栏,只保留右上角胶囊按钮。 |

| backgroundColor | HexColor | #ffffff | 窗口的背景色 |

| backgroundTextStyle | string | dark | 下拉 loading 的样式,仅支持 dark / light |

| backgroundColorTop | string | #ffffff | 顶部窗口的背景色,仅 iOS 支持 |

| backgroundColorBottom | string | #ffffff | 底部窗口的背景色,仅 iOS 支持 |

| enablePullDownRefresh | boolean | false | 是否开启当前页面下拉刷新。 |

| disableScroll | boolean | false | 设置为 true 则页面整体不能上下滚动。 只在页面配置中有效,无法在 app.json 中设置 |

在这里插入图片描述

1.3.3、sitemap配置:sitemap.json

  • sitemap配置:用于被微信搜索爬取页面(其实就是提高小程序的曝光量)

  • 小程序根目录下的 sitemap.json 文件用于配置小程序及其页面是否允许被微信索引,文件内容为一个 JSON 对象

  • 如果没有 sitemap.json ,则默认为所有页面都允许被索引;了解即可

1.4、新建页面的快捷方式


我们知道,在 index 目录下存在 index.js、index.json、index.wxml、index.wxss 四个文件,这其实就是我们的 index 页面所需要的。那么如果我们想新建页面,难道还需要新建四次上述文件吗?其实是不需要的,我们只需要在 app.json 中的 pages 数组中添加我们的页面即可自动生成上述四种文件

在这里插入图片描述

1.5、小程序常见组件的学习


1.5.1、view组件

属性如下:

| 属性 | 类型 | 默认值 | 说明 |

| — | — | — | — |

| hoer-class | string | none | 指定按下去的样式类。

hover-class="none"时,没有点击态效果 |

| hover-stop-propagation | boolean | false | 指定是否阻止本节点的祖先节点出现点击态 |

| hover-start-time | number | 50 | 按住后多久出现点击态,单位毫秒 |

| hover-stay-time | number | 400 | 手指松开后点击态保留时间,单位毫秒 |

点击

.click {

background-color: green;

}

在这里插入图片描述

1.5.2、text组件

属性如下:

| 属性 | 类型 | 默认值 | 说明 |

| — | — | — | — |

| user-select | boolean | false | 文本是否可选,该属性会使文本节点显示为 inline-block |

| space | string | 否 | 显示连续空格 |

| decode | boolean | false | 是否解码 |

其中 space 的合法值如下:

| 值 | 说明 |

| — | — |

| ensp | 中文字符空格一半大小 |

| emsp | 中文字符空格大小 |

| nbsp | 根据字体设置的空格大小 |

文本\n

可以选择的文本

\n 可以解码的文本 < 解码小于号\n

中文字符空格大小的文本

在这里插入图片描述

1.5.3、input组件

| 属性 | 类型 | 默认值 | 说明 |

| — | — | — | — |

| value | string | | 输入框的初始内容 |

| type | string | text | input 的类型 |

| password | boolean | false | 是否是密码类型 |

| placeholder | string | | 输入框为空时占位符

(value和placeholder同时使用时,value的优先级更高) |

| disabled | boolean | false | 是否禁用 input 输入框 |

| maxlength | number | 140 | 最大输入长度,设置为 -1 时不限制最大长度 |

| confirm-type | string | done | 设置键盘右下角按钮的文字,仅在 type=“text” 时生效 |

| bindinput | eventhadnle | 是 | 键盘输入时触发。

event.detail = {value,cursor,KeyCode}

KeyCode 为键值,处理函数可以直接return一个字符串,将替换输入框的内容 |

| bindfocus | eventhandle | 是 | 输入框聚焦时触发

event.detail = {value,height}

height 为键盘高度 |

| bindblur | eventhandle | 是 | 输入框失去焦点时触发

event.detail = {value,encryptedValue,encryptError} |

| bindconfirm | eventhandle | 是 | 点击完成按钮时触发

event.detail = {value} |

| | | | |

其中 type 的合法值如下:

| 值 | 说明 |

| — | — |

| text | 文本输入键盘 |

| number | 数字输入键盘 |

| idcard | 身份证输入键盘 |

| digit | 带小数点的数字键盘 |

| safe-password | 密码安全输入键盘 |

其中 confirm-type 的合法值如下:

| 值 | 说明 |

| — | — |

| send | 右下角按钮为"发送" |

| search | 右下角按钮为"搜索" |

| next | 右下角按钮为"下一个" |

| go | 右下角按钮为"前往" |

| done | 右下角按钮为"完成" |

1.5.4、button组件

| 属性 | 类型 | 默认值 | 说明 |

| — | — | — | — |

| size | string | default | 按钮的大小 |

| type | string | default | 按钮的样式类型 |

| plain | boolean | false | 按钮是否镂空(背景透明色) |

| disabled | boolean | false | 是否禁用 |

| loading | boolean | false | 名称前是否带 loading 图标 |

| form-type | string | | 用于 form 组件,点击分别会触发 form 组件的 submit/reset 事件 |

| open-type | string | | 微信开放能力 |

| | | | |

| | | | |

其中 size 的合法值为:

| 值 | 说明 |

| — | — |

| default | 默认大小 |

| mini | 小尺寸 |

其中 type 的合法值:

| 值 | 说明 |

| — | — |

| primary | 绿色 |

| default | 白色 |

| warn | 红色 |

其中 open-type 的合法值如下:

| 值 | 说明 |

| — | — |

| contact | 打开客服会话,如果用户在会话中点击消息卡片后返回小程序,可以从 bindcontact 回调中获得具体信息 |
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

读者福利

分享一份自己整理好的Java面试手册,还有一些面试题pdf

不要停下自己学习的脚步

字节跳动的面试分享,为了拿下这个offer鬼知道我经历了什么

字节跳动的面试分享,为了拿下这个offer鬼知道我经历了什么

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!
到天花板技术停滞不前!**

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。[外链图片转存中…(img-h8QBtBCt-1712436960935)]

[外链图片转存中…(img-oH3yj1wF-1712436960936)]

[外链图片转存中…(img-XNFlTTrW-1712436960936)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

读者福利

分享一份自己整理好的Java面试手册,还有一些面试题pdf

不要停下自己学习的脚步

[外链图片转存中…(img-1fZpDiCQ-1712436960937)]

[外链图片转存中…(img-cw7qgrvx-1712436960937)]

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!

  • 16
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值