前端解析ipa、apk安裝包信息 —— app-info-parser

背景

最近公司內(nèi)部的一個管理安裝包的平臺準(zhǔn)備進行重構(gòu),之前安裝包上傳的姿勢是這樣的

image.png

不好意思,放錯了,是這樣的:

  1. 前端選擇ipa或者apk文件上傳到后端

  2. 后端解析出安裝包的名稱、版本號等信息之后再上傳到存儲云

  3. 后端將安裝包存儲url、名稱、版本號等保存到數(shù)據(jù)庫

這個姿勢有什么問題呢?很明顯,太磨嘰了。肥皂,哦不,安裝包需要經(jīng)過兩次網(wǎng)絡(luò)傳輸:從前端傳到后端再傳到存儲云。安裝包一般體積都不小,兩次傳輸會浪費很長時間。

那,怎么快點撿到肥皂防止被 gang ?考慮一下這個姿勢

安全撿肥皂

不好意思,又放錯了,是這樣的:

  1. 前端選擇ipa或者apk文件
  2. js解析安裝包的名稱、版本號
  3. 將安裝包直傳到存儲云,上傳成功的回調(diào)中將安裝包url、名稱、版本號發(fā)送給后端

安裝包只需要經(jīng)過一次傳輸,另一次則是可以忽略不計的請求

因為撿肥皂時間短,出事被gang的幾率也會小很多(逃

安利正式開始

安裝

npm install app-info-parser
# or yarn
yarn add app-info-parser

使用

NPM引入:

const AppInfoParser = require('app-info-parser')
const parser = new AppInfoParser('../packages/xxx.apk') // or xxx.ipa
parser.parse().then(result => {
  console.log('app info ----> ', result)
}).catch(err => {
  console.log('err ----> ', err)
})

script標(biāo)簽引入:

<!-- html -->
<input type="file" name="file" id="file" onchange="fileSelect()">
<script src="/dist/app-info-parser.min.js"></script>
<script>
function fileSelect () {
  const files = document.getElementById('file').files
  const parser = new AppInfoParser(files[0])
  parser.parse().then(result => {
    console.log('app info ----> ', result)
  }).catch(err => {
    console.log('err ----> ', err)
  })
}
</script>

最后

源碼地址:https://github.com/chenquincy/app-info-parser

我沒有在要star(嚴(yán)肅臉)

最后的最后

深圳大疆創(chuàng)新長期招收前端(可內(nèi)推),歡迎投遞簡歷到 mail@quincychen.cn

附招聘官網(wǎng):大疆創(chuàng)新招聘官網(wǎng)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容