整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          開源跨平臺的http請求解決方案-Fly.js

          開源跨平臺的http請求解決方案-Fly.js

          網介紹

          https://wendux.github.io/dist/#/doc/flyio/readme

          一個支持所有JavaScript運行環境的基于Promise的、支持請求轉發、強大的http請求庫。可以讓您在多個端上盡可能大限度的實現代碼復用。其兼容性是它一大優勢。

          瀏覽器兼容性

          其它平臺

          目前Fly.js支持的平臺包括:Node.js 、微信小程序 、Weex 、React Native 、Quick App 和瀏覽器。不過官方文檔中已經說明,更多平臺正在持續加入,后續肯定會支持更多的平臺。

          安裝和使用

          安裝方式和普通的js差不多

          • npm包安裝
          npm install flyio
          
          • 瀏覽器引入
          <script src="https://unpkg.com/flyio/dist/fly.min.js"></script>
          
          • 瀏覽器端使用方式(其它環境請參考官網文檔)
          //index.html
          <script src="https://unpkg.com/flyio/dist/fly.min.js"></script>
           <script>
           let fly=new Fly();
           fly.get('./data.json').then(res=> {
           console.log(res);
           }).catch(function (error) {
           console.log(error);
           });
          </script>
          //data.json
          {
           "weatherinfo": {
           "city": "北京",
           "cityid": "101010100",
           "temp": "27.9",
           "WD": "南風",
           "WS": "小于3級",
           "SD": "28%",
           "AP": "1002hPa",
           "njd": "暫無實況",
           "WSE": "<3",
           "time": "17:55",
           "sm": "2.1",
           "isRadar": "1",
           "Radar": "JC_RADAR_AZ9010_JB"
           }
          }
          

          查看瀏覽器返回的結果

          使用

          • get請求
          fly.get(url, data, options)//option是請求配置項
          
          • post請求
          fly.post(url, data, options)//option是請求配置項
          
          • request
          fly.request(url, data, options)//option是請求配置項
          
          • request結構對象
          {
           headers:{}, //http請求頭,
           baseURL:"", //請求基地址
           timeout:0,//超時時間,為0時則無超時限制
           //是否自動將Content-Type為“application/json”的響應數據轉化為JSON對象,默認為true
           parseJson:true,
           withCredentials:false //跨域時是否發送cookie
          }
          

          示例:

          //GET請求
          fly.request("/user/8" null, {method:"get"})
          //DELETE 請求
          fly.request("/user/8/delete", null, {method:"delete"})
          //PUT請求
          fly.request("/user/register", {name:"doris"}, {method:"PUT"})
          
          • response對象結構
          {
           data, //服務器返回的數據
           engine, //請求使用的http engine(見下面文檔),瀏覽器中為本次請求的XMLHttpRequest對象
           headers, //響應頭信息
           request //本次響應對應的請求信息
          }
          
          • 別名方法
          fly.put(url, data, options)
          fly.delete(url,data,options)
          fly.patch(url,data,options)
          fly.all([])
          fly.spread([])
          

          還有更多用法請直接參考官方文檔

          對比axios和fetch

          官網有更詳細的的介紹,大家可以直接參考官網。

          備注

          • fly不支持jsonp
          • fly只能設置并維護一個攔截器
          • 可以清除攔截器
          • 不支持請求取消
          • 支持請求重定向

          總結

          flyJS是一個http請求的終極的解決方案,Fly最大的特點就是在混合APP中支持請求轉發,而axios不支持,fly采用分層的思想,通過替換底層http engine(Fly中提出了Http Engine的概念)的方式實現各種環境的適配。能夠實現很多高級的玩法。

          雖然dart可以同時用作客戶端和服務器端,但是基本上dart還是用做flutter開發的基本語言而使用的。除了andorid和ios之外,web就是最常見和通用的平臺了,dart也提供了對HTML的原生支持,這個支持就是dart:html包。

          dart:html提供了對DOM對象的各種有用的操作和對HTML5 API的支持。這樣我們可以直接使用dart來操作HTML。

          除了DOM之外,dart:html還可以對css進行操作,使用dart:html也非常簡單:

          import 'dart:html';
          

          DOM操作

          對于DOM操作來說,首先是需要找到這個元素。

          dart提供了querySelector() 和 querySelectorAll()方法,可以根據ID, class, tag, name或者這些元素的集合來進行查找。

          同樣都是query方法,兩者的不同在于,querySelector只返回找到的第一個元素,而querySelectorAll返回找到的所有元素。

          所以querySelector返回的是一個Element,而querySelectorAll返回的是一個集合List。

          Element idElement=querySelector('#someId')!;
          
          Element classElement=querySelector('.some-class')!;
          
          List<Element> divElements=querySelectorAll('div');
          
          List<Element> textInputElements=querySelectorAll( 'input[type="text"]',);
          
          List<Element> specialElement=querySelectorAll('#someId div.class');
          

          上面就是我們查找DOM中元素的操作。找到之后,就可以對這些元素進行操作了。

          dart使用Element來表示DOM中的元素。對于每個Element來說,都擁有classes, hidden, id, style, 和 title 這些屬性。

          如果Element中并沒有要設置的屬性,則可以使用attributes,如下:

          elem.attributes['someAttribute']='someValue';
          

          當然對應某些特殊的Element,會有Element對應的子類與之綁定。

          比如對于一個a標簽來說,如下所示:

          <a id="name" href="/name/detail">詳情</a>
          

          a標簽對應的是dart中的AnchorElement元素。

          如果要改變a標簽的href值,可以這樣:

          var anchor=querySelector('#name') as AnchorElement;
          anchor.href='http://www.flydean.com';
          

          還可以添加、替換或者刪除對應的節點:

          querySelector('#id')!.nodes.add(elem);
          querySelector('#id')!.replaceWith(elem);
          querySelector('#id')?.remove();
          

          上面我們使用了一個特殊的運算符,感嘆號,表示的是將一個可為空的類型轉換成為不為空的類型。

          CSS操作

          CSS實際上就是element中的class,當我們獲取到element之后,就可以調用他的classes字段,然后對CSS進行處理。

          elem.classes返回的是一個list,我們可以向其添加或者刪除對應的class。

          var name=querySelector('#id')!;
          name.classes.add('redline');
          

          有class當然是最好了,class也是我們推薦的寫法。但是有時候還是需要直接在element中添加style,如下所示:

          name.style
            ..fontWeight='bold'
            ..fontSize='3em';
          

          處理事件

          和DOM的交互就是各種事件,向element中添加event,可以使用element.onEvent.listen(function).

          比如我們可以添加click事件:

          querySelector('#id')!.onClick.listen((e) {
            // do something
          });
          

          下面是常用的一些event:

              change
              blur
              keyDown
              keyUp
              mouseDown
              mouseUp
          

          總結

          以上就是Dart對html的支持。

          本文已收錄于 http://www.flydean.com/20-dart-html/

          最通俗的解讀,最深刻的干貨,最簡潔的教程,眾多你不知道的小技巧等你來發現!

          歡迎關注我的公眾號:「程序那些事」,懂技術,更懂你!

          一篇我們談到如何開展薪酬診斷,也談了如何選擇外部薪酬對標“標桿”,今天我們來討論下如何獲取薪酬數據。想知道薪酬信息,最好的辦法是購買專業的薪酬報告(比如美世、翰威特的報告,后面我們會分析具體如何選取)。同時,我也和大家分享一些經濟實惠的數據獲取方法,應付年度調薪等綽綽有余。


          01

          薪酬wiki百科


          我把大佬創立的、由網友編輯形成的網站都稱之為薪資wiki百科。

          這里主要有

          (1)【網址】 https://duibiao.info/

          這是一個在美國灣區的大佬創立的職級對標網站,上面有各家公司的職級和對應薪酬區間。對于在職級薪資方面對標大廠的公司,可做參考。使用定位偏向程序員們而不是HR。

          (2)【網址】https://salaryfly.com/

          和職級對標網站一樣,也是由大牛自行設立的職級薪酬數據庫,且用且珍惜。【數據來源】廣大網友的上傳。

          (3)【網址】https://puwangwang8.com/

          數據來源也同樣來自廣大網友的上傳。

          【優勢】

          -所有數據免費公開

          -有職級對標數據

          -可視化做得好,方便查看

          -互聯網大廠(騰訊、頭條、阿里)技術崗位薪酬較多

          -能管窺對標大廠的一些信息

          【劣勢】

          -非程序員的崗位數據較少

          -樣本量有待增加,樣本增加后有效性會高一點。

          -行業有限,主要覆蓋的互聯網大廠參考價值較大。

          -需要手動點開各崗位查看數據。

          -國際性公司如谷歌將中國和境外數據混在一起,缺乏可比性

          【使用建議】

          -個人用戶可以作為自己了解市場的依據。

          -HR需要做好信息篩查,建議多方交叉比對。

          -建議學習該網站的數據可視化,用在自己公司。



          02

          薪情 51salary


          【網址】 https://www.51salary.com/

          【網站介紹】一個由商業公司開發的薪酬數據庫,大部分數據可免費查看,熱門數據需要付費。

          【數據來源】商業公司自行收集整理。

          【數據質量】★★★☆☆樣本量不詳,數據質量有待觀察。

          【優勢】

          -大部分數據免費。

          -崗位、行業較為齊全。

          【劣勢】

          -沒有職級對標。

          -樣本量未公開。

          -需要手動一個崗位一個崗位看。

          -熱門崗位要付費。

          【使用建議】

          -個人用戶可以作為自己了解市場的依據。

          -HR需要做好信息篩查和參考。


          03

          招聘網站


          招聘網站的薪資查詢功能【訪問路徑】以boss為例:boss直聘APP - 我的 - 其他功能 - 薪酬查詢

          【數據來源】招聘網站大數據。

          【數據質量】★★☆☆☆因為數據來自于招聘網站大數據,樣本量足夠大。但整體數據偏高。

          【優勢】

          -數據免費。

          -崗位、行業齊全。

          【劣勢】

          -沒有職級對標。

          -招聘網站的薪酬數據整體偏高(一方面因為市場上的招聘的人才要比企業內部的自有人才更貴,也就是常說的薪酬倒掛;另一方面有些企業在招聘過程中,提供薪酬區間虛高)。

          -需要手動一個崗位一個崗位看。

          【使用建議】

          -個人用戶可以作為自己了解市場的依據。

          -HR僅作參考。

          04

          第三方機構免費報告


          【網址】

          銳仕方達https://www.risfond.com/contentcenter

          中智(中智公眾號更新更快一點,明細版需要付費)http://www.ciichr.com/nciichr/zyzx96/scrdbg/index.html

          科銳https://www.careerintlinc.com/whitepaper.html

          【數據來源】乙方公司自行收集。

          【數據質量】★★★☆☆因為數據來自于乙方數據庫,而乙方多以招聘獵頭服務為主,整體數據較市場偏高。

          【優勢】

          -免費數據較多。

          -基礎的可視化做得還可以。

          -主要的行業崗位都有

          【劣勢】

          -沒有職級對標

          -作為報告專業度不夠(畢竟不是專業做薪酬的,免費就別想太多)。

          -數據準確性不高,薪酬數據往往比實際偏高(市場上的人才要比企業內部的人才更貴,也就是常說的薪酬倒掛)。

          【使用建議】

          -個人用戶可以作為自己了解市場的依據。

          -HR僅作參考,建議多方交叉比對。

          05

          招聘渠道

          除了招聘網站本身,用人單位可通過招聘與候選人的溝通獲取外部薪酬數據,當然這種方式溝通成本相對較大,但好處在于獲取的信息相對全面,可通過面談了解到薪資水平、薪酬結構及對應績效考核等,為薪酬診斷提供較為詳實的資料。

          如果通過獵頭招聘,還可以讓獵頭提供mapping,進一步了解行業不同崗位、職級薪酬水平。


          06

          各地人社局、統計局的工資價位報告


          【網站】各地人社局/統計局官網。

          【數據來源】每年,各地的人社局或者統計局牽頭調查統計的當年工資價位數據。

          【數據質量】★★★★☆因為樣本量足夠大,且覆蓋大中小型企業、大多數城市的明細報告中,行業和崗位都非常齊全,整體數據真實性較高。整體薪酬數據要比其他報告更低。因為政府的統計樣本更大,樣本范圍更廣,很多商業報告不統計的中小公司也會被放入樣本庫。

          【優勢】

          -準確度高,政府篩選數據樣本量大,避免了樣本誤差。

          -行業齊全,詳細報告一般都分十多個門類、幾十個大類行業。

          -部分地方的報告數據可以精確到崗位,方便做對標分析。

          -不僅有中位數,還有高、低分位值多檔數據(具體分位值參見當地報告說明),可以做對應崗位簡單的薪酬帶寬。

          -部分城市有特色功能(北京的報告中提供各行業人力成本占銷售收入比重)

          【劣勢】

          -沒有對標職級(政府做的工資價位數據目的不是對標職級)。

          -不同城市的數據詳細程度不一樣(比如杭州用企業類型分類;上海用行業分類)。

          -部分城市沒有在網上公開詳細數據(上海、北京沒有在線上公開詳細數據,可以問問社保是否可以領取紙質版)。

          【操作建議】

          -個人用戶可以作為自己了解市場的依據。

          -HR需要做好信息篩查與匹配,自行與公司情況進行比對。

          -如果當地沒有公開明細報告,可以問問社保是否可以領取紙質版報告(社保局內部都有詳細報告,一般是紙質版)。


          主站蜘蛛池模板: 在线观看精品一区| 人妻无码久久一区二区三区免费 | 亚洲AV日韩综合一区| 日韩精品区一区二区三VR| 国模无码一区二区三区| 精品无码一区二区三区爱欲九九 | 亚洲成AV人片一区二区| 日本一区视频在线播放| 国产一区二区精品久久岳√| 中文字幕在线一区二区三区| 在线一区二区观看| 国产一区二区三区内射高清| 视频一区视频二区在线观看| 国产传媒一区二区三区呀| 亚洲国产精品综合一区在线| 精品无人乱码一区二区三区| 97久久精品无码一区二区| 亚洲视频一区二区三区| 爱爱帝国亚洲一区二区三区 | 熟妇人妻系列av无码一区二区| 精品国产一区在线观看| 亚洲第一区精品观看| 国产人妖在线观看一区二区 | 国产伦精品一区二区三区精品| 精品无码中出一区二区| 无码少妇一区二区性色AV| 日本高清天码一区在线播放| 九九久久99综合一区二区| 国产成人一区二区三区高清 | 中文字幕一区二区三区在线观看| 麻豆一区二区在我观看| 国产对白精品刺激一区二区| 精品一区二区三区在线视频观看| 中文字幕一区二区三区免费视频| 正在播放国产一区| 亚洲欧美日韩中文字幕在线一区| 国产高清在线精品一区| 国产精品乱码一区二区三区| 无码毛片视频一区二区本码| 天天综合色一区二区三区| 国产午夜精品一区理论片飘花|