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

目录

接下来分析接口方面:

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
        }
    })
})

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


相关推荐
风尚云网11 分钟前
风尚云网前端学习:一个简易前端新手友好的HTML5页面布局与样式设计
前端·css·学习·html·html5·风尚云网
木子020413 分钟前
前端VUE项目启动方式
前端·javascript·vue.js
GISer_Jing15 分钟前
React核心功能详解(一)
前端·react.js·前端框架
捂月18 分钟前
Spring Boot 深度解析:快速构建高效、现代化的 Web 应用程序
前端·spring boot·后端
深度混淆26 分钟前
实用功能,觊觎(Edge)浏览器的内置截(长)图功能
前端·edge
Smartdaili China27 分钟前
如何在 Microsoft Edge 中设置代理: 快速而简单的方法
前端·爬虫·安全·microsoft·edge·社交·动态住宅代理
秦老师Q27 分钟前
「Chromeg谷歌浏览器/Edge浏览器」篡改猴Tempermongkey插件的安装与使用
前端·chrome·edge
滴水可藏海29 分钟前
Chrome离线安装包下载
前端·chrome
m512739 分钟前
LinuxC语言
java·服务器·前端
Myli_ing2 小时前
HTML的自动定义倒计时,这个配色存一下
前端·javascript·html