Vue移动端项目数据

本文介绍了Vue开发者如何通过设置代理解决跨域问题,以获取远程API数据进行项目练习。在`vue.config.js`中配置代理,并在`api/home.js`中定义请求方法,然后在组件中导入并使用这些方法,从而实现数据的获取。通过这个过程,前端学习者可以更好地理解和应用Vue项目中的数据交互。
摘要由CSDN通过智能技术生成

一.写在开头

身为一名前端的学习者,我们需要不断地进行练习,来加深自己对Vue知识点的理解。当然Vue项目就必不可少。有些人可能想练习一些项目,比如小米官网,茶七网等项目。却不知道如何获取数据来进行练习。接下来我就分享一下步骤,仅供学习参考。

二.写在中间

  1. 第一步设置代理。在vue.config.js里面设置代理。特别需要注意设置完需要重启服务器,不然会报错。“/getHostRecomendList”是标识符,这个必须是唯一的,需要找一个特殊的词作为标识符。在这里插入图片描述
    在这里插入图片描述
const {
	defineConfig
} = require('@vue/cli-service')
module.exports = defineConfig({
	transpileDependencies: true,
	// 本地服务器配置
	devServer: {
		// 代理
		proxy: {
			"/getHotsRecommendList": {
				// 代理目标地址
				target: "https://api.juooo.com",
				// 改变源
				changeOrigin: true,
				onProxyReq(req) {
					req.setHeader("referer", "https://api.juooo.com")
				}
			},
			"/getTheatreList": {
				// 代理目标地址
				target: "https://api.juooo.com",
				// 改变源
				changeOrigin: true,
				onProxyReq(req) {
					req.setHeader("referer", "https://api.juooo.com")
				}
			},
			"/getVipHomeSchedular": {
				// 代理目标地址
				target: "https://api.juooo.com",
				// 改变源
				changeOrigin: true,
				onProxyReq(req) {
					req.setHeader("referer", "https://api.juooo.com")
				}
			},
			"/getList": {
				// 代理目标地址
				target: "https://api.juooo.com",
				// 改变源
				changeOrigin: true,
				onProxyReq(req) {
					req.setHeader("referer", "https://api.juooo.com")
				}
			},
			"/getShowList": {
				// 代理目标地址
				target: "https://api.juooo.com",
				// 改变源
				changeOrigin: true,
				onProxyReq(req) {
					req.setHeader("referer", "https://api.juooo.com")
				}
			},
			"/getClassifyHome": {
				target: "https://api.juooo.com",
				// 改变源
				changeOrigin: true,
				onProxyReq(req) {
					req.setHeader("referer", "https://api.juooo.com")
				}
			}
		}
	}
})

  1. 在/api/home.js里面进行配置,配置的内容需要进行区分。尤其注意方法是post还是get,后面的网址填除了.com之后的内容。你可以进到项目的官网查看网络下方的标头,里面有请求的网址以及方法

在这里插入图片描述

// 导入二次封装好的请求工具
import request from '@/utils/request.js'
import {
	stringify
} from '@/utils/utils.js'

// 导出并创建获取首页信息的方法

export function GetHomePage(data) {
	// 导出request.post 请求的结果(promise的实例)
	// 数据转换为url编码的形式
	return request.post("/v1/home/page", stringify(data), {
		headers: {
			// 添加url编码的请求头
			"Content-Type": "application/x-www-form-urlencoded"
		}
	});
}
export function GetHotsRecommendList() {
	return request.get("/home/index/getHotsRecommendList?city_id=0&version=6.1.81&referer=2")
}
export function GetClassifyHome() {
	return request.get("/home/index/getClassifyHome?city_id=0&abbreviation=&version=6.1.81&referer=2")
}
  1. 在需要的页面导入即可

在这里插入图片描述

<script>
	import GalleryCom from '@/components/GalleryCom.vue'
	import ClassifyList from '@/components/ClassListCom.vue'
	import GetVipHome from '@/components/GetVipHome.vue'
	import GetListCom from '@/components/GetListCom.vue'
	import GetShowListCom from '@/components/GetShowListCom.vue'
	import {
		// GetHotsRecommendList,
		GetClassifyHome,
		GetVipHomeSchedular,
		GetList,
		GetShowList
	} from '@/api/home.js'
	export default {
		components: {
			ClassifyList,
			GalleryCom,
			GetVipHome,
			GetListCom,
			GetShowListCom
		},
		data() {
			return {
				classify_list: [],
				slide_list: [],
				discountList: [],
				list: [],
				lists: []
			}
		},
		created() {
			// GetHotsRecommendList()
			// 	.then(res => {
			// 		// console.log("GetHotsRecommendList", res.data);
			// 		// this.classify_list = res.data.data.classify_list;
			// 	}),
			GetClassifyHome()
				.then(res => {
					// console.log("GetClassifyHome", res.data);
					this.classify_list = res.data.data.classify_list;
					this.slide_list = res.data.data.slide_list;
				}),
				GetVipHomeSchedular()
				.then(res => {
					// console.log("GetVipHomeSchedular", res.data);
					this.discountList = res.data.data.discountList;
				}),
				GetList().then(res => {
					// console.log("GetList", res.data);
					this.list = res.data.data.list;
				}),
				GetShowList().then(res => {
					console.log("GetShowList", res.data);
					this.lists = res.data.data.list;
				})
		}
	}
</script>

三.写在最后

学习是一件循序渐进的事,我们的付出终会有收获。

Vue 移动端项目源码通常包括以下几个方面的内容: 1. **Vue 项目结构**:Vue 项目通常采用一定的结构,包括src目录下的assets、components、router、views、utils等文件夹。其中assets存放静态资源,components存放业务组件,router存放路由配置,views存放页面组件,utils存放工具类等。 2. **移动端适配**:移动端项目通常需要针对不同屏幕尺寸进行适配,可以使用rem、vw/vh单位,或采用第三方库如flexible.js、postcss-pxtorem等进行适配。 3. **移动端交互**:移动端项目通常会涉及到一些与用户交互相关的功能,比如手势操作、滑动、拖拽等,这些交互需要通过合适的组件或库来实现,比如使用vue-touch、better-scroll等。 4. **网络请求**:移动端项目通常需要与后端进行数据交互,可以使用axios、fetch等库进行网络请求,同时需要处理接口的异常情况、数据的格式化等。 5. **优化与打包**:移动端项目需要考虑性能优化,比如减少http请求、减小资源体积、使用懒加载、代码分割等。另外,还需要对项目进行打包,生成适合移动端环境的代码包。 6. **页面跳转与状态管理**:移动端项目中页面之间的跳转通常通过路由进行管理,同时还需要对页面状态进行管理,可以使用vuex等状态管理工具来实现。 综上所述,Vue 移动端项目源码包括了项目的结构、移动端适配、交互、网络请求、优化与打包、页面跳转与状态管理等方面的内容。同时,针对具体的项目需求,源码中可能还会涉及到其他方面的内容,比如权限控制、国际化等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值