小程序web-view踩坑

背景:公司要做一個(gè)統(tǒng)計(jì)的echarts圖痛单,數(shù)據(jù)返回為數(shù)組痒玩,長(zhǎng)度大概在5000,直接集成echarts使用帮辟,發(fā)現(xiàn)dataZoom拖拽卡頓嚴(yán)重,(其實(shí)主要是數(shù)據(jù)返回后渲染時(shí)間較長(zhǎng)灵疮,渲染完成還是OK滴)织阅,控制臺(tái)查看發(fā)現(xiàn)應(yīng)該是微信小程序平臺(tái)的性能瓶頸限制,考慮使用web-view突破

由于公司使用的是Taro框架來做小程序的震捣,所以遵循Reac的基本開發(fā)規(guī)范,原生也是同理荔棉,直接上代碼吧

HistoryLine組件

import Taro, { Component } from '@tarojs/taro'
// 引入 WebView 組件(原生一致)
import { WebView } from '@tarojs/components'

class HistoryLine extends Component {
  config = {
    navigationBarTitleText: "歷史曲線",
    pageOrientation: 'landscape',
  };

  render () {
      // 路由傳參
    const { params: { equipmentGroupAttrName, groupId } } = this.$router;
      // 在web頁(yè)發(fā)請(qǐng)求需要小程序的請(qǐng)求頭信息(后臺(tái)接口校驗(yàn)使用,我存在本地蒿赢,看你喜歡咯)
      // 注意中文字符會(huì)被編碼润樱,就不用我說了吧,轉(zhuǎn)碼O劭谩R既簟!
    console.log(`https://xxx.com/area-simple.html?equipmentGroupAttrName=${encodeURI(equipmentGroupAttrName)}&groupId=${groupId}`)
    // console.log(`http://192.168.1.136:5500/area-simple.html?equipmentGroupAttrName=${encodeURI(equipmentGroupAttrName)}&groupId=${groupId}`)
    return (
      <WebView src={`https://xxx.com/area-simple.html?equipmentGroupAttrName=${equipmentGroupAttrName}&groupId=${groupId}`}  />
      // <WebView src={`http://192.168.1.136:5500/area-simple.html?equipmentGroupAttrName=${equipmentGroupAttrName}&groupId=${groupId}`}  />
    )
  }
}
export default HistoryLine;

H5頁(yè)面

// 主要代碼
<div class="lineChart" id="container"></div>
    <script type="text/javascript">
    // 獲取傳參
      function getQueryVariable(variable) {
        var query = window.location.search.substring(1);
        var vars = query.split("&");
        for (var i = 0; i < vars.length; i++) {
          var pair = vars[i].split("=");
          if (pair[0] == variable) {
            return pair[1];
          }
        }
        return false;
      }

      console.log(window.location);
      // 中文反編碼
        var equipmentGroupAttrName = decodeURI(getQueryVariable('equipmentGroupAttrName'));
        var groupId = getQueryVariable('groupId');
    // 其他業(yè)務(wù)邏輯(做的echart圖,就不放了)
    </script>
注意:
  1. 小程序在開發(fā)工具上店展,web-view的h5頁(yè)面可以是放在本地服務(wù)上的web养篓,頁(yè)面內(nèi)訪問的接口可以是非https非域名的接口(需要設(shè)置開發(fā)工具不校驗(yàn)https和域名)
  2. 在手機(jī)調(diào)試時(shí),即便打開開發(fā)者模式赂蕴,以上環(huán)境柳弄,H5頁(yè)面內(nèi)也無法正常訪問接口
    • 如果h5頁(yè)面部署在本地環(huán)境,手機(jī)運(yùn)行到同一wifi環(huán)境下概说,即可正常訪問web碧注,無法訪問接口
    • 如果h5頁(yè)面部署在外網(wǎng)環(huán)境,如果web服務(wù)器時(shí)http協(xié)議糖赔,接口是http協(xié)議萍丐,可以訪問web,無法訪問接口
    • 如果h5頁(yè)面部署在外網(wǎng)環(huán)境放典,如果web服務(wù)器時(shí)http協(xié)議逝变,接口是https協(xié)議,可以訪問web刻撒,可以訪問接口
    • 如果h5頁(yè)面部署在外網(wǎng)環(huán)境骨田,如果web服務(wù)器時(shí)https協(xié)議,接口是http協(xié)議声怔,可以訪問web态贤,無法訪問接口(web控制臺(tái)會(huì)報(bào)錯(cuò),提示不支持調(diào)用http協(xié)議)
    • 如果h5頁(yè)面部署在外網(wǎng)環(huán)境醋火,如果web服務(wù)器時(shí)https協(xié)議悠汽,接口是https協(xié)議,可以訪問web芥驳,可以訪問接口(完美)
  3. 正式發(fā)布柿冲,必須為2中的最后一條規(guī)則,且需要配置微信小程序訪問域名白名單:添加H5頁(yè)面所在服務(wù)器域名及其內(nèi)訪問的api域名兆旬,規(guī)則為:https+備案域名
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
禁止轉(zhuǎn)載假抄,如需轉(zhuǎn)載請(qǐng)通過簡(jiǎn)信或評(píng)論聯(lián)系作者。
  • 序言:七十年代末丽猬,一起剝皮案震驚了整個(gè)濱河市宿饱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌脚祟,老刑警劉巖谬以,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異由桌,居然都是意外死亡为黎,警方通過查閱死者的電腦和手機(jī)邮丰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來铭乾,“玉大人剪廉,你說我怎么就攤上這事∑穑” “怎么了妈经?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)捧书。 經(jīng)常有香客問我,道長(zhǎng)骤星,這世上最難降的妖魔是什么经瓷? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮洞难,結(jié)果婚禮上舆吮,老公的妹妹穿的比我還像新娘。我一直安慰自己队贱,他們只是感情好色冀,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著柱嫌,像睡著了一般锋恬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上编丘,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天与学,我揣著相機(jī)與錄音,去河邊找鬼嘉抓。 笑死索守,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的抑片。 我是一名探鬼主播卵佛,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼敞斋!你這毒婦竟也來了截汪?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤渺尘,失蹤者是張志新(化名)和其女友劉穎挫鸽,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鸥跟,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡丢郊,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年盔沫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片枫匾。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡架诞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出干茉,到底是詐尸還是另有隱情谴忧,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布角虫,位于F島的核電站沾谓,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏戳鹅。R本人自食惡果不足惜均驶,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望枫虏。 院中可真熱鬧妇穴,春花似錦、人聲如沸隶债。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)死讹。三九已至瞒滴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間回俐,已是汗流浹背逛腿。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留仅颇,地道東北人单默。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像忘瓦,于是被迫代替她去往敵國(guó)和親搁廓。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359