微信小程序的常用配置:

全局配置:

//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,"navigateToMiniProgramAppIdList": ["wxe5f52902cf4de896"]
}
​

pages:

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

window:

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

navigationBackgroundColor:"#fff", 导航栏背景颜色

navigationBarTextStyle:"white", 导航栏标题颜色,仅支持 black / white

navigationBarTitleText:" hello",导航栏标题文字内容

navigationStyle:"default" 导航栏样式,仅支持以下值:default默认样式custom` 自定义导航栏,只保留右上角胶囊按钮。

backgroundColor:"#ccc"窗口的背景色

enablePullDownRefresh:false 是否开启全局的下拉刷新。

onReachBottomDistance: 100 页面上拉触底事件触发时距页面底部距离,单位为 px。

tabBar:

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

color:"#fff" tab 上的文字默认颜色,仅支持十六进制颜色

selectedColor: "#f66" tab 上的文字选中时的颜色,仅支持十六进制颜色

backgroundColor:"#ccc" tab 的背景色,仅支持十六进制颜色

borderStyle:"white" tabbar 上边框的颜色, 仅支持 black/ white

list:[] tab 的列表,详见 list 属性说明,最少 2 个、最多 5 个 tab

list中的属性:

pagePath:"" 页面路径,必须在 pages 中先定义

text: "" tab 上按钮文字

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

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

networkTimeout:

各类网络请求的超时时间,单位均为毫秒。

request: 60000 wx.request 的超时时间,单位:毫秒。

connectSocket: 60000 wx.connectSocket 的超时时间,单位:毫秒。

uploadFile: 60000 wx.uploadFile 的超时时间,单位:毫秒。

downloadFile: 60000 wx.downloadFile 的超时时间,单位:毫秒。

debug:

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

navigateToMiniProgramAppIdList:

当小程序需要使用 wx.navigateToMiniProgram 接口跳转到其他小程序时,需要先在配置文件中声明需要跳转的小程序 appId 列表,最多允许填写 10 个。

permission:

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

scope.userLocation:{} 位置相关权限声明;

页面配置:

每一个小程序页面也可以使用同名 .json 文件来对本页面的窗口表现进行配置,页面中配置项会覆盖 app.jsonwindow 中相同的配置项。如下,配置的属性同全局配置的基本一致;

{"navigationBarBackgroundColor": "#ffffff","navigationBarTextStyle": "black","navigationBarTitleText": "微信接口","backgroundColor": "#eeeeee","backgroundTextStyle": "light"
}

sitmap配置:

小程序根目录下的 sitemap.json 文件用来配置小程序及其页面是否允许被微信索引。如:

{"rules":[{"action": "allow","page": "*"}]
}

小程序中的实用功能:

1.封装wx.request函数:

export function request (options) {// 解构赋值 ---  获取用户传递的参数信息const { url, data,method} = options;// 加载动画 wx.showLoading({title: '加载中',})// 核心点 异步 A方法请求,B方法调用// 回调函数、promise、generator + yield、async+await
​return new Promise((resolve, reject) => {wx.request({url: baseUrl + url,method: method || "GET"data: data || {},success: (res) => {// 异步操作成功调用resolveresolve(res)},fail: (err) => {// 异步操作失败调用rejectreject(err)},complete: () => {wx.hideLoading()}})})
}

2.开启下拉刷新

首先开启首页的下拉刷新功能

pages/home/home.json

{"enablePullDownRefresh": true,
}

完善相关的下拉刷新函数

pages/home/home.js

// pages/home/home.js
import { request } from './../../utils/index.js'
Page({
​data: {prolist: [],pageCode:1},onLoad: function (options) {})},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh: function () {request('***').then(data => {this.setData({prolist: data.data,pageCode:1})})},}

3.上拉加载功能

/*** 页面上拉触底事件的处理函数*/onReachBottom: function () {let num = this.data.pageCode;let prolist = this.data.prolistnum++;request('***', {pageCode: num}).then(data => {// 此处注意临界值的变化 --  没有数据this.setData({prolist: [...prolist, ...data.data],pageCode: num})})}
})

4.返回顶部功能

在首页中设置一个固定定位的按钮,然后绑定点击事件,绑定事件使用 bindtap,然后调用小程序提供的api即可返回

// pages/home/home.wxml
<view class="backtop" bindtap="backtop"> ↑ </view>
​
// pages/home/home.wxss
.backtop {position: fixed;bottom: 10px;right: 8px;border-radius: 50%;width: 30px;height: 30px;background-color: rgba(0, 0, 0, 0.5);font-size: 18px;text-align: center;line-height: 30px;
}
​
// pages/home/home.js
Page({/*** 自定义函数*/backtop: function () {// 小程序api 的界面 - 滚动wx.pageScrollTo({scrollTop: 0,duration: 300})}
})

逆战--关于微信小程序相关推荐

  1. 逆战之微信小程序全局配置

    微信小程序之全局配置-1 小程序的配置分为全局配置.页面配置及sitemap 配置 全局配置 小程序根目录下的 app.json 文件用来对微信小程序进行全局配置.文件内容为一个 JSON 对象,有以 ...

  2. 逆战之微信小程序云开发

    概述 : 开发者可以使用云开发开发微信小程序.小游戏,无需搭建服务器,即可使用云端能力. 云开发为开发者提供完整的云端支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发 ...

  3. 逆战:微信小程序开发(二)

    一.常用组件 在上一个章节中讲解了封装请求数据的模块,在此处请求轮播图的数据 1.首页轮播图数据的请求以及渲染 1.1 轮播图数据的请求 pages/home/home.js import { req ...

  4. 微信小程序开发的全局配置和局部配置(逆战)

    全局配置 小程序根目录下的 app.json 文件用来对微信小程序进行全局配置. 全局配置 页面配置 每一个小程序页面也可以使用 .json 文件来对本页面的窗口表现进行配置.页面中配置项在当前页面会 ...

  5. 微信小程序疫情期间逆战学习--全局配置

    小程序根目录下的 app.json 文件用来对微信小程序进行全局配置,决定页面文件的路径.窗口表现.设置网络超时时间.设置多 tab 等. 以下是一个包含了部分常用配置选项的 app.json {&q ...

  6. 逆战———微信小程序

    微信小程序 简介 微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验. 优缺点 优点 1.对用户使用上来说,确实方便,要用的时候打开,不用的时候关掉, ...

  7. 初识小程序 ——微信小程序的入门和使用

    一.小程序的介绍 在小程序特别火爆的今天,我们一起来了解了解小程序吧.小程序总类一般分为微信小程序.支付宝小程序.头条小程序.百度小程序.QQ小程序,小程序无需下载安装,能达到"触手可及&q ...

  8. 关于微信小程序的开发体验

    目录 前言 我对小程序的看法 小程序开发 3.1 全局配置 3.2 页面配置 3.3 组建的创建和使用 3.4 路由的配置 总结 前言# 一场突如其来的疫情,打破了许多人的计划,也让许多公司无法正常运 ...

  9. 微信小程序页面之间数据传递

    微信小程序跳转界面传递数据,要传递的数据拼接在url 后面实现 下面看一个简单的demo 传递数据 要传递界面 wxml <!--index.wxml--> <view class= ...

最新文章

  1. NLM 公布了一个新的重新设计的 PubMed 数据库
  2. 异常处理中throws和throw的区别?
  3. mat opencv 修改roi_OpenCV中如何提取不规则ROI区域
  4. hiredis使用,封装代码示例
  5. python传送带和斐波那契
  6. 计算机专业买win,新买的电脑是win10系统,有的人却费尽心思重装成win7,为什么呢...
  7. WCF读取配置动态生成客户端对象
  8. java close wait过多_HttpClient当HTTP连接的时候出现大量CLOSE_WAIT连接
  9. 46 -算法 - Leetcode -169 - 多数元素 - map insert 迭代器
  10. 创维酷开电视能换成android系统吗,创维酷开电视怎么系统升级【图文教程】
  11. codeblocks下载
  12. 用PS制作电子签名方法总结
  13. luogu P5064 [Ynoi2014] 等这场战争结束之后
  14. Sql Server数据库获取月份英文简写
  15. 各种主流浏览器的调试
  16. nginx学习笔记七(nginx HTTP框架的执行流程)
  17. 【优秀课设】基于Python的百度API的OCR名片识别【含完整API账户】
  18. 5410 ACM 杭电 01+完全背包
  19. 线上引流获客渠道有哪些
  20. 数字电路74161(MN)

热门文章

  1. 邮箱出现乱码怎么解决?0分
  2. 【Educoder python 作业答案】国防科技大学《大学计算机基础》Python控制结构(二)※
  3. ASP.NET编写简单的中文分词程序
  4. Proxy Switchysharp配置
  5. ArcGIS绘制全国数据图步骤及注意事项
  6. java 正则表达式 邮编_使用Java正则表达式进行邮政编码验证
  7. 安徽汽车网程序员删库跑路?不,真相是这样!
  8. 索尼爱立信滑盖机java_W580后续机 索尼爱立信滑盖W595官方照发布
  9. thunderbird 编辑html,通过thunderbird扩展以html格式阅读电子邮件
  10. 研究生和本科生学习的差别