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
  • 周末,寫點簡單的水一下。 新版本的vs創建項目的時候可以選擇自帶一個swagger。然而這隻是基本的swagger功能。 幾個介面無所謂啦,隨著介面越來越多,就這麼丟給你,一時間也會懵逼,所以這篇文章要做的有兩個功能。 給swagger文檔添加註釋 給swagger添加切換“版本”的功能(也可以理解 ...
  • 大家好,我是沙漠盡頭的狼。 本文首發於Dotnet9,介紹使用Lib.Harmony庫攔截第三方.NET庫方法,達到不修改其源碼並能實現修改方法邏輯、預期行為的效果,並且不限於只攔截public訪問修飾的類及方法,行文目錄: 什麼是方法攔截? 示常式序攔截 非public方法怎麼攔截? 總結 1. ...
  • 問題代碼: xmal:一個按鈕+一個顯示框 1 <Button Width="100" Height="50" Margin="10" Click="Button_Click">test</Button> 2 <TextBox x:Name="display" Width="300" Height= ...
  • 前置條件 ​ 阿裡雲伺服器一臺(可在購買伺服器時勾選安裝寶塔選項,免去後面的寶塔安裝) ​ 設置阿裡雲伺服器密碼並登陸伺服器 ​ 以下操作均在伺服器Linux中進行(使用遠程連接工具登錄) 寶塔登錄 登錄阿裡雲伺服器在Linux命令行中輸入bt,查看寶塔信息 ​ 根據寶塔信息提供的網站登陸寶塔服務( ...
  • GetTokenInformation 用於檢索進程或線程的令牌(Token)信息。Token是一個數據結構,其包含有關進程或線程的安全上下文,代表當前用戶或服務的安全標識符和許可權信息。GetTokenInformation函數也可以用來獲取這些安全信息,通常用於在運行時檢查某個進程或線程的許可權或安... ...
  • matplotlib 在1.0版本之前其實是不支持3D圖形繪製的。 後來的版本中,matplotlib加入了3D圖形的支持,不僅僅是為了使數據的展示更加生動和有趣。更重要的是,由於多了一個維度,擴展了其展示數據分佈和關係的能力,可以一次從三個維度來比較數據。 下麵介紹在matplotlib中繪製各類 ...
  • 編寫一個App就能編譯發佈到iOS、Android和Web等各大平臺的跨平臺技術,各大廠商一直都有研究和發佈對應技術產品,目前最熱門的莫過於Flutter框架了。而Dart作為其唯一的編程語言,今天我們開始來體驗一下…… ...
  • 實現基本的線程池 前提:我們要實現的線程池有如下功能: 基本的線程池模型 能提交和運行任務 能正常關閉線程池 線程的拒絕策略 線程池擴容 縮容線程池 代碼地址: 1、線程池的介紹? 線程池是什麼? 線程池是一種利用池化技術來管理線程的一種技術。 當沒有線程池的時候,我們如何創建線程? 繼承Threa ...
  • SDRAM基本信息 儲存能力計算 4X16X4=256(Mbit),註意不是MByte SDRAM控制 sdram包含兩個部分:sdram_ctrl、fifo_ctrl。 sdram_ctrl:其頂層為SDRAM的控制模塊內部實例化了5個模塊,有初始化、自刷新、寫和讀模塊,還有一個仲裁模塊對這四個不 ...
  • 歡迎訪問我的GitHub 這裡分類和彙總了欣宸的全部原創(含配套源碼):https://github.com/zq2599/blog_demos 本篇概覽 欣宸正在為接下新的Java雲原生實戰系列原創做準備,既然是實戰,少不了一套雲原生環境,以下內容是必不可少的: linux操作系統 kuberne ...