商城后台管理系统 07 商品列表-分页实现

生命周期函数
复制代码
created() {
	this.$api.getGoodsList({
		page: 1
	})
	.then(res => {
		console.log(res.data);
	})
}
vue.config.js 解决跨域问题
复制代码
// 配置参数
/**
 * devServer.proxy
 * 如果你的前端和后端 API 服务器没有运行在同一个主机上,你需要在开发环境下降 API 请求* 做跨域处理
 */
module.exports = {
	devServer: {
		proxy: {
			'/api': {
				target: 'http://localhost:8989',
				ws: true,
				changeOrigin: true,
				pathRewrite: { // 重写路径
					'^/api': ''
				}
			}
		}
	}
}
src/api/index.js 所有方法的配置
复制代码
/**
 * 所有请求的方法
 */

import axios from "axios";
import base from "./base";
const api = {
	/**
	 * 商品列表
	 */
	getGoodsList(params) { // {page:xx}
		return axios.get(base.goodsList, {
			params
		});
	}
}

export default api;

src/api/base.js 所有路径的配置

复制代码
/**
 * 接口的路径配置:
 * 一般文件目录: base.js index.js
 * 	base.js : 放所有路径的配置
 *  index.js: 放所有请求的方法
 */

const base = {
	goodsList: '/api/api/projectList', // 商品列表
}

export default base;

查询的接口(后端代码)

复制代码
router.get('/search', (req, res) => {
	var search = req.query.search;
	const sql = "select * from project where concat(`title`,`sellPoint`,`descs`) like '%' " + search
	sqlFn(sql, null, (result) => {
		if (result.length > 0) {
			res.send({
				status: 200,
				data: result
			})
		} else {
			res.send({
				status: 500,
				msg: '暂无数据'
			})
		}
	})
})

商品列表接口(后端代码)

复制代码
router.get('/projectList', (req,res) =>{
	const page = req.query.page || 1;
	const sqlLen = "select * from project where id";
	sqlFn(sqlLen, null,data => {
		let len = data.length;
		const sql = "select * from project order by id desc limit 8 offset" + (page-1) * 8;
		sqlFn(sql, null, result => {
			if (result.length > 0) {
				res.send({
					status: 200,
					data: result,
					pageSize: 8,
					total: len
				})
			} else {
				res.send({
					status: 200,
					msg: "暂无数据"
				})
			}
		})
	})
})

server/mysql.js

server/index.js
相关推荐
码上成长19 小时前
JavaScript 数组合并性能优化:扩展运算符 vs concat vs 循环 push
开发语言·javascript·ecmascript
老陈聊架构19 小时前
『AI辅助Skill』掌握三大AI设计Skill:前端独立完成产品设计全流程
前端·人工智能·claude·skill
油丶酸萝卜别吃19 小时前
Mapbox GL JS 表达式 (expression) 条件样式设置 完全指南
开发语言·javascript·ecmascript
Ulyanov20 小时前
从桌面到云端:构建Web三维战场指挥系统
开发语言·前端·python·tkinter·pyvista·gui开发
cypking20 小时前
二、前端Java后端对比指南
java·开发语言·前端
摘星编程20 小时前
用React Native开发OpenHarmony应用:timing定时动画参数
javascript·react native·react.js
糠帅傅蓝烧牛肉面20 小时前
单实例多MCP聚合服务:两种实现方案深度对比
前端·docker·ai
JosieBook20 小时前
【Vue】12 Vue技术—— Vue 事件修饰符详解:掌握事件处理的高级技巧
前端·javascript·vue.js
摘星编程20 小时前
在OpenHarmony上用React Native实现AnimatedValue补间动画
javascript·react native·react.js
摘星编程21 小时前
React Native鸿蒙版:AnimatedXY双轴动画完整代码
javascript·react native·react.js