一、项目描述:该项目是对博客文章的综合管理项目,可以进行文章分类的添加和删除,文章的发布、修改、搜索、预览和删除,另外有包括头像、昵称、邮箱、密码等在内的个人信息修改。二、项目责任:前端整体开发三、技术栈(vue3):Vue3、VueRouter4、Pinia、Element Plus、pnpm、Vite、Axios四、主要贡献:+ Pinia使用pinia-plugin-persistedstate插件进行数据持久化,并将Pinia封装进行独立维护,将仓库导入index.js文件后统一导出,方便仓库使用+ 使用axios拦截器axios.interceptors,在请求前获取token值,在请求失败,给出提示,若为token过期,清空token以及个人信息跳转页面至登录注册页+ 使用全局前置守卫router.beforeEach管理访问权限,拦截未登录用户的路由跳转,未登录用户只可以访问登录页+ 封装项目页面通用容器组件PageContainer,defineProps接收参数作为标题,定义具名插槽来填充按钮,定义默认插槽来填充内容+ 封装项目选择器组件BasicSelect,将组件内el-input组件属性v-model展开成modelValue自定义属性和update:modelValue自定义事件,实现父子组件之间数据双向绑定+ 封装项目发布文章组件ManageDialog①使用编译器宏defineExpose,暴露组件的显示与隐藏方法②使用watch侦听ManageDialog组件显示隐藏,来重置表单内容③使用defineEmits,在发布文章成功后,触发父组件自定义事件,完成后续文章列表的更新动作④另外在ManageDialog的父组件中使用computed计算属性进行时间的格式化,简化模板的书写五、项目gitee地址:https://gitee.com/yuyanfengwe/qinglu声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论