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

哪里有免费的个人简历模板seo工具不包括

哪里有免费的个人简历模板,seo工具不包括,天津建设工程招标信息网官网,东莞seo网络推广专顶部导航栏个人信息显示 接口文档 接口请求与绑定 导航栏下拉菜单功能 路由实现 退出登录和路由跳转实现 基本资料修改 页面结构 接口文档 接口请求与绑定 修改头像 页面结构 头像回显 头像上传 接口文档 重置密码 页面结构 接口文档 接口请求与绑定 顶部导航… 顶部导航栏个人信息显示 接口文档 接口请求与绑定  导航栏下拉菜单功能 路由实现 退出登录和路由跳转实现 基本资料修改 页面结构 接口文档 接口请求与绑定  修改头像 页面结构  头像回显 头像上传 接口文档 重置密码 页面结构 接口文档 接口请求与绑定 顶部导航栏个人信息显示 在Layout.vue中页面加载完就发送请求获取个人信息展示并存储到pinia中因为将来在个人中心中修改信息的时候还需要使用 。 接口文档 接口请求与绑定  在stores目录下新建userInfo.js并定义Store用于将数据存储到pinia中 import { defineStore } from pinia import {ref} from vueexport const useUserInfoStore defineStore(userInfo,(){//1.定义用户信息const info ref({})//2.定义修改用户信息的方法const setInfo (newInfo){info.value newInfo}//3.定义清空用户信息的方法const removeInfo (){info.value{}}return{info,setInfo,removeInfo} },{persist:true }) 在user.js中提供获取个人信息的函数 //获取个人信息 export const userInfoGetService (){return request.get(/user/userInfo); } 在Layout.vue中获取个人信息并存储到pinia中 //导入接口函数 import {userInfoGetService} from /api/user.js //导入pinia import {useUserInfoStore} from /stores/userInfo.js const userInfoStore useUserInfoStore(); import {ref} from vue//获取个人信息 const getUserInf async (){let result await userInfoGetService();if(result.code 0){//成功//存储piniauserInfoStore.info result.data;}else{//失败alert(获取信息失败)} }getUserInf() Layout.vue的顶部导航栏中绑定展示昵称和头像 div用户strong{{ userInfoStore.info.nickname ? userInfoStore.info.nickname : userInfoStore.info.usrename }}/strong/divel-avatar :srcuserInfoStore.info.userPic ? userInfoStore.info.userPic : avatar / 保存后刷新页面可以看到用户名称和头像正常显示  导航栏下拉菜单功能 在el-dropdown中有四个子条目 基本资料更换头像重置密码退出登录 其中其三个起到路由功能跟左侧菜单中【个人中心】下面的二级菜单是同样的功能退出登录需要删除本地pinia中存储的token以及userInfo 路由实现 在el-dropdown标签上绑定command事件,当有条目被点击后会触发这个事件 el-dropdown placementbottom-end commandhandleCommand 在el-dropdown-item标签上添加command属性属性值和路由表中/user/xxx保持一致 el-dropdown-item commandinfo :iconUser基本资料/el-dropdown-item el-dropdown-item commandavatar :iconCrop更换头像/el-dropdown-item el-dropdown-item commandpassword :iconEditPen重置密码/el-dropdown-item el-dropdown-item commandlogout :iconSwitchButton退出登录/el-dropdown-item 退出登录和路由跳转实现 定义并编写handleCommand函数 import {useRouter} from vue-router const router useRouter(); import {ElMessage,ElMessageBox} from element-plus import { useTokenStore } from /stores/token.js const tokenStore useTokenStore() const handleCommand (command) {if (command logout) {//退出登录ElMessageBox.confirm(是否退出登录,提示,{confirmButtonText: 确认,cancelButtonText: 取消,type: warning,}).then(async () {//用户点击了确认//清空pinia中的token和个人信息userInfoStore.info{}tokenStore.token//跳转到登录页router.push(/login)ElMessage.success(成功退出登录)}).catch(() {//用户点击了取消ElMessage({type: info,message: 取消退出,})})} else {//路由router.push(/user/ command)} }保存后刷新既可以完成跳转和退出登录 基本资料修改 页面结构 在UserInfo.vue文件中完成用户资料修改的页面结构组件 script setup import { ref } from vue const userInfo ref({id: 0,username: zhangsan,nickname: zs,email: zs163.com, }) const rules {nickname: [{ required: true, message: 请输入用户昵称, trigger: blur },{pattern: /^\S{2,10}$/,message: 昵称必须是2-10位的非空字符串,trigger: blur}],email: [{ required: true, message: 请输入用户邮箱, trigger: blur },{ type: email, message: 邮箱格式不正确, trigger: blur }] } /script templateel-card classpage-containertemplate #headerdiv classheaderspan基本资料/span/div/templateel-rowel-col :span12el-form :modeluserInfo :rulesrules label-width100px sizelargeel-form-item label登录名称el-input v-modeluserInfo.username disabled/el-input/el-form-itemel-form-item label用户昵称 propnicknameel-input v-modeluserInfo.nickname/el-input/el-form-itemel-form-item label用户邮箱 propemailel-input v-modeluserInfo.email/el-input/el-form-itemel-form-itemel-button typeprimary提交修改/el-button/el-form-item/el-form/el-col/el-row/el-card /template 个人信息之前已经存储到了pinia中只需要从pinia中获取个人信息替换模板数据即可 import { ref } from vue //导入Store import { useUserInfoStore } from /stores/userInfo.js; const userInfoStore useUserInfoStore() //数据模型 const userInfo ref({...userInfoStore.info}) //...用于展开可迭代对象 拆出其中的每个元素 接口文档 接口请求与绑定  在src/api/user.js中提供修改基本资料的函数 //修改个人信息 export const userInfoUpdateService (userInfo){return request.put(/user/update,userInfo) } 在UserInfo.vue文件中提供updateUserInfo请求函数 //修改用户信息 import {userInfoUpdateService} from /api/user.js import { ElMessage } from element-plus; const updateUserInfo async (){let result await userInfoUpdateService(userInfo.value)ElMessage.success(result.message? result.message:修改成功)//更新pinia中的数据userInfoStore.info.nicknameuserInfo.value.nicknameuserInfoStore.info.email userInfo.value.email } 给修改按钮绑定单击事件 el-button typeprimary clickupdateUserInfo提交修改/el-button 保存刷新后能正常完成用户信息的数据回显和更新 修改头像 页面结构  在UserAvatar.vue文件中完成用户资料修改的页面结构组件 script setup import { Plus, Upload } from element-plus/icons-vue import {ref} from vue import avatar from /assets/default.png const uploadRef ref()//用户头像地址 const imgUrl avatar/scripttemplateel-card classpage-containertemplate #headerdiv classheaderspan更换头像/span/div/templateel-rowel-col :span12el-upload refuploadRefclassavatar-uploader :show-file-listfalseimg v-ifimgUrl :srcimgUrl classavatar /img v-else srcavatar width278 //el-uploadbr /el-button typeprimary :iconPlus sizelarge clickuploadRef.$el.querySelector(input).click()选择图片/el-buttonel-button typesuccess :iconUpload sizelarge上传头像/el-button/el-col/el-row/el-card /templatestyle langscss scoped .avatar-uploader {:deep() {.avatar {width: 278px;height: 278px;display: block;}.el-upload {border: 1px dashed var(--el-border-color);border-radius: 6px;cursor: pointer;position: relative;overflow: hidden;transition: var(--el-transition-duration-fast);}.el-upload:hover {border-color: var(--el-color-primary);}.el-icon.avatar-uploader-icon {font-size: 28px;color: #8c939d;width: 278px;height: 278px;text-align: center;}} } /style 头像回显 从pinia中读取用户的头像数据 //读取用户信息 //导入Store import {useUserInfoStore} from /stores/userInfo.js const userInfoStore useUserInfoStore() //用户头像地址 const imgUrlref(userInfoStore.info.userPic) img标签上绑定图片地址三元运输符判断 img v-ifimgUrl :srcimgUrl classavatar / img v-else :srcavatar width278 / 保存刷新查看头像回显 头像上传 action: 服务器接口路径headers: 设置请求头需要携带tokenon-success: 上传成功的回调函数name: 上传图片的字段名称 为el-upload指定属性值 el-upload refuploadRefclassavatar-uploader :show-file-listfalse:auto-uploadtrueaction/api/uploadnamefile:headers{Authorization:tokenStore.token}:on-successuploadSuccess 提供上传成功的回调函数 //导入tokenStore import {useTokenStore} from /stores/token.jsconst tokenStore useTokenStore(); //头像上传成功回调函数 const uploadSuccess (result){//回显图片imgUrl.value result.data } 接口文档 接口请求与绑定 在user.js中提供修改头像的函数 //修改头像 export const userAvatarUpdateService(avatarUrl){let params new URLSearchParams();params.append(avatarUrl,avatarUrl)return request.patch(/user/updateAvatar,params) } 在UserAvatar.vue文件中提供updateAvatar函数完成头像更新   //调用接口更新头像url import {userAvatarUpdateService} from /api/user.js //导入Element-Plus提示框组件 import {ElMessage} from element-plus const updateAvatar async (){let result await userAvatarUpdateService(imgUrl.value)if(result.code 0){//成功ElMessage.success(result.message? result.message:修改成功)//更新pinia中的数据userInfoStore.info.userPicimgUrl.value}else{ElMessage.error(修改失败)}} 在【上传头像】按钮绑定单击事件 el-button typesuccess :iconUpload sizelarge clickupdateAvatar 上传头像 /el-button 如果是用的网络存储服务器那么到这一步修改头像就完成了 练习项目后端使用的是本地文件存储所以没有用到网络url传入本地文件地址后端会报如下错误 点击上传由于这里练习项目没有网络服务器 数据是上传到本地的所以浏览器会拦截本地文件加载导致不能造成数据回显但是目录下是有图片成功上传到的。 后续继续完成项目建议修改src中的值为模拟的固定网络图片url地址https://ts1.cn.mm.bing.net/th/id/R-C.4bdc8f7f0e0201905fe400fb5156b7c7?rikMVFo1SU7cYgFqgriuhttp%3A%2F%2Fwww.spasvo.com%2Fckfinder%2Fuserfiles%2Fimages%2F2020061536450116.jpgehkr7Pp%2FX3wIOhP%2FcuW0ITLAHeD0sZPNatsyfpC3XWOM0s%3DrislpidImgRawr0 如果自己有网络服务器可以使用网络服务器的图片url 重置密码 页面结构 在UserResetPassword.vue文件中完成重置密码的页面的结构组件  script setup import { ref } from vue const password ref({ old_pwd:, new_pwd:, re_pwd: }) const rules {oldPassword: [{ required: true, message: 请输入原密码, trigger: blur },{pattern: /^\S{5,12}$/,message: 密码必须是5-12位的非空字符串,trigger: blur}],newPassword: [{ required: true, message: 请输入新密码, trigger: blur },{pattern: /^\S{5,12}$/,message: 密码必须是5-12位的非空字符串,trigger: blur}],rePassword: [{ required: true, message: 请输入确认新密码, trigger: blur },{pattern: /^\S{5,12}$/,message: 密码必须是5-12位的非空字符串,trigger: blur}]} /script templateel-card classpage-containertemplate #headerdiv classheaderspan重置密码/span/div/templateel-rowel-col :span12el-form :modelpassword :rulesrules label-width100px sizelargeel-form-item label原密码 propoldPasswordel-input typepassword placeholder请输入原密码 show-password v-modelpassword.old_pwd/el-input/el-form-itemel-form-item label新密码 propnewPasswordel-input typepassword placeholder请输入新密码 show-password v-modelpassword.new_pwd/el-input/el-form-itemel-form-item label确认新密码 proprePasswordel-input typepassword placeholder请输入确认密码 show-password v-modelpassword.re_pwd/el-input/el-form-itemel-form-itemel-button typeprimary修改密码/el-buttonel-button typeprimary重置/el-button/el-form-item/el-form/el-col/el-row/el-card /template 定义清空数据模型的函数 在重置按钮处绑定清空文本框数据的单击事件 el-button typeprimary clickclearData()重置/el-button 接口文档 接口请求与绑定 在src/api/user.js中提供重置密码的函数 //重置密码 export const userPasswordUpdateService (password) {return request.patch(/user/updatePwd,password) } 在UserResetPassword.vue文件中提供userPasswordUpdate请求函数 //导入路由 import {useRouter} from vue-router const router useRouter(); //导入element提示框组件 import { ElMessage,ElMessageBox } from element-plus; //导入userPasswordUpdateService函数 import {userPasswordUpdateService} from /api/user.jsconst userPasswordUpdate async() {ElMessageBox.confirm(确认是否重置密码重置之后将退出登录,提示,{confirmButtonText: 确认,cancelButtonText: 取消,type: warning,}).then(async () {//用户点击了确认let result userPasswordUpdateService(password.value)if(result.code 0){//成功//跳转到登录页router.push(/login)ElMessage.success(result.message?result.message:重置成功)ElMessage.success(退出登录)}else{ElMessage.error(操作失败)}}).catch(() {//用户点击了取消ElMessage({type: info,message: 取消重置,})}) } 在修改密码按钮处绑定该函数单击事件 el-button typeprimary clickuserPasswordUpdate()修改密码/el-button 保存后查看效果 项目练习完结
http://www.w-s-a.com/news/800084/

相关文章:

  • 广东省建设厅官方网站多少钱江苏省江建集团有限公司建设网站
  • 网站开发主流服装网站开发课程设计
  • 在iis里面创建网站wordpress响应式视频
  • 学设计哪个网站好网页设计音乐网站
  • 可以自己做斗图的网站上海模板建站多少钱
  • 山东川畅信息技术有限公司网站建设网站开发任务书
  • 网站排版设计欣赏搭建公司介绍网站
  • 网站弹窗是怎么做的长沙智优营家
  • 手机网站菜单设计模板菜单网站图片素材
  • 浙江网站推广爱企查企业查询入口
  • 公司网站平台vs2012网站开发课程设计
  • 哪些方法可以建设网站做网站失败
  • 龙岗网站建设技术wordpress左右两栏
  • 电子商务网站开发与应用的介绍怎么查询域名是否备案
  • 想做一个自己设计公司的网站怎么做的权威发布型舆情回应
  • 做ppt用的音效网站python基础教程网易
  • 可以做免费广告的网站有哪些做视频赚钱的国外网站
  • 苏州做物流网站电话郑州网站高端网站设计
  • 网站建设音乐插件怎么弄wordpress添加数据库文件
  • 汽车行业做网站福建省第二电力建设公司网站
  • delphi做网站开发商城网站建设价位
  • 网站宣传片3 阐述网站建设的步骤过程 9分
  • 公司网站怎么做站外链接哪里有做胎儿dna亲子鉴定
  • 潍坊做电商的网站建设wordpress 特效主题
  • 做网站和app哪个难公司网上注册系统
  • 关于网站建设外文文献系部网站建设
  • 高端设计网站都有哪些月付网站空间提供商
  • 家政 东莞网站建设优化设计官方电子版
  • 做网站如何使用网页插件上海造价信息网
  • 承德网站制作加盟天津做优化的网站有多少家