逆战--关于微信小程序
微信小程序的常用配置:
全局配置:
//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.json
的 window
中相同的配置项。如下,配置的属性同全局配置的基本一致;
{"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 小程序的配置分为全局配置.页面配置及sitemap 配置 全局配置 小程序根目录下的 app.json 文件用来对微信小程序进行全局配置.文件内容为一个 JSON 对象,有以 ...
- 逆战之微信小程序云开发
概述 : 开发者可以使用云开发开发微信小程序.小游戏,无需搭建服务器,即可使用云端能力. 云开发为开发者提供完整的云端支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发 ...
- 逆战:微信小程序开发(二)
一.常用组件 在上一个章节中讲解了封装请求数据的模块,在此处请求轮播图的数据 1.首页轮播图数据的请求以及渲染 1.1 轮播图数据的请求 pages/home/home.js import { req ...
- 微信小程序开发的全局配置和局部配置(逆战)
全局配置 小程序根目录下的 app.json 文件用来对微信小程序进行全局配置. 全局配置 页面配置 每一个小程序页面也可以使用 .json 文件来对本页面的窗口表现进行配置.页面中配置项在当前页面会 ...
- 微信小程序疫情期间逆战学习--全局配置
小程序根目录下的 app.json 文件用来对微信小程序进行全局配置,决定页面文件的路径.窗口表现.设置网络超时时间.设置多 tab 等. 以下是一个包含了部分常用配置选项的 app.json {&q ...
- 逆战———微信小程序
微信小程序 简介 微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验. 优缺点 优点 1.对用户使用上来说,确实方便,要用的时候打开,不用的时候关掉, ...
- 初识小程序 ——微信小程序的入门和使用
一.小程序的介绍 在小程序特别火爆的今天,我们一起来了解了解小程序吧.小程序总类一般分为微信小程序.支付宝小程序.头条小程序.百度小程序.QQ小程序,小程序无需下载安装,能达到"触手可及&q ...
- 关于微信小程序的开发体验
目录 前言 我对小程序的看法 小程序开发 3.1 全局配置 3.2 页面配置 3.3 组建的创建和使用 3.4 路由的配置 总结 前言# 一场突如其来的疫情,打破了许多人的计划,也让许多公司无法正常运 ...
- 微信小程序页面之间数据传递
微信小程序跳转界面传递数据,要传递的数据拼接在url 后面实现 下面看一个简单的demo 传递数据 要传递界面 wxml <!--index.wxml--> <view class= ...
最新文章
- NLM 公布了一个新的重新设计的 PubMed 数据库
- 异常处理中throws和throw的区别?
- mat opencv 修改roi_OpenCV中如何提取不规则ROI区域
- hiredis使用,封装代码示例
- python传送带和斐波那契
- 计算机专业买win,新买的电脑是win10系统,有的人却费尽心思重装成win7,为什么呢...
- WCF读取配置动态生成客户端对象
- java close wait过多_HttpClient当HTTP连接的时候出现大量CLOSE_WAIT连接
- 46 -算法 - Leetcode -169 - 多数元素 - map insert 迭代器
- 创维酷开电视能换成android系统吗,创维酷开电视怎么系统升级【图文教程】
- codeblocks下载
- 用PS制作电子签名方法总结
- luogu P5064 [Ynoi2014] 等这场战争结束之后
- Sql Server数据库获取月份英文简写
- 各种主流浏览器的调试
- nginx学习笔记七(nginx HTTP框架的执行流程)
- 【优秀课设】基于Python的百度API的OCR名片识别【含完整API账户】
- 5410 ACM 杭电 01+完全背包
- 线上引流获客渠道有哪些
- 数字电路74161(MN)
热门文章
- 邮箱出现乱码怎么解决?0分
- 【Educoder python 作业答案】国防科技大学《大学计算机基础》Python控制结构(二)※
- ASP.NET编写简单的中文分词程序
- Proxy Switchysharp配置
- ArcGIS绘制全国数据图步骤及注意事项
- java 正则表达式 邮编_使用Java正则表达式进行邮政编码验证
- 安徽汽车网程序员删库跑路?不,真相是这样!
- 索尼爱立信滑盖机java_W580后续机 索尼爱立信滑盖W595官方照发布
- thunderbird 编辑html,通过thunderbird扩展以html格式阅读电子邮件
- 研究生和本科生学习的差别