TA的每日心情 | 奋斗 2020-9-2 15:06 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
第一步:
; i) R5 z& C. o, J+ N8 J1 I( z
: e! G9 h: {* ~7 y) x首先引入axios3 I3 l# r F. j3 X s1 S9 k, ]
! J q4 N1 i/ u5 g. F2 c
然后创建两个文件夹api和http; y6 v/ d1 S8 A( Z5 P
, |. C5 n8 J4 h& c
http.js 里面的& a/ l3 ^) T, u- k0 R" D' J
1 F9 H$ O: R( y; S
复制代码% b, E/ e% V6 m6 B
1 import axios from ‘axios’;//引入axios1 e. E8 S, }: V* d$ m4 K) O9 A; x
2
& a R7 B- h" P* ?" A" r3 //环境的切换 开发环境(development)使用的是测试接口 和 生产环境(production)使用的是上线接口
9 U) M5 K9 R( O4 if(process.env.NODE_ENV==‘development’){; N- u# P! R0 S# o& g, S
5 //设置默认路径
: A- \$ f' {9 d$ d. E, c6 axios.defaults.baseURL=‘http://120.53.31.103:84/’
/ d+ r3 u2 y3 z: l+ [' a7 }4 e5 C# R/ ^* G$ s
8 if(process.env.NODE_ENV==‘production’){$ s; i9 c" w8 V1 j
9 axios.defaults.baseURL=‘https://wap.365msmk.com/’$ o4 c. ^6 s* k5 x c8 w( W
10 }
1 w; L h# L4 u. R+ X11 axios.defaults.timeout=5000;//加载不出来5秒之后就是加载失败* f9 X% W" P0 A3 X' ~8 H+ Y2 t K
12 axios.interceptors.request.use(
' r: B. r; f/ V, U! c/ j) C13 config=>{. _6 Y0 ^5 U. z5 w& A
14 config.headers={DeviceType:‘H5’}//可每次发送请求之前的逻辑处理 比如判断token& f2 u6 J- }$ `6 ?" A
15 return config;2 |: |% z+ T- n7 d1 `
16 }' P( e. }( l& K- Q8 a, ~) g
17 )0 b% h8 F, v7 C" m; ^# |# T
18 // axios.interceptors.response.use(
, v& o" ?8 q% K! P19 // response=>{
* M5 `9 }: \$ C# u0 q3 Z: e20 // return response;
2 |( u% B6 W9 Q) E/ T21 // },% p# R6 I t+ J' s
22 // error=>{, {1 u( }; a9 B4 o# C4 E' z
23 // if(error.response.status){
8 V# |1 B; ~7 p3 `( h1 H24
V d/ o: Y6 Q& M) T; q8 }25 // }$ s2 ?, z$ s2 W( B# Q( D
26 // }
, y: I9 n' ^. h27 // )
3 T( }& p1 l) I- o7 \! W% E282 N2 Y& X0 J, H! p' _" ~% x
29 // 使用promise返回axios请求的结果3 \4 q0 ^* M& S8 l7 i! B
30 export function get(url, params) {' ?) I$ u: p1 E
31 return new Promise((resolve, reject) => {) R/ g' T0 M$ v2 v+ c
32 axios.get(url, {. ]" {! z" A+ c* X5 E/ o
33 params:params
6 t" t" G6 m4 ?$ V l( P3 V34 }).then(res => {
7 B% J1 ]9 Y+ [' ?- G& O& n35 resolve(res)
, t6 Y4 G+ V; g. k$ N9 `9 S1 Z36 }).catch(err => {2 A5 W: g5 j, X* h
37 reject(err)3 R2 c% U5 ^3 t. k- s
38 })1 D5 c& i# j+ \$ p" T2 {2 a
39 })+ J$ `4 F* v; r
40 }; \! v* q1 g$ B+ D& C3 L
415 l4 }0 A) N3 e
42 export function post(url,params){
7 {, _# v0 U$ U( s2 d* P# W5 ?3 z/ j43 return new Promise((resolve,reject)=>{
6 {8 r0 \# [) {) d3 r( |$ G44 axios.post(url,params).then(res=>{
' N) u- e, P L) _7 h* g45 resolve(res.data)
5 o& ~, Q9 i: U; O46 }).catch(err=>{
1 x2 d3 u0 L7 x$ _47 reject(err.data)" C6 j; G3 ]+ p, n# @# U
48 })
. ^/ e; `" f( A+ {5 T# T0 m& H490 f: b5 I. ?2 F3 o
50 })
( f3 f3 X5 C% F/ _. O% e( ^+ b51 }% f3 ~# c4 X+ g# K
复制代码
& L+ g# ]9 a0 h4 O- Kapi.js里面的6 a/ m9 ?4 Z8 M6 L% V
' O' d4 V# T% r5 ^6 p" q复制代码. x% K8 Y) X" |+ u2 l5 D5 r& h7 v8 f
import { get, post } from “…/http/http” //引入封装好的get和post方法 B8 o- I9 Q- J$ S6 Z0 T
// 封装请求的方式
, F5 Q& x: J+ m- l* W! g, h: k# u0 @export function getBanners() {//轮播
* g G u$ i7 ^( u1 X: X" D; g+ breturn get(‘api/app/banner’)# H( d* q+ D% N/ j/ G( [
}* @7 q- I5 g8 D v. {, h
( {& X( x9 |" Y. R) qexport function getIndex(){//首页数据/ l3 e9 r* f5 M4 N: ?
return get(‘api/app/recommend/appIndex’)" w% O& r3 x& M/ A! W( e& v4 A$ u
}
V: D e, W8 u$ u复制代码" y" [4 f5 K! q1 N U- q9 a
然后在vue里面的文件应用( n( W' f/ e. E+ j6 g7 `3 v8 y2 O9 S
/ C5 y* ~2 B5 S3 [' e% S
复制代码, }) H d; t1 @ S0 x1 S6 ?1 Q
import { getBanners, getIndex } from “…/api/api”;//引入api里面定义的方法
' ^# j: H+ P; i, f5 c( @: I. ]" g, Q5 t/ z# @: X
async mounted() {! G$ R: Z& N1 L" M/ V4 g F/ |
var swiperr = await getBanners();3 U. O# A, M. X) w) v7 I$ {' i
console.log(swiperr.data.data);
! I( @7 |& K0 k5 Q/ Z6 gthis.swipers = swiperr.data.data; //轮播图渲染
$ E7 |1 D6 p1 U8 c- q) y9 [/ d
& v2 w: r" i5 ^8 m. V% s0 xvar strr = await getIndex();: A" r ?6 S3 |0 w/ P) g3 c& Z
console.log(strr); //明星讲师渲染
; @8 p* f0 ]" O" z4 ?& V3 athis.strs = strr.data.data;
1 f$ f. N/ `$ R+ D, r8 Bconsole.log(this.strs);6 W3 S" O' R; r/ r7 G
1
% \, {/ ]6 e+ u2 f4 k) y2
5 ?, k+ v7 _1 p1 z1 e) {3
- x \+ s: N5 ^% f7 E9 t4% [2 U% F7 I( i1 E) G- B
}& }% A# |1 C# x' x& g4 B2 W
) q' J6 M, F; t7 v |
|