記錄第一次完整的uni-app開發經驗

天下沒有收費的bug發表於2021-06-10

由於我是做後端的,一直沒有做過前端的頁面,以前在學校圖書館看的都是jsp技術,幾乎是把java程式碼巢狀在前端介面。後面出來實習了才發現,jsp是真的落後了。現在的大學和實際工作所需偏差太大了,沒辦法。後面接觸到前端,是在實習的第二家公司。那時候除了寫後端介面,還得把PC端的管理介面寫出來。因為前端模板用到的是springboot的thymeleaf技術。開源框架是若依,程式碼一般都是能直接生成的。倒是也搗鼓過一些前端的東西。這幾天想要幫別人做一個商品展示頁面。功能相對比較簡單,也是沒有太多要求。

我們現在這家公司用的是angular,這個東西這麼說,還是比較龐大的,不太好搭建環境。最後就選擇了用uni-app開發,相關技術就是vue了。

首先是參考了uni-app的一個外掛:瀑布流商品展示 ,不得不說,這個頁面還挺好看,特別是開箱即用,對我這種特別友好。

由於上面那個作者沒有做重新整理,後面我就加了一個手動重新整理資料的下一頁功能,然後又給移動端新增了下拉重新整理的功能。參考: uni-app實現上拉載入,下拉重新整理(下拉帶動畫) 

整體問題不是很多,但是要整合兩者,還是花了一點時間。先看最終效果圖

PC端(手動點下一頁):

 

 

移動端(下拉重新整理):

 

 

移動端(下拉重新整理,兩行適配):

 

 

細心的人就能看出來,前往購買按鈕還沒對齊,不過要求沒那麼高,所以這個留著以後在解決。現在說一下專案的開發以及開發完了,怎麼部署到伺服器上。

 

後端:後端我是用idea開發,主要做的事情就是從資料庫查詢資料返回給前端,用mybatis-puls做分頁,這些資料從哪裡來呢?大家百度:淘寶聯盟 。就能找到相關介面了。我的做法是做個定時任務,每天凌晨三點,去拉取相關介面資料更新到資料表中。

核心介面:定時任務介面說明

 

 

清空表程式碼:

truncate table shoppinglist(表名)

 

注意事項:

RestTemplateConfig 使用http傳送請求,需要配置(這些配置,百度上都是一樣的)

 

 

MybatisPlusConfig    使用mybtis-plus分頁,要在裡面新增分頁外掛

@MapperScan("com/chonghuzhuang/designmode/dao/mapper")  掃描mapper檔案所在的資料夾

 

 

 

maven打包如果出現外掛報錯,要新增下面這個配置到pom.xml中

記錄第一次完整的uni-app開發經驗
<plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.12.4</version>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
 </plugin>
View Code

如果執行報錯資訊為找不到XXXmapper.xml檔案,需要新增下面這個配置到pom.xml中

記錄第一次完整的uni-app開發經驗
<resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
</resource>
View Code

 

 

 

然後就是資料庫:其實應該用駝峰命名,但是時間太趕了,為了保持一致,我就偷懶了,然後在返回資料的時候,在做了轉換,轉換也不嚴謹,要是是為了配合上面的外掛,然後就沒對資料進行大改,後面再優化了

 

 

 

 

 

後端基本上就是這樣了,下面來看前端

前端使用uni-app開發,前端懂的不多,不太知道哪裡是重點

首先是傳送請求到後端,獲取資料,newsList是測試資料,真正用到的是list

 

 

然後拿到資料,就渲染到前端介面

 

 

 

 

前往購買的資料,在後端返回的本來就是一個連結,我們直接在新視窗開啟即可

 

 

前端拿到載入的資料,但是介面上卻沒有渲染出效果,此時我們要強制渲染一下

 

 

其他就沒什麼需要注意的了。開發完成,除錯沒有問題,就部署到伺服器上。

uni-app打包教程網上有很多,我就不細說了

 

 

打包完成,我們得到一個static和html檔案

 

 

我們只需要把這個放到伺服器上就可以了。注意,網上很多說放到伺服器根目錄下,這個容易誤導別人。我伺服器上部署的是tomcat,因此這個根目錄指的就是webapp下。後端用maven打包成jar包,放到指定目錄,然後在cmd中執行java -jar xxx.jar (百度springboot打jar包,就有很詳細的教學了)。

這裡需要注意的是,我們後端單獨打包成一個服務,需要一個介面,比如我後端用的介面是9015,我就要去阿里雲的後臺,把9015埠開啟(百度阿里雲伺服器開放指定埠)。

為什麼很多步驟我都叫你們百度呢,因為我現在把詳細步驟放出來,軟體更新了,那些步驟的位置也很可能會傳送變化,所以還是去百度看最新的操作步驟。

最後附上沒優化之前的專案,各種bug,各種醜哭

頁面沒有做適配

 

 

 

 

<a>標籤紅配藍,真心覺得不好看,所以後面才換成按鈕點選世界開啟新視窗 

 

 

這個是快完工的了 

 

 

哈哈,水平有限,其他翻車現場,就不放出來了。經過這次,也對前後端分離有了更深一步的實踐,不得不說,vue真是方便了很多事情。uni-app對我來說也是一個福音。作為一個後端開發人員,特別喜歡這些能快速上手的技術,這樣自己寫好介面,也能搗鼓一下前端的頁面來對接介面了。最後感謝那些開箱即用的大佬,給我們創造了一個很好用的輪子。這個專案,後面如果有時間優化,我就放到我的gitee上面,給後面的新人練練手也是很不錯的選擇。

相關文章