美文网首页
前端解析ipa、apk安装包信息 —— app-info-par

前端解析ipa、apk安装包信息 —— app-info-par

作者: chenquincy | 来源:发表于2018-11-08 14:07 被阅读0次

    背景

    最近公司内部的一个管理安装包的平台准备进行重构,之前安装包上传的姿势是这样的

    image.png

    不好意思,放错了,是这样的:

    1. 前端选择ipa或者apk文件上传到后端

    2. 后端解析出安装包的名称、版本号等信息之后再上传到存储云

    3. 后端将安装包存储url、名称、版本号等保存到数据库

    这个姿势有什么问题呢?很明显,太磨叽了。肥皂,哦不,安装包需要经过两次网络传输:从前端传到后端再传到存储云。安装包一般体积都不小,两次传输会浪费很长时间。

    那,怎么快点捡到肥皂防止被 gang ?考虑一下这个姿势

    安全捡肥皂

    不好意思,又放错了,是这样的:

    1. 前端选择ipa或者apk文件
    2. js解析安装包的名称、版本号
    3. 将安装包直传到存储云,上传成功的回调中将安装包url、名称、版本号发送给后端

    安装包只需要经过一次传输,另一次则是可以忽略不计的请求

    因为捡肥皂时间短,出事被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标签引入:

    <!-- 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(严肃脸)

    最后的最后

    深圳大疆创新长期招收前端(可内推),欢迎投递简历到 mail@quincychen.cn

    附招聘官网:大疆创新招聘官网

    相关文章

      网友评论

          本文标题:前端解析ipa、apk安装包信息 —— app-info-par

          本文链接:https://www.haomeiwen.com/subject/crkwxqtx.html