分析一个项目(微信小程序篇)三

目录

接下来分析接口方面:

home接口:

categories接口:

details接口:

login接口:


分析一个项目讲究的是如何进行对项目的解析分解,进一步了解项目的整体结构,熟悉项目的结构,能够知道每个组件所处在哪个位置,发挥什么作用。

接下来分析接口方面:

首先对于基础接口定义为本地接口:$http.baseUrl='http://localhost:3000'

home接口:

javascript 复制代码
 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如下:

javascript 复制代码
// 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如下:

javascript 复制代码
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接口:

javascript 复制代码
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接口:

javascript 复制代码
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
        }
    })
})

登录成功后,将数据渲染到页面:


相关推荐
晚霞的不甘4 分钟前
揭秘 CANN 内存管理:如何让大模型在小设备上“轻装上阵”?
前端·数据库·经验分享·flutter·3d
小迷糊的学习记录13 分钟前
0.1 + 0.2 不等于 0.3
前端·javascript·面试
梦帮科技1 小时前
Node.js配置生成器CLI工具开发实战
前端·人工智能·windows·前端框架·node.js·json
VT.馒头1 小时前
【力扣】2695. 包装数组
前端·javascript·算法·leetcode·职场和发展·typescript
css趣多多2 小时前
一个UI内置组件el-scrollbar
前端·javascript·vue.js
C澒2 小时前
前端整洁架构(Clean Architecture)实战解析:从理论到 Todo 项目落地
前端·架构·系统架构·前端框架
C澒2 小时前
Remesh 框架详解:基于 CQRS 的前端领域驱动设计方案
前端·架构·前端框架·状态模式
Charlie_lll2 小时前
学习Three.js–雪花
前端·three.js
onebyte8bits2 小时前
前端国际化(i18n)体系设计与工程化落地
前端·国际化·i18n·工程化
C澒2 小时前
前端分层架构实战:DDD 与 Clean Architecture 在大型业务系统中的落地路径与项目实践
前端·架构·系统架构·前端框架