精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

今天不聊中間層,我們來聊聊中間頁

開發 架構
平常代碼編程中我們會碰到一些交互問題 or 團隊間的合作問題,需要處理鏈接跳轉之間的問題,假如我們作為提供方,需求方來自不同的業務團隊,甚至有時來自第三方。當然不僅限于此,還有很多令人腦殼疼的場景,這時候我們可以提供一個中間頁作為對接橋梁,在此頁面去攬下所有對接的活。

[[438007]]

本文轉載自微信公眾號「微醫大前端技術」,作者黃琴。轉載本文請聯系微醫大前端技術公眾號。

背景

平常代碼編程中我們會碰到一些交互問題 or 團隊間的合作問題,需要處理鏈接跳轉之間的問題,假如我們作為提供方,需求方來自不同的業務團隊,甚至有時來自第三方。當然不僅限于此,還有很多令人腦殼疼的場景,這時候我們可以提供一個中間頁作為對接橋梁,在此頁面去攬下所有對接的活。但針對過渡頁的合理使用和一些注意事項,我這里想單獨拎一篇小文章出來說說,繼續看看吧。

使用場景

1: 不確定的多方業務方或者不同渠道業務方

假如我們作為提供方,會面對不同的業務方,一部分來自于不同的協作團隊,一部分來自不同的渠道(微信、小程序、app),這時候中間頁就該上場了,由它來負責,主要根據 query 參數去做跳轉邏輯處理,負責跳到具體的目標頁 A、B、C 等等。目標頁理應來說只負責該頁面具體的邏輯,不該外攬下其他的臟活,下圖為簡易版場景圖。

![1901638101967_.pic](/Users/huangqin/Library/Containers/com.tencent.xinWeChat/Data/Library/Application Support/com.tencent.xinWeChat/2.0b4.0.9/a301252f4cfd6c12512699071071e4d7/Message/MessageTemp/9e20f478899dc29eb19741386f9343c8/Image/1901638101967_.pic.jpg)

思路:在中間頁你可以針對不同的 query 去做處理,目標頁放在 targetUrl,在處理對應的邏輯結束之后,跳轉到目標頁。這時候用戶其實是無感知的,如下是簡易版 code。

注意:我們作為提供方,最好能能提供一個標準模版,例如 appid 專門用來區分來源,來源的定義盡可能標準化,targetUrl 用來存在跳轉 url,跳轉到中間頁 token 處理,都是需要提前定義好的,這些 query 參數基本是統一的。so 最好是能對外提供一份對接文檔,注釋盡可能詳細(包括 code 中), 這樣避免自己踩坑(排查問題 or 撕逼。。。我太難了)

  1. // 這里例舉一個數組,假如針對 query 需要處理的邏輯 
  2. const fnList = [ 
  3.   ['appid''handleAppid'], 
  4.   ['token''handleToken'], 
  5.   ['payUrl''handlePayUrl'], 
  6.   ['sourceId''handleSourceId'], 
  7.   ... 
  8. ]; 
  9.  
  10. mounted() { 
  11.     this.handleQuery(); 
  12.   // 處理完跳轉到目標頁志華,跳轉到目標頁 target 
  13.     if (this.query.target) { 
  14.       location.replace(this.query.target); 
  15.     } 
  16. }, 
  17.  
  18. // 具體的 handleQuery 操作 
  19. handleQuery() { 
  20.     // 這里你可能有一些前置處理 
  21.      ...... 
  22.      // 對 query 進行處理 
  23.       fnList.forEach(([key, fn]) => { 
  24.         if (this.query[key] && this[fn]) { 
  25.           this[fn](); 
  26.         } 
  27.       }); 
  28. }, 

2: 同一業務方但有定制化需求的場景

聽起來和第一種場景很像,但是有差啦。假如作為提供方,都是同一個對接方,但走的模式不同,導致后續業務流程不一樣。拿圖片中的例子來說,目標頁是根據類型前置不同的目標頁面,這里 query 的參數會根據 type 的不同,會攜帶和其 type 對應的業務參數,這種提供的目標頁是一樣的,但參數會依賴業務自身需求而定。

![1941638105158_.pic](/Users/huangqin/Library/Containers/com.tencent.xinWeChat/Data/Library/Application Support/com.tencent.xinWeChat/2.0b4.0.9/a301252f4cfd6c12512699071071e4d7/Message/MessageTemp/9e20f478899dc29eb19741386f9343c8/Image/1941638105158_.pic.jpg)

簡易版 code 如下:

  1. // 根據 type 類型區別業務來源 
  2. checkType(type) { 
  3.  return this.query.type === type; 
  4. }, 
  5.      
  6. mounted() { 
  7.   // 可能有一些前置操作 
  8.   ...... 
  9.     this.handleQuery(); 
  10. }, 
  11.  
  12. // 具體的 handleQuery 操作 
  13. handleQuery() { 
  14.     // 這里你可能有一些前置處理 
  15.      ...... 
  16.       
  17.      // 來自服務包,需要帶上 sourceId 參數 
  18.       if (this.checkType('serverPack')) { 
  19.         const newQuery = { 
  20.           sourceId: query.sourceId, 
  21.           ... 
  22.         }; 
  23.         this.$router.replace({ 
  24.           name'orderServerPackConfirm'
  25.           query: newQuery, 
  26.         }); 
  27.         return
  28.       } 
  29.        
  30.      // 來自 XXX 的信息,需要將 osTokenId 帶到確認頁 
  31.      if (this.checkType('pcDetail')) { 
  32.         confirmQuery.osTokenId = this.query.osTokenId; 
  33.      } 
  34.       
  35.      // 其他 
  36.      ..... 
  37.  
  38.       this.$router.replace({ 
  39.         name'orderConfirm'
  40.         query: confirmQuery, 
  41.       }); 
  42. }, 

3: 處理跨域請求或參數需要由接口提供的情況

前面兩種情況不論是 1or2,基本上我們說的是由 query 顯性傳遞,但是也會有部分場景我們可能不再適用,如下

1:參數過多 or 或者對應的某個參數值過大不適用 query 的方式傳遞,采用接口調用方式,由中間頁自行獲取其中必要的參數即可。

2: A 應用跳到 B 應用,此時兩個應用存在跨域問題,A 需要調用某接口,內容值存在 cookie/storage 中,需要將其內容傳送到 B 應用中使用。應對這種情況,可以在跳轉到 B 應用的過程中加一個前置跳轉中間頁,這時 A 只負責跳轉到中間頁,將其調用的接口入參傳入到中間頁,在中間頁去請求接口,這是內容值就可以穩定存儲在 B 應用中了。

簡易版 code 如下:

  1. // 校驗 query 需要 
  2. checkQuery(keys = []) { 
  3.       return keys.every((key) => !!this.query[key]); 
  4.  }, 
  5.  
  6. // 根據 type 類型區別業務來源 
  7. checkType(type) { 
  8.  return this.query.type === type; 
  9. }, 
  10.  
  11. mounted() { 
  12.   // 可能有一些前置操作 
  13.   ...... 
  14.     this.handleQuery(); 
  15. }, 
  16.  
  17. // 具體的 handleQuery 操作 
  18. handleQuery() { 
  19.     // 這里你可能有一些前置處理 
  20.      ...... 
  21.       
  22.      // 商詳 
  23.       if (this.checkType('detail') && this.checkQuery(['skuId''quantity'])) { 
  24.        // 接口在中間頁去請求 
  25.         data = await this.directBuy({ 
  26.           skuId: +query.skuId, 
  27.           quantity: +query.quantity, 
  28.         }); 
  29.       } 
  30.  
  31.       // 購物車 
  32.       if (this.checkType('cart') && this.checkQuery(['shopcartId'])) { 
  33.       // 接口在中間頁去請求 
  34.         data = await this.submitCart({ shopcartids: JSON.parse(query.shopcartId) }); 
  35.       } 
  36.       
  37.      // 其他 
  38.      ..... 
  39.  
  40.       this.$router.replace({ 
  41.         name'orderConfirm'
  42.         query: confirmQuery, 
  43.       }); 
  44. }, 

使用中間頁的一些注意點

1: 不要濫用中間頁

中間頁在某些業務場景下確實能幫我們解決一部分的邏輯抽離問題,至少面對以上幾種場景不用再去擔心某些情況下給哪個業務方爸爸去提供不同的目標頁,但是我們還是要根據項目中實際情況去評估使用一個中間頁的必要性,至少我們應該保持著:必要性、業務耦合度、可擴展性的角度去理性編碼,濫用中間頁后期可能就會出現中間頁到中間頁的跳轉(不同開發可能寫了跳轉頁邏輯,已經是個公共的頁面),由于文檔不清晰或者更新不及時等原因,反而可能后期維護性成本更大,這是我們需要注意的一個問題。

2: 對于必要性的中間頁盡量往標準化處理

對于 query 上的公有參數例如來源 appid,統一好格式 h5 環境下 : p_h5_XXX, app 渠道下:p_app_XXX, 小程序環境下:p_miniPorgram_XXX,其他參數也類似,定義好統一標準

對于 query 上的必要參數例如目標 targetUrl,若提供的 url 不存在,提供標準化的報錯處理

對于豐富多樣化的參數來源,有必要的情況下,可放在服務端去處理,對外提供一個可配置化接口

3: 要有安全意識,針對 targetUrl 做好防漏洞處理,避免不可預期的 XSS 攻擊等

中間頁要考慮到 targetUrl 的安全漏洞,尤其是不需要登錄的中間頁,假如黑客發送某個鏈接,欺騙用戶點擊看起來是公司的福利界面鏈接,誘騙用戶點擊,用戶會毫無防范的點擊跳轉至虛假界面,則容易騙取用戶的相關信息,這是我們需要在加中間頁額外考慮的事情,可以對 targetUrl 加上白名單限制。

總結

 

以上就是我在我們項目中使用過的一些中間頁的一些總結吧,希望碰到有類似業務的小伙伴一點收獲,當然這只是我目前遇到的一些情況,還有我沒想到和沒涉及到的,歡迎提出你們寶貴的建議,就醬紫吧~

黃琴:一枚前端妹子,愛笑、愛運動、愛音樂、愛旅行

 

責任編輯:武曉燕 來源: 微醫大前端技術
相關推薦

2021-04-01 10:05:28

nodejs前端服務器

2019-01-30 08:14:28

協議區塊鏈堆棧

2024-08-08 14:50:00

模型數據

2024-02-21 08:19:54

2021-02-11 08:21:02

中間件開發CRUD

2009-07-30 13:07:49

ASP.NET中的三層

2022-09-19 08:01:13

美團Leaf發號

2023-10-24 07:50:18

消息中間件MQ

2017-11-27 06:01:37

數據庫中間件中間層

2019-01-28 09:32:30

跳槽員工程序員

2024-11-25 07:00:00

RedisMySQL數據庫

2023-03-03 12:37:50

JavaJVM內存溢出

2016-11-01 20:26:47

前端模板underscoreWeb

2020-06-11 11:36:49

線程池Java場景

2018-02-07 10:24:01

Nginx服務器架構

2022-01-04 20:34:00

數據安全Relay

2015-01-12 09:33:27

WAN

2025-04-29 09:10:00

2025-02-27 09:49:32

2023-03-07 15:58:31

云數據庫云存儲
點贊
收藏

51CTO技術棧公眾號

久久亚洲一区二区三区四区五区高| 欧美视频在线观看免费| 91老司机在线| 久久久久久久久久综合 | 成人精品视频99在线观看免费| 一区二区三区影视| 亚洲一二三区视频| 欧美日韩国产一区在线| 一区二区三区av| 深夜福利视频网站| 日本欧美大码aⅴ在线播放| 欧美成人精品xxx| 亚洲欧美色图视频| 欧美高清你懂的| 午夜日韩在线电影| 欧美日韩国产精品一卡| 国产精品一区二区三区在线免费观看| 你懂的网址国产 欧美| 亚洲人线精品午夜| 人妻互换一二三区激情视频| 91国内外精品自在线播放| 亚洲午夜在线电影| 亚洲国产精品一区二区第一页 | 国产第一精品| 亚洲国产成人av| 亚洲一卡二卡区| 男同在线观看| 粉嫩蜜臀av国产精品网站| 国产美女被下药99| 国产成人无码一区二区在线播放| 欧美激情综合| 久久精品国产成人| 微拍福利一区二区| 爱爱精品视频| 日韩写真欧美这视频| 亚洲欧美国产中文| 欧美黄色三级| 91黄色免费网站| 免费毛片网站在线观看| av网站在线免费| 国产精品毛片高清在线完整版| 免费观看国产成人| 成人午夜精品福利免费| 韩国av一区二区三区| 国产精品视频精品| 亚洲色成人www永久网站| 国产精品二区影院| 久久综合电影一区| 精品人体无码一区二区三区| 国产精品亚洲人成在99www| 精品中文字幕久久久久久| 91丝袜在线观看| 国产精品18hdxxxⅹ在线| 欧美一级免费大片| 免费不卡av网站| 国产一区二区三区免费在线 | 91精品国产电影| 成人免费黄色小视频| 日韩国产一区二区| 尤物tv国产一区| 2019男人天堂| 欧美日韩国产高清电影| 国产一区二区黄| 天堂av网手机版| 99热国内精品永久免费观看| 丝袜情趣国产精品| 三级黄色录像视频| 68国产成人综合久久精品| 中文字幕亚洲第一| 国产性生活大片| 久久国产精品成人免费观看的软件| 亚洲色图五月天| a资源在线观看| 围产精品久久久久久久| 久久精品91久久久久久再现| 久久久久久久9999| 亚洲黄色天堂| 国产91精品黑色丝袜高跟鞋 | 欧美日韩一区在线| 鲁一鲁一鲁一鲁一av| 久久伦理中文字幕| 亚洲电影免费观看高清完整版在线| 成人性生活免费看| 精品中文字幕一区二区三区av| 这里精品视频免费| 欧美黑人性猛交xxx| 99riav国产精品| 国产成人精品最新| 91黄色在线视频| 懂色av中文一区二区三区| 久久riav| 1pondo在线播放免费| 一区二区国产盗摄色噜噜| 免费毛片小视频| 久久久加勒比| 精品久久国产97色综合| 性久久久久久久久久| 日韩成人激情| 欧美精品久久久久a| 波多野结衣影片| 国产成人在线视频网址| 日本黑人久久| 九色91在线| 欧美日韩三级在线| av黄色一级片| 91精品国产91久久久久久密臀| 2018国产精品视频| 国产老女人乱淫免费| 久久色中文字幕| 日韩精品免费一区| 精品视频在线一区二区在线| 精品福利一区二区三区免费视频| 日本精品久久久久中文| 一道本一区二区| 91免费福利视频| 国产在线观看网站| 亚洲成av人综合在线观看| 久久久精品高清| 综合色就爱涩涩涩综合婷婷| 欧美国产日韩一区二区| 在线免费观看av片| 91麻豆国产福利精品| 野外做受又硬又粗又大视频√| 国产香蕉久久| 亚洲欧美一区二区精品久久久| 久久精品女人毛片国产| 久久99久久精品欧美| 日韩精品久久久免费观看 | 91综合在线| 日韩av免费在线播放| 手机看片1024国产| 一区二区三区在线高清| 热久久久久久久久| 日韩免费特黄一二三区| 国产成人aa精品一区在线播放| 三级小视频在线观看| 亚洲国产日产av| 亚洲性图第一页| 欧美喷水视频| 99热国产免费| 青草在线视频| 日韩欧美一级在线播放| 一区视频免费观看| 国产在线不卡一卡二卡三卡四卡| 一级做a爰片久久| 日韩精品免费观看视频| 伊人伊成久久人综合网站| 高潮毛片又色又爽免费| 久久影音资源网| 男人亚洲天堂网| 女厕嘘嘘一区二区在线播放 | 亚洲一区二区影视| 日本一区二区三区免费乱视频| 99久久激情视频| 国产精品中文字幕亚洲欧美| 国产精品wwwwww| 免费在线黄色网址| 色综合色综合色综合色综合色综合 | 在线看视频不卡| 青青国产精品| 久久中文字幕国产| 亚洲国产精品suv| 午夜精品爽啪视频| 成人无码www在线看免费| 久久久久久色| 亚洲视频在线观看日本a| 欧美亚洲黄色| 久久99国产综合精品女同| 亚洲黄色小说网址| 欧美日韩国产丝袜另类| 无码一区二区三区在线| 蜜桃久久久久久| 免费观看中文字幕| 在线播放一区二区精品视频| 97精品视频在线| 久青草国产在线| 欧美亚洲日本一区| 亚洲xxxx3d动漫| 99在线精品观看| 九色porny91| 亚洲精品二区三区| 国产精品xxxx| av高清一区| 另类美女黄大片| 无码国产色欲xxxx视频| 欧美色图第一页| 久久久久成人精品无码| 欧美—级在线免费片| 亚洲国产综合av| 羞羞视频在线观看欧美| 一区二区不卡在线视频 午夜欧美不卡'| 日韩中文字幕无砖| 秋霞av国产精品一区| 成人短视频在线| 亚洲欧美日韩在线一区| 99精品视频免费看| 欧美香蕉大胸在线视频观看| 欧美日韩免费一区二区| 久久久综合激的五月天| 91精品999| 午夜在线视频一区二区区别| 热这里只有精品| 国产麻豆精品久久| 国产精品日韩高清| 国产情侣一区二区三区| 91成人精品网站| av在线影院| 国产一区二区三区丝袜| 少妇又色又爽又黄的视频| 91精品国产综合久久久久久久 | 日韩一级二级三级| 成年人免费高清视频| 一区2区3区在线看| 刘亦菲国产毛片bd| 久久久美女艺术照精彩视频福利播放| 人妻精油按摩bd高清中文字幕| 免费成人性网站| 人妻熟女一二三区夜夜爱| 国内精品福利| 中文字幕在线乱| 日本久久精品| 日本日本精品二区免费| 欧美精品中文字幕亚洲专区| 97神马电影| 国产激情综合| 国产裸体写真av一区二区| 日韩一区二区三区在线免费观看 | 国产精品视频免费播放| 亚洲精品免费在线| 成人涩涩小片视频日本| 国产精品乱人伦中文| av黄色在线免费观看| 97se亚洲国产综合自在线观| 三级视频网站在线观看| 国产成人免费视| 老司机av网站| 国产精品1区2区| 激情图片中文字幕| 奇米精品一区二区三区在线观看| 久久无码高潮喷水| 亚洲激情在线| 日韩视频免费播放| 禁久久精品乱码| 久激情内射婷内射蜜桃| 亚洲国产精品一区制服丝袜| 阿v天堂2018| 亚洲视频播放| 欧美成人免费高清视频| 视频一区在线视频| caoporn超碰97| 男人的j进女人的j一区| 午夜免费看视频| 精品制服美女丁香| 亚洲欧洲日本精品| 久久成人综合网| 欧美成人乱码一二三四区免费| 国内欧美视频一区二区| 久久人人爽人人片| 成人美女在线视频| 7788色淫网站小说| 久久综合九色综合欧美亚洲| 蜜桃无码一区二区三区| 国产日本亚洲高清| 亚洲av无一区二区三区| 亚洲日本欧美天堂| 久久久久亚洲av无码专区| 亚洲午夜精品一区二区三区他趣| 国语对白一区二区| 欧美日韩国产综合视频在线观看中文| 日本韩国欧美中文字幕| 精品久久香蕉国产线看观看亚洲| 中文字幕在线播| 欧美午夜一区二区三区| 国产免费高清视频| 欧美成人一区二区三区 | 亚洲视频视频在线| 1024视频在线| 欧美大片免费看| 中文字幕在线视频久| 国产欧美一区二区三区四区| 视频在线一区| 欧美日本韩国一区二区三区| 国产精品成人av| 和岳每晚弄的高潮嗷嗷叫视频| 久久久久久色| 黑人无套内谢中国美女| www一区二区| 国精产品久拍自产在线网站| 亚洲成人av免费| 中文字幕一区二区三区四区视频 | 少妇激情av一区二区| 最近中文字幕日韩精品| 色婷婷av在线| 国产精品吹潮在线观看| 成人av影音| 亚洲第一综合| 亚洲经典视频在线观看| 久久久久久久久久一区| 91丝袜美腿高跟国产极品老师| 国产真实乱在线更新| 日韩欧美精品网址| 国产欧美日韩成人| 亚洲欧美中文另类| 神马午夜伦理不卡 | 日本a在线免费观看| 免费观看成人鲁鲁鲁鲁鲁视频| 国产精品入口麻豆| 国产精品高潮久久久久无| 国产精品一区二区6| 制服丝袜亚洲色图| 九色在线免费| 午夜精品99久久免费| 亚洲伦理久久| 日韩精品另类天天更新| 亚洲精品社区| 亚洲精品久久久久久| 国产精品久久久久一区二区三区 | 久久激情久久| 国产综合内射日韩久| 国产精品高潮久久久久无| 精品国产一区二区三区四| 精品国产露脸精彩对白| 中文字幕在线观看播放| 国产一区玩具在线观看| 视频一区在线观看| 人妻少妇精品久久| 国产成人综合在线观看| chinese全程对白| 欧美色老头old∨ideo| 韩国三级在线观看久| 91豆花精品一区| 乱亲女h秽乱长久久久| 美女av免费观看| 国产精品911| 国产黄色片在线免费观看| 4hu四虎永久在线影院成人| 在线看的av网站| 国产精品欧美久久久| 波多野结衣在线观看一区二区 | 亚洲www啪成人一区二区| 玛丽玛丽电影原版免费观看1977| 在线不卡欧美| 午夜不卡久久精品无码免费| 亚洲成人一区二区在线观看| 国内爆初菊对白视频| 久久青草福利网站| 国产精品欧美大片| www.av毛片| 91天堂素人约啪| 无码视频在线观看| 亚洲视频第一页| 欧美大片1688网站| 亚洲aⅴ天堂av在线电影软件| 蜜臀99久久精品久久久久久软件| 亚洲ⅴ国产v天堂a无码二区| 欧美日本一区二区| 麻豆网在线观看| 99porn视频在线| 亚洲美女啪啪| 国产真实乱人偷精品人妻| 欧洲av在线精品| 黄网站在线免费看| 成人免费视频网站| 国产日韩欧美一区| jizz中文字幕| 91精品一区二区三区在线观看| 羞羞的视频在线观看| 韩国成人动漫在线观看| 香蕉亚洲视频| 国产主播av在线| 日韩免费在线观看| 欧美aa在线| 天堂一区二区三区| 国产乱码精品一区二区三区五月婷| 日韩激情一区二区三区| 精品一区二区三区四区| 四虎国产精品永久在线国在线| 无颜之月在线看| 91亚洲精品久久久蜜桃网站| 欧美 亚洲 另类 激情 另类| 美女撒尿一区二区三区| 精品自拍偷拍| 亚洲天堂网一区| 亚洲国产视频a| 国产女人在线观看| 91在线观看免费观看 | 午夜免费日韩视频| 九九亚洲视频| 中文字幕在线视频一区二区三区| 亚洲18色成人| 午夜在线免费观看视频| 国产精品免费视频一区二区| 日本欧美韩国一区三区| 精品处破女学生| 在线中文字幕日韩| 加勒比久久高清| 日韩欧美亚洲另类| 精品久久久在线观看| 亚洲综合影视| 四虎永久国产精品|