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

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

全局配置 - 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-reverse同wrap值,只是换成反序方向。*/.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


相关文章
|
消息中间件 人工智能 Java
抖音微信爆款小游戏大全:免费休闲/竞技/益智/PHP+Java全筏开源开发
本文基于2025年最新行业数据,深入解析抖音/微信爆款小游戏的开发逻辑,重点讲解PHP+Java双引擎架构实战,涵盖技术选型、架构设计、性能优化与开源生态,提供完整开源工具链,助力开发者从理论到落地打造高留存、高并发的小游戏产品。
|
小程序 前端开发 Android开发
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
2864 29
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
|
小程序 JavaScript API
uni-halo + 微信小程序开发实录:我的第一个作品诞生记
这篇文章介绍了使用uni-halo框架进行微信小程序开发的过程,包括选择该框架的原因、开发目标以及项目配置和部署的步骤。
728 0
uni-halo + 微信小程序开发实录:我的第一个作品诞生记
|
缓存 小程序 前端开发
商城/点餐/家政类小程序源码合集_微信抖音小程序源码开发从入门到精通实战
本文系统讲解如何利用现有源码快速开发商城、点餐、家政类微信/抖音小程序,涵盖环境搭建、核心功能实现、多平台部署与优化,提供完整技术方案。实战导向,助力开发者高效入门与落地。
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
JSON 监控 小程序
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
2005 14
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
|
小程序 Java 关系型数据库
weixin163基于微信小程序的校园二手交易平台系统设计与开发ssm(文档+源码)_kaic
本文介绍了一款基于微信小程序的校园二手物品交易平台的开发与实现。该平台采用Java语言开发服务端,使用MySQL数据库进行数据存储,前端以微信小程序为载体,支持管理员和学生两种角色操作。管理员可管理用户、商品分类及信息、交易记录等,而学生则能注册登录、发布购买商品、参与交流论坛等。系统设计注重交互性和安全性,通过SSM框架优化开发流程,确保高效稳定运行,满足用户便捷交易的需求,推动校园资源共享与循环利用。
|
小程序 JavaScript 前端开发
微信小程序开发全流程:从注册到上线的完整指南
这篇文章详细记录了微信小程序的完整开发到最终上线的每一个步骤。适合对小程序开发感兴趣的个人开发者或希望了解完整流程的学习者,涵盖了云开发、事件绑定、生命周期管理、组件使用等关键内容。
25628 14
|
小程序 关系型数据库 Java
weixin168“返家乡”高校暑期社会实践微信小程序设计与开发ssm(文档+源码)_kaic
本文探讨高校暑期社会实践微信小程序的开发与应用,旨在通过信息化手段提升活动管理效率。借助微信小程序技术、SSM框架及MySQL数据库,实现信息共享、流程规范和操作便捷。系统涵盖需求分析、可行性研究、设计实现等环节,确保技术可行、操作简便且经济合理。最终,该小程序可优化活动发布、学生信息管理和心得交流等功能,降低管理成本并提高工作效率。
|
自然语言处理 搜索推荐 小程序
微信公众号接口:解锁公众号开发的无限可能
微信公众号接口是微信官方提供的API,支持开发者通过编程与公众号交互,实现自动回复、消息管理、用户管理和数据分析等功能。本文深入探讨接口的定义、类型、优势及应用场景,如智能客服、内容分发、电商闭环等,并介绍开发流程和工具,帮助运营者提升用户体验和效率。未来,随着微信生态的发展,公众号接口将带来更多机遇,如小程序融合、AI应用等。