Welcome FrontEnd
运行模式
开发环境
// 使用测试链
yarn dev
// 使用主链
yarn dev:main
线上打包环境
- 打包到根路径
// 使用测试链
yarn build:test
// 使用主链
yarn build:main
- 打包到子路径
// 使用测试链
yarn build:childTest
// 使用主链
yarn build:childMain
// 然后放到直接子路径 名字为: childTest(childMain) 即可。
// 想换子路径名字,请全局修改 childTest(childMain)
// 最后访问 http: http://x.xxx.xxx.xxx/initDapp/#/
与合约交互相关
触发方法
useAction
- useRead
- useWrite
bpAction
- bpRead
- bpWrite
构建合约对象方法
即:@/contractsApi/useXXX.ts 文件
常用指令
即:@/utils/bpDirective.ts 文件
关于计算
二次封装 math.js 库,解决 js 精度丢失问题
路由工具
在一些特别情况下使用 vue-router
全局状态管理
使用 pinia 创建的全局状态管理
[关于多语言]
$f
使用$f包裹的字符串,执行命令脚本,最终会编译成:
$f('首页') ---> components.1
$p
使用$p包裹的的字符串,执行命令,最终会编译成:
$p('首页') ---> $t('components.1')
对应的文案会根据你 输入的保存的文件名字,保存到相应的名字json文件
执行脚本命令
注意:
需要node版本18以上才行
shell
# 如果是yarn
yarn rep
# 如果是npm
npm run rep
# 如果是yarn
yarn rep
# 如果是npm
npm run rep
弹出输入框后则输入en
则表示生成 en.json
然后分别拿着对应的json文件去翻译就可。
如果想转成excel文档:
shell
yarn excel
yarn excel
则生成一个excel表格,拿去翻译即可,在第二列输入对应译文,然后再执行
shell
yarn json
yarn json
则转回对应的json。
一些报错总结
体验一下
ts
import { ethers } from 'ethers';
const provider = new ethers.providers.Web3Provider(window.ethereum, 'any');
const signer = provider.getSigner();
const obj = new ethers.Contract(合约地址, 合约abi, signer);
// obj是合约对象,先看看合约对象有没有你要调的方法
// 比如:授权
const resp = await obj.approve(授权的地址, ethers.constants.MaxUint256);
await resp?.wait?.();
import { ethers } from 'ethers';
const provider = new ethers.providers.Web3Provider(window.ethereum, 'any');
const signer = provider.getSigner();
const obj = new ethers.Contract(合约地址, 合约abi, signer);
// obj是合约对象,先看看合约对象有没有你要调的方法
// 比如:授权
const resp = await obj.approve(授权的地址, ethers.constants.MaxUint256);
await resp?.wait?.();
PS:
由于 vite 使用 js 的 debugger 的时候,总是跳到不准确的地方,所以建议使用 vsCode 打断点:
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Launch Edge",
"request": "launch",
"type": "chrome",
"url": "http://localhost:3100", // 写自己的端口号
"webRoot": "${workspaceFolder}/src",
},
]
}