日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Weex 项目总结

發(fā)布時(shí)間:2025/3/21 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Weex 项目总结 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在項(xiàng)目中,我覺得暫時(shí)有兩個(gè)地方需要總結(jié)一下,一個(gè)是weex內(nèi)部的數(shù)據(jù)請(qǐng)求,一個(gè)是原生方法得調(diào)用。數(shù)據(jù)請(qǐng)求,在PC端調(diào)試的話會(huì)有跨域問題,在手機(jī)端沒有跨域問題。原生方法需要原生開發(fā)者根據(jù)?Weex文檔?寫一個(gè)module,再暴露出一個(gè)方法給前端開發(fā)調(diào)用。

1、數(shù)據(jù)請(qǐng)求

數(shù)據(jù)請(qǐng)求根據(jù)文檔引入該模塊

const stream = weex.requireModule('stream');

這時(shí)你就可以使用stream去發(fā)請(qǐng)求了,不過寫法要和官網(wǎng)上一樣才可以,我試的時(shí)候是這樣的,如果你有其他的方法,麻煩留個(gè)鏈接,讓我也學(xué)習(xí)一下。官網(wǎng)的上的請(qǐng)求方式,太繁瑣,每次都需要手動(dòng)引入,寫法不是很靈活,下面有一個(gè)我自己整理的

const stream = weex.requireModule('stream'); const modal = weex.requireModule('modal'); const platform = weex.config.env.platform.toLowerCase(); const storage = weex.requireModule('storage'); let apiRoot if (platform === 'web' || platform === 'ios'|| platform === 'android '){apiRoot = window.location.origin } else {if (process.env === 'test') {// 測(cè)試環(huán)境域名apiRoot = ''} } export default {install (Vue) {function http (OPTIONS = {}) {let DEFAULT_OPTION = {method: 'GET',type: 'text', // json、text、jsonpheaders: {}};let options = Object.assign(DEFAULT_OPTION, OPTIONS);options.url = apiRoot + options.url;if (options.method === 'GET') {if (options.params) {let paramStr = Object.keys(options.params).reduce((acc, key) => `${acc}${key}=${options.params[key]}&`, '?')options.url = options.url.concat(paramStr).slice(0, -1)}} else if (options.method === 'POST') { if (options.body) {options.headers['Content-Type'] = 'application/json';}}else if(options.method === 'DELETE'){if (options.body) {options.body = JSON.stringify(options.body);options.headers['Content-Type'] = 'application/json';}}return new Promise((resolve, reject) => {stream.fetch(options, (response) => {if (response.ok) {if(response.data !==''){try {response.data = JSON.parse(response.data);}catch(err) {response.data = response.data;}}resolve(response.data)} else {reject(response)}})})}Vue.prototype.$http = http} }

你可以和在vue項(xiàng)目中一樣的方式去發(fā)請(qǐng)求。這里需要注意下自己要定義后端返回的數(shù)據(jù)類型,根據(jù)自己需求自己去改。一些錯(cuò)誤請(qǐng)求攔截也可以這里進(jìn)行處理。

2、原生方法的調(diào)用

weex.requireModule("event").showParams("hello Weex")weex.requireModule("event").showParams("data",event =>{//對(duì)原生方法返回的參數(shù)進(jìn)行處理 })

我本機(jī)是Windows系統(tǒng),ios打包我找的原生同事幫的忙

暫時(shí)就總結(jié)到這里,等這段時(shí)間忙完,再回來補(bǔ)充

有不足之處,請(qǐng)多多指教

總結(jié)

以上是生活随笔為你收集整理的Weex 项目总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。