微信小程序學習筆記

微信小程序學習筆記

一、文件和目錄結構介紹

小程序包括:主體文件頁面文件
主體文件:
在這里插入圖片描述

  1. app.js:小程序入口文件
  2. app.json:小程序的全局配置文件
  3. app.wxss:小程序的全局樣式

頁面文件:是每個頁面所需的文件,小程序頁面文件都存放在pages目錄下,一個頁面一個文件夾

頁面文件:
在這里插入圖片描述

  1. .js:頁面邏輯(必須存在)
  2. .wxml:頁面結構(必須存在)
  3. .wxss:頁面樣式
  4. .json:小頁面配置

二、配置文件介紹

1、JSON

JSON是一種輕量級的數據格式,常用于前后端數據的交互,但是小程序中,JSON扮演配置項的角色,用于配置項目或者頁面屬性和行為

  1. app.json:小程序全局配置文件,用于配置小程序的一些全局屬性和頁面路由
  2. 頁面.json:小程序頁面配置文件,也稱局部配置文件,用于配置當前頁面的窗口樣式、頁面標題等
  3. project.config.json:小程序項目的配置文件,用于保存項目的一些配置信息和開發者的個人設置
  4. sitemap.json:配置小程序及其頁面是否允許被微信索引,提高小程序在搜索引擎搜索到的概率

2、pages

pages用來指定小程序由哪些頁面組成,用于讓小程序知道由哪些頁面組成以及頁面定義在哪個目錄,每一項都對應一個頁面的路徑信息

在這里插入圖片描述
主義事項:

  1. 頁面路由不需要寫文件后綴,框架會自動去尋找對應位置的四個文件進行處理
  2. 小程序中新增/減少頁面,都需要對pages數組進行修改
  3. 未指定entryPagePath(直接指示小程序首頁)時,數組的第一項代表小程序的初始頁面(首頁)

3、window

用于設置小程序的狀態欄、導航條、標題、窗口背景色
在這里插入圖片描述
配置項查詢鏈接:

https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html

在這里插入圖片描述

4、tabBar

定義小程序頂部底部tab欄,用以實現頁面之間的快速切換,可以通過tabbar配置項指定tab欄的表現,以及tab切換時顯示的對應頁面
在這里插入圖片描述
tabbar配置項:

  1. selectedColor:選中時文字的顏色
  2. color:文字的默認顏色
  3. backgroundColor:當前tab欄的背景色
  4. borderStyle:tab欄上方border是否需要,可選項"white"和"black"
  5. position:tab欄的位置,可選項"top"(tab欄在頂部,此時icon不會顯示)
  6. list:tab欄的內容

tabbar配置list的要求:
在這里插入圖片描述

5、頁面配置

小程序的頁面配置也稱局部配置,每一個小程序頁面也可以使用自己的.json文件對本頁面的窗口表現進行配置。
頁面配置文件的屬性和全局配置文件中的window屬性幾乎一致,只不過這里不需要額外指定window字段,因此如果出現相同的配置項,頁面中的配置項會覆蓋全局配置文件中相同的配置項

6、項目配置文件-config.json和配置sass

(1)項目配置文件

在創建項目的時候,每個項目的根目錄生成兩個config.json文件用于保存開發者在工具上做的個性化配置,例如和編譯有關的配置。當重新安裝微信開發者工具換電腦工作時,只要載入同一個項目的代碼包,開發者工具就會自動恢復到當時開發項目時的個性化配置。

  • project.config.json:項目配置文件,常用來進行配置公共的配置(與最終編譯結果有關的設置必須設置到這里)
  • project.private.config.json:項目私有的配置,常用來配置個人的配置
(2)配置sass

與編譯結果有關,所以在project.config.json中進行配置
在這里插入圖片描述
在這里插入圖片描述

7、配置文件-sitemap.json

配置小程序及其頁面是否允許被微信索引,提高小程序在微信內部被用戶搜索到的概率。
微信現已開放小程序內搜索,開發者可以通過sitemap.json配置來設置小程序頁面是否允許微信索引。當開發者允許微信索引時,微信會通過爬蟲的形式,為小程序的頁面內容建立索引。當用戶的搜索詞條觸發改索引時,小程序的頁面將可能展示在搜索結果中。
注:

  • 沒有sitemap.json則默認所有頁面都能被索引
  • {“action”:“allow”,“page”:“*”}是優先級最低的默認規則,未顯式指明"disallow"的都默認被索引
    在這里插入圖片描述
    在這里插入圖片描述

二、小程序的樣式和組件

1、組件

在小程序中不能使用HTML標簽,也就沒有DOM和BOM,CSS也僅僅支持部分選擇器。

小程序提供了WXML進行頁面結構編寫,同時提供了WXSS進行頁面的樣式編寫

  • WXML提供了view、text、image、navigator等標簽來構建頁面結構,只不過在小程序中將標簽稱為組件
  • WXSS對CSS擴充和修改,新增了尺寸單位rpx,提供了全局的樣式和局部樣式,另外需要注意的是WXSS僅支持部分CSS選擇器

2、尺寸單位rpx

為了解決屏幕適配的問題,微信小程序推出了rpx單位
rpx:時下程序新增的自適應單位,他可以根據不同設備的屏幕寬度進行自適應縮放
在這里插入圖片描述
在這里插入圖片描述
開發建議:

  1. 開發微信小程序時設計師可以用iphone6作為視覺稿的標準,iphone6的設計稿一般是750px
  2. 如果iphone6作為視覺稿的標準量取多少px,直接寫多少rpx即可,開發起來更方便,也能夠適配屏幕的寬度

3、全局樣式和局部樣式

全局樣式:指在app.wxss中定義的樣式規則,作用域每一個頁面,例如:設置字號、背景色、寬高等全局樣式
局部樣式:指在page.wxss中定義的樣式規則,只作用在對應的頁面,并會覆蓋app.wxss中相同的選擇器

4、劃分頁面結構

小程序常用的組件:

  • view組件
  • swiper和swiper-item組件
  • image組件
  • text組件
  • navigator組件
  • scroll-view組件
  • 字體圖標

在這里插入圖片描述
設置整體頁面背景色(設置高優先級)
在這里插入圖片描述

5、輪播圖區域繪制

在小程序中,提供了swiper和swiper-item組件實現輪播圖

  • swiper:滑塊視圖容器,其中只能放置swiper-item組件
  • swiper-item:只可放置在swiper組件中,寬高自動設置為100%,代表swiper中的每一項

在小程序中,如果需要渲染圖片,需要使用image組件,常用的屬性有4個:

  • src屬性:圖片資源地址
  • mode:圖片裁剪、縮放的模式
  • show-menu-by-longpress:長按圖片顯示菜單
  • lazy-load:圖片懶加載(滑動到一定區域才會加載圖片)

注意事項:

  • image默認具有寬度和高度,寬度是320px高度是240px
  • image組件不給src屬性設置圖片地址,也占據寬和高

在這里插入圖片描述
在這里插入圖片描述

6、繪制公司信息區域

在小程序中,如果需要渲染文本,需要使用text組件,常用的屬性有2個:

  1. user-select:文本是否可選,用于長按選擇文本
  2. space:顯示連續空格
    • ensp:顯示空格時會按照中文字符空格一半大小顯示
    • emsp:顯示空格時會按照中文字符空格大小顯示空格
    • nbsp:按照字符大小進行展示

注意事項:
3. 除了文本節點以外的其他節點都無法長按選中
4. text組件內只支持text嵌套

在這里插入圖片描述
在這里插入圖片描述

7、商品導航區域

結合view、image、text的綜合案例
在這里插入圖片描述
在這里插入圖片描述

8、點擊商品導航跳轉到商品列表

在小程序中,如果需要進行跳轉,需要使用navigator組件,常用的屬性有2個:

  1. url:當前小程序內的跳轉鏈接
  2. open-type:跳轉方式
    • navigate:保留當前頁面,跳轉到應用內的某個頁面。但是不能跳到tabbar頁面
    • redirect:關閉當前頁面,沒有返回上一頁的箭頭,跳轉到應用內的某個頁面。但不能跳轉到tabbar頁面
    • switchTab:跳轉到tabBar頁面,并關閉其他所有非tabBar頁面
    • reLaunch:關閉所有頁面,打開到應用內的某個頁面
    • navigateBack:關閉當前頁面,返回上一頁面或前幾個頁面(搭配delta屬性,默認是1,如果想返回幾級,就寫幾)

注意事項:

  • 路徑后可以帶參數。參數與路徑之間使用?分隔,參數鍵與參數值用=相連,不同參數用&分隔。
    例如:list/?id=10&name=hua,在onLoad(options)生命周期函數中獲取傳遞的參數
  • open-type="switchTab"時不支持傳參
    在這里插入圖片描述

9、推薦商品區域-滾動效果

在小程序中,如果想實現內容滾動,需要使用scroll-view組件
scroll-view:可滾動視圖區域,適用于需要滾動展示內容的場景,用于在小程序中實現類似于網頁中的滾動條效果,用戶可以直接通過手指滑動或者點擊滾動條來滾動內容。2個屬性:

  • scroll-x:允許橫向滾動
  • scroll-y:允許縱向滾動

水平方向的滾動:
在這里插入圖片描述
在這里插入圖片描述

垂直方向的滾動:
在這里插入圖片描述
在這里插入圖片描述

10、推薦商品區域

WXML:

<view class="good-hot"><scroll-view class="scroll-x" scroll-x><view><view class="good-item"><image src="../../assets/floor/1.png" mode=""/><text>鮮花玫瑰</text><text>66</text></view></view><view><view class="good-item"><image src="../../assets/floor/2.png" mode=""/><text>鮮花玫瑰</text><text>77</text></view></view><view><view class="good-item"><image src="../../assets/floor/3.png" mode=""/><text>鮮花玫瑰</text><text>88</text></view></view><view><view class="good-item"><image src="../../assets/floor/4.png" mode=""/><text>鮮花玫瑰</text><text>99</text></view></view><view><view class="good-item"><image src="../../assets/floor/5.png" mode=""/><text>鮮花玫瑰</text><text>100</text></view></view></scroll-view>
</view>

SCSS:

.good-hot{font-size:24rpx;background-color: #fff;padding:16rpx;border-radius: 10rpx;.scroll-x{width: 100%;white-space: nowrap; // 不允許元素換行view{margin-right:16rpx;display:inline-block;width:320rpx;height:440rpx;&:last-child{margin-right:0rpx;}.good-item{display:flex;flex-direction: column;justify-content: space-between;image{width: 100%;height: 320rpx;}text{&:nth-of-type(1){font-weight: bold;}}}}}
}

11、字體圖標的使用

在項目中使用到的小圖標,一般由公司設計師進行設計,設計好以后上傳到阿里巴巴矢量圖標庫,方便程序員來進行使用。
小程序中的字體圖標使用方式與Web開發中的使用方式是一樣的。

  1. 在阿里巴巴矢量圖庫中將icon存入項目
    項目設置勾選Based64
    在這里插入圖片描述
    在這里插入圖片描述

  2. 生成代碼
    在這里插入圖片描述
    在這里插入圖片描述

  3. 復制代碼至wxss
    創建一個iconfont文件夾,創建iconfont.scss并將下述代碼復制其中
    在這里插入圖片描述

  4. 導入
    一定要以分號結尾
    在這里插入圖片描述

  5. 字體圖標添加
    在這里插入圖片描述

12、背景圖的使用

在小程序中,我們可以使用background-image屬性來設置元素的背景圖像
注意事項:

  • 小程序的background-image不支持本地路徑,需要使用網絡圖片,或者base64(不建議使用,太長)或者使用</image>組件

在這里插入圖片描述
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/87074.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/87074.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/87074.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

抓包之通過wireshark抓ping包

寫在前面 本文看下如何抓ping包。 1&#xff1a;正文 因為ping使用的是icmp協議&#xff0c;所以這里我們可以通過過濾icmp協議來進行抓包&#xff1a; 其中對于icmp請求報文狀態碼是8&#xff0c;如下&#xff1a; 響應狀態碼是0&#xff1a; 如下圖是一個局域網環境中…

大文件分片上傳 — nodejs

上傳文件路由&#xff1a; var express require(express); var router express.Router(); const multer require(multer); const fs require(fs); const path require(path);// 確保上傳目錄存在 const uploadDir path.join(__dirname, ../backend/uploads); const temp…

HarmonyOS File和base64字符串轉換

1. HarmonyOS File和base64字符串轉換 1.1. Base64 1.1.1. Base64認知 Base64 是一種基于64個 ASCII 字符來表示二進制數據的表示方法&#xff0c;這個64個不同的字符為&#xff1a; ??&#xff08;1&#xff09;大、小寫字母&#xff08;A– Z、a–z&#xff09;。52個 ?…

【NodeJs】【npm】npm安裝electron報錯

解決問題 npm安裝electron報錯一般來說是鏡像源的問題。 electron的鏡像源與一般的 vue 之類的鏡像源地址不一樣需要單獨配置。 npm讀取的全局配置一般是在 C:\Users\{用戶}\.npmrc 這個配置文件中。 如果你找不到你的配置文件可以執行如下命令, # 執行后會直接用txt打開你的…

植物small RNA靶基因預測軟件,psRobot

psRoto軟件安裝 網址 http://omicslab.genetics.ac.cn/psRobot/downloads.php下載和安裝 wget http://omicslab.genetics.ac.cn/psRobot/program/WebServer/psRobot_v1.2.tar.gz # tar -zxvf psRobot_v1.2.tar.gz # cd psRobot_v1.2 ## ./configure make make installpsRot…

翻譯服務器

基于UDP編程博客里的回顯服務器代碼,翻譯服務只需要改process方法即可 所以我們可以創建一個UdpDictServer直接繼承UdpEchoServer然后重寫process方法 在重寫的方法中完成翻譯的過程 代碼: package network;import java.io.IOException; import java.net.SocketException; …

初等變換 線性代數

初等變換 介紹了三種初等變換的操作。 初等矩陣 初等矩陣是干嘛的呢&#xff1f;實際上初等矩陣就是我們矩陣的初等操作&#xff0c;每一個對矩陣的初等變換操作都相當于乘上一個初等矩陣。 左乘初等矩陣就相當于對行進行初等操作&#xff0c;右乘則相當于對列進行初等操作。…

Java基礎 集合框架 隊列架構 雙端隊列 Deque

雙端隊列 Deque Deque 方法簡介Deque 核心特點Deque實現類 ArrayDequeArrayDeque 構造方法ArrayDeque 的數據結構及實現原理ArrayDeque 方法介紹ArrayDeque 核心特性ArrayDeque 總結ArrayDeque 使用樣例代碼 Deque實現類 LinkedListDeque實現類 ConcurrentLinkedDeque (非阻塞線…

【Spring】——事務、整合、注解

目錄 一.Spring與mybatis的整合 1.配置文件 ?編輯2. 二.事務 1.事務屬性 2.傳播屬性 3.異常屬性 4.常見配置 三.注解 1.什么是注解 2.Autowired 1.用戶自定義注解 ?編輯?編輯2.JDK類型注入value 3.Bean 1.對象的創建 2.對象創建次數 3.Bean注解的注入 1.自…

Linux 離線下安裝gcc、g++

描述 離線時編譯Redis、nginx等編譯包&#xff0c;需要gcc安裝包&#xff0c;評論提醒我 上傳補充 操作 1、進入gcc目錄&#xff0c;并執行安裝命令 rpm -ivh *.rpm --nodeps --force查看版本 gcc -v2、進入gcc-c目錄&#xff0c;并執行安裝 rpm -ivh *.rpm --nodeps --f…

融智學定律3:流動創造價值僅當跨域協同

關鍵公式意義&#xff1a; 人流方程中的 α/β 反映城市吸引力不對稱性 物流優化中的 η 實現時間價值貨幣化 金流模型的 σ(?) 捕捉市場情緒突變點 信息熵的 ∥gi??gj?∥ 度量知識勢差驅動 當五流在黎曼流形上滿足 ?_μ?T^μν0&#xff08;能量動量守恒&#xff09…

趣味數據結構之——數組

你們一定都聽說過它的故事…… 是的沒錯&#xff0c;就是一個蘿卜一個坑。??? 想象一下數組就是那個坑&#xff0c;那么定義數組就是在挖坑。 元素就是蘿卜。 坑就在那里(地上)&#xff0c;整整齊齊地排在那里。 于是數組最重要的一個特性就顯現出來了——隨機存取。還…

PR-2025《Scaled Robust Linear Embedding with Adaptive Neighbors Preserving》

核心思想分析 這篇論文的核心思想在于解決線性嵌入&#xff08;linear embedding&#xff09;與非線性流形結構之間的不匹配問題。傳統方法通過保留樣本點間的親和關系來提取數據的本質結構&#xff0c;但這種方法在某些情況下無法有效捕捉到數據的全局或局部特性。此外&#…

Redis-漸進式遍歷

之前使用的keys查找key,一次獲取到了所有的key,當key較多時,這個操作就有可能造成Redis服務器阻塞.特別是keys *操作. 于是可以通過漸進式遍歷,每次獲取部分key,通過多次遍歷,既查詢到了所有的key,又不會卡死服務器. 漸進式遍歷不是通過一個命令獲取到所有元素的,而是由一組命…

ISP Pipeline(3):Lens Shading Correction 鏡頭陰影校正

上一篇文章講的是&#xff1a;ISP Pipeline&#xff08;2&#xff09;&#xff1a; Black Level Compensation:ISP Pipeline&#xff08;2&#xff09;&#xff1a;Black Level Compensation 黑電平補償-CSDN博客 視頻&#xff1a;(4) Lens Shading Correction | Image Signal…

什么是WebAssembly(WASM)

WebAssembly&#xff08;WASM&#xff09; 是一種高性能的低級編程語言字節碼格式&#xff0c;可在網頁和非網頁環境中運行&#xff0c;支持多語言編譯&#xff0c;運行速度接近原生代碼。它在區塊鏈中的作用是&#xff1a;作為智能合約的執行引擎&#xff0c;被多條非以太坊鏈…

【C++】inline的作用

一、inline的作用 1.1函數內聯 作用?&#xff1a;建議編譯器將函數調用替換為函數體代碼&#xff0c;減少函數調用的開銷&#xff08;壓棧/跳轉&#xff09;。?注意?&#xff1a;這只是對編譯器的建議&#xff0c;編譯器可能忽略&#xff08;如函數體過大或遞歸&#xff0…

代碼隨想錄|圖論|04廣度優先搜索理論基礎

廣搜的使用場景 廣搜的搜索方式就適合于解決兩個點之間的最短路徑問題。 因為廣搜是從起點出發&#xff0c;以起始點為中心一圈一圈進行搜索&#xff0c;一旦遇到終點&#xff0c;記錄之前走過的節點就是一條最短路。 當然&#xff0c;也有一些問題是廣搜 和 深搜都可以解決…

Xposed框架深度解析:Android系統級Hook實戰指南

引言:Android系統定制化的革命性突破 在移動安全研究和系統優化領域,傳統的APP修改方案面臨??三重技術瓶頸??: ??逆向工程壁壘??:APK重打包方案需處理簽名校驗、代碼混淆等防護,平均耗時增加200%??兼容性挑戰??:Android碎片化導致設備適配率不足65%??功能…

大模型在通訊網絡中的系統性應用架構

一、網絡架構智能化重構?? ??1.1 空天地一體化組網優化?? 智能拓撲動態調整??&#xff1a;大模型通過分析衛星軌道數據、地面基站負載及用戶分布&#xff0c;實時優化天地一體化網絡拓撲。例如&#xff0c;在用戶密集區域&#xff08;如城市中心&#xff09;自動增強低…