每日一题:不翼而飞的余额
每日一题:不翼而飞的余额
介绍
小蓝开发了一个 web3 钱包,用于在浏览器中管理以太坊账户。为了方便用户使用,小蓝决定将钱包分为两个页面:
- 存款页面,用于用户存款。
- 钱包页面,用于查看账户余额。
但是小蓝遇到了问题,两个页面显示的账户余额不一致。现在,小蓝需要你的帮助。
准备
本题已经内置了初始代码,打开实验环境,目录结构如下:
1 | ├── component |
其中:
index.html是主页面。css是存放项目样式的文件夹。lib是存放项目项目依赖文件夹。component/WalletPage.js是钱包主页面组件。component/DepositPage.js是存款页面组件。js/store.js是pinia状态管理库。
注意:打开环境后发现缺少项目代码,请手动键入下述命令进行下载:
1 | cd /home/project |
选中 index.html 右键启动 Web Server 服务(Open with Live Server),让项目运行起来。接着,打开环境右侧的【Web 服务】,就可以在浏览器中看到如下效果:

目标
完善 index.html、js/store.js 和 component/DepositPage.js 中的代码。实现以下效果:
- 找到
index.html中的 TODO 部分,为项目配置history模式路由,浏览器中访问/的时候显示WalletPage组件,访问/deposit的时候显示DepositPage组件。
tips: 目标 1 完成后点击
deposit按钮或底部的导航的deposit导航文字,均会跳转到DepositPage存款页面。
- 找到
DepositPage.js中的 TODO 部分,在DepositPage页面中的 (id = deposit-balance)元素正确显示钱包余额(store中的balance)。 - 完善
js/store.js和component/DepositPage.js中的 TODO 部分,在DepositPage页面中,在输入框(input)输入数字(只考虑正整数),点击 “Deposit” 按钮(button)后,余额 = 现在的余额 + 输入框中输入的金额,在DepositPage页面正确显示钱包余额(两个页面的余额相同)。初始余额为 23。
完成后效果如下:

规定
- 请严格按照考试步骤操作,切勿修改考试默认提供项目中的文件名称、文件夹路径、class 名、id 名、图片名等,以免造成判题无法通过。
- 满足题目需求后,保持 Web 服务处于可以正常访问状态,点击「提交检测」系统会自动判分。
判分标准
- 本题完全实现题目目标得满分,否则得 0 分。
总通过次数: 179 | 总提交次数: 260 | 通过率: 68.8%
题解
1 | const { createRouter, createWebHashHistory } = VueRouter; // TODO:待补充代码,在此引入路由相关 API |
1 | <!-- TODO:待补充代码,在 # deposit-balance 中正确显示钱包余额 --> |
1 | // TODO:待补充代码,完善点击存款按钮事件 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 江月迟迟!
