前端開發(fā)—項目總結(jié)

  1. Vuex:主要是保存info信息梅肤,位于store>modules->actInfo.js, 在store目錄下的index.js中調(diào)用引入vue和vuex。
    在main.js中import引入耿战,并且掛載到vue實例上。
    在computed中引入了mapGetters焊傅。https://www.jb51.net/article/138239.htm

  2. ios和安卓下播放音樂的坑:
    原始代碼:

var playPromise = document.querySelector('#musicli').play();

    if (playPromise !== undefined) {
      playPromise.then(_ => {
        console.log(111);
      })
      .catch(error => {
        console.log(error);
      });
    }

    document.addEventListener('click',function clickDom()
    {   
      function audioAutoPlay() {
          var audio = document.querySelector('#musicli');
           audio.play();
      }
      audioAutoPlay();
        
    });

項目中使用的有效代碼:

//需要播放音樂時就調(diào)用此函數(shù)
    audioAutoPlay(){
        var playPromise = document.querySelector('#myAudio').play();

        if (playPromise !== undefined) {
          playPromise.then(() => {
            var audio = document.querySelector('#myAudio');
            audio.currentTime=0;
            audio.play();
          })
          .catch(error => {
            console.log(error);
           // var audio = document.querySelector('#myAudio');
           // audio.play(); 寫在這里沒用剂陡,還是不會播放
          });
        }
    }
//使用案例:實現(xiàn)的效果為連續(xù)播放3次wall.mp3,然后播放一次repairWall.mp3
repairSuccess(){
      var self = this;
      this.changeAudio('https://...upload/wall.mp3');
       setTimeout(function(){
          self.audioAutoPlay();
        },1);
        setTimeout(function(){
          self.audioAutoPlay();
        },600);
        setTimeout(function(){
          self.audioAutoPlay();
        },601);
        setTimeout(function(){
          self.audioAutoPlay();
        },1201);

        setTimeout(function(){
          self.changeAudio('https://...upload/repairWall.mp3');
          self.audioAutoPlay();
        },1700);

      (function(){
        setTimeout(function(){
          self.changeAudio('https://...upload/repairWall.mp3');
          self.audioAutoPlay();
        },1700);       
}

上面的代碼已經(jīng)完美解決了ios下完全不能播放音樂的問題(原因是由于ios出于為用戶節(jié)省流量的考慮狐胎,避免自動播放音樂鸭栖,只有在用戶做了交互之后才能播放音樂)。但是還有待完善的地方握巢,算是bug吧晕鹊,就是當(dāng)音樂切換的時候,總是第一次不能播放成功,第二次才能播放成功溅话,如果不切換音樂的話晓锻,則幾乎不會有任何問題。

  1. 使用mpvue開發(fā)小程序遇到的坑

  2. 通過npm install引入的組件飞几,會在node_modules 目錄下带射,有些可能是自開發(fā)的組件,可直接在node_modules里修改循狰,但一定要確保你的操作是正確的窟社。

  3. 在Vue中計算屬性(copmuted)是基于它們的依賴進行緩存的,而方法(methods)不是绪钥。如果我們有一個計算屬性灿里,那么vue會記住計算的屬性所依賴的值,vue只有在依賴發(fā)生變化時才可以計算值程腹,否則匣吊,將返回以前緩存的值。而methos里面的方法在每次頁面渲染時都會被執(zhí)行一次寸潦。從而使用計算屬性要比方法性能更好色鸳。

  4. 移動端復(fù)制功能:

<script type="text/javascript">
function copyUrl2()
    {
        var Url2=document.getElementById("biao1").innerText;
        var oInput = document.createElement('input');
        oInput.value = Url2;
        document.body.appendChild(oInput);
        oInput.select(); // 選擇對象
        document.execCommand("Copy"); // 執(zhí)行瀏覽器復(fù)制命令
        oInput.className = 'oInput';
        oInput.style.display='none';
        alert('復(fù)制成功');
    }
</script>
<div cols="20" id="biao1">12345678</div>
<input type="button" onClick="copyUrl2()" value="點擊復(fù)制代碼" />
  1. 一鍵復(fù)制(兼容ios)
    let input = document.querySelector('#demoInput');
    input.select();
    input.setSelectionRange(0, input.value.length);
    if (document.execCommand('copy')) {
        lib.tip.toggle('復(fù)制成功');
    }
  1. 相關(guān)理論
    1)node.js 是一個事件驅(qū)動I/O服務(wù)端JavaScript環(huán)境,基于Google的V8引擎见转。目的是為了提供撰寫可擴展網(wǎng)絡(luò)程序命雀,如Web服務(wù)。
    2)node模塊管理是通過NPM(即 Node Package Manage斩箫,是 NodeJS 模塊管理工具)來處理各模塊之間的依賴吏砂。
    3)bower是使用nodejs開發(fā),用于web包管理乘客。作為包管理狐血,bower能提供添加新web包,更新web包易核,刪除web包匈织,發(fā)布web包功能,管理包依賴牡直。
    4)gulp處理html壓縮/預(yù)處理/條件編譯缀匕,圖片壓縮,精靈圖自動合并等任務(wù)井氢。
    5)webpack是模塊化管理的工具弦追,使用webpack可實現(xiàn)模塊按需加載岳链,構(gòu)建js/css任務(wù)花竞,模塊預(yù)處理,模塊打包等功能。
  2. 新建express 項目:
1. npm install express -save
2. npm install -g express-generator
3. express -e new_express
4. cd new_express && npm install
5. npm start
  1. 當(dāng)出現(xiàn)跨域的時候约急,瀏覽器會主動發(fā)送options驗證是否允許訪問接口零远。所以options為瀏覽器主動發(fā)出,而后端沒有配置支持options之后厌蔽,則瀏覽器發(fā)出一次options之后就不會再繼續(xù)發(fā)送get獲取post請求了牵辣,那么前端能做的就是關(guān)閉瀏覽器的跨域限制。
    mac下的chrome:
1. 關(guān)閉所有窗口
2. 終端輸入:open -a Google\ Chrome --args --disable-web-security

mac下的safari:
開發(fā)->停用跨源限制

  1. token 身份驗證
    1)首先客戶端登陸后奴饮,發(fā)起請求纬向,由服務(wù)器返回token給前端。
    2)之后每次客戶端請求時都需要將token帶上戴卜,以用于身份驗證逾条,并且可將所需用戶信息(如:userId)通過該中間件掛載在請求內(nèi)容中。
    request.jpg

    可在瀏覽器Request Headers中看到攜帶有access-token字段及內(nèi)容投剥。
    3)服務(wù)端中間件處理(node.js):
const accessToken = req.get('access-token');
if(!accessToken){
        return res.sendStatus(401);
 }
//通過token和加密規(guī)則解析出userId
//...
req.userId = userId;        // 掛載userId
next();
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末师脂,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子江锨,更是在濱河造成了極大的恐慌吃警,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件啄育,死亡現(xiàn)場離奇詭異酌心,居然都是意外死亡,警方通過查閱死者的電腦和手機挑豌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進店門谒府,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人浮毯,你說我怎么就攤上這事完疫。” “怎么了债蓝?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵壳鹤,是天一觀的道長。 經(jīng)常有香客問我饰迹,道長芳誓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任啊鸭,我火速辦了婚禮锹淌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘赠制。我一直安慰自己赂摆,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著烟号,像睡著了一般绊谭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上汪拥,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天达传,我揣著相機與錄音,去河邊找鬼迫筑。 笑死宪赶,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的脯燃。 我是一名探鬼主播逊朽,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼曲伊!你這毒婦竟也來了叽讳?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤坟募,失蹤者是張志新(化名)和其女友劉穎岛蚤,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體懈糯,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡涤妒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了赚哗。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片她紫。...
    茶點故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖屿储,靈堂內(nèi)的尸體忽然破棺而出贿讹,到底是詐尸還是另有隱情,我是刑警寧澤够掠,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布民褂,位于F島的核電站,受9級特大地震影響疯潭,放射性物質(zhì)發(fā)生泄漏赊堪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一竖哩、第九天 我趴在偏房一處隱蔽的房頂上張望哭廉。 院中可真熱鬧,春花似錦相叁、人聲如沸遵绰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽街立。三九已至舶衬,卻和暖如春埠通,著一層夾襖步出監(jiān)牢的瞬間赎离,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工端辱, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留梁剔,地道東北人。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓舞蔽,卻偏偏與公主長得像荣病,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子渗柿,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,647評論 2 354

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

  • 內(nèi)容 UI組件 開發(fā)框架 實用庫 服務(wù)端 輔助工具 應(yīng)用實例 Demo示例 UI組件 element ★13489...
    前端來入坑閱讀 3,533評論 0 31
  • 內(nèi)容 UI組件 開發(fā)框架 實用庫 服務(wù)端 輔助工具 應(yīng)用實例 Demo示例 UI組件 element ★13489...
    秋玄語道閱讀 13,707評論 3 116
  • 轉(zhuǎn)載 :OpenDiggawesome-github-vue 是由OpenDigg整理并維護的Vue相關(guān)開源項目庫...
    果汁密碼閱讀 23,119評論 8 124
  • 原理 類似HTTPS協(xié)議傳輸原理个盆,客戶端用RSA的公鑰加密AES的密鑰,服務(wù)端用私鑰解開獲得的AES的密鑰朵栖,客戶端...
    醬油瓶2閱讀 517評論 0 0
  • 曾恐傾城離之去 曾恐真佛痛之舉 現(xiàn)已淡定對一切 只恨一切只枉然
    陽寧曦閱讀 156評論 0 1