微信小程序 ---- 慕尚花坊 項目初始化

目錄

項目介紹

01. 項目概述

02. 項目演示

03. 項目技術棧

04. 接口文檔

申請開發權限

項目初始化

01. 創建項目與項目初始化

02. 自定義構建 npm + 集成Sass

03. 集成項目頁面文件

04. VsCode 開發小程序項目


項目介紹

01. 項目概述

[慕尚花坊] 是一款 同城鮮花訂購 的小程序,專業提供各地鮮花速遞、鮮花預定、網上訂花、包月鮮花等服務。最快3小時送花上門,保證花材新鮮和鮮花質量,可先送花后付款,專業花藝師傅精美包扎,品質保證,至誠服務。

02. 項目演示

[慕尚花坊] 項目涵蓋電商項目常見功能模塊,包含:

  1. 項目首頁
  2. 商品分類
  3. 商品列表
  4. 商品詳情
  5. 用戶管理
  6. 收貨地址
  7. 購物車
  8. 結算支付
  9. 訂單管理
  10. 等……

03. 項目技術棧

[慕尚花坊] 項目使用原生小程序進行搭建開發,項目涵蓋小程序開發所有常用的知識點

  1. 小程序內置組件:采用小程序內置組件 結合?Vant?組件庫實現頁面結構的搭建

  2. 項目中使用了 css 拓展語言 Scss 繪制頁面的結構

  3. 小程序內置API:交互、支付、文件上傳、地圖定位、網絡請求、預覽圖片、本地存儲等

  4. 小程序分包加載:降低小程序的啟動時間、包的體積,提升用戶體驗度

  5. 小程序組件開發:將頁面內的功能模塊抽象成自定義組件,實現代碼的復用

  6. 網絡請求封裝:request 方法封裝、快捷方式封裝、響應攔截器、請求攔截器

  7. 骨架屏組件:利用開發者工具提供了自動生成骨架屏代碼的能力,提高了整體使用體驗和用戶滿意度。

  8. UI?組件庫:使用?Vant?組件庫實現小程序 結構的繪制

  9. LBS:使用騰訊地圖服務進行?LBS逆地址解析,實現選擇收貨地址功能

  10. miniprogram-licia:使用?licia?進行函數的防抖節流

  11. async-validator:使用?async-validator?實現表單驗證

  12. miniprogram-computed: 使用?miniprogram-computed?進行計算屬性功能

  13. mobx-miniprogram:使用?mobx-miniprogram?進行項目狀態的管理

    ?

04. 接口文檔

慕尚花坊系統-API文檔

?

申請開發權限

在開始開發一個小程序項目之前,需要先申請開發權限。

需要將自己的微信號發送給對應小程序賬號的管理員,在小程序微信公眾后臺添加我們自己為開發者。

📌:注意事項:

  1. 需要將自己的?微信號?發送給對應小程序賬號的管理員

  2. 手機號不是微信號?(除非將手機號設置為了微信號)

如何查看自己的微信號:

?

在將微信號發送給管理以后,管理員會登錄微信公眾后臺,進行添加:

?

在管理員將自己設置為項目成員以后,開發者自己也可以登錄當前小程序管理后臺,獲取 AppId

?

在獲取到小程序 AppId 以后,就可以使用 AppId 新建小程序項目 或者 切換小程序項目的 AppId

?

項目初始化

01. 創建項目與項目初始化

創建項目

在微信開發者工具的開始界面左側檢查項目類型,需要為 [小程序]

然后在右側點擊 [+] 開始新建項目

最后在彈出的界面中輸入項目相關的信息,點擊確定即可

📌?注意

在新建項目的時候,[填寫的 AppId 需要是自己的 AppId]

不能填寫老師的 AppId,因為同學們不是當前小程序的開發成員

?

?

?

項目初始化

  1. 重置?app.js?中的代碼
  2. 刪除?app.json?中?pages?下的?"pages/logs/logs"?路徑,同時刪除?pages/logs?文件夾
  3. 刪除?app.json?中?pages?下的?"rendererOptions"?以及?"componentFramework"?字段
  4. 重置?app.wxss?中的代碼
  5. 刪除?components?中的自定義組件
  6. 重置?pages/index?文件夾下的?index.js?、index.wxss、?index.html?以及?index.json?文件
  7. 更新?utils?下?util.js?的文件名為?formatTime.js

02. 自定義構建 npm + 集成Sass

隨著項目的功能越來越多、項目越來越復雜,文件目錄也變的很繁瑣,為了方便進行項目的開發,開發人員通常會對目錄結構進行調整優化,在慕尚花坊項目中,我們就需要將小程序源碼放到 miniprogram 目錄下

自定義構建

  1. 首先在?project.config.json?配置?miniprogramRoot?選項,指定小程序源碼的目錄

  2. 然后配置?project.config.json?的?setting.packNpmManually?為?true,開啟自定義 node_modules 和 miniprogram_npm 位置的構建 npm 方式

  3. 最后配置 project.config.json 的?setting.packNpmRelationList?項,指定?packageJsonPath?和?miniprogramNpmDistDir?的位置

    • packageJsonPath 表示 node_modules 源對應的 package.json
    • miniprogramNpmDistDir 表示 node_modules 的構建結果目標位置
  4. 安裝?vant?,然后進行?npm 構建,測試是否能夠正常?vant?構建成功

    npm i @vant/weapp

📌?注意

? 配置后如果沒有生效,需要 [ 重啟微信開發者工具 ] ? ?

集成 Sass

在?project.config.json?文件中,修改?setting?下的?useCompilerPlugins?字段為?["sass"],即可開啟工具內置的 sass 編譯插件。

03. 集成項目頁面文件

思路分析:

打開?[慕尚花坊項目素材]?中的?[模板文件]?文件夾

復制該文件中全部的文件和文件夾,在項目的?miniprogram?目錄下進行粘貼

代碼分析:

  1. app.json?中配置了?pageswindowtabBar
  2. app.json?中對項目中會使用到的?Vant?組件進行了全部的注冊
  3. app.wxss?文件中導入了阿里巴巴使用圖標庫
  4. components?文件夾中定義了兩個公共的組件
  5. pages?目錄下存放了項目中所有頁面的文件,后續我們會進行分包的處理

04. VsCode 開發小程序項目

知識點:

在進行項目開發的時候,部分同學可能不習慣微信開發者工具進行開發,而是習慣使用?VSCode?等編輯器

但是?VsCode?對小程序開發支持的不是非常友好,如果想通過?VSCode?開發小程序項目,需要安裝以下插件:

  1. WXML - Language Service
  2. prettier
  3. 微信小程序開發工具
  4. 微信小程序助手-Y
  5. 小程序開發助手(可選)
  6. 其他......

💡 Tip:

使用 VsCode 開發小程序項目時,如果需要預覽、調試小程序,依然需要借助微信開發者工具

配置詳細插件:

  1. 在【項目的根目錄】下創建?.vscode?文件夾,注意:文件夾名字前面帶?.?點?

  2. 在?.vscode?文件夾下,創建?settings.json,用來對安裝的插件屬性進行設置,具體屬性設置從下面復制即可

    • 注意:.vscode?文件夾下的?settings.json?文件只對當前一個項目生效
  3. 在【項目的根目錄】下創建?.prettierrc?文件,進行?Prettier?代碼規則的配置,規則從下面復制即可

  4. 為了讓?Prettier?配置項在微信開發者工具生效,需要在微信開發者工具中也安裝?Prettier?擴展插件。

?? .vscode/settings.json

 
{// 保存文件時是否自動格式化"editor.formatOnSave": true,// ---------------- 以下是 [ prettier ] 插件配置 ----------------// 指定 javascript、wxss、scss、less、json、jsonc 等類型文件使用 prettier 進行格式化"[javascript]": {"editor.defaultFormatter": "esbenp.prettier-vscode"},"[wxss]": {"editor.defaultFormatter": "esbenp.prettier-vscode"},"[scss]": {"editor.defaultFormatter": "esbenp.prettier-vscode"},"[less]": {"editor.defaultFormatter": "esbenp.prettier-vscode"},"[json]": {"editor.defaultFormatter": "esbenp.prettier-vscode"},"[jsonc]": {"editor.defaultFormatter": "esbenp.prettier-vscode"},// Prettier 的一個配置項,用于指定哪些文件類型需要使用 Prettier 進行格式化"prettier.documentSelectors": ["**/*.wxml", "**/*.wxss", "**/*.wxs"],// ---------------- 以下是 [ WXML - Language Service ] 插件配置 ----------------// wxml 文件使用 prettier 進行格式化"[wxml]": {// "qiu8310.minapp-vscode" 是 WXML - Language Service 插件提供的配置項// 此插件主要是針對小程序的 wxml 模板語言,可以自動補全所有的組件、組件屬性、組件屬性值等等// 如果是 VsCode 需要開啟這個配置"editor.defaultFormatter": "qiu8310.minapp-vscode"// 如果是微信小程序,需要開啟這個配置,通過 esbenp.prettier-vscode 對代碼進行格式化// "editor.defaultFormatter": "esbenp.prettier-vscode"},// 創建組件時使用的 css 后綴"minapp-vscode.cssExtname": "scss", // 默認 wxss,支持 styl sass scss less css// 指定 WXML 格式化工具"minapp-vscode.wxmlFormatter": "prettier",// 配置 prettier 代碼規范"minapp-vscode.prettier": {"useTabs": false,"tabWidth": 2,"printWidth": 80},// ---------------- 以下是 [ 微信小程序助手-Y ] 插件配置 ----------------// 新增、刪除小程序頁面時,是否自動同步 app.json pages 路徑配置,默認為 false"wechat-miniapp.sync.delete": true,// 設置小程序頁面 wxss 樣式文件的擴展名"wechat-miniapp.ext.style": "scss",// ---------------- 其他配置項 ----------------// 配置語言的文件關聯,運行 .json 文件時寫注釋// 但在 app.json 和 page.json 中無法使用"files.associations": {"*.json": "jsonc"}
}

?? .prettierrc

 
{"semi": false,"singleQuote": true,"useTabs": false,"tabWidth": 2,"printWidth": 180,"trailingComma": "none","overrides": [{"files": "*.wxml","options": { "parser": "html" }},{"files": "*.wxss","options": { "parser": "css" }},{"files": "*.wxs","options": { "parser": "babel" }}]
}
配置項配置項含義
"semi": false不要有分號
"singleQuote": true使用單引號
"useTabs": false縮進不使用 tab,使用空格
"tabWidth": 2tab縮進為4個空格字符
"printWidth": 80一行的字符數,如果超過會進行換行,默認為80
"trailingComma": "none"尾隨逗號問題,設置為none 不顯示 逗號
"overrides": []overrides 解析器:默認情況下,Prettier 會根據文件文件拓展名推斷要使用的解析器

📌:注意事項:

項目根目錄?.vscode?文件夾中?settings.json?文件只對當前項目生效?

如果想配置項生效,還需要注意:

在 VsCode 中只能打開當前一個小程序項目,不能同時打開多個小程序項目? 且項目目錄請勿嵌套打開 ?

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

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

相關文章

Context Capture無法量測連接點,Survey提示Read only只讀模式

Context Capture無法量測連接點,Surveys提示Read only只讀模式 出現這個問題一般是因為當前block已經完成三維重建,所以無法再編輯稀疏重建(空三)結果。只能把當前block復制一份,在復制的block上量測新的連接點。如下…

Netty中的Arena是什么以及LT和ET

Arena是什么 在Netty中,Arena是一種內存分配器(Memory Allocator)的概念。Arena的主要目的是提高內存分配和釋放的效率,減少碎片化,從而提高系統性能。 具體而言,Netyy中的Arena主要用于分配和管理ByteBuf對象的內存,ByteBuf是Ne…

分班問題 、幼兒園分班(C語言)

題目 幼兒園兩個班的小朋友排隊時混在了一起,每個小朋友都知道自己跟前面一個小朋友是不是同班,請你幫忙把同班的小朋友找出來 小朋友的編號為整數,與前面一個小朋友同班用Y表示,不同班用N表示 輸入 輸入為空格分開的小朋友編號…

PowerDesigner 安裝

PowerDesigner 安裝漢化破解使用過程 - 淪陷 - 博客園 (cnblogs.com)https://www.cnblogs.com/huangting/p/12654057.html

不要浪費

解法&#xff1a; 記錄一下tle的代碼 #include <iostream> #include <vector> #include <algorithm> using namespace std; #define endl \n bool check(vector<int>& a, int l,int k) {int sum 0;for (int i 0; i < a.size() && l…

vue3中使用 tui-image-editor進行圖片處理,并上傳

效果圖 下載包 pnpm i tui-image-editor pnpm i tui-color-picker調用組件 //html部分 <el-dialog v-model"imgshow" destroy-on-close width"40%" draggable align-center :show-close"true":close-on-click-modal"false">&l…

mescroll 在uni-app 運行的下拉刷新和上拉加載的組件

官網傳送門: https://www.mescroll.com/uni.html 最近使用到了mescroll 但是一直都是整個頁面的滾動, 最近需求有需要局部滾動, 收藏了一個博主的文章覺得寫的還挺好, 傳送門: https://blog.csdn.net/Minions_Fatman/article/details/134754926?spm1001.2014.3001.5506 使用…

基于springboot+vue的視頻網站系統(前后端分離)

博主主頁&#xff1a;貓頭鷹源碼 博主簡介&#xff1a;Java領域優質創作者、CSDN博客專家、阿里云專家博主、公司架構師、全網粉絲5萬、專注Java技術領域和畢業設計項目實戰&#xff0c;歡迎高校老師\講師\同行交流合作 ?主要內容&#xff1a;畢業設計(Javaweb項目|小程序|Pyt…

Stable Diffusion 模型分享:FenrisXL(芬里斯XL)

本文收錄于《AI繪畫從入門到精通》專欄,專欄總目錄:點這里。 文章目錄 模型介紹生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十

IO進程線程第6天

1.使用有名管道完成兩個進程的相互通信 send.c代碼如下&#xff1a; #include <myhead.h>int main(int argc, const char *argv[]) {pid_t pidfork();if(pid>0){//父進程//從管道1中讀取數據int fd-1;if((fdopen("./mkfifo1",O_RDONLY))-1){perror("…

【安卓基礎3】Activity(一)

&#x1f3c6;作者簡介&#xff1a;|康有為| &#xff0c;大四在讀&#xff0c;目前在小米安卓實習&#xff0c;畢業入職 &#x1f3c6;本文收錄于 安卓學習大全&#xff0c;歡迎關注 &#x1f3c6;安卓學習資料推薦&#xff1a; 視頻&#xff1a;b站搜動腦學院 視頻鏈接 &…

微信小程序開發教程:

準備工作 下載并安裝微信開發者工具注冊微信公眾平臺賬號并創建小程序項目 項目結構 app.js&#xff1a;小程序的入口文件&#xff0c;用于定義全局變量和函數app.json&#xff1a;小程序的全局配置文件&#xff0c;用于配置小程序的頁面、窗口樣式、網絡超時時間等app.wxss&am…

反光衣實時識別檢測系統-反光衣穿戴識別系統-智慧工地系統安全帽佩戴---豌豆云

反光衣實時識別檢測系統是根據視頻流的自動化圖像識別檢測&#xff0c;運用前沿的深度神經網絡與云計算技術&#xff0c;替代工作人員的眼睛。 在工地、化工廠、煤礦石化等生產安全地區部署反光衣實時識別檢測系統&#xff0c;運用現場已有的視頻監控可以無死角全自動檢測生產…

Sora橫空出世!AI將如何撬動未來?

近日&#xff0c;OpenAI 發布首個視頻生成“Sora”模型&#xff0c;該模型通過接收文字指令&#xff0c;即可生成60秒的短視頻。 而在2022年末&#xff0c;同樣是OpenAI發布的AI語言模型ChatGPT&#xff0c;簡化了文本撰寫、創意構思以及代碼校驗等任務。用戶僅需輸入一個指令&…

【IC設計】Chisel API之Arbiter和RRArbiter的使用

文章目錄 介紹Chisel的Valid和Ready流控build.sbtRRArbiter代碼示例 介紹 仲裁器在NoC路由器中是重要的組成部分&#xff0c;虛通道仲裁和交叉開關仲裁都需要使用仲裁器。 Chisel提供了Arbiter和RRArbiter仲裁器 Arbiter是基礎的低位優先仲裁器&#xff0c; RRArbiter初始情況…

前端構建效率優化之路

項目背景 我們的系統&#xff08;一個 ToB 的 Web 單頁應用&#xff09;前端單頁應用經過多年的迭代&#xff0c;目前已經累積有大幾十萬行的業務代碼&#xff0c;30 路由模塊&#xff0c;整體的代碼量和復雜度還是比較高的。 項目整體是基于 Vue TypeScirpt&#xff0c;而構…

ProtoBuf認識與Windows下的安裝

protobuf簡介 Protobuf 是 Protocol Buffers 的簡稱&#xff0c;它是 Google 公司開發的一種數據描述語言&#xff0c;是一種輕便高效的結 構化數據存儲格式&#xff0c;可以用于結構化數據&#xff0c;或者說序列化。它很適合做數據存儲 或 RPC 數據交換格 式 。可用于通訊…

WebServer -- 定時器處理非活動連接(上)

目錄 &#x1f34d;函數指針 &#x1f33c;基礎知識 &#x1f419;整體概述 &#x1f382;基礎API sigaction 結構體 sigaction() sigfillset() SIGALRM, SIGTERM 信號 alarm() socketpair() send() &#x1f4d5;信號通知流程 統一事件源 信號處理機制 &#x…

2024全球網絡安全展望|構建協同生態,護航數字經濟

2024年1月&#xff0c;世界經濟論壇發布《2024全球網絡安全展望》報告&#xff0c;指出在科技快速發展的背景下&#xff0c;網絡安全不均衡問題加劇&#xff0c;需加強公共部門、企業組織和個人的合作。 報告強調&#xff0c;面對地緣政治動蕩、技術不確定性和全球經濟波動&am…

基于springboot+vue的美發門店管理系統(前后端分離)

博主主頁&#xff1a;貓頭鷹源碼 博主簡介&#xff1a;Java領域優質創作者、CSDN博客專家、阿里云專家博主、公司架構師、全網粉絲5萬、專注Java技術領域和畢業設計項目實戰&#xff0c;歡迎高校老師\講師\同行交流合作 ?主要內容&#xff1a;畢業設計(Javaweb項目|小程序|Pyt…