二次パッケージweexのstreamモジュール
ウェブリクエスト
Weexネットワーク要求は、その内蔵モジュールStreamを使用する.
Stream API
fetch(options、calback)は、ネットワーク要求を開始します.
注意点:
1.bodyパラメータはstringタイプのパラメータのみをサポートしています.JSONを直接伝えないでください.まず文字列に変換してください.2.bodyパラメータはGet要求をサポートしていません.Get要求を使うなら、urlで参をアップロードする必要があります.
自分のStreamモジュールをカプセル化します.
request.jsコードとしてカプセル化:
const stream=weex.require Module;const modal=weex.require Module(「modal」);const request Method=[post],[get]const request={}
request Method.forEach=>request[method]=(url=",params=",config={}=>
module.export=request;
パッケージ後のstreamモジュールを使う
let request=require(「./request.js」)request.post('http://localhost:9090/wap/open/indexHome'
Express受信要求
let express=require('express')let bodyParser=require('body-parser')let app=module.export=express()
app.use(bodyPartser.urlencoded);
app.post('/wap/open/indexHome',function(req,res){
let{userName,age}=req.body;res.json
}
app.listen(9090、function(){consolist.logn(''9090');
Weexネットワーク要求は、その内蔵モジュールStreamを使用する.
Stream API
fetch(options、calback)は、ネットワーク要求を開始します.
注意点:
1.bodyパラメータはstringタイプのパラメータのみをサポートしています.JSONを直接伝えないでください.まず文字列に変換してください.2.bodyパラメータはGet要求をサポートしていません.Get要求を使うなら、urlで参をアップロードする必要があります.
自分のStreamモジュールをカプセル化します.
request.jsコードとしてカプセル化:
const stream=weex.require Module;const modal=weex.require Module(「modal」);const request Method=[post],[get]const request={}
request Method.forEach=>request[method]=(url=",params=",config={}=>
let requestUrl = url;
let headers = Object.assign(
{}, { "Content-Type": "application/x-www-form-urlencoded" }, config.headers
);
if (method === "get") {
requestUrl = `${url}?${params}`;
params = "";
}
return new Promise((resolve, reject) => {
stream.fetch({
method,
url: requestUrl,
type: "json",
headers,
body: params,
timeout: 8000,
}, function (res) {
if (res.ok) {
let data = res.data;
if (data && data.control.error == 0) {
resolve(data.data);
} else {
modal.confirm({
message: data.control.msg,
duration: 0.3
});
}
return;
}
reject({
status: res.status,
msg: res.statusText
});
modal.confirm({
message: res.statusText,
duration: 0.3
});
});
});
}module.export=request;
パッケージ後のstreamモジュールを使う
let request=require(「./request.js」)request.post('http://localhost:9090/wap/open/indexHome'
userName=${this.userName}&age=${this.age}
).then=>{this.userName=res.userName;this.age=res.age;、{e}Express受信要求
let express=require('express')let bodyParser=require('body-parser')let app=module.export=express()
app.use(bodyPartser.urlencoded);
app.post('/wap/open/indexHome',function(req,res){
let{userName,age}=req.body;res.json
control:{
error: 0
},
data: {
userName,
age
}
}}
app.listen(9090、function(){consolist.logn(''9090');