01 uniapp/微信小程式 項目day01

来源:https://www.cnblogs.com/heymar/archive/2022/09/20/16712128.html
-Advertisement-
Play Games

一.起步 1.1 配置uni-app開發環境 什麼是uni-app,就是基於vue的一個開發框架,可以將我們寫的一套代碼,同時發佈到ios、安卓、小程式等多個平臺 ==官方推薦使用Hbuilderx來寫uni-app項目== 下載之後可以將預設改為vscode 進入hbuilder插件市場下載scs ...


一.起步

1.1 配置uni-app開發環境

什麼是uni-app,就是基於vue的一個開發框架,可以將我們寫的一套代碼,同時發佈到ios、安卓、小程式等多個平臺

image-20220809181628923

官方推薦使用Hbuilderx來寫uni-app項目

下載之後可以將預設改為vscode

image-20220809183206627

進入hbuilder插件市場下載scss插件

image-20220809183343350

1.2 初始化uni-app項目

創建一個uni-app項目

image-20220809183922387

如果把小程式項目運行到微信開發者工具:

首先manifest.json配置自己的id

image-20220809184826603

然後工具 設置 運行設置 找到微信開發者工具的安裝路徑

image-20220809184937147

然後記得我們的開發者工具需要開啟埠

image-20220809185209469

然後運行到微信小程式

image-20220809184957267

關閉提示:

image-20220809190411278

以前的做法是直接在config.json裡面改

image-20220809190443122

但是我們這個項目是hbuilder渲染過來的,所以應該在這邊改,具體在

manifest裡面源碼視圖,最下麵的mp-weixin,checkSiteMap為fasle

image-20220809190732109

git管理項目:

首先需要創建一個忽略文件

image-20220809191538551

裡面寫上兩個要忽略的目錄

image-20220809191640984

首先我們說過node_modules都是存放的第三方包,再進行傳輸的時候不需要傳來傳去,所以直接忽略

第二個文件下麵放的其實就是打包出來的文件,我們的微信小程式也就是讀取的這裡面的文件

image-20220809191742406

但是要註意一點

image-20220809191812284

然後打開目錄,運行git init初始化git目錄,再 git add .將所有文件放到暫存區,最後 git commit提交一次所有文件

image-20220809192124928

將項目上傳到gitee:

image-20220809193341059

創建倉庫後通過這兩個命令關聯項目並把它上傳上來

image-20220809193649758

1.3 配置tabBar效果

這次採用不同分支來做,首先創建一個tabbar的分支

image-20220809194520672

快速創建page頁,在page上新建頁面即可

image-20220809194653372

四個頁面出來就去配置tabbar,直接在pages.json裡面配置

image-20220809195259271

註意把pages.json還有pages裡面的index刪除,否則可能渲染不出來

1.4 導航條

直接在page.json修改 globeStyle

image-20220809201421741

註意先把每個頁面設置裡面的style的標題為空刪除才行

image-20220809201445244

1.5 分支提交與合併

作為一個分支如何來提交合併

首先在tabbar分支進行暫存和本地提交

image-20220809201620266

然後將本地的tabbar分支推送到遠程倉庫保存

image-20220809201658833

這個時候遠程倉庫只是有了新的分支,但是還沒有文件目錄

image-20220809201816756

繼續和主分支合併

image-20220809202053365

合併之後沒有衝突記得push上來

image-20220809202735277

如果有錯誤記得主分支暫存並提交一次倉庫

最後刪除tabbar分支即可

image-20220809202823323

二.首頁

image-20220810181845847

2.1 配置網路請求

首先創建一個home分支

image-20220810183019376

由於小程式沒有axios,而wx.request功能也比較簡單,不支持攔截器等一些功能,所以推薦使用一個包 @escook/request-miniprogram來發起網路請求

官方文檔:https://www.npmjs.com/package/@escook/request-miniprogram

安包之前記得初始化

image-20220810183401446

然後參考文檔進行引用,uni的網路請求是在main.js操作

需要註意的是,uni的頂級對象是uni.不再是wx.

image-20220810183558576

請求和響應攔截器都在main入口文件裡面定義

image-20220810183658013

2.2 輪播圖

首先獲取輪播圖數據:

註意這裡雖然是回到vue的語法,但是生命鉤子還是用的微信的

image-20220810184525484

入口文件配置baseUrl

image-20220810184800559

image-20220810190015630

渲染結構:

image-20220810191133452

目前scss語法跟less一樣展現出嵌套關係

image-20220810191346280

2.3 配置小程式分包

首先需要創建分包的目錄

image-20220810191945819

然後再pages.json裡面和pages同級聲明subPackages配置

root表示分包的目錄,pages表示分包的每一個頁面

註意對象包裹,以及裡面都有引號

image-20220810192602099

接下來右鍵subpkg創建一個頁面,註意勾選在pages中註冊

註意要先保存上面的才會出現選擇分包按鈕

image-20220810192719830

2.4 點擊輪播圖跳轉詳情頁

首先要將我們之前圖片外麵包裹的view組件改為navigator

註意怎麼來跳分包的,直接寫路徑

image-20220810193405846

然後我要傳參數過去

image-20220810193506004

2.5 封裝toast

因為我們每次請求數據,回來都會去發一次toast這個api去告訴失敗或者成功很麻煩,所以可以直接封裝一個在入口文件裡面

image-20220810194116195

2.6 分類導航

首先獲取數據

image-20220810195233718

渲染結構

image-20220810195621140

接下來做一個編程式導航跳轉

註意要跳tabBar只能switchTap

image-20220810195849572

2.7 樓層區域

樓層標題:

首先還是獲取樓層的數據

image-20220810200812263

然後渲染上去先渲染標題部分

image-20220810201040350

內容區域:

image-20220810202401561

註意回顧一下vue style要寫為{},mode為widthFix表示寬度固定高度自適應

右邊怎麼來排除第一個

image-20220810202648948

點擊每一項進入詳情頁:

首先創建分包

image-20220810203445957

然後查看一下我們的數據

image-20220810203517094

你會發現介面要跳轉的地址跟我們的分包的地址不同,所以這個時候應該在我們獲取介面這裡做一下處理

這裡最重要的是將我們的參數轉為數組用?分割然後拼接進我們新的url字元串這一個處理思路

image-20220810203835816

image-20220810203843671

然後將我們之前的代碼修改一下作聲明式導航

image-20220810204125433

2.8 分支合併與提交

image-20220810204525694

完成了分支的暫存、提交、以及推送之後就回到主分支

註意切換到主分支後,主分支要進行一次暫存,並提交到本地倉庫,然後再合併merge,在git push推送就不會衝突

image-20220810204828143

最後刪除home分支


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 提起標準 IO 庫,第一印象就是 printf/scanf,這有什麼可說的?但是一個流是如何處理寬窄字元集、緩存方式的?如何在程式內部將標準輸出重定向到文件?FILE* 與 fd 是如何相互轉換的?在處理大文件時 fseek/fseeko/fsetpos 有何區別?創建臨時文件時 tmpnam/te... ...
  • RedisInsight 是一個直觀而高效的 Redis GUI (可視化工具),它提供了設計、開發和優化 Redis 應用程式的功能,查詢、分析您的 Redis 數據並與之交互,簡化您的 Redis 應用程式開發 。(必備) RedisInsight 現在採用了基於流行的 Electron 框架的... ...
  • 2022-09-20 Redis——select Redis資料庫中的資料庫的個數為: 16個,使用0號資料庫開始的,到第15個資料庫結束。 在ubantu中,進入Redis客戶端的命令: redis-cli 在ubantu中,如果選擇第0-15個資料庫中的一個的命令,例如第0個: select 0 ...
  • 一、直播介紹 前幾期,我們為大家分享了ChunJun的數據還原、Hive事務表及傳輸模塊的一些內容,本期我們為大家分享ChunJun類載入原理與實現。 本次直播我們將從Java 類載入器解決類衝突基本思想、Flink 類載入器隔離的方案、ChunJun如何實現類載入器隔離及問題排查等方面為大家進行介 ...
  • 1.創建容器併進行持久化處理 #拉取鏡像 docker pull mysql:8.0.20 #啟動鏡像,用於拷貝配置文件到宿主機 docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.20 #查 ...
  • 更多技術交流、求職機會,歡迎關註位元組跳動數據平臺微信公眾號,回覆【1】進入官方交流群 摘要 位元組數據中台DataLeap的Data Catalog系統通過接收MQ中的近實時消息來同步部分元數據。Apache Atlas對於實時消息的消費處理不滿足性能要求,內部使用Flink任務的處理方案在ToB場景 ...
  • 2022 年 9 月 16 日,由中國信息通信研究院(以下簡稱“信通院”)主辦的“2022 OSCAR 開源產業大會"活動於北京成功舉辦。會上宣佈,StoneDB 發起廠商杭州石原子科技有限公司正式加入信通院“科技製造開源社區(TMOSC)”,未來石原子將與信通院及各成員單位一起聚焦可信開源全景,推 ...
  • 本篇為Redis性能問題診斷系列的第四篇,也是最後一篇,主要從應用程式、系統、伺服器硬體及網路系統等層面上進行講解,重點分享了哪些配置需要重點關註和調整優化,才能最大程度的發揮Redis的處理能力; ...
一周排行
    -Advertisement-
    Play Games
  • 下麵是一個標準的IDistributedCache用例: public class SomeService(IDistributedCache cache) { public async Task<SomeInformation> GetSomeInformationAsync (string na ...
  • 這個庫提供了在啟動期間實例化已註冊的單例,而不是在首次使用它時實例化。 單例通常在首次使用時創建,這可能會導致響應傳入請求的延遲高於平時。在註冊時創建實例有助於防止第一次Request請求的SLA 以往我們要在註冊的時候實例單例可能會這樣寫: //註冊: services.AddSingleton< ...
  • 最近公司的很多項目都要改單點登錄了,不過大部分都還沒敲定,目前立刻要做的就只有一個比較老的項目 先改一個試試手,主要目標就是最短最快實現功能 首先因為要保留原登錄方式,所以頁面上的改動就是在原來登錄頁面下加一個SSO登錄入口 用超鏈接寫的入口,頁面改造後如下圖: 其中超鏈接的 href="Staff ...
  • Like運算符很好用,特別是它所提供的其中*、?這兩種通配符,在Windows文件系統和各類項目中運用非常廣泛。 但Like運算符僅在VB中支持,在C#中,如何實現呢? 以下是關於LikeString的四種實現方式,其中第四種為Regex正則表達式實現,且在.NET Standard 2.0及以上平... ...
  • 一:背景 1. 講故事 前些天有位朋友找到我,說他們的程式記憶體會偶發性暴漲,自己分析了下是非托管記憶體問題,讓我幫忙看下怎麼回事?哈哈,看到這個dump我還是非常有興趣的,居然還有這種游戲幣自助機類型的程式,下次去大玩家看看他們出幣的機器後端是不是C#寫的?由於dump是linux上的程式,剛好win ...
  • 前言 大家好,我是老馬。很高興遇到你。 我們為 java 開發者實現了 java 版本的 nginx https://github.com/houbb/nginx4j 如果你想知道 servlet 如何處理的,可以參考我的另一個項目: 手寫從零實現簡易版 tomcat minicat 手寫 ngin ...
  • 上一次的介紹,主要圍繞如何統一去捕獲異常,以及為每一種異常添加自己的Mapper實現,並且我們知道,當在ExceptionMapper中返回非200的Response,不支持application/json的響應類型,而是寫死的text/plain類型。 Filter為二方包異常手動捕獲 參考:ht ...
  • 大家好,我是R哥。 今天分享一個爽飛了的面試輔導 case: 這個杭州兄弟空窗期 1 個月+,面試了 6 家公司 0 Offer,不知道問題出在哪,難道是杭州的 IT 崩盤了麽? 報名面試輔導後,經過一個多月的輔導打磨,現在成功入職某上市公司,漲薪 30%+,955 工作制,不咋加班,還不捲。 其他 ...
  • 引入依賴 <!--Freemarker wls--> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.30</version> </dependency> ...
  • 你應如何運行程式 互動式命令模式 開始一個互動式會話 一般是在操作系統命令行下輸入python,且不帶任何參數 系統路徑 如果沒有設置系統的PATH環境變數來包括Python的安裝路徑,可能需要機器上Python可執行文件的完整路徑來代替python 運行的位置:代碼位置 不要輸入的內容:提示符和註 ...