首頁 > web前端 > uni-app > 主體

uniapp如何實現網路請求封裝

coldplay.xixi
發布: 2020-12-21 17:25:19
原創
9769 人瀏覽過

uniapp實作網路請求封裝的方法:先實作初始請求;然後新建【request.js】文件,程式碼為【return new Promise((resolved, rejected) => {uni.request..】 ;最後進行最佳化即可。

uniapp如何實現網路請求封裝

本教學操作環境:windows7系統、uni-app2.5.1版本,此方法適用於所有品牌電腦。

推薦(免費):uni-app開發教學

#uniapp實作網頁請求封裝的方法:

一、uniapp初始請求使用方式如下:

uni.request({
    url: 'https://www.example.com/request', //仅为示例,并非真实接口地址。
    data: {
        text: 'uni.request'
    },
    header: {
        'custom-header': 'hello' //自定义请求头信息
    },
    success: (res) => {
        console.log(res.data);
     }.fail = (err) => {
     console.log(err);
  }
});
登入後複製

二、我們先透過Promise進行一次簡單封裝,新建request.js檔案:

#
//options参数我们后面会说
function service(options = {}) {
return new Promise((resolved, rejected) => {
uni.request({
   url: options.url, //仅为示例,并非真实接口地址。
   data: options.data,
   header: {
       'content-type': 'application/x-www-form-urlencoded',
       'accessToken': `${token}` //权限token 
   },
   success: (res) => {
      rejected(res.data);
   }.fail = (err) => {
   rejected(err)
 }
});
}
}
export default service;
登入後複製

三、最後我們在上一步基礎上再一次優化。

//把配置项单独处理
import store from '/store/index.js'; //vuex  
let server_url=' ';//请求地址
let token = ' ';  凭证
process.env.NODE_ENV === 'development' ? '192.168.0.1' : 'http://***/api' ; //环境配置
function service(options = {}) {
       store.state.token && (token = store.state.token); //从vuex中获取登录凭证
       options.url = `${server_url}${options.url}`;
          //配置请求头
        options.header = {
        'content-type': 'application/x-www-form-urlencoded',
        'accessToken': `${token}` //Bearer 
    };
    return new Promise((resolved, rejected) => {
                //成功
        options.success = (res) => {
              
            if (Number(res.data.code) == 0) {  //请求成功
                resolved(res.data.data);
            } else {
                uni.showToast({
                    icon: 'none',   
                    duration: 3000,
                    title: `${res.data.msg}`
                });
                rejected(res.data.msg);//错误
            }
        }
              //错误
        options.fail = (err) => {
            rejected(err); //错误
        }
        uni.request(options);
    });
}
export default service;
登入後複製

四、現在我們在頁面中使用。

1、新pages頁面。

目錄如下

┌─common

│ ├─request.js //請求

┌─ pages

│ ├─index

#│ │ └─api.js //api列表

│ │ └─index.vue //頁面檔案

#│ │ └─index.vue //頁面檔案

├─static

├─store

#│ ├─index.js //vuex

├─main.js

├─App.vue

├─manifest.json

└─pages.json

2、設定api列表。api.js //api列表

import request from '/common/request.js'
export function login(data) {
  return request({
    url: '/user/login',
    method: 'POST',
    data
  })
}
登入後複製
## #3、頁面中使用###
import { login} from './api.js';  //引入需要的api
//发起请求
onLoad() {
login('parameter').then(data => {
   console.log(data);
});
}...
登入後複製

以上是uniapp如何實現網路請求封裝的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板