初始化(包含登录模块)
This commit is contained in:
176
pages/API/request/request.vue
Normal file
176
pages/API/request/request.vue
Normal file
@@ -0,0 +1,176 @@
|
||||
<template>
|
||||
<view>
|
||||
<page-head :title="title"></page-head>
|
||||
<view class="uni-padding-wrap uni-common-mt">
|
||||
<view class="uni-hello-text">
|
||||
请点击按钮向服务器发起请求
|
||||
</view>
|
||||
<view class="uni-textarea uni-common-mt">
|
||||
<textarea :value="res"></textarea>
|
||||
</view>
|
||||
<view class="uni-btn-v uni-common-mt">
|
||||
<button type="primary" @click="sendRequest" :loading="loading">发起请求(Callback)</button>
|
||||
<button type="primary" @click="sendRequest('promise')" :loading="loading">发起请求(Promise)</button>
|
||||
<button type="primary" @click="sendRequest('await')" :loading="loading">发起请求(Async/Await)</button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
const requestUrl = 'https://unidemo.dcloud.net.cn/ajax/echo/text?name=uni-app'
|
||||
const duration = 2000
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
title: 'request',
|
||||
loading: false,
|
||||
res: ''
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
sendRequest(mode) {
|
||||
this.loading = true;
|
||||
switch (mode) {
|
||||
case 'promise':
|
||||
this._requestPromise();
|
||||
break;
|
||||
case 'await':
|
||||
this._requestAwait();
|
||||
break;
|
||||
default:
|
||||
this._request();
|
||||
break;
|
||||
}
|
||||
},
|
||||
_request() {
|
||||
uni.request({
|
||||
url: requestUrl,
|
||||
dataType: 'text',
|
||||
data: {
|
||||
noncestr: Date.now()
|
||||
},
|
||||
success: (res) => {
|
||||
console.log('request success', res)
|
||||
uni.showToast({
|
||||
title: '请求成功',
|
||||
icon: 'success',
|
||||
mask: true,
|
||||
duration: duration
|
||||
});
|
||||
this.res = '请求结果 : ' + JSON.stringify(res);
|
||||
},
|
||||
fail: (err) => {
|
||||
console.log('request fail', err);
|
||||
uni.showModal({
|
||||
content: err.errMsg,
|
||||
showCancel: false
|
||||
});
|
||||
},
|
||||
complete: () => {
|
||||
this.loading = false;
|
||||
}
|
||||
});
|
||||
},
|
||||
_requestPromise() {
|
||||
// #ifndef VUE3
|
||||
uni.request({
|
||||
url: requestUrl,
|
||||
dataType: 'text',
|
||||
data: {
|
||||
noncestr: Date.now()
|
||||
}
|
||||
}).then(res => {
|
||||
console.log('request success', res[1]);
|
||||
uni.showToast({
|
||||
title: '请求成功',
|
||||
icon: 'success',
|
||||
mask: true,
|
||||
duration: duration
|
||||
});
|
||||
this.res = '请求结果 : ' + JSON.stringify(res[1]);
|
||||
this.loading = false;
|
||||
}).catch(err => {
|
||||
console.log('request fail', err);
|
||||
uni.showModal({
|
||||
content: err.errMsg,
|
||||
showCancel: false
|
||||
});
|
||||
|
||||
this.loading = false;
|
||||
});
|
||||
// #endif
|
||||
|
||||
// #ifdef VUE3
|
||||
uni.request({
|
||||
url: requestUrl,
|
||||
dataType: 'text',
|
||||
data: {
|
||||
noncestr: Date.now()
|
||||
}
|
||||
}).then(res => {
|
||||
console.log('request success', res);
|
||||
uni.showToast({
|
||||
title: '请求成功',
|
||||
icon: 'success',
|
||||
mask: true,
|
||||
duration: duration
|
||||
});
|
||||
this.res = '请求结果 : ' + JSON.stringify(res);
|
||||
|
||||
this.loading = false;
|
||||
}).catch(err => {
|
||||
console.log('request fail', err);
|
||||
uni.showModal({
|
||||
content: err.errMsg,
|
||||
showCancel: false
|
||||
});
|
||||
|
||||
this.loading = false;
|
||||
});
|
||||
// #endif
|
||||
},
|
||||
async _requestAwait() {
|
||||
let res, err
|
||||
// #ifndef VUE3
|
||||
[err, res] = await uni.request({
|
||||
url: requestUrl,
|
||||
dataType: 'text',
|
||||
data: {
|
||||
noncestr: Date.now()
|
||||
}
|
||||
});
|
||||
// #endif
|
||||
// #ifdef VUE3
|
||||
try {
|
||||
res = await uni.request({
|
||||
url: requestUrl,
|
||||
dataType: 'text',
|
||||
data: {
|
||||
noncestr: Date.now()
|
||||
}
|
||||
});
|
||||
} catch(e){
|
||||
err=e
|
||||
}
|
||||
// #endif
|
||||
if (err) {
|
||||
console.log('request fail', err);
|
||||
uni.showModal({
|
||||
content: err.errMsg,
|
||||
showCancel: false
|
||||
});
|
||||
} else {
|
||||
console.log('request success', res)
|
||||
uni.showToast({
|
||||
title: '请求成功',
|
||||
icon: 'success',
|
||||
mask: true,
|
||||
duration: duration
|
||||
});
|
||||
this.res = '请求结果 : ' + JSON.stringify(res);
|
||||
}
|
||||
this.loading = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
Reference in New Issue
Block a user