uni-app教程四(uni

//弹框提示

uni.showToast({

title: res.data.msg,

mask: false,

duration: 1500

});

} else if (res.data.code == “0”) {

var data = res.data.data;

_self.onlineNum = data.onlineNum;

_self.machineNum = data.machineNum;

}else {

console.log(“未处理的结果码”);

}

},

fail: (e) => {

console.log(“getMachineNum fail:” + JSON.stringify(e));

},

complete: () => {}

});

},

返回结果:

{

“data”: {

“code”: “0”,

“msg”: “success”,

“data”: {

“machineNum”: 124,

“onlineNum”: 1,

}

},

“header”: {

“Server”: “nginx/1.14.0”,

“Date”: “Thu, 11 Apr 2019 03:08:20 GMT”,

“Content-Type”: “application/json;charset=utf-8;”,

“Transfer-Encoding”: “chunked”,

“Connection”: “keep-alive”,

“X-Powered-By”: “PHP/7.1.16”

},

“statusCode”: 200,

“cookies”: [],

“errMsg”: “request:ok”

}

3.uniapp封装网络请求


1. 我们先通过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’,

‘token’: ${token} //权限token

},

success: (res) => {

rejected(res.data);

}.fail = (err) => {

rejected(err)

}

});

}

}

export default service;

2. 在common目录下新建config.js

放置我们的多环境变量,方便后期切换环境

export default {

// api请求前缀

// webUrl : 开发环境前缀,

webUrl:‘https://ceshi2.dishait.cn/api/v1’,

//testUrl : 测试环境前缀

testUrl:‘https://ceshi3.dishait.cn/api/v1’,

//proUrl : 生产环境前缀

proUrl:‘https://ceshi.dishait.cn/api/v1’,

// websocket地址

websocketUrl:“wss://ceshi2.dishait.cn/wss”,

}

现在目录如下:

┌─common

│ ├─config.js //请求

│ ├─request.js //请求

┌─pages

│ ├─index

│ │ └─index.vue //页面文件

├─static

├─store

│ ├─index.js //vuex

├─main.js

├─App.vue

├─manifest.json

└─pages.json

3. 接下来我们对requst.js进行一次优化。

//把配置项单独处理

import $C from ‘@/common/config.js’; // 引入baseUrl

import $store from ‘@/store/index.js’;//vuex

export default {

//定义默认请求参数

common:{

method: ‘GET’,

header:{

“content-type”:“application/json”

},

data:{}

},

request(options = {}){

options.url = $C.webUrl + options.url

options.method = options.method || this.common.method

options.header = options.header || this.common.header

// 验证权限token

if(options.token){

options.header.token = $store.state.token

if(!options.header.token){

return uni.showToast({

title: ‘非法token,请重新登录’,

icon: ‘none’

});

}

}

return new Promise((res,rej)=>{

uni.request({

…options,

success: (result) => {

// 返回原始数据

// console.log(result);

if(options.native){

return res(result)

}

// 请求服务端失败

if (result.statusCode !== 200 && !options.notoast) {

uni.showToast({

title:result.data.msg || ‘请求失败’,

icon: ‘none’

});

return rej(result.data)

}

// 成功

res(result.data.data)

},

fail:(error)=>{

uni.showToast({

title: error.errMsg || ‘请求失败’,

icon: ‘none’

});

return rej()

}

});

})

},

// 单独封装 get 方式请求

get(url,data = {},options = {}){

options.url = url

options.data = data

options.method = ‘GET’

return this.request(options)

},

// 单独封装 post 方式请求

post(url,data = {},options = {}){

options.url = url

options.data = data

options.method = ‘POST’

return this.request(options)

},

// 单独封装 文件上传 方式请求 ,不需要则可以暂时不封装

upload(url,options = {}){

options.url = $C.webUrl + url

options.header = options.header || {}

// 验证权限token

if(options.token){

options.header.token = $store.state.token

if(!options.header.token){

return uni.showToast({

title: ‘非法token,请重新登录’,

icon: ‘none’

});

}

}

return new Promise((res,rej)=>{

uni.uploadFile({

…options,

success: (uploadFileRes) => {

if(uploadFileRes.statusCode !== 200){

return uni.showToast({

title: ‘上传图片失败’,

icon: ‘none’

});

}

let data = JSON.parse(uploadFileRes.data)

res(data)

},

fail:(err)=>{

rej(err)

}

});

})

}

}

4. 在main.js总,导入request.js ,并挂载到Vue原型上。

// 引入请求库

import $H from ‘./common/request.js’;

Vue.prototype.$H = $H

  1. 组件使用,login.vue

账号密码登录

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
己摸索成长,自己不成体系的自学效果低效漫长且无助。**

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-5p4SXGZh-1715626099239)]

[外链图片转存中…(img-PAXnkhWU-1715626099240)]

[外链图片转存中…(img-6cfLjytZ-1715626099240)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 17
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
uni-app教程是一种针对uni-app开发框架的学习材料,可以帮助开发者了解uni-app的使用方法和技巧。针对uni-app教程的下载,有以下几种方式: 1.官方网站下载:uni-app官方网站提供了丰富的教程资源,可以直接在官网上进行下载。打开官网,点击教程或者学习资源相关链接,即可找到相应的教程下载链接。 2.开发者社区下载:uni-app有一个活跃的开发者社区,开发者们在社区中分享了大量的教程资源,可以在社区中搜索相关教程并进行下载。一般来说,社区中会有置顶帖子或者教程专区,其中包含了教程资源的下载链接。 3.第三方网站下载:除了官方渠道和开发者社区,还有一些第三方网站也提供了uni-app教程的下载。可以通过搜索引擎输入相关关键词,找到这些网站并进行下载。 无论是从哪个渠道下载uni-app教程,我们需要注意以下几点: 1.下载对应版本:uni-app不断更新迭代,因此需要下载适用于自己所使用的uni-app版本的教程。避免因版本不一致导致无法正常学习和使用。 2.选择全面详细的教程教程内容的质量和详细程度直接影响学习效果。因此,在下载之前,可以查看一下教程的目录和简介,选择内容丰富、全面详细的教程。 总的来说,uni-app教程下载可以通过官方网站、开发者社区以及第三方网站来获取。在下载时要注意选择适用于自己使用的uni-app版本和内容丰富详细的教程,以便更好地学习和使用uni-app开发框架。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值