微信小程序开发实战(网络请求设置)

简介: 微信小程序开发实战(网络请求设置)

全局配置 - tabBar


什么是 tabBar❓


tabBar 是移动端应用常见的页面效果,用于实现多页面的快速切换。

小程序中通常将其分为:

  1. 底部 tabBar
  2. 顶部 tabBar

注意:

  1. tabBar中只能配置最少 2 个、最多 5 个 tab 页签
  2. 当渲染顶部 tabBar 时,不显示 icon,只显示文本

👨‍🦲tabBar 的 6 个组成部分


tabBar 的 6 个组成部分

① backgroundColor:tabBar 的背景色

② selectedIconPath:选中时的图片路径

③ borderStyle:tabBar 上边框的颜色

④ iconPath:未选中时的图片路径

⑤ selectedColor:tab 上的文字选中时的颜色

⑥ color:tab 上文字的默认(未选中)颜色

image.png

👨‍🦲tabBar 节点的配置项


image.png

👨‍🦲每个 tab 项的配置选项


image.png

👨‍🦲简单配置Tab栏


至少创建两个页面 👉 获取icon图标 👉 完成tab栏切换 如 👇

image.png

小程序的页面配置


页面配置文件的作用

小程序中,每个页面都有自己的 .json 配置文件,用来对当前页面的窗口外观、页面效果等进行配置。

页面配置和全局配置的关系

小程序中,app.json 中的 window 节点,可以全局配置小程序中每个页面的窗口表现。

如果某些小程序页面想要拥有特殊的窗口表现,此时,“页面级别的 .json 配置文件”就可以实现这种需求。

注意:当页面配置与全局配置冲突时,根据就近原则,最终的效果以页面配置为准。

页面配置中常用的配置项

image.png

网络数据请求


1、 小程序中网络数据请求的限制


出于安全性方面的考虑,小程序官方对数据接口的请求做出了两点限制 👇

👉 只能请求 HTTPS 类型的接口

👉 必须将接口的域名添加到信任列表中 如 👇

1..png

小程序开发工具查看配置的域名 如 👇

image.png

2、 配置 request 合法域名


例如:希望请求 https://XXX.XXXXXX.XXX/ 域名下的接口


配置步骤:登录微信小程序管理后台 👉 开发 👉 开发设置 👉 服务器域名 👉 修改 request 合法域名


点注意事项如 👇

域名只支持 https 协议

域名不能使用 IP 地址或 Localhost

域名必须经过 ICP 备案

服务器域名一个月内最多可申请 5 次修改

3、小程序的GET 与 POST请求


  1. 调用微信小程序自带的 wx.request() 方法,可以发起 GET 数据请求
  2. 调用微信小程序自带的 wx.request() 方法,可以发起 POST 数据请求

代码 👇

image.png

4、 在页面刚加载时请求数据函数


在很多情况下,我们需要在页面刚加载的时候,自动请求一些初始化的数据。

此时需要在页面的 onLoad 事件中调用获取数据的函数,代码如 👇

image.png

5、 跳过 Request 合法域名校验


问题😶‍🌫️:如果后端程序员仅仅提供了 http 协议的接口、暂时没有提供 https 协议的接口。


此时为了不耽误开发的进度,我们可以在微信开发者工具中,临时开启「开发环境不校验请求域名、TLS 版本及 HTTPS 证书」选项,跳过 Request 合法域名的校验。

2.png

注意: 跳过 Request 合法域名校验的选项,仅限在开发与调试阶段使用!

6、 关于跨域和 Ajax 的说明


跨域问题只存在于基于浏览器的 Web 开发中。由于小程序的宿主环境不是浏览器,而是微信客户端,所以小程序中不存在跨域的问题。


Ajax 技术的核心是依赖于浏览器中的 XMLHttpRequest 这个对象,由于小程序的宿主环境是微信客户端,所以小程序中不能叫做“发起 Ajax(阿贾克斯) 请求”,而是叫做“发起网络数据请求”。

小案例练习 (首页)


  • 实现项目步骤 如 👇
  1. 新建项目并梳理项目结构
  2. 配置导航栏效果
  3. 配置 tabBar 效果
  4. 实现轮播图效果
  5. 实现九宫格效果
  6. 实现图片布局

代码 👇

WXML

<!--顶部轮播图--><swiperindicator-dotsautoplay="true"interval="2000"><swiper-item><imagesrc="/Image/OIP-C.jpg"></image></swiper-item><swiper-item><imagesrc="/Image/OIP-C.jpg"></image></swiper-item><swiper-item><imagesrc="/Image/OIP-C.jpg"></image></swiper-item><swiper-item><imagesrc="/Image/OIP-C.jpg"></image></swiper-item></swiper><!--九宫格--><viewclass="list"><viewclass="item"wx:for="{{gridList}}"wx:key="id"><imagesrc="{{item.icon}}"></image><text>{{item.name}}</text></view></view><!--图片--><viewclass="box_img"><imagesrc="/Image/meitus.jpg"mode="widthFix"></image><imagesrc="/Image/meitus.jpg"mode="widthFix"></image></view>

WXSS

/*顶部轮播图*/swiper{
height: 150px;
}
swiperimage{
width: 100%;
height: 100%;
}
/*九宫格*//*1.nowrap项目不换行(这个是默认值)。2.wrap项目在超出容器时进行换行。3.wrap-reversewrap值,只是换成反序方向。*/.list{
display: flex;
flex-wrap: wrap;
border-top: 1pxsolidred;
border-left: 1pxsolidred;
}
/*row默认值。作为一行,水平地显示弹性项目。row-reverse等同行,但方向相反。column作为列,垂直地显示弹性项目。column-reverse等同列,但方向相反。initial将此属性设置为其默认值。参阅initial。inherit从其父元素继承此属性。参阅inherit。*/.item{
width:33.3%;
height: 200rpx;
display: flex;
flex-direction: column;
/*横向纵向居中*/align-items: center;
justify-content: center;
border-right: 1pxsolidred;
border-bottom: 1pxsolidred;
/*忽略边框大小*/box-sizing: border-box;
}
.itemimage{
width: 60rpx;
height: 60rpx;
}
.itemtext{
font-size: 24rpx;
margin-top: 10rpx;
}
/*图片*//*justify-content: space-between;  /*均匀排列每个元素*//*首个元素放置于起点,末尾元素放置于终点*//*justify-content: space-around;  /*均匀排列每个元素*//*每个元素周围分配相同的空间*//*justify-content: space-evenly;  /*均匀排列每个元素*//*每个元素之间的间隔相等*//*justify-content: stretch;       /*均匀排列每个元素*//*'auto'-sized的元素会被拉伸以适应容器的大小*/.box_img{
display: flex;
padding: 20rpx10rpx;
justify-content: space-around;
}
.box_imgimage{
width: 45%;
}

效果如 👇

100..gif

小总结


掌握👉 wx:if、wx:elif、wx:else、hidden、wx:for、wx:key

掌握👉 rpx 尺寸单位、@import 样式导入、全局样式和局部样式

掌握👉 pages、window、tabBar、style

掌握👉 对单个页面进行个性化配置、就近原则

掌握👉 wx.request() 方法、onLoad() 事件

最后


image.png

下篇文章再见ヾ( ̄▽ ̄)ByeBye

image.png


目录
打赏
0
0
0
0
6
分享
相关文章
如何用 eBPF 实现 Kubernetes 网络可观测性?实战指南
本文深入探讨了Kubernetes网络观测的挑战与eBPF技术的应用。首先分析了传统工具在数据碎片化、上下文缺失和性能瓶颈上的局限性,接着阐述了eBPF通过零拷贝观测、全链路关联和动态过滤等特性带来的优势。文章进一步解析了eBPF观测架构的设计与实现,包括关键数据结构、内核探针部署及生产环境拓扑。实战部分展示了如何构建全栈观测系统,并结合NetworkPolicy验证、跨节点流量分析等高级场景,提供具体代码示例。最后,通过典型案例分析和性能数据对比,验证了eBPF方案的有效性,并展望了未来演进方向,如智能诊断系统与Wasm集成。
Go 网络编程:HTTP服务与客户端开发
Go 语言的 `net/http` 包功能强大,可快速构建高并发 HTTP 服务。本文从创建简单 HTTP 服务入手,逐步讲解请求与响应对象、URL 参数处理、自定义路由、JSON 接口、静态文件服务、中间件编写及 HTTPS 配置等内容。通过示例代码展示如何使用 `http.HandleFunc`、`http.ServeMux`、`http.Client` 等工具实现常见功能,帮助开发者掌握构建高效 Web 应用的核心技能。
150 61
基于时间图神经网络多的产品需求预测:跨序列依赖性建模实战指南
本文展示了如何通过学习稀疏影响图、应用图卷积融合邻居节点信息,并结合时间卷积捕获演化模式的完整技术路径,深入分析每个步骤的机制原理和数学基础。
53 1
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
517 29
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
133 14
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
玩转HarmonyOS NEXT网络请求:从新手到高手的实战秘籍
本文以通俗易懂的方式讲解了HarmonyOS网络请求的核心知识,从基础概念到实战技巧,再到进阶优化,帮助开发者快速上手。通过“点外卖”的类比,形象解释了HTTP请求方法(如GET、POST)和JSON数据格式的作用。同时,提供了封装工具类的示例代码,简化重复操作,并分享了常见问题的解决方法(如权限配置、参数格式、内存泄漏等)。最后,还探讨了如何通过拦截器、缓存机制和重试机制提升请求功能。无论你是新手还是进阶开发者,都能从中受益,快动手实现一个新闻App试试吧!
76 5
解决神经网络输出尺寸过小的实战方案
在CIFAR10分类模型训练中,因网络结构设计缺陷导致“RuntimeError: Given input size: (256x1x1). Calculated output size: (256x0x0)”错误。核心问题是六层卷积后接步长为2的池化层,使特征图尺寸过度缩小至归零。解决方案包括调整池化参数(如将部分步长改为1)和优化网络结构(采用“卷积-卷积-池化”模块化设计)。两种方案均可消除报错,推荐方案二以平衡特征表达与计算效率。
陪练,代练,护航,代打小程序源码/前端UNIAPP-VUE2.0开发 后端Thinkphp6管理/具备家政服务的综合型平台
这款APP通过技术创新,将代练、家政、娱乐社交等场景融合,打造“全能型生活服务生态圈”。以代练为切入点,提供模块化代码支持快速搭建平台,结合智能匹配与技能审核机制,拓展家政服务和商业管理功能。技术架构具备高安全性和扩展性,支持多业务复用,如押金冻结、录屏监控等功能跨领域应用。商业模式多元,包括交易抽成、增值服务及广告联名,同时设计跨领域积分体系提升用户粘性,实现生态共生与B端赋能。
236 12
weixin163基于微信小程序的校园二手交易平台系统设计与开发ssm(文档+源码)_kaic
本文介绍了一款基于微信小程序的校园二手物品交易平台的开发与实现。该平台采用Java语言开发服务端,使用MySQL数据库进行数据存储,前端以微信小程序为载体,支持管理员和学生两种角色操作。管理员可管理用户、商品分类及信息、交易记录等,而学生则能注册登录、发布购买商品、参与交流论坛等。系统设计注重交互性和安全性,通过SSM框架优化开发流程,确保高效稳定运行,满足用户便捷交易的需求,推动校园资源共享与循环利用。
工会成立100周年纪念,开发职工健身AI运动小程序、APP方案推荐
为庆祝中华全国总工会成立100周年,特推出基于AI技术的智能健身系统,以小程序和APP形式呈现,助力职工健康生活。方案包括:1) 小程序插件,支持多种运动识别,开箱即用;2) APP插件,提供更高精度的运动检测;3) 成熟的「AI乐运动」系统,支持赛事活动管理。这些方案满足不同需求,推动全民健身体验升级,彰显工会对职工健康的关怀。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问