uniapp+nvue實現仿微信/得物相冊插件:選擇界面 +自定義相冊+圖片視頻過濾


本篇文章基於uniapp 框架+ nvue,實現了uniapp仿微信/得物相冊選擇功能實例項目,該插件實例實現了以下功能:

1: 相冊過濾

2: 圖視頻過濾

3: 界面UI定制化

4: 柵格列數定制化

效果圖:

 

 


技術實現

  • 開發環境:HbuilderX + nodejs
  • 技術框架:uniapp + vue2.x
  • 測試環境:App端(Android + IOS)
  • 插件:Zhimi-Album-JustPicker
  • 代碼:開源

效果概覽

在uniapp開發下,安卓和ios端表現效果高度一致,通過可控性的api配置使得相冊實現高度可定制性,可以實現內置圖片按鈕,列數控制,多語言環境等功能。

 

 

 

自由布局的控件

相對於傳統的彈出式選擇控件,固定不變的按鈕,固定不變的布局與設計使得開發面對多種需求的場景顯得尤其乏力,因此自由布局插件給予了一個更大,更自由地開發控件,僅僅引入相冊顯示本身,其余界面均開發者可定制化開發,開發者擁有了足夠的控制權。

<zhimi_album_view 
    ref='albumView' 
  class="album-elem"
/>

 

// 獲取相冊控件對象
let albumView = this.$refs.albumView
// 監聽相冊事件回調
albumView.setEventCallback(this.AlbumCallbackHanlder)
// 設置相冊類型
albumView.albumType(0); // 0 全部, 1 照片, 2 視頻
// 獲取系統相冊列表
albumView.getAlbumTypeNames(albums => this.albums = albums)
// 設置每行顯示數量
let spanCount = 4;
albumView.setSpanCount(spanCount)
// 設置最大選擇數量
var maxCount = 9;
albumView.setMaxCount(maxCount)

 

開發者可以設置列數,最大選擇數,甚至是相冊類型,指定相冊,awesome!


控制篩選,清空選擇

相較於與傳統的相冊選擇插件不同,插件提供方法控制過濾相冊,清空選擇等方法,方便結合各類場景,例如發送圖視頻、朋友圈上傳圖片、圖文排版場景。

獲取系統相冊列表

albumView.getAlbumTypeNames(albums => this.albums = albums)

 

加載相冊內容

albumView.loadAlbum(albumId) // 通過上述的獲取相冊列表獲得

 

清空已選項目

albumView.clearCheckedImages()

 

獲取已選項目

albumView.clearCheckedImages()

 


靈活的客制化UI

由於相冊控件的組件化,使得界面的布局更加靈活,不論是配色,語言,界面布局都能自由搭配,仿微信相冊,仿得物界面,均能掌握在手中。

 

至此uniapp開發仿微信仿微信/得物相冊選擇界面的分享到此為止咯

對於這部分的代碼使用到的原生插件,可以參考uniapp插件市場中的插件,在插件市場也有開源的代碼工程哦。

DCloud 插件市場自定義相冊地址:https://ext.dcloud.net.cn/plugin?id=5846

通過插件市場對應的按鈕可以直接導入開源代碼,但是記得先安裝HbuilderX哦

歡迎加入插件使用交流QQ群:755910061 一起討論uniapp開發


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM