当前位置: 首页 > news >正文

活到老学到老之vue-vben-admin项目添加简单页面

我用的是web-antd子项目。

  1. 在src/router/routes/modules目录下添加路由文件,例如,xxx.ts
import type { RouteRecordRaw } from 'vue-router';import { $t } from '@/locales';const routes: RouteRecordRaw[] = [{meta: {icon: 'mdi:file-download', // 可自选图标title: $t('page.xxx.title'), // 多语言 key,可在 locales 配置中定义order: 1100,},name: 'xxx',path: '/xxx',component: () => import('#/views/xxx/index.vue'),},
];export default routes;
  1. 在src/views目录下创建目录xxx,在src/views/xxx目录下创建index.vue
<script setup lang="ts">
import { ref } from 'vue';import { Alert, Button, Card, Input, message } from 'ant-design-vue';import PageWrapper from '#/components/Page/PageWrapper.vue';const aabUrl = ref('');
const apkUrl = ref('');
const errorMessage = ref('');
const loading = ref(false);const handleSubmit = async () => {if (!aabUrl.value) {message.warning('请输入 yyy 链接');return;}loading.value = true;errorMessage.value = '';apkUrl.value = '';// 先用假数据联调 UIawait new Promise((r) => setTimeout(r, 500));apkUrl.value = 'https://example.com/test.apk';message.success('解析成功!');loading.value = false;
};
</script><template><PageWrapper title="yyy 解析下载"><div class="p-4"><Card><div style="margin-bottom: 16px"><Inputv-model:value="zzz"placeholder="粘贴 yyy 下载链接"style="width: 400px; margin-right: 10px"/><Button type="primary" :loading="loading" @click="handleSubmit">提交</Button></div><Alert v-if="kkkUrl" type="success" message="kkk 解析成功,点击下载:"><template #description><a :href="kkkUrl" target="_blank">点击下载 KKK</a></template></Alert><Alertv-if="errorMessage"type="error":message="errorMessage"show-icon/></Card></div></PageWrapper>
</template><style scoped>
/* 可选样式 */
</style>
  1. 在src目录下创建components/Page/PageWrapper.vue,页面装饰器
<script setup lang="ts">
// 可以为空或包含 props,如 title
</script><template><div class="page-wrapper"><slot></slot></div>
</template><style scoped>
.page-wrapper {padding: 16px;
}
</style>
  1. 配置多语言:

在src/locales/langs/zh-CN/page.json中添加:

{"auth": {"login": "登录","register": "注册","codeLogin": "验证码登录","qrcodeLogin": "二维码登录","forgetPassword": "忘记密码"},"dashboard": {"title": "概览","analytics": "分析页","workspace": "工作台"},"xxx": {"title": "yyy 下载","submit": "提交","placeholder": "粘贴 yyy 下载链接","success": "解析成功, KKK 准备就绪","error": "解析失败,请检查链接是否有效"}
}

在src/locales/langs/en-US/page.json中添加:

{"auth": {"codeLogin": "Code Login","forgetPassword": "Forget Password","login": "Login","qrcodeLogin": "Qr Code Login","register": "Register"},"dashboard": {"analytics": "Analytics","title": "Dashboard","workspace": "Workspace"},"xxx": {"title": "yyy Download","submit": "Submit","placeholder": "download link","success": "analysis success","error": "analysis fail, please check the link is valid"}
}
  1. 重启项目
h20:02:31Shortcutspress r + enter to restart the server                               20:02:31press u + enter to show server url                                  20:02:31press o + enter to open in browser                                  20:02:31press c + enter to clear console                                    20:02:31press q + enter to quit 
  1. 页面添加成功
    在这里插入图片描述
http://www.dtcms.com/a/342157.html

相关文章:

  • 从YOLOv5到RKNN:零冲突转换YOLOv5模型至RK3588 NPU全指南
  • AI创业公司简介:Pogo
  • 三大图计算框架深度对比
  • 机器学习--聚类算法、集成算法
  • 《前端功能开关SDK全景剖析:从远程配置到数据闭环,重构业务迭代底层逻辑》
  • 【Java集合】List,Map,Set-详细讲解
  • Android基建开发大纲
  • Android - 资源类型 MINE Type
  • Android15 AndroidV冻结和解冻的场景
  • Android URC 介绍及源码案例参考
  • vlc-android: 编译自己的libvlc
  • MySQL深分页慢问题及性能优化
  • thingsboard 通过Entities hierarchy部件实现左边菜单点击,右边的表格按左边的分类型进行过滤筛选数据源
  • 什么是Qoder?如何下载?如何体验?Qoder和其他 AI IDE 什么区别?
  • ZStack Zaku替代VMware Tanzu:六项对比、构建虚拟机+容器一体化架构
  • C# 编写一个XmlToDota的转换工具
  • 关于CentOS7无法使用使用
  • 在Java项目中去理解通用工具为什么能通用,以及如何写出类似的工具类
  • 实践题:智能化风控体系升级方案
  • 医疗器械注册证识别技术:实现从图像到结构化数据的智能转化,提升行业效率与准确性
  • 深度解析游戏引擎中的相机:视图矩阵
  • 【数据结构】深入解析选择排序与堆排序:从基础到高效实现的完全指南
  • 如何在Docker配置中启用实验性模式
  • 对实验室管理而言,LIMS系统究竟有无作用
  • 【STM32】HAL库中的实现(八):I2C通信(以 AT24C02 为例)
  • CentOS系统安装Git全攻略
  • 面试准备革命:面试汪 vs 传统方法,谁更胜一筹?
  • 「数据获取」《中国环境统计年鉴》(1998-2024)(获取方式看绑定的资源)
  • Linux命令大全-userdel命令
  • awk 命令的使用