ly525 / blog

My personal blog / 个人博客(小小鲁班的技术口袋)
https://github.com/ly525/blog/issues
MIT License
46 stars 4 forks source link

【前端-架构管理】请求规范-Path #493

Closed ly525 closed 7 months ago

ly525 commented 1 year ago

从后端服务迁移,思考前端请求层规范应该如何写?

比如请求 request('https://www.baidu.com/user-center-xxx/mini-app/auth') request('https://www.baidu.com/user-center-yyy/mini-app/auth') request('https://www.baidu.com/user-center-zzz/mini-app/auth')

1. host 不用写,配置 baseURL 即可,即

✅
request.config({ baseURL: 'https://www.baidu.com'})
=> 
request.config({ baseURL: isDev ? `https://dev-www.baidu.com` : `https://www.baidu.com` })

request('/user-center-xxx/mini-app/auth')
request('/user-center-yyy/mini-app/auth')
request('/user-center-zzz/mini-app/auth')

原因:

2. 请求path 需写完整,尽量减少拼接形式的,即

✅
const url = isXXX ? `/user-center-xxx/mini-app/auth` : '/user-center-yyy/mini-app/auth'
request(url)
❎
const service = isXXX ? `/user-center-xxx/` : '/user-center-yyy/'
request(service + 'mini-app/auth')

3. 请求协议使用自适应协议即可

228

✅
request.config({ baseURL: '//www.baidu.com'})
❌
request.config({ baseURL: location.protocal  + 'www.baidu.com'})