搜索文档 /

添加手机

我们的照片库应用程序直到在iOS,Android和Web上运行 - 都使用一个代码库,才能完成。必威网址app它只需要一些小的逻辑更改,以支持移动平台,安装一些本机工具,然后在设备上运行该应用程序。我们走吧!

让我们从进行一些小的代码更改开始 - 然后,当我们将其部署到设备时,我们的应用程序将“工作”。

特定于平台的逻辑

首先,我们将更新照片保存功能以支持移动设备。我们将根据平台 - 移动或Web运行略有不同的代码。导入 平台 Ionic Vuebetway东盟体育app的API:


              进口
             
              {
             ISPLATFORM
              }
             
              
             
              '@betway东盟体育appionic/vue'
              ;
复制 复制

在里面 保存图片 功能,检查应用程序正在运行的哪个平台。如果是“混合动力”(电容器,本机运行时),请使用该照片文件读取base64格式 readfile 方法。另外,使用文件系统API将完整的文件路径返回到照片。设置 WebViewPath ,使用特惠 Capacitor.convertFilesRC 方法 ( 详细信息在这里 )。否则,请在网络上运行应用程序时使用与以前相同的逻辑。


              const
             保存图片
              =
             
              异步
             
              ((
             照片
              
             摄影作品
              ,,,,
             文件名
              
             
              细绳
              
              
             
              承诺
              <
             Userphoto
              >
             
              =>
             
              {
             
              
             base64data
              
             
              细绳
              ;
             
              //“混合动力”将检测到移动性-IOS或Android
             
              如果
             
              ((
              ISPLATFORM
              ((
              '杂交种'
              
              
             
              {
             
              const
             文件
              =
             
              等待
             文件系统
              
              readfile
              ((
              {
             小路
              
             照片
              
             小路
              
             
              }
              
              ;
             base64data
              =
             文件
              
             数据
              ;
             
              }
             
              别的
             
              {
             
              //获取照片,读为斑点,然后转换为base64格式
             
              const
             回复
              =
             
              等待
             
              拿来
              ((
             照片
              
             WebPath
              
              
              ;
             
              const
             斑点
              =
             
              等待
             回复
              
              斑点
              ((
              
              ;
             base64data
              =
             
              等待
             
              convertblobtobase64
              ((
             斑点
              
             
              作为
             
              细绳
              ;
             
              }
             
              const
             Savedfile
              =
             
              等待
             文件系统
              
              writefile
              ((
              {
             小路
              
             文件名
              ,,,,
             数据
              
             base64data
              ,,,,
             目录
              
             目录
              
             数据
              }
              
              ;
             
              如果
             
              ((
              ISPLATFORM
              ((
              '杂交种'
              
              
             
              {
             
              //通过重写'file://'路径到http来显示新图像
             
              //详细信息:https://ionicbetway东盟体育appframework.com/docs/building/webview#file-protocol
             
              返回
             
              {
             文件路径
              
             Savedfile
              
             Uri
              ,,,,
             WebViewPath
              
             电容器
              
              convertfilesrc
              ((
             Savedfile
              
             Uri
              
              ,,,,
             
              }
              ;
             
              }
             
              别的
             
              {
             
              //使用WebPath显示新图像,而不是Base64,因为它是
             
              //已经加载到内存中
             
              返回
             
              {
             文件路径
              
             文件名
              ,,,,
             WebViewPath
              
             照片
              
             WebPath
              }
              ;
             
              }
             
              }
              ;
复制 复制

接下来,在 负载 功能。在移动设备上,我们可以直接指向文件系统上的每个照片文件并自动显示它们。但是,在网络上,我们必须将每个图像从文件系统中读取到base64格式中。这是因为文件系统API使用 索引 在引擎盖下。更新 负载 功能:


              const
             
              负载
             
              =
             
              异步
             
              ((
              
             
              =>
             
              {
             
              const
             光子师
              =
             
              等待
             贮存
              
              得到
              ((
              {
             钥匙
              
             
              photo_storage
             
              }
              
              ;
             
              const
             photosinstorage
              =
             光子师
              
             价值
              
             
              JSON
              
              解析
              ((
             光子师
              
             价值
              
             
              
             
              [[
              这是给予的
              ;
             
              //如果在网络上运行...
             
              如果
             
              ((
              
              ISPLATFORM
              ((
              '杂交种'
              
              
             
              {
             
              为了
             
              ((
              const
             照片
              
             photosinstorage
              
             
              {
             
              const
             文件
              =
             
              等待
             文件系统
              
              readfile
              ((
              {
             小路
              
             照片
              
             文件路径
              ,,,,
             目录
              
             目录
              
             数据
              }
              
              ;
             
              //仅Web平台:将照片加载为base64数据
             照片
              
             WebViewPath
              =
             
               `
               数据:图像/jpeg; base64,
                $ {
               文件
                
               数据
                }
               `
              ;
             
              }
             
              }
             相片
              
             价值
              =
             photosinstorage
              ;
             
              }
复制 复制

我们的照片库现在由一个在网络上运行的代码库,Android和iOS。接下来,您一直在等待 - 将应用程序部署到设备。

以前的
在文件系统上加载照片
下一个
部署手机
Baidu