day09-25 uniapp 支付寶小程序 微信小程序 h5 uview router ajax坑

功能/事件/屬性 支付寶小程序 微信小程序 H5
導(dǎo)航欄 \tab欄 真實(shí) 真實(shí) 模擬
導(dǎo)航頭部背景色 titleBarColor navigationBarTextStyle navigationBarTextStyle
router插件編程式導(dǎo)航丟失底部tab組件 uni.switchTab uni.switchTab $Router.push
顏色 一律hex值 一律hex值 建議hex值
內(nèi)置按鈕 點(diǎn)擊效果背景色 點(diǎn)擊效果背景色 無(wú)
hbuilderx運(yùn)行時(shí)編譯完成 手動(dòng)打開 不要填appid會(huì)自動(dòng)打開項(xiàng)目 無(wú)需衔沼,采用npm命令
點(diǎn)擊另一個(gè)tab時(shí) 當(dāng)前tab會(huì)執(zhí)行onHide但是不會(huì)執(zhí)行滾動(dòng)事件 無(wú) 當(dāng)前tab會(huì)執(zhí)行onHide但是不會(huì)執(zhí)行滾動(dòng)事件
調(diào)用組件同時(shí)設(shè)置style 不生效 生效 生效
有slot的子組件寬度自動(dòng)取父容器 不會(huì) 不會(huì),對(duì)于slot隔開的子組件調(diào)用時(shí)設(shè)置style 會(huì)
柵欄布局 flex 全局樣式類row為flex+自定義組件col+調(diào)用組件數(shù)組綁定寬度相同類名 flex
編程式切換導(dǎo)航自動(dòng)觸發(fā)onTabItemTap事件 會(huì) 不會(huì) 不會(huì)

小程序共同解決方案

  • 顏色 一律hex值,不要設(shè)置blue之類憔辫,只有black和white可用
  • 按鈕 在小程序默認(rèn)有個(gè)點(diǎn)擊效果背景色俱箱,設(shè)置屬性hover-class="none"廊移,去除默認(rèn)背景色
    或者在uni.scss設(shè)置 hover-class="button-primary_hover"全局類樣式
  • button組件在各個(gè)平臺(tái)類型樣式不一樣导披,在uni.scss設(shè)置button-primary全局樣式類

支付寶小程序 相似坑不同解決方案

route插件編程式導(dǎo)航丟失底部tab組件

  • 換成uniapp.switchTab 然后return
  // #ifdef MP-WEIXIN
      uni.switchTab({ url: '/pages/about/about' })
      return
      // #endif

hbuilderx運(yùn)行時(shí)編譯笋粟,能打開開發(fā)者工具但是不能直接打開項(xiàng)目怀挠,手動(dòng)打開

  • 猜測(cè)由于沒有生成sourcemap文件,開發(fā)工具不能識(shí)別項(xiàng)目

微信小程序 相似坑不同解決方案

route插件編程式導(dǎo)航丟失底部tab組件

  • 換成uniapp.switchTab 然后return
      // #ifdef MP-ALIPAY
      uni.switchTab({ url: '/pages/about/about' })
      return 
      // #endif

hbuilderx運(yùn)行時(shí)編譯害捕,不要填appid绿淋,等打開項(xiàng)目再填,才能讓微信開發(fā)工具打開項(xiàng)目

微信小程序特有

  • 自定義組件使用slot的自定義組件內(nèi)部取決于調(diào)用組件時(shí)賦值
  • uniapp自定義組件使用slot尝盼,會(huì)造成slot與組件包裹slot的div隔開
  • 在調(diào)用sticky組件時(shí)吞滞,設(shè)置style="width: 100%"
  • onTabItemTap事件最低微信小程序 模擬器版本為2.5.2 官方文檔真機(jī)為1.9.0 可信度不知,如果你要在模擬器看效果盾沫,得用2.5.2的版本
  • position:fixed;設(shè)置裁赠,才不出現(xiàn)怪異布局
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  • position:absoult;要設(shè)置left:0;z-index:100;才不出現(xiàn)怪異布局
  • 自定義組件調(diào)試時(shí),調(diào)試工具會(huì)有時(shí)右側(cè)樣式不動(dòng)
  • 自定義組件疮跑, 不能直接對(duì)象賦值style屬性组贺,只能一個(gè)一個(gè)屬性賦值
  • 使用swiper組件時(shí)凸舵,設(shè)置style="width: 100%"
  • 由于編譯后出現(xiàn)奇怪布局祖娘,目前只做col組件,而且要設(shè)計(jì)好書寫樣式和html規(guī)范啊奄,全局設(shè)置一個(gè)row類名的flex樣式渐苏,直接填充到div的類名,才能用flex布局
  • 編寫mixins時(shí)菇夸,到真機(jī)調(diào)試時(shí)琼富,可能會(huì)出現(xiàn)is not exsits提示,請(qǐng)重新編譯庄新,并運(yùn)行

支付寶小程序特有

  • 頁(yè)面滾動(dòng)不支持duration
  • 對(duì)于ajax攔截器取消請(qǐng)求報(bào)錯(cuò)不會(huì)顯示
  • 底部彈出框會(huì)使模擬器導(dǎo)航有返回按鈕鞠眉,不用管薯鼠,真機(jī)不會(huì)
  • 點(diǎn)擊另一個(gè)tab時(shí),當(dāng)前tab會(huì)執(zhí)行onHide但是不會(huì)執(zhí)行滾動(dòng)事件 h5
  • 原生的button文本內(nèi)容不參與padding
  • 使用u-swiper組件時(shí)械蹋,設(shè)置style="width: 100%"找到u-swiper文件.u-swiper-wrap要加width:100%
  • 對(duì)于找不到對(duì)象屬性值出皇,會(huì)保持上次的值


    image.png

h5特有

  • 由于h5的導(dǎo)航是模擬的,設(shè)置position:fixed;距離頂部是導(dǎo)航頂部哗戈,跟小程序頂部是導(dǎo)航底部不一樣

uview ui框架問題

  • 吸頂不行 支付寶小程序恢復(fù)不了初始狀態(tài)郊艘,從fixed布局恢復(fù)不了relative布局
  • 按鈕不行 點(diǎn)擊卡
  • 柵格布局 微信小程序靈活性不夠,樣式太難改動(dòng)

書寫樣式總結(jié)

  • 針對(duì)支付寶小程序不支持調(diào)用組件class類不起作用 外加基礎(chǔ)div


    image.png
  • 針對(duì)微信小程序使用slot的自定義組件內(nèi)部寬度取決于調(diào)用組件時(shí)賦值唯咬,針對(duì)柵格系統(tǒng)纱注,調(diào)用組件數(shù)組綁定寬度相同類名
    image.png

uni-simple-router 特有

  • 記得路由的path要跟page.json保持一致path,雖然多寫一遍胆胰,但是為了攔截效果還是得寫好
  • 不支持router-view 這種嵌套路由的形式開發(fā)小程序
  • 編程式導(dǎo)航不支持切換小程序tab
  • 插件路由攔截只適用于navigator跳轉(zhuǎn)狞贱,對(duì)于用戶點(diǎn)擊原生的tab,只能通過監(jiān)聽onhide和ontabitemtap事件來做一些處理煮剧,再通過mixins封裝
  • 在攔截路由的js文件新增一個(gè)方法beforeSwicthTab斥滤,一個(gè)屬性
    Router.from去處理,要切換tab和onTabItemTap時(shí)要調(diào)用swicthTab并傳入to勉盅,form佑颇,onhide的時(shí)候賦值
    Router.from
  • 由于可以使用mixins,已經(jīng)整合到一個(gè)文件草娜,利用mixins的事件函數(shù)可以混合的特點(diǎn)

uni-ajax

  • 與axios不同的是挑胸,get和post請(qǐng)求參數(shù),get不再需要包一層對(duì)象宰闰,跟post一樣直接傳遞
  • 由于考慮到ajax有停止請(qǐng)求需要茬贵,所以封裝時(shí),以ajax整體封裝傳參
  import _ajax from "./ajax_interceptors";
export default {
  get(url, params = {}) {
    return new Promise((resolve, reject) => {
      _ajax({
        method: "GET",
        url,
        data: params,
        success: (res) => {
          resolve(res);
        },
        fail: (err) => {
          reject(err);
        },
      }).then(task=>{
        // console.log("get task", task);
      })
    });
  },
  post(
    url,
    params,
    header = { "Content-Type": "application/json;charset=UTF-8" }
  ) {
    return new Promise((resolve, reject) => {
      _ajax({
        method: "POST",
        url,
        data: params,
        header,
        success: (res) => {
          resolve(res);
        },
        fail: (err) => {
          reject(err);
        },
      }).then(task=>{
        // console.log("post task", task);
      })
    });
  },
};
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末移袍,一起剝皮案震驚了整個(gè)濱河市解藻,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌葡盗,老刑警劉巖螟左,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異觅够,居然都是意外死亡胶背,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門喘先,熙熙樓的掌柜王于貴愁眉苦臉地迎上來钳吟,“玉大人,你說我怎么就攤上這事窘拯『烨遥” “怎么了坝茎?”我有些...
    開封第一講書人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)暇番。 經(jīng)常有香客問我景东,道長(zhǎng),這世上最難降的妖魔是什么奔誓? 我笑而不...
    開封第一講書人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任斤吐,我火速辦了婚禮,結(jié)果婚禮上厨喂,老公的妹妹穿的比我還像新娘和措。我一直安慰自己,他們只是感情好蜕煌,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開白布派阱。 她就那樣靜靜地躺著,像睡著了一般斜纪。 火紅的嫁衣襯著肌膚如雪贫母。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,541評(píng)論 1 305
  • 那天盒刚,我揣著相機(jī)與錄音腺劣,去河邊找鬼。 笑死因块,一個(gè)胖子當(dāng)著我的面吹牛橘原,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播涡上,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼趾断,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了吩愧?” 一聲冷哼從身側(cè)響起芋酌,我...
    開封第一講書人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎雁佳,沒想到半個(gè)月后脐帝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡甘穿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年腮恩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了梢杭。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片温兼。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖武契,靈堂內(nèi)的尸體忽然破棺而出募判,到底是詐尸還是另有隱情荡含,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布届垫,位于F島的核電站释液,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏装处。R本人自食惡果不足惜误债,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望妄迁。 院中可真熱鬧寝蹈,春花似錦、人聲如沸登淘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)黔州。三九已至耍鬓,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間流妻,已是汗流浹背牲蜀。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留绅这,地道東北人各薇。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像君躺,于是被迫代替她去往敵國(guó)和親峭判。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355