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

目录

接下来分析接口方面:

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

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


相关推荐
尚梦33 分钟前
uni-app 封装刘海状态栏(适用小程序, h5, 头条小程序)
前端·小程序·uni-app
GIS程序媛—椰子1 小时前
【Vue 全家桶】6、vue-router 路由(更新中)
前端·vue.js
前端青山1 小时前
Node.js-增强 API 安全性和性能优化
开发语言·前端·javascript·性能优化·前端框架·node.js
毕业设计制作和分享2 小时前
ssm《数据库系统原理》课程平台的设计与实现+vue
前端·数据库·vue.js·oracle·mybatis
小飞哥liac3 小时前
微信小程序的组件
微信小程序
清灵xmf4 小时前
在 Vue 中实现与优化轮询技术
前端·javascript·vue·轮询
大佩梨4 小时前
VUE+Vite之环境文件配置及使用环境变量
前端
GDAL4 小时前
npm入门教程1:npm简介
前端·npm·node.js
小白白一枚1115 小时前
css实现div被图片撑开
前端·css
stormjun5 小时前
Java基于微信小程序的私家车位共享系统(附源码,文档)
java·微信小程序·共享停车位·私家车共享停车位小程序·停车位共享