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

哪个网站做签约插画师好怎么样把自己的产品网上推广

哪个网站做签约插画师好,怎么样把自己的产品网上推广,做区块链网站的公司,互动创意网站功能9:退出登录功能 功能8:页面权限控制 功能7:路由全局前置守卫 功能6:动态添加路由记录 功能5:侧边栏菜单动态显示 功能4:首页使用Layout布局 功能3:点击登录按钮实现页面跳转 功能2&#xf…

功能9:退出登录功能

功能8:页面权限控制
功能7:路由全局前置守卫
功能6:动态添加路由记录
功能5:侧边栏菜单动态显示
功能4:首页使用Layout布局
功能3:点击登录按钮实现页面跳转
功能2:静态登录界面
功能1:创建前端项目

前言

模板代码使用AI生成,基本可以实现大概的效果。想要精细化调整,可以等到功能实现完成后再进行重构。

一.操作步骤

1.使用AI生成模板代码

将现有的Navbar.vue的代码附上,然后让AI根据要求生成想要的代码。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最后在退出登录的方法里,调用userStore的logout方法,成功后使用location.href = '/index'

<template><el-header class="navbar"><el-breadcrumb separator="/"><el-breadcrumb-itemv-for="item in breadcrumbItems":key="item.path":to="item.path">{{ item.title }}</el-breadcrumb-item></el-breadcrumb><div class="user-menu"><el-dropdown trigger="hover"><div class="avatar-container"><img :src="avatarUrl" alt="用户头像"class="avatar-image"/></div><template #dropdown><el-dropdown-menu class="dropdown-menu"><el-dropdown-item @click="handleSettings"class="menu-item"><span>个人设置</span></el-dropdown-item><el-dropdown-item divided @click="handleLogout"class="menu-item"><span>退出登录</span></el-dropdown-item></el-dropdown-menu></template></el-dropdown></div></el-header>
</template><script setup>
import { ElHeader, ElBreadcrumb, ElBreadcrumbItem, ElDropdown, ElDropdownMenu, ElDropdownItem, ElMessageBox } from 'element-plus'const breadcrumbItems = [{ title: '首页', path: '/' },{ title: '关于', path: '/about' }
]// 请确保在 assets 目录下存在 user-avatar.png 图片文件
const avatarUrl = new URL('@/assets/images/profile.jpg', import.meta.url).hrefimport useUserStore from '@/stores/user'
const userStore = useUserStore()const handleLogout = () => {// 处理退出登录逻辑ElMessageBox.confirm('确定注销并退出系统吗?', '提示', {confirmButtonText: '确定',cancelButtonText: '取消',type: 'warning'}).then(() => {userStore.logout().then(() => {location.href = '/index';})}).catch(() => { });
}const handleSettings = () => {// 处理设置逻辑console.log('打开设置页面')
}
</script><style scoped>
/* 导航栏整体样式 */
.navbar {background-color: #ffffff;border-bottom-width: 1px;border-bottom-style: solid;border-bottom-color: #e5e7eb;display: flex;align-items: center;justify-content: space-between;height: 64px;padding: 0 24px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}/* 用户菜单容器 */
.user-menu {position: relative;z-index: 1000;
}/* 头像容器 */
.avatar-container {position: relative;width: 40px;height: 40px;transition: all 0.3s ease;
}/* 头像图片样式 */
.avatar-image {width: 100%;height: 100%;border-radius: 9999px;object-fit: cover;border: 2px solid #fff;box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}/* 悬停效果 */
.avatar-container:hover .avatar-image {transform: scale(1.1);box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}/* 下拉菜单样式 */
.dropdown-menu {border: none !important;border-radius: 8px !important;box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;margin-top: 12px !important;padding: 8px 0 !important;
}/* 菜单项样式 */
.menu-item {font-size: 14px;color: #333 !important;transition: all 0.2s ease;
}.menu-item:hover {background: #f5f7fa !important;color: #409eff !important;transform: translateX(4px);
}/* 分割线样式 */
.el-dropdown-menu__item--divided {border-color: #ebeef5 !important;
}
</style>

2.userStore增加logout方法

暂时先简单的实现删除token。

const logout = async () => {await removeToken()}

二.功能验证

运行项目,浏览器访问http://localhost:5173/index
在这里插入图片描述

三.知识点拓展

1. 单文件组件 (SFC)

代码表现

<template>...</template>
<script setup>...</script>
<style scoped>...</style>

通俗解释
• 就像"网页三件套"(HTML+CSS+JS)的现代版升级
template 是组件的外观布局(类似HTML)
script 是组件的核心逻辑(类似JS)
style 是组件的化妆包(类似CSS)
scoped 表示这个化妆包只服务当前组件,不会影响其他组件


2. 组合式 API (Composition API)

代码表现

<script setup>
// 所有代码都写在这里
const handleLogout = () => {...}
</script>

通俗解释
• Vue 3 的代码组织新方式,类似搭积木
• 特点:
• 所有功能代码集中编写,不再分散在 options 中
• 使用普通变量和函数就能实现响应式
• 代码复用更方便(可以抽离为函数)


3. 组件通信

代码表现

import { ElHeader, ElBreadcrumb } from 'element-plus'

通俗解释
• 组件就像乐高积木,可以自由组合
• 第三方组件(如 Element Plus)需要先导入再使用
• 组件间通过 props(属性)和 events(事件)传递信息
• 例如:<el-breadcrumb> 接收到 separator="/" 属性后显示斜杠分隔符


4. 状态管理 (Pinia)

代码表现

import useUserStore from '@/stores/user'
const userStore = useUserStore()
userStore.logout()

通俗解释
• 专门管理需要全局共享的数据(比如用户登录状态)
• 相当于给组件们建立一个共享储物柜
• 使用流程:

  1. 定义储物柜(创建 store)
  2. 需要时打开储物柜(import store)
  3. 存取物品(读写状态)

5. 样式作用域

代码表现

<style scoped>
.avatar-image { ... }
</style>

通俗解释
• 给样式添加"防污染护盾"
• 带 scoped 的样式只影响当前组件
• 实现原理:自动给选择器添加唯一标识,如:

.avatar-image[data-v-f3f3eg9] { ... }

6. 响应式基础

代码表现

const avatarUrl = new URL(...) // 静态资源引用

潜在响应式用法

import { ref } from 'vue'const count = ref(0) // 变成响应式数据
function add() {count.value++ // 修改时页面自动更新
}

通俗解释
• 让数据与界面保持同步的魔法
• 当数据变化时,界面会自动更新
• Vue 3 主要使用 ref()reactive() 实现


7. 生命周期

代码表现

// 隐含在组件初始化过程中

通俗解释
• 组件的"人生阶段":

  1. 出生(创建)
  2. 成长(更新)
  3. 消亡(销毁)
    • 常用钩子:
    onMounted:组件加载完成时(适合请求数据)
    onUpdated:数据更新时
    onUnmounted:组件销毁时(适合清理资源)

知识图谱

单文件组件
Template
Script
Style
组合式API
状态管理
生命周期
组件通信
样式作用域
Pinia
Props/Events

四.思考

http://www.dtcms.com/wzjs/516636.html

相关文章:

  • 网站和h5关键词seo深圳
  • 青海网站建设推广微博营销软件
  • 邦拓网站建设互联网搜索引擎
  • 医院网站如何备案推广关键词外包
  • 巩义网站建设优化公司seo顾问赚钱吗
  • 东营中移动网站建设百度客户端手机版
  • 有什么做网兼的网站今日热点新闻事件摘抄2022
  • 免费信息发布网站大全百度竞价登录
  • 蜘蛛不抓取网站的原因实体店引流推广方法
  • wordpress自动评论seo工具网站优化课程培训
  • 东莞建设网站官网住房和城乡品牌推广的方式
  • 注册号域名后 怎么建设网站冯耀宗seo视频教程
  • 南宁网站优化谷歌手机版下载安装
  • 芜湖哪些公司做公司网站广告策划书
  • 免费做淘客cms网站广告主资源哪里找
  • 台海局势最新消息seo网站推广什么意思
  • 营销网站建设流程图搜索引擎优化的含义
  • 网站关键词优化建议找广告商的平台
  • dwcc网站前台脚本怎么做音频seo关键词的优化技巧
  • 温州商城网站建设seo知识培训
  • 黑色网站素材seo排名点击手机
  • 泉州网站建设测试新泰网站seo
  • 在线商城网站建设昆明百度推广优化
  • 免费静态网站模板下载app怎么推广运营
  • 网站开发对数据库的要求广东广州重大新闻
  • 建设工程信息网官网查询系统广州专做优化的科技公司
  • 服装网站建设与规划智能优化网站
  • 做网站发布信息定制网站和模板建站
  • 自己电脑怎么做网站山东省住房和城乡建设厅
  • 怎么制作网站应用产品营销方案策划书