是一種開源即時消息傳遞和IP語音/視頻(VoIP)電話,它使通過語音,視頻和文本消息傳遞與互聯網上的人們自由通信。其實說白了就是可以通過SIP協議(這個是重點)進行音視頻通話,發消息,這個是linphone的官網:http://linphone.org,這個是國外的網站打開可能有些慢。
github:https://github.com/BelledonneCommunications/linphone-desktop.git
gitlab:https://gitlab.linphone.org/BC/public/linphone-desktop.git
注:筆者開始接觸這項目的時候,代碼應該是放在linphone自己的服務器上,如果要下載整套系統是非常的費勁的,不僅僅需要科學上網還要忍受幾十K的下載速度,現在已經把代碼放到了github和gitlab上面了,好很多了,不過從submodule里面可是可以看到都是訪問的gitlab里面的。
其實代碼里面的README都已經寫的很清楚了,這就筆者就是給翻譯一下和備注一下需要注意的問題,如果已經有經驗的同學可以直接跳過,因為linphone是跨平臺的,這個系統是用C++,框架是QT來開發的,所以針對每個平臺都需要自行編譯,我們這就說一下Window吧,如果這個會了其他的平臺都是一樣的。
1、下載QTCreator
地址:http://download.qt.io/official_releases/qt/5.14/5.14.2/qt-opensource-windows-x86-5.14.2.exe
環境變量設置:
Qt5_DIR=C:\Qt\Qt5.14.2.14.2\msvc2017\lib\cmake
path=%path%;C:\Qt\Qt5.14.2.14.2\msvc2017\lib\cmake
安裝coreuntils:
mingw-get install msys-coreutils
QT5_DIR就是安裝QT的路徑,這里我用的msvc2017,因為筆者安裝的VS2017,下面會講安裝VS2017的注意是事項。path就是Window的環境變量,加一個QT的路徑。基本上每安裝一個第三方的工具都會設置環境變量,所以一定要清楚設備環境變量的意義。
2、安裝VS2017(VS2015也可以)
下載地址:https://visualstudio.microsoft.com/zh-hans/vs/older-downloads, 選擇vs2017社區版就可以了,不要選錯了哦。
安裝是需要注意
選擇 Windows Universal Platform development, Desktop C++ Development, .NET Development
這里需要注意的是一定要選擇Windows 8.1 SDK,否則編譯會有問題,其他的就是選擇最基本的三個開發組件就可以了。
3、安裝MinGW
下載地址:https://sourceforge.net/projects/mingw,安裝最新的就可以。
注意事項
選擇所有的基本安裝除了 Ada 和 Fortran
這里下載的時候好像必須科學上網,不然沒有辦法更新。
4、安裝Yasm
下載地址:https://yasm.tortall.net/Download.html
這里還是再強調一下,這里設置環境變量的的目錄,就是用這些第三方工具編譯代碼或一些輔助作用,包括后面需要安裝的python。
5、nasm
下載地址:https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/win64/
注意事項:
有兩個文件:nasm-2.14.02-installer-x64.exe,nasm-2.14.02-win64.zip
這兩個一個是安裝包,一個是zip包,無論是哪一種安裝,最后只要把它里面的目錄加入到PATH里面就可以了,
驗證一下:nasm --version 能顯示版本號就可以了
筆者的是直接下載的zip包,直接把C:\app\nasm\nasm-2.15添加到環境變量里面了
6、Git
這個工具就不用再多說了,既然能夠看到這個文章肯定是有一定開發經驗的,這個如果不知道,就搜索一下吧。
7、doxygen
官網地址:https://www.doxygen.nl/index.html
下載地址:https://sourceforge.net/projects/doxygen/files/snapshots/doxygen-1.8-svn/windows/
環境變量:把下載下來的文件夾加入到PATH路徑里面
驗證一下:doxygen --version 能夠看到版本號就OK了。
8、Perl
下載地址:http://strawberryperl.com, 直接下載最新版就可以了。
環境變量:把這個C:\Strawberry\perl\bin加入環境變量,這里是我自己安裝的目錄,需要確認一下自己是不是這個目錄哦。
驗證一下:perl --version
9、python
下載地址:https://www.python.org/downloads/release/python-381/
這里下載是python3.8,其實2.7也可以的(但是2.7快要停止了,所以...)
pip install pystache --user
pip install six --user
這里需要安裝兩個包。
到這里Window的環境基本上都已經弄好了,我們來總結一下編譯linphone需要的工具,其實README里面已經說的很清楚了,這里再給列一下:
因為Window的特殊性沒有GCC,cmake什么的所以才需要安裝MingGW,但是在linphone界面和一些邏輯用的是QT所以需要安裝QT框架,VS就不用說了各種版本的SDK庫需要依賴,跑不掉的。
linphone有很多submodule,所以需要進行submodule進行下載
git clone https://gitlab.linphone.org/BC/public/linphone-desktop.git --recursive
git submodule update --init --recursive
#進入到linphone-desktop
cd linphone-desktop
#新建一個build文件夾
cd build
#然后執行cmake命令
cmake .. -DCMAKE_BUILD_PARALLEL_LEVEL=10 -DCMAKE_BUILD_TYPE=RelWithDebInfo -A Win32
cmake --build . --target ALL_BUILD --parallel 10 --config RelWithDebInfo
如果上面的命令順利的話就可以看到build目錄下面有一個OUTPUT,這個里面就有我們編譯好的bin目錄下面就有linphone.exe文件。
雖然寫這些簡單,但是如果你是第一次接觸這個開源項目肯定會遇到各種問題,筆者當初做的時候也是一樣,如果大家在開發過程中什么問題可以直接給我留言或私信給我進行交流,當然可以和我們團隊進行商務合作。
Lin UI 是基于 微信小程序原生語法 實現的組件庫。遵循簡潔,易用的設計規范。Lin UI 致力于給小程序開發者提供愉悅的開發體驗。
文末多圖預覽,小伙伴們可以直達預覽出,查看UI效果!
https://github.com/TaleLin/lin-ui
http://doc.mini.7yue.pro/
組件采用微信小程序的原生語法編寫,只需要熟悉初級的 HTML 、 CSS 、 JavaScript 和 微信小程序 相關知識就能上手開發,同時既可以一次性加載所有的代碼,也可以選擇只加載使用到的某些組件的代碼。
遵循統一的 設計規范 ,接口標準 和 事件冒泡機制 ,減少開發者查閱文檔的時間成本,提升開發效率。
為了能讓更多開發者接觸之初,就能夠熟練的用Lin-UI開發自己的小程序應用,我們對每個組件的 屬性 、 事件 、用法 、和 案例 上都做了詳盡的描述。
支持 按需引入 和 自定義的主題色 ,生成多種風格,滿足個性化產品需求;同時還具有很強的 擴展性 ,輕松實現組件的二次開發。
支持第三方框架,taro,mpvue
Lin UI 致力于給小程序開發者提供愉悅的開發體驗。
在開始之前,推薦先學習微信官方的小程序開發文檔,并正確安裝和配置了 Node.js v8或以上。
Lin UI提供兩種安裝方法,滿足不同開發者的需求。如果您需要使用npm安裝,請確保您已經在本機安裝了npm
1、方式一: 使用npm安裝 (推薦)
打開小程序的項目根目錄,執行下面的命令(如果使用了云開發,需要進入miniprogram文件夾下執行下面的命令)。
npm init
接著,繼續執行下面的命令。
npm install lin-ui
執行成功后,會在根目錄里生成項目依賴文件夾 node_modules/lin-ui (小程序IDE的目錄結構里不會顯示此文件夾)。然后用小程序官方IDE打開我們的小程序項目,找到 工具 選項,點擊下拉選中 構建npm ,等待構建完成即可。
出現上圖所示的結果后,可以看到小程序IDE工具的目錄結構里多出了一個文件夾 miniprogram_npm(之后所有通過 npm 引入的組件和 js 庫都會出現在這里),打開后可以看到 lin-ui 文件夾,也就是我們所需要的組件。
2、方式二:下載代碼
直接通過git下載 Lin UI 源代碼,并將 dist 目錄(Lin-UI 組件庫)拷貝到自己的項目中。
git clone https://github.com/TaleLin/lin-ui.git
下文會簡單介紹一個Lin UI 組件的引入和使用。
使用前,確保該組件已經在你的項目目錄結構里。以icon組件為例,只需要在使用頁面的json文件中引入icon對應的自定義組件即可。組件路徑:path/to/${組件名稱}/index
TIP
例如:npm安裝:/miniprogram_npm/lin-ui/icon/index源碼安裝:/dist/icon/index
{
"usingComponents": {
"l-icon": "path/to/icon/index"
}
}
然后在wxml中直接使用該組件。
<l-icon name="add"> </l-icon>
考慮到開發者在面臨不同到項目時,需求和行業的不同。Lin UI 設計規范上支持一定程度上的樣式定制,以滿足業務和品牌上多樣化的視覺需求。
同時,可以通過對 components.json 進行配置,來編譯生成相對應的組件。為滿足自定義的需求,首先我們要去下載 Lin UI 源碼。
git clone https://github.com/TaleLin/lin-ui.git
安裝相關依賴
npm install
完成以上兩步是對 Lin UI 進行自定義配置的基礎要求。
Lin UI 的樣式使用了 Less 作為開發語言,并定義了一系列全局/組件的樣式變量,你可以根據需求進行相應調整。
以下是一些最常用的通用變量,所有樣式變量可以在這里找到。
// Color
@default-color : @theme-color;
@success-color : #34BFA3;
@warning-color : #FFE57F;
@error-color : #F4516C;
@disabled-color : #DEE2E6;
@selected-color : fade(@default-color, 90%);
@tooltip-color : #fff;
@subsidiary-color : #80848f;
@rate-star-color : #f5a623;
// Text
@title-color : #0e0e0e;
@text-color : #888;
同樣打開根目錄,打開config/style/_theme.less文件,看到文件中定義了一個變量 @theme-color ,如果有主題色修改的需求,更改它即可。
// 主題色
@theme-color : #2c61b4; // 主題色
其他 更改完成后,在Lin UI下的根目錄里打開終端執行如下所示命令
npm run build
根目錄下的 dist 文件夾即是編譯后的自定義組件。
按需加載組件需要您配置config文件下的component.json文件
例如只需要 button 和 loading 兩個組件,在component.json填入需要的組件名,如下所示代碼:
{
"components": [
"button",
"loading"
]
}
配置完成后,在 Lin UI 下的根目錄里打開終端執行
npm run build
此時dist文件夾下面會生成button和loading兩個組件及其所依賴的組件。
├── dist
│ └── button. // button組件
│ ├── index.wxml // 組件wxml文件
│ ├── index.wxss // 組件wxss文件
│ ├── index.json // 組件json文件
│ └── index.js // 組件js文件
│ └── loading // loading組件
根目錄下的 dist 文件即是編譯后的自定義組件,使用時將他拷貝到自己的項目里即可。
Lin UI是一個 用心的小程序UI組件庫,無論是顏值還是其組件的豐富程度都很良心,不知道有沒有和筆者一樣的小伙伴,筆者比較喜歡這樣的風格組件,偏向中國風。以上部分內容來自于官方文檔,若你已經對它產生興趣,那么可以查看文檔獲得完整的使用指南,enjoy it!