uniapp的request.js请求封装

末蓝、 2022-12-28 04:25 398阅读 0赞

request.js

  1. const baseUrl = getApp().globalData.baseURL
  2. import utils from './utils.js'
  3. export const request = (options) => {
  4. // const token = uni.getStorageSync('token');
  5. const token ='你的token'
  6. const { method, url, data,baseUrl, timeout = 30000, header = { } } = options
  7. let params = data
  8. let contentType = 'application/json'
  9. if (token) {
  10. header['Authorization'] = token
  11. }
  12. header['content-type'] = contentType
  13. uni.showLoading({
  14. title: '加载中',
  15. })
  16. return new Promise((resolve, reject) => {
  17. uni.request({
  18. header: header,
  19. method: method,
  20. timeout: timeout,
  21. url: baseUrl + url,
  22. data: data,
  23. success: (response) => {
  24. const res = response.data
  25. console.log(baseUrl + url, params, res)
  26. const { status, data, message } = res
  27. if (url === '/user/user/login') {
  28. uni.setStorageSync('token', data.token)
  29. } else {
  30. // if (status === 403) {
  31. // setTimeout(() => {
  32. // utils.navTo({
  33. // url: '/pages/login/login',
  34. // type: 'reLaunch'
  35. // })
  36. // }, 2000)
  37. // }
  38. }
  39. if (status === 500) {
  40. uni.showToast({
  41. title: message,
  42. duration: 2000,
  43. icon: 'none',
  44. })
  45. return
  46. }
  47. resolve(res)
  48. },
  49. fail: (err) => {
  50. reject(err)
  51. console.log(err)
  52. },
  53. complete: () => {
  54. uni.hideLoading()
  55. uni.stopPullDownRefresh()
  56. },
  57. })
  58. })
  59. }

APP.vue

  1. <script>
  2. export default {
  3. onLaunch: function() {
  4. console.log('App Launch');
  5. },
  6. onShow: function() {
  7. console.log('App Show');
  8. },
  9. onHide: function() {
  10. console.log('App Hide');
  11. },
  12. globalData: {
  13. baseURL: 'http://tyapi.sctysp.com:9401',//基本路径
  14. loginUser: { },//用户信息
  15. },
  16. };
  17. </script>
  18. <style lang="scss">
  19. /* #ifdef MP-TOUTIAO */
  20. @font-face {
  21. font-family: uniicons;
  22. src: url('/static/uni.ttf');
  23. }
  24. /* #endif */
  25. </style>

api / index.js

封装get,post,delete请求

  1. import { request} from '../utils/request.js'
  2. export function getAction(url, params, config) {
  3. return request({
  4. url: url,
  5. method: 'GET',
  6. data: params,
  7. header: config
  8. })
  9. }
  10. export function postAction(url, params,config,baseUrl) {
  11. return request({
  12. url: url,
  13. method: 'POST',
  14. data: params,
  15. header: config,
  16. baseUrl
  17. })
  18. }
  19. export function deleteAction(url, params) {
  20. return request({
  21. url: url + '/' + params,
  22. method: 'DELETE'
  23. })
  24. }
  25. import {
  26. postAction
  27. } from './manage.js'
  28. //主题列表
  29. const marketingList = (params) => postAction('/marketing/marketing/list', params,'代理的url')
  30. export {
  31. marketingList
  32. }

发表评论

表情:
评论列表 (有 0 条评论,398人围观)

还没有评论,来说两句吧...

相关阅读