微信小程序入門實例_____從零開始 開發一個每天記賬的微信小程序

? ? ? ? ? 在前面的微信小程序實例中我們開發了體重記錄等實用小程序,今天來嘗試一個和生活消費緊密相關的 ——“每日記賬小程序”。它能幫你隨時記錄收支情況,讓每一筆花費都清晰可查。下面就跟著步驟,一步步構建這個小程序。?體驗一個開發者的快樂。

一、開發微信小程序的準備工作?

1. 微信小程序開發工具準備?

? ? ? ? ? 請確保使用最新版本的微信開發者工具。若尚未安裝,請訪問微信公眾平臺(https://mp.weixin.qq.com/),在頁面底部"下載"區域選擇適合您操作系統的安裝包進行安裝。已安裝的用戶請打開工具檢查更新,以確保開發環境運行順暢。

2.? 賬號準備?

? ? ? ? 如果僅用于學習和小程序開發練習,使用開發者工具的"體驗模式"創建項目即可。這種模式無需注冊小程序賬號,直接點擊開發者工具中的"體驗模式"按鈕就能快速開始項目開發,非常適合新手入門和功能測試。

當需要正式上線小程序時,則必須完成以下完整流程:

首先訪問微信公眾平臺(https://mp.weixin.qq.com/),注冊小程序賬號

完成賬號注冊后,登錄小程序后臺管理界面

在左側導航欄中找到"開發"菜單,進入"開發設置"頁面

在基本設置區域可以查看到該小程序的AppID(小程序ID),這是一串18位的數字和字母組合,形如:wx123456789abcdefg

復制這組AppID,在創建新項目時粘貼到對應的輸入框中

確保項目目錄與AppID匹配,這樣才能正常進行后續的代碼上傳和審核發布流程

二、創建每日記賬小程序項目?

? ? ? ? ? ? ? 打開微信開發者工具,點擊 “新建項目”。在彈出窗口中,填寫項目名稱(如 “我的日常賬本”),選擇合適的項目存放目錄。有 AppID 就填入,沒有則勾選 “不使用云服務” 并選擇 “體驗模式”,點擊 “新建”,項目框架就搭建好了。?

? ? ? ? ? ?重點:項目目錄里,pages文件夾存放各頁面代碼,app.js是小程序邏輯入口,app.json用于配置頁面路徑和窗口樣式,app.wxss負責全局樣式設置,這些都是開發中常用的文件。?

三、構建每日記賬小程序頁面?

? ? ? ? ? ? 我們開發的每日記賬小程序,主要有一個頁面,能實現輸入金額、選擇收支類型和消費類別、填寫備注,點擊保存后展示記賬記錄等功能。?

?1. 創建頁面文件?

在pages文件夾上右鍵,選擇 “新建 Page”,命名為dailyAccount,系統會自動生成dailyAccount.js、dailyAccount.json、dailyAccount.wxml、dailyAccount.wxss四個文件,分別對應頁面的邏輯、配置、結構和樣式。?

2. 編寫頁面結構

<view class="container"><view class="input-item"><text class="label">金額(元):</text><input type="number" placeholder="請輸入金額" bindinput="inputAmount"></input></view><view class="input-item"><text class="label">收支類型:</text><picker mode="selector" range="{{typeList}}" bindchange="changeType"><view class="picker-view">{{selectedType}}</view></picker></view><view class="input-item"><text class="label">消費類別:</text><picker mode="selector" range="{{categoryList}}" bindchange="changeCategory"><view class="picker-view">{{selectedCategory}}</view></picker></view><view class="input-item"><text class="label">備注:</text><input placeholder="可選" bindinput="inputRemark"></input></view><button bindtap="saveAccount">保存記錄</button><view class="record-title" wx:if="{{accountList.length > 0}}">記賬記錄</view><view class="record-item" wx:for="{{accountList}}" wx:key="index"><text class="{{item.type === '支出' ? 'expense' : 'income'}}">{{item.type}}:{{item.amount}}元</text><text>類別:{{item.category}}</text><text>備注:{{item.remark || '無'}}</text><text>時間:{{item.time}}</text></view>
</view>

?

? ? ? ? 這段代碼構建了頁面基本結構。input-item包含金額輸入框、收支類型選擇器、消費類別選擇器和備注輸入框;saveAccount綁定保存按鈕點擊事件;下方用于展示記賬記錄,收支類型用不同顏色區分,有記錄時才顯示 “記賬記錄” 標題。?

3. 編寫頁面樣式

.container {padding: 20px;
}.input-item {display: flex;align-items: center;margin-bottom: 20px;
}.label {width: 100px;font-size: 15px;
}input {flex: 1;height: 40px;border: 1px solid #eee;border-radius: 4px;padding-left: 10px;
}.picker-view {flex: 1;height: 40px;line-height: 40px;border: 1px solid #eee;border-radius: 4px;padding-left: 10px;
}button {width: 100%;height: 45px;background-color: #1677ff;color: white;border: none;border-radius: 4px;margin-bottom: 25px;
}.record-title {font-size: 17px;font-weight: bold;margin: 15px 0;color: #333;
}.record-item {border: 1px solid #f0f0f0;border-radius: 6px;padding: 12px;margin-bottom: 10px;
}.expense {color: #f5222d;
}.income {color: #52c41a;
}

這些樣式讓頁面布局更合理美觀,設置了輸入區域、按鈕、記錄列表等元素的樣式,收支類型用不同顏色區分,增強視覺效果。?

4. 編寫頁面邏輯

Page({data: {amount: '',typeList: ['支出', '收入'],selectedType: '支出',categoryList: ['餐飲', '交通', '購物', '工資', '其他'],selectedCategory: '餐飲',remark: '',accountList: []},onLoad: function () {// 從本地存儲獲取記賬記錄const records = wx.getStorageSync('accountRecords');if (records) {this.setData({accountList: records});}},inputAmount: function (e) {this.setData({amount: e.detail.value});},changeType: function (e) {const index = e.detail.value;this.setData({selectedType: this.data.typeList[index]});},changeCategory: function (e) {const index = e.detail.value;this.setData({selectedCategory: this.data.categoryList[index]});},inputRemark: function (e) {this.setData({remark: e.detail.value});},saveAccount: function () {if (!this.data.amount || this.data.amount <= 0) {wx.showToast({title: '請輸入有效金額',icon: 'none'});return;}// 獲取當前時間const date = new Date();const time = `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')} ${date.getHours().toString().padStart(2, '0')}:${date.getMinutes().toString().padStart(2, '0')}`;const newRecord = {amount: this.data.amount,type: this.data.selectedType,category: this.data.selectedCategory,remark: this.data.remark,time: time};// 添加新記錄到列表const newList = [newRecord, ...this.data.accountList];this.setData({accountList: newList,amount: '',remark: ''});// 保存到本地存儲wx.setStorageSync('accountRecords', newList);wx.showToast({title: '記錄成功',icon: 'success'});}
});

? ? ? ? ?在data中定義了金額、收支類型、消費類別等數據。onLoad方法從本地存儲獲取歷史記錄;inputAmount獲取輸入金額;changeType和changeCategory處理類型和類別的選擇;inputRemark獲取備注信息;saveAccount驗證輸入后保存記錄,更新本地存儲并顯示提示。?

四、運行與調試?

? ? ? ? 完成代碼后,點擊微信開發者工具的 “編譯” 按鈕,模擬器中就會顯示這個每日記賬小程序。輸入金額、選擇收支類型和類別、填寫備注,點擊 “保存記錄”,就能看到記錄被添加到列表中。?

? ? ? ? ?若運行出現問題,可通過右側調試面板查看報錯信息。比如在saveAccount方法中添加console.log(this.data.amount),查看是否成功獲取輸入的金額,助力排查問題。?

? ? ? ? ? ?這個每日記賬小程序涵蓋了數據輸入、本地存儲等實用功能。你還能進一步優化,比如添加月度統計、圖表展示消費占比等功能。快來動手試試,讓自己記賬更輕松吧!也體驗一下開發者的快樂,

?

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

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

相關文章

2026python實戰——如何利用海外代理ip爬取海外數據

家人們&#xff01;隨著跨境電商的發展&#xff0c;是不是越來越多的小伙伴們也開始搞海外的數據分析了&#xff1f;不過雖然我們已經整天爬蟲、數據采集打交道了&#xff0c;但一到海外數據&#xff0c;還是有不少人掉進坑里。你們是不是也遇到過以下情況&#xff1a;花了一堆…

Spring Boot啟動原理:從main方法到內嵌Tomcat的全過程

Spring Boot的啟動過程是一個精心設計的自動化流程&#xff0c;下面我將詳細闡述從main方法開始到內嵌Tomcat啟動的全過程。 1. 入口&#xff1a;main方法 一切始于一個簡單的main方法&#xff1a; SpringBootApplication public class MyApplication {public static void m…

小白學Python,網絡爬蟲篇(1)——requests庫

目錄 一、網絡爬蟲的介紹 1.網絡爬蟲庫 2.robots.txt 規則 二、requests 庫和網頁源代碼 1.requests 庫的安裝 2.網頁源代碼 三、獲取網頁資源 1.get () 函數 &#xff08;1&#xff09;get() 搜索信息 &#xff08;2&#xff09;get() 添加信息 2.返回 Response 對象…

平板可以用來辦公嗎?從文檔處理到創意創作的全面測評

在快節奏的現代職場&#xff0c;一個核心疑問始終縈繞在追求效率的職場人心中&#xff1a;平板電腦&#xff0c;這個輕薄便攜的設備&#xff0c;真的能替代筆記本電腦&#xff0c;成為值得信賴的辦公伙伴嗎&#xff1f; 答案并非簡單的“是”或“否”&#xff0c;而是一個充滿潛…

docker gitlab 備份 恢復 版本升級(16.1.1到18.2.0)

docker 啟動 # 在線 docker pull gitlab/gitlab-ce:latest # 離線 docker save -o gitlab-ce-latest.tar gitlab/gitlab-ce:latest docker load -i gitlab-ce-latest.tardocker run --detach \--publish 8021:80 --publish 8023:22 \ --name gitlab_test \--restart always \-…

web3 區塊鏈技術與用

#53 敲點算法題 瑞吉外賣day4 調整心態 睡眠 及精神 web3 以下是應北京大學肖臻老師《區塊鏈技術與用》公開課的完整教學大綱&#xff0c;綜合課程內容、技術模塊及前沿擴展&#xff0c;分為核心章節與專題拓展兩部分&#xff0c;引用自公開課資料及學員筆記。 &#x1f4…

Redis1:高并發與微服務中的鍵值存儲利器

redis中存儲的數據格式為鍵值對&#xff08;Key,Value&#xff09;在高并發的項目和微服務的項目會頻繁的用到redisNoSQL型數據庫1.初始Redis1.1認識NoSQLSQL&#xff1a;structure query language關系型數據庫結構化&#xff1a;有固定格式要求&#xff08;表關系&#xff0c;…

/字符串/

字符串 個人模板 5. 最長回文子串 93. 復原 IP 地址 43. 字符串相乘 227. 基本計算器 II

我的開發日志:隨機數小程序

文章目錄前言UI設計代碼前言 為什么我要設計這個程序呢&#xff1f;因為我要用&#xff0c;懶得在網上下載了&#xff0c;于是干脆寫了一個。 UI設計 UI是我凹出來的&#xff0c;你們要使用&#xff0c;直接新建一個UI.ui文件&#xff0c;然后把下面的東西輸進去就可以了。 …

《Oracle SQL:使用 RTRIM 和 TO_CHAR 函數格式化數字并移除多余小數點》

select RTRIM(to_char(1222.11123344,fm9999990.9999),.) from dual 這條 SQL 語句主要用于對數字進行格式化處理&#xff0c;并移除格式化結果右側多余的小數點。下面將詳細拆解該語句的執行過程和各部分作用。語句詳細拆解1. to_char(1222.11123344,fm9999990.9999)函數功能&…

「Java案例」方法重裝求不同類型數的立方

利用方法重裝實現不同類型數值的立方計算 立方計算方法的重載實現 編寫一個程序,要求編寫重載方法xxx cube(xxx value)實現對不同類型數值計算立方。 # 源文件保存為“CubeCalculator.java” public class CubeCalculator {public static void main(String[] args) {// 測試…

API 接口開發與接入實踐:自動化采集淘寶商品數據

在電商數據分析、價格監控等場景中&#xff0c;自動化采集淘寶商品數據具有重要價值。本文將詳細介紹如何通過 API 接口開發實現淘寶商品數據的自動化采集&#xff0c;包含完整的技術方案和代碼實現。 一、淘寶 API 接入基礎 1. 接入流程概述 注冊淘寶賬號獲取 ApiKey 和 Ap…

python-pptx 的layout 布局

一、布局基礎概念 在 PowerPoint 中&#xff0c;布局&#xff08;Layout&#xff09; 決定了幻燈片的占位符&#xff08;如標題、內容、圖片等&#xff09;的排列方式。python-pptx 提供了對布局的編程控制。二、默認布局類型及索引 通過 prs.slide_layouts[index] 訪問&#x…

服務器mysql數據的簡單備份腳本

服務器mysql數據的簡單備份腳本 一個小型項目mysql數據庫數據的定時備份 通過crontab定時執行腳本: 0 1 * * * /home/yuyu/mysqlbak.sh備份文件加入時間戳,防止覆蓋支持刪除超過x天的備份數據文件&#xff0c;防止備份數據文件太多 #!/bin/bash# 配置變量 DB_HOST"127.0.…

數據分析:從數據到決策的核心邏輯與實踐指南

在數據驅動決策的時代&#xff0c;“數據分析” 早已不是專業分析師的專屬技能&#xff0c;而是每個職場人都需要掌握的基礎能力。但很多人在面對數據時&#xff0c;常會陷入 “羅列數據卻無結論”“指標好看卻解決不了問題” 的困境。本文將基于數據分析的核心定義、關鍵維度和…

元宇宙與Web3.0:技術特征、關系及挑戰

一、元宇宙的技術特征&#xff08;2025年&#xff09;1. 空間構建技術3D建模與渲染&#xff1a;實時渲染技術&#xff08;如Unity HDRP&#xff09;實現路徑追蹤光追&#xff0c;AI生成模型&#xff08;NVIDIA Get3D&#xff09;3秒生成3D場景。數字孿生技術&#xff1a;城市級…

關于一個引力問題的回答,兼談AI助學作用

關于一個引力問題的回答&#xff0c;兼談AI助學作用今日&#xff0c;一個小朋友問我&#xff0c;他從一本物理科普讀物上看到這樣依據話&#xff1a;地球對人造地球衛星的引力大于太陽對人造地球衛星的引力&#xff0c;但太陽對月亮的引力大于地球對月亮的引力。因書上沒有解釋…

Java使用FastExcel實現模板寫入導出(多級表頭)

依賴配置 (Maven pom.xml)<dependencies><!-- FastExcel 核心庫 --><dependency><groupId>cn.idev.excel</groupId><artifactId>fastexcel</artifactId><version>1.0.0</version></dependency><!-- Apache POI…

postman接口測試,1個參數有好幾個值的時候如何測試比較簡單快速?

3天精通Postman接口測試手動到自動&#xff0c;全套項目實戰教程&#xff01;&#xff01;當你在 Postman 中測試接口時&#xff0c;如果一個參數有多個需要測試的值&#xff0c;有幾種高效的方法可以實現&#xff1a; 1. 使用 CSV 或 JSON 數據文件進行數據驅動測試 這是最推…

imx6ull UI開發

imx6ull UI開發簡介在imx6ull上開發UI 應用硬件層面內核驅動顯示設備文件描述符設備樹軟件LVGL用戶空間內核QT在imx6ull上開發UI 應用 在 Linux 系統中&#xff0c;應用程序需要通過操作 RGB LCD 的顯存來實現在屏幕上顯示字符、圖像等信息。由于 Linux 采用嚴格的內存管理機制…