小程序第四讲 网络请求

Scratch编程新纪元:网络请求与数据解析的探索之旅 Scratch,这个由麻省理工学院媒体实验室开发的图形化编程工具,自2007年问世以来,就以其独特的拖拽式编程方式,深受全球青少年编程爱好者的喜爱。通过一些创造性的方法,我们可以间接地实现网络请求。虽然Scratch不是一个为网络编程设计的平台,但通过使用扩展和一些创造性的方法,我们仍然可以在Scratch中实现网络请求和数据解析。本文以"Scratch编程新纪元:网络请求与数据解析的探索之旅"为题,详细解释了Scratch在网络请求和数据解析方面的潜力和实现方法,希望能够激发读者对编程的热爱和探索精神。 阅读详情

写在前面的话

上一篇我们讲到了vue的一些特性(wepy),这一讲我们围绕着网络请求进行讲解,以及网络请求的封装和使用,结合项目所用到的一些进行讲解,另外由于项目本身原有的接口服务都已经停止运行,这里我们找了一个网易严选的项目(基于thinkjs)的服务进行讲解和修改调整。这里附上服务项目的地址

上一篇我们提到了一些遗留问题:
在这里插入图片描述
现在我们开始填写第二个坑 替换原有api服务使用新的api服务

网络工具类封装

import wepy from 'wepy';
import util from './util';
import md5 from './md5';
import tip from './tip'

const API_SECRET_KEY = 'www.mall.cycle.com'
const TIMESTAMP = util.getCurrentTime()
const SIGN = md5.hex_md5((TIMESTAMP + API_SECRET_KEY).toLowerCase())

const wxRequest = async(params = {}, url) => {
    tip.loading();//加载开始
    let data = params.query || {};
    data.sign = SIGN;
    data.time = TIMESTAMP;
    let res = await wepy.request({
        url: url,
        method: params.method || 'GET',
        data: data,
        header: { 'Content-Type': 'application/json' },
    });
    tip.loaded();//加载完成
    console.log(res)
    return res.data;
};


module.exports = {
    wxRequest
}

网络工具使用

  1. 接口统一管理
import {
  wxRequest
} from '@/utils/wxRequest';

let env = "-test" //-dev 或者 -test

const apiMall = 'http://127.0.0.1:8360'

/**
 * 获取发现好商品接口
 * @param  {[type]} params [description]
 * @return {[type]}        [description]
 */
const getDiscoverList = (params) => wxRequest(params, apiMall + '/goods/list?cateidOne=1&cateidTwo=0&price=0&sales=2');

//查询广告列表
const getAdList = (params) => wxRequest(params, apiMall + '/api/adverts/list');

const getHomeData = (params) => wxRequest(params, apiMall + '/api/index');

export default {
  hostGoodsList,
  getDiscoverList,
  getHomeData
  }
  1. 接口调用

export default class Home extends wepy.page {
	async getHomeData () {
      const json = await api.getHomeData({method: 'GET'});
      console.log(JSON.stringify(json))
      if (json.errno == 0) {
        this.adList = json.data.banner;
        this.discoverList = json.data.hotGoodsList;
        this.$apply();
      } else {}
    }
}

结束语

真的很晚了,如果又不详细的地方还请见谅!
喜欢加个关注支持一下后续会有更多更新内容,我好困啊我要睡觉了

项目地址

https://github.com/crobotvip/smallshop.git

scratch3.0二次开发之scratch-www本地开发测试环境部署 前提 scratch-www在计算机上安装好,启动scratch-www后,你会发现在浏览器中显示的是和官网一样的框架,但是没有官网那样具体的内容。因为scratch-www虽然提供了前端的显示框架,但是后台的代码是没有的。 ... 阅读详情

相关推荐

参考Axios封装微信小程序网络请求实用插件

在使用微信小程序进行开发时,网络请求是一个常见的功能,它允许小程序与服务器进行数据交换。微信小程序提供了wx.request方法来进行网络请求。因此我们通常需要封装类似axios这样的请求组件来统一解决各种数据交互场景。

孤独的狼 1093

登陆模块(四)-axios- async 与 await 使用 和 json-server 配置 虚拟api数据

10-axios-async与await使用 是ES6提供的新语法,async await 修饰函数的关键字。 让异步的代码书写可以使用同步的方式,逻辑更加清晰,优雅一些。 基于promise对象使用。 模拟场景:当你请求A接口返回数据后,再次去请求B接口获取数据。 export default { async created () { console.log('ok'...

weixin_44867717的博客 642

基于MOS的防反接电路

防反接电路一般用于电源入口处,在电源反接时,保证电源入口之后的电路不会受到损害。一般在电源电流较小、对1V左右的压降不敏感时可以使用二极管进行防反接。防反接的形式有直接在正极串联二极管(如图1),或使用整流桥的方式(如图2),但这两种方式均存在:1、存在二极管的管压降;2、过大电流时,二极管消耗的功率大,发热严重。这两个问题。 图 1 二极管防反接电路 图 2 整流管防反接电路 1、基于NMO...

qq_42682826的博客 2万+

用Scratch+Python做一个联网游戏!不比打游戏差吧!

Scratch2有一个扩展功能,可以让Scratch和第三方应用通过http连接起来,实现访问网站数据、控制硬件等应用。我们今天就使用这个扩展,连接到一个用Python实现的网络服务,来做一个联网游戏。希望大家能通过今天的学习了解一些网络编程的基本知识,以及知道要做出一个比较复杂的系统要关心的方面。 我们先用Scratch做一个大富翁游戏:有两个以上的游戏角色(这个例子里是一只猫和一只狗)...

爬遍所有网站 8265

使用Android GPS api 实现一个轨迹记录的小功能

引入 市场上的跑步软件已经是非常多了,如咕咚和悦跑圈还有其他,很多大厂也在涉足这个方面。而最简单的运动跑步,最近几年也因简单,不限场地,运动效果出众备受大众喜欢。 我的这篇文章的内容很多也是从网上学习其他的博客内容,外加利用android自身的提供的api实现的,希望能对有这方面需求的朋友有所帮助。 介绍 先上两张图,界面比较丑,不过一些数据基本都有了,这个图片是临时要用截取的,所以轨迹线很短,之前

尝试着去了解代码 1万+

雷达工程师避坑指南:STAP处理中,间歇采样转发干扰为什么这么难对付?

本文深入解析了STAP处理中间歇采样转发干扰(ISRJ)的挑战与应对策略。通过分析ISRJ的工作机制和自由度消耗问题,结合仿真数据对比,揭示了其与传统压制干扰的本质差异。文章还探讨了在工程实践中如何构建有效的防御体系,包括降维处理技术选择和混合架构设计,为雷达工程师提供了实用的避坑指南。

weixin_30530339的博客 270

[译] Scratch 平台的神经网络实现(R 语言)

原文地址:Neural Networks from Scratch (in R) 原文作者:Ilia Karmanov 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/gold-m… 译者:CACppuccino 校对者:Isvih Scratch 平台的神经网络实现(R 语言) 这篇文章是针对那些有统计或者经济学背景的人们,帮助他们通过 R 语言上的 Scratch...

weixin_33725722的博客 480

Grafana 可视化配置

Grafana 可视化操作使用

原名又逢乱世。不要放下学习的脚步,毕竟比天天打牌、钓鱼、打游戏更能从内在充实自己。 1941

【小程序】网络请求API介绍及网络请求的封装

可以配置端口,如 https://myserver.com:8080,但是配置后只能向 https://myserver.com:8080 发起请求。如果向https://myserver.com、 https://myserver.com:9091 等 URL 请求则会失败。如 https://myserver.com,那么请求的 URL 中也不能包含端口,甚至是默认的 443 端口也不可以。如果 向 https://myserver.com:443 请求则会失败。url: 必传, 不然请求什么....

m0_71485750的博客 5453

Python爬虫实战:2026最新版淘宝商品详情页数据抓取与价格监控

在2026年的今天,电商数据已经成为商业决策、市场分析和价格策略制定的核心资产。淘宝作为中国最大的电商平台之一,其商品详情页包含了海量有价值的信息:商品标题、价格、销量、评价数、店铺信息、SKU属性等。对于从事电商运营、竞品分析、价格监控的从业者来说,能够高效、稳定地获取这些数据至关重要。然而,淘宝平台的反爬虫策略在2026年已经演进到了相当成熟的阶段。

2201_76125261的博客 891

Linux存储软件栈剖析之第5篇:F2FS文件系统

F2FS是三星专为NAND闪存设计的开源文件系统,通过异地更新、磨损均衡等机制优化闪存特性。其架构采用层次化存储管理(Block→Segment→Section→Zone)和多日志区域设计,基于数据热度分类(热/温/冷数据)提升性能。核心创新包括节点地址表(NAT)解决级联更新问题,以及基于成本的垃圾回收算法。F2FS通过检查点机制确保崩溃一致性,并利用并行访问能力充分发挥闪存性能优势,显著降低写放大效应,延长设备寿命。

指尖动听知识库 199

【微信小程序】一文带你搞懂小程序的页面配置和网络数据请求

Ajax技术的核心是依赖于浏览器中的XMLHttpRequest这个对象,由于小程序的宿主环境是微信客户端,所以小程序中不能叫做“发起Ajax请求”,而是叫做“详情-项目配置-request合法域名中就保存了刚才我们在小程序管理后台中配置的域名了。由于小程序的宿主环境不是浏览器而是微信客户端,所以小程序中不存在跨域的问题。小程序中,每个页面都有自己的.json配置文件,用来对当前页面的窗口外观、页面效果等进行配置。注意当全局配置和页面配置冲突时,根据就近原则,最终的页面以页面配置的效果为准。...

苏凉.py的博客 1万+

Python 爬虫高级实战:HTTPS 证书忽略与代理抓包配置

本文深入解析了HTTPS加密与SSL证书校验机制在爬虫开发中的核心问题及解决方案。文章首先剖析了HTTPS协议架构和证书校验流程,指出爬虫开发中常见的证书异常场景及其负面影响。随后详细介绍了Python主流请求库(requests、httpx、aiohttp)的证书忽略配置方法,包括同步/异步模式下的实现方案。针对代理环境,文章系统比较了HTTP、HTTPS、SOCKS5等代理类型的特性差异,并提供了完整的代理配置示例。特别对中间人抓包场景,阐述了Mitmproxy的工作原理和配置要点。最后提出了工程级爬虫

2503_91057718的博客 86

【微信小程序开发】小程序前后端交互--发送网络请求实战解析

在之前的小程序开发章节中,全是在微信小程序端操作,没有加入后端内容。 本文将详细讲讲如何从Django后端获取数据,需要在微信小程序端,发送网络请求,获取数据,显示在小程序上

景天科技苑 2万+

WPS Office JS宏实现文件和数据的上传及下载

WPS Office JS宏下载、上传文件;通过加载项实现数据的获取和上传。

学点笔记 4300

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【微信小程序】页面配置,网络数据请求

当前页面下拉loading的样式,仅支持dark/light。小程序中,每个页面都有自己的.json配置文件,用来对。小程序中,app.json中的window节点,可以。当前页面导航栏标题颜色,仅支持black/white。页面上拉触底事件触发时距页面底部距离,单位为px。需求描述假设在自己的微信小程序中,希望请求。④服务器域名一个月内最多可申请5次修改。🥦2.配置request合法域名。①域名只支持https协议。修改request合法域名。...

Javascript_tsj的博客 5297

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

微信小程序开发中的网络请求和数据获取

因此,掌握网络请求技术,对于开发者来说,就像是拥有了一双可以洞察世界的双眼,让小程序的功能得以拓展,用户体验得到极大提升。举例来说,当你开发一个旅游指南小程序时,通过网络请求获取目的地的实时天气、景点介绍甚至是当地美食推荐,都可以极大地丰富小程序的内容,使用户在计划旅行时更加得心应手。你可以把这里当作自己的家,无论是工作之余的小憩,还是寻找灵感的驿站,我都希望你能在这里找到属于你的那份快乐和满足。

master_chenchen的博客 1164

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

微信小程序开发之网络请求(GET请求)

微信小程序开发中网络请求必不可少,今天说说最简单的请求.后续会尝试上传下载,Socket这些. 1.一个微信小程序,同时只能有5个网络请求连接。 这个规定应该是微信为了保证用户体验制定的,毕竟是小程序. 2.wx.request(OBJECT)  参数说明: 微信小程序支持GET,POST等请求.用method可以设置. 以下是GET请求的代码: //rate.js //获

dzp_coder 4万+

5、微信小程序-网络请求和本地存储

文章目录前言一、准备二、网络请求1.微信小程序请求网络的方法2.发送网络请求3.网络请求的封装4.网络返回请求数据的处理三、本地存储 前言 这节我们来看下在微信小程序中如何进行网络请求的。 一、准备 在调用网络请求方法之前需要做一些配置否则会导致请求不成功,有两种配置方式: 1、在 小程序后台-开发-开发设置-服务器域名 中进行配置。打开 后台>开发管理>开发设置,在开发设置中可以添加服务器域名,配置为服务器域名后,可与小程序进行网络通信。 2、还可以打开微信开发工具>详情&gt

qq_40348833的博客 4420

微信小程序网络数据请求

微信小程序网络数据请求

m0_61787196的博客 1502

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

微信小程序网络请求开 REQUEST ~ GET POST

m0_61490399的博客 6259

微信小程序网络请求

网络 在小程序/小游戏中使用网络相关的 API 时,需要注意下列问题,请开发者提前了解。 服务器域名配置 每个微信小程序需要事先设置通讯域名,小程序只可以跟指定的域名与进行网络通信。包括普通 HTTPS 请求(wx.request)、上传文件(wx.uploadFile)、下载文件(wx.downloadFile) 和 WebSocket 通信(wx.connectSocket)。 点击蓝色...

chihouzi的博客 1万+

微信小程序第四节——网络请求那些事儿

前后端交互就必定会使用到网络请求。那么,微信小程序的网络请求如何使用?又有哪些注意事项呢?让我们一起来看下吧~。

是江迪呀 的博客 1219

微信小程序中发送网络请求

代码涉及的主要文件有: pages/index/index.html pages/index/index.wxss pages/index/index.js 发送网络请求 网络请求函数:wx.request() 微信小程序提供了 这个API,用于发送网络请求,该API接受一个对象作为参数,该对象包含多个属性,其中常用的有:代码变更涉及的文件有:pages/index/index.js。 封装网络请求函数 代码变更涉及的文件有:............

richest_qi的博客 4869

微信小程序开发之网络请求(POST请求)

微信小程序开发中网络请求必不可少.GET.POST请求是最常用的.GET请求 POST请求的时候有好几个坑.我已经为大家填好了. wx.request({ url: 'test.php', data: { x: '' , y: '' }, method: "POST", header: { 'Content-Type': 'application

dzp_coder 10万+
上一篇: 小程序第三讲 组件间传值 props
下一篇: 小程序第五讲 引入一个api服务项目
像一只小蜗牛
博客等级 码龄8年 33粉丝 144原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值