分析一个项目(微信小程序篇)三
目录
接下来分析接口方面:
home接口:
categories接口:
details接口:
login接口:
分析一个项目讲究的是如何进行对项目的解析分解,进一步了解项目的整体结构,熟悉项目的结构,能够知道每个组件所处在哪个位置,发挥什么作用。
接下来分析接口方面:
首先对于基础接口定义为本地接口:$http.baseUrl='http://localhost:3000'
home接口:
const {data: res} = await uni.$http.get('/home')if (res.meta.status !== 200) {return uni.$showMsg();}// 对数据进行处理res.message.forEach(floor => {floor.product_list.forEach(prod => {prod.url = '/subpkg/goods_list/goods_list?' + prod.navigator_url.split('?')[1]})})this.floorList = res.message
接口为:http://localhost:3000/home/swiper
使用node创建本地服务器端:
index.js如下:
// 1.导包
const express = require("express")
// 2.创建服务器
const app = express()
//3.编写接口get方法
app.get("/home",(req,res)=>{res.send({"message": [{"floor_title": {"name": "测试","image_src": "https://tse2-mm.cn.bing.net/th/id/OIP-C.7BGLFWgbSBaoawzV_Gp7VQHaNK?w=208&h=326&c=7&r=0&o=5&dpr=1.3&pid=1.7"},"product_list": [{"name": "爆款清仓","image_src": "https://tse1-mm.cn.bing.net/th/id/OIP-C.IYo1y_dmp-LOIyvc7rpPrgHaHa?w=193&h=193&c=7&r=0&o=5&dpr=1.3&pid=1.7","image_width": "233","open_type": "navigate","navigator_url": "/pages/goods_list?query=爆款"},]},{"floor_title": {"name": "户外活动","image_src": "https://tse2-mm.cn.bing.net/th/id/OIP-C.7BGLFWgbSBaoawzV_Gp7VQHaNK?w=208&h=326&c=7&r=0&o=5&dpr=1.3&pid=1.7"},"product_list": [{"name": "冲锋衣系列","image_src": "https://tse4-mm.cn.bing.net/th/id/OIP-C.8G_dgft7677mOGaUSu01fQHaID?w=159&h=180&c=7&r=0&o=5&dpr=1.3&pid=1.7","image_width": "273","open_type": "navigate","navigator_url": "/pages/goods_list?query=冲锋衣"}]},],"meta": {"msg": "获取成功","status": 200}})
})
// 4.监听端口
app.listen(3000,()=>{console.log("启动成功");
})
接口请求成功后,将数据渲染到页面:

categories接口:
index.js如下:
app.get("/categories",(req,res)=>{res.send({"message": [{"cat_id": 1,"cat_name": "大家电","cat_pid": 0,"cat_level": 0,"cat_deleted": false,"cat_icon": "/full/none.jpg","children": [{"cat_id": 21,"cat_name": "盒子","cat_pid": 3,"cat_level": 2,"cat_deleted": false,"cat_icon": "https://api-hmugo-web.itheima.net/full/e65bab9fcb64c336a3f5fba3b2174fef41f12330.jpg"}]},]},],"meta": {"msg": "获取成功","status": 200}})
})
接口请求成功后,将数据渲染到页面:

details接口:
app.get("/goods/details",(req,res)=>{const id=req.query.goods_id;if(id==1){res.send({"message": {"goods_id": 1,"cat_id": 1000,"goods_name": "卡奇莱德汽车车载空气净化器负离子除甲醛PM2.5除烟异味车用氧吧双涡轮出风(红色)","goods_price": 168,"goods_number": 100,"goods_weight": 100,[{"goods_id": 1,"attr_id": 8570,"attr_value": "17*12.5*3.8","add_price": 0,"attr_name": "规格-产品尺寸(长*宽*高","attr_sel": "only","attr_write": "manual","attr_vals": "17*12.5*3.8"}]},"meta": {"msg": "获取成功","status": 200}})}})
接口请求成功后,将数据渲染到页面:

login接口:
app.get("/login",(req,res)=>{res.send({"message": {"user_id": 12,"user_email_code": null,"is_active": null,"user_sex": "男","user_qq": "","user_tel": "","user_xueli": "本科","user_hobby": "","user_introduce": null,"create_time": 1525402223,"update_time": 1525402223,"token": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjEyLCJpYXQiOjE1MjU0MDIyMjMsImV4cCI6MTUyNTQ4ODYyM30.g-4GtEQNPwT_Xs0Pq7Lrco_9DfHQQsBiOKZerkO-O-o"},"meta": {"msg": "登录成功","status": 200}})
})
登录成功后,将数据渲染到页面:

相关文章:
分析一个项目(微信小程序篇)三
目录 接下来分析接口方面: home接口: categories接口: details接口: login接口: 分析一个项目讲究的是如何进行对项目的解析分解,进一步了解项目的整体结构,熟悉项目的结构,能够…...
element+vue 之图片放大器
1.安装插件 npm install vue-photo-zoom-pro2.main.js导入 // 放大镜 import VuePhotoZoomPro from vue-photo-zoom-pro Vue.use(VuePhotoZoomPro)3.页面使用 <vue-photo-zoom-pro:url"imgUrl":out-zoomer"true":scale"2"style"width:…...
Vue学习笔记3--全局事件总线
Vue学习笔记3—全局事件总线 1.全局事件总线可以实现任意组件间通信 X需具备的条件: 所有的组件都要能看见X可以调用$on $off $emitVue.prototype.x {a:1, b:2} 可以被所有组件看见VueComponent.protoype.proto Vue.prototype组件实例对象(vc)可以访问到Vue原型上…...
科学和统计分析软件GraphPad Prism mac介绍说明
GraphPad Prism for Mac是一款科学和统计分析软件,旨在帮助研究者、科学家和学生更轻松地处理和可视化数据。 GraphPad Prism for Mac是一款功能强大、易于使用的科学和统计分析软件,适用于各种类型的数据处理和可视化需求。无论您是进行基础研究、临床试…...
[学习笔记]刘知远团队大模型技术与交叉应用L1-NLPBig Model Basics
本节主要介绍NLP和大模型的基础知识。提及了词表示如何从one-hot发展到Word Embedding。语言模型如何从N-gram发展成预训练语言模型PLMs。然后介绍了大模型在NLP任务上的表现,以及它遵循的基本范式。最后介绍了本课程需要用到的编程环境和GPU服务器。 一篇NLP方向的…...
概率论与数理统计————古典概型、几何概型和条件概率
一、古典概型 特点 (1)有限性:试验S的样本空间的有限集合 (2) 等可能性:每个样本点发生的概率是相等的 公式:P(A) A为随机事件的样本点数;S是样本…...
C#编程-使用事件
使用事件 事件是一个动作或发生的事情,例如:鼠标点击、按键、鼠标移动或系统产生的通知。应用程序可以在事件发生的时候做出响应。通知的一个示例是中断。事件是对象发生的消息以表示事件的发生。事件是进程内通信的有效方法。它们对对象时有用的,因为它们标识了单个状态改…...
Dijsktra算法理解笔记
Dijsktra算法理解笔记 学习了柳神的笔记 感谢柳神 Dijkstra算法是处理图问题中的最短路径的问题 最短路径问题可以大致分为两个方向 单源最短路径全局最短路径 以此为基准可以将最短路径算法这样划分: 单源最短路径 Dijkstra :不能求负权边Bellman-F…...
电流检测方法
电路检测电路常用于:高压短路保护、电机控制、DC/DC换流器、系统功耗管理、二次电池的电流管理、蓄电池管理等电流检测等场景。 对于大部分应用,都是通过感测电阻两端的压降测量电流。 一般使用电流通过时的压降为数十mV~数百mV的电阻值&…...
Linux scp命令 服务器之间通讯
目录 一. scp命令简介二. 本地服务器文件传输到远程服务器三. 本地服务器文件夹传输到远程服务器 一. scp命令简介 scp(Secure Copy Protocol)是用于在Unix或Linux系统之间安全地复制文件或目录的命令。 它使用SSH(Secure Shell)…...
C语言中的命名规则(期末版)
一、概述 命名规则是编程语言中的重要组成部分,它决定了变量、函数、常量等标符的命名方式。在C语言中,良好的命名规则可以增加代码的可读性和可维护性,提高程序的质量和开发效率。本文将详细介绍C语言中的命名规则,包括标识符的…...
远程开发之vscode端口转发
远程开发之vscode端口转发 涉及的软件forwarded port 通过端口转发,实现在本地电脑上访问远程服务器上的内网的服务。 涉及的软件 vscode、ssh forwarded port 在ports界面中的port字段,填需要转发的IP:PORT,即可转发远程服务器中的内网端…...
超简单的node爬虫小案例
同前端爬取参数一样,输入三个参数进行爬取 注意点也一样: 注意分页的字段需要在代码里面定制化修改,根据你爬取的接口,他的业务规则改代码中的字段。比如我这里总条数叫total,人家的不一定。返回的数据我这里是data.r…...
(每日持续更新)jdk api之FileFilter基础、应用、实战
博主18年的互联网软件开发经验,从一名程序员小白逐步成为了一名架构师,我想通过平台将经验分享给大家,因此博主每天会在各个大牛网站点赞量超高的博客等寻找该技术栈的资料结合自己的经验,晚上进行用心精简、整理、总结、定稿&…...
基于Matlab/Simulink开发自动驾驶的解决方案
文章目录 处理自动驾驶数据 仿真自动驾驶场景 设计感知算法 设计规划和控制算法 生成代码和部署算法 集成和测试 参考文献 使用 MATLAB/Simulink开发自动驾驶,能够深入建模真实世界的行为、减少车辆测试并验证嵌入式软件的功能,从而推进自动驾驶感…...
gitlab部署
系统版本 [rootlocalhost ~]# cat /etc/redhat-release Red Hat Enterprise Linux release 9.1 (Plow)gitlab包位置 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ee/yum/el9/gitlab-ee-16.7.2-ee.0.el9.x86_64.rpm关闭防火墙 [rootlocalhost data]# systemctl stop firew…...
JVM运行时数据区(下篇)
紧接上篇:JVM运行时数据区(上篇)-CSDN博客 堆 一般Java程序中堆内存是空间最大的一块内存区域。创建出来的对象都存在于堆上。 栈上的局部变量表中,可以存放堆上对象的引用。静态变量也可以存放堆对象的引用,通过静态…...
生成式 AI 描绘复杂科学
生成式AI可以用来描述复杂的科学问题,主要是通过以下两种方式: 数据生成:生成式AI可以通过学习大量数据来生成新的数据,包括科学实验数据。例如,可以使用生成式AI来模拟复杂的物理实验,生成模拟数据&#…...
<蓝桥杯软件赛>零基础备赛20周--第14周--BFS
报名明年4月蓝桥杯软件赛的同学们,如果你是大一零基础,目前懵懂中,不知该怎么办,可以看看本博客系列:备赛20周合集 20周的完整安排请点击:20周计划 每周发1个博客,共20周。 在QQ群上交流答疑&am…...
openEuler安装Docker艰辛路程
文章目录 安装docker测试docker关于windows docker拉取镜像查看所有镜像删除镜像删除不在运行的进程强制删除正在运行的进程 启动docker容器服务-d测试 停止docker容器服务查看docker启动进程更新容器(没有自启动功能,更新为自启动)docker端口映射进入容器修改内容退…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
