<手助總結(jié)>了解一下

這個(gè)月給手機(jī)衛(wèi)士寫(xiě)了個(gè)功能及其簡(jiǎn)單的小程序,但就這么個(gè)及其簡(jiǎn)單的小程序抖拴,也是踩了一堆坑~

開(kāi)發(fā)流程

其實(shí)按照官網(wǎng)的教程一步步來(lái)就行燎字,介紹的已經(jīng)很全面了。然后:

  • 開(kāi)發(fā)

    • 自己的賬號(hào)
    • 微信開(kāi)發(fā)者工具
    • VsCode
  • 調(diào)試(top center at 開(kāi)發(fā)者工具)

    • 預(yù)覽阿宅,手機(jī)掃二維碼
    • 遠(yuǎn)程調(diào)試


      調(diào)試
  • 傳代碼 (top right at 開(kāi)發(fā)者工具)


    上傳
  • 體驗(yàn)者掃碼體驗(yàn)

開(kāi)發(fā)方式

本來(lái)是沒(méi)寫(xiě)過(guò)小程序的候衍,于是上來(lái)就照著教程寫(xiě)原生。
快寫(xiě)完的時(shí)候被俊哥鄙視了:這年頭小程序還用原生寫(xiě)家夺?脱柱!瞬間我就毛躁了...
然后俊哥說(shuō)他用WePY不爽,然后那好吧拉馋,剛好mpVue冒了個(gè)泡榨为,索性趁熱練練手~

寫(xiě)習(xí)慣Vue的寶寶們,恭喜煌茴!mpVue對(duì)你們來(lái)說(shuō)挺友好的随闺,上手很快!在Vue大部分自己的寫(xiě)法里面蔓腐,小程序的api也隨便用~ 總之就是邊寫(xiě)Vue矩乐,邊看小程序文檔。

mpVue對(duì)Vue的有些寫(xiě)法是不支持的,開(kāi)發(fā)的時(shí)候剛好被我碰上了散罕!

  • 比如分歇,在Vue里:class="[activeClass, errorClass]"這種對(duì)class的寫(xiě)法就是不支持的~
  • 再比如,想給input或是textareaplaceholder設(shè)置style欧漱,用::-webkit-input-placeholder不职抡!生!效误甚!
    所以只能依賴(lài)小程序文檔內(nèi)原生的方法:placeholder-style="color: #c1c1c1"

還有一些類(lèi)似不知道怎么獲取路徑傳輸參數(shù)的問(wèn)題缚甩,可以看看mpVue的文檔;文檔里沒(méi)有的窑邦,可以在git issue中提問(wèn)擅威,美團(tuán)的開(kāi)發(fā)者們回答很快,點(diǎn)個(gè)贊冈钦。

關(guān)于數(shù)據(jù)請(qǐng)求

小程序的請(qǐng)求方式簡(jiǎn)單粗暴(我沒(méi)用到上傳和下載郊丛,暫且不講)。

  • 只能用wx.request
  • url必須是https

然后派继,一個(gè)https接口給出來(lái)了宾袜,不能直接用!
要在微信公眾平臺(tái) => 設(shè)置 => 開(kāi)發(fā)設(shè)置 => 服務(wù)器域名 加上所謂的白名單驾窟。
不過(guò)貌似在開(kāi)發(fā)者工具里設(shè)置一下可以跳過(guò)校驗(yàn)庆猫。我試了一下,接口沒(méi)調(diào)成功绅络,索性就乖乖加了白名單月培,至于為什么設(shè)置了也沒(méi)成功,沒(méi)再研究??恩急。

可以選中第四條

接下來(lái)杉畜,數(shù)據(jù)傳輸方式:
之前寫(xiě)ajax基本都是甩過(guò)去一個(gè)url、data衷恭、method此叠、dataType: json,就坐等success返回了随珠。
這一次人家后端不只要求json灭袁,還要表單形式的請(qǐng)求。來(lái)看一下屈大的博客
配置header窗看,規(guī)定好content-type

header: {
  'content-type': 'application/x-www-form-urlencoded',
},

必須得放下DOM了

由于小程序頁(yè)面不是在瀏覽器里茸歧!,所以document啊显沈、window啊软瞎,這種瀏覽器暴露的API就都用不了了逢唤!所以我連訪(fǎng)問(wèn)一個(gè)textarea的value都不能操作DOM,怎么辦:
給textarea綁定特定的事件涤浇,在想獲取value(比如@blur=“showValue”)的時(shí)候鳖藕,通過(guò)

showValue (e) {
  console.log(e)
  handleValue(e.target.value)
}

來(lái)獲取,可以看下console出來(lái)的結(jié)果:


通過(guò)事件訪(fǎng)問(wèn)數(shù)據(jù).png

為什么不可以給textarea數(shù)據(jù)綁定只锭,這里有坑

想獲取textarea的值吊奢,我們又是用的Vue,那么直接通過(guò)v-model綁定的數(shù)據(jù)來(lái)獲取不是很容易么~

但是我要告訴你不能這么用纹烹。Why?

如圖:在ios中(安卓沒(méi)測(cè))召边,如果用戶(hù)輸入完內(nèi)容之后铺呵,移動(dòng)光標(biāo)至中間做刪除操作,那么你會(huì)很崩潰隧熙,因?yàn)槊縿h一個(gè)字片挂,光標(biāo)就會(huì)跑到末尾!
我覺(jué)得這應(yīng)該是小程序的一個(gè)bug吧贞盯,每次監(jiān)聽(tīng)到數(shù)據(jù)變化的時(shí)候音念,整個(gè)textarea區(qū)域就“重新渲染”了,光標(biāo)也就跑到了最后躏敢。

textarea中不能用v-model

解決辦法就是放棄v-model闷愤,用上述方法,在textarea@blur(也就是點(diǎn)擊按鈕)的時(shí)候獲取e.target.value件余。

但這里還是會(huì)有個(gè)問(wèn)題:就是如果button@click的時(shí)候頁(yè)面跳轉(zhuǎn)了讥脐,怎么辦?
這個(gè)時(shí)候啼器,頁(yè)面跳轉(zhuǎn)是在blur事件捕獲之前進(jìn)行的旬渠。

因此我們必須要在blur執(zhí)行完之后再做跳轉(zhuǎn),所以這里要有一個(gè)setTimeout()

    bindAuthTap () {
      setTimeout( () => {
        if (!this.searchMsg) {
          wx.showToast({
            title: '請(qǐng)您輸入要鑒定的內(nèi)容',
            icon: 'none'
          })
          return
        }
        const url = `../logs/logs?msg=${this.searchMsg}`
        wx.navigateTo({ url })
      }, 100)
    }

overflow: hidden之后怎么還有1像素可見(jiàn)端壳?

如圖告丢,給文字做超出兩行省略加隱藏之后,下面還會(huì)有1px的"邊"(實(shí)際上是被遮擋的文字內(nèi)容)可以看到~

隱約可見(jiàn)的1px.png

我猜應(yīng)該是小程序在轉(zhuǎn)換成rpx進(jìn)行計(jì)算產(chǎn)生的誤差损谦,其實(shí)這種事情H5上也常有岖免。
解決辦法就是:給兩行文字設(shè)置height,徹底不讓下面的一行字顯示出來(lái):

.msg-text {
  height: 36px;   /* 設(shè)置成line-height的2倍就能夠起到遮擋效果 */

  line-height: 18px;
  font-family: PingFangSC-Regular;
  font-size: 15px;
  color: #353535;
  letter-spacing: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  word-break: break-all;
  overflow: hidden;
}

防刷的策略

為了提高用戶(hù)體驗(yàn)成翩,我們決定不在前端使用驗(yàn)證碼策略觅捆,但是防刷還是要做的。

大概思路就是在用戶(hù)登錄的時(shí)候給服務(wù)端發(fā)送用戶(hù)信息和系統(tǒng)信息麻敌,返回服務(wù)端用一系列加密和算法生成的uid栅炒;再去請(qǐng)求數(shù)據(jù)的時(shí)候就要帶上這個(gè)uid。

這里面至少要有wx.login()wx.getUserInfo()赢赊、wx.getSystemInfo()乙漓,還有N次服務(wù)端的請(qǐng)求。
所以释移,promise / async await是逃不過(guò)的叭披。

最后安利一款Base64,啊哈哈哈哈哈哈玩讳。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末涩蜘,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子熏纯,更是在濱河造成了極大的恐慌同诫,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,273評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件樟澜,死亡現(xiàn)場(chǎng)離奇詭異误窖,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)秩贰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén)霹俺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人毒费,你說(shuō)我怎么就攤上這事丙唧。” “怎么了蝗罗?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,709評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵艇棕,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我串塑,道長(zhǎng)沼琉,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,520評(píng)論 1 296
  • 正文 為了忘掉前任桩匪,我火速辦了婚禮打瘪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘傻昙。我一直安慰自己闺骚,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布妆档。 她就那樣靜靜地躺著僻爽,像睡著了一般。 火紅的嫁衣襯著肌膚如雪贾惦。 梳的紋絲不亂的頭發(fā)上胸梆,一...
    開(kāi)封第一講書(shū)人閱讀 52,158評(píng)論 1 308
  • 那天敦捧,我揣著相機(jī)與錄音,去河邊找鬼碰镜。 笑死兢卵,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的绪颖。 我是一名探鬼主播秽荤,決...
    沈念sama閱讀 40,755評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼柠横!你這毒婦竟也來(lái)了窃款?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,660評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤牍氛,失蹤者是張志新(化名)和其女友劉穎雁乡,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體糜俗,經(jīng)...
    沈念sama閱讀 46,203評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評(píng)論 3 340
  • 正文 我和宋清朗相戀三年曲饱,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了悠抹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,427評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡扩淀,死狀恐怖楔敌,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情驻谆,我是刑警寧澤卵凑,帶...
    沈念sama閱讀 36,122評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站胜臊,受9級(jí)特大地震影響勺卢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜象对,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評(píng)論 3 333
  • 文/蒙蒙 一黑忱、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧勒魔,春花似錦甫煞、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,272評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至弟胀,卻和暖如春楷力,著一層夾襖步出監(jiān)牢的瞬間喊式,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工弥雹, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留垃帅,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,808評(píng)論 3 376
  • 正文 我出身青樓剪勿,卻偏偏與公主長(zhǎng)得像贸诚,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子厕吉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容