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

vue学习笔记10

ChatGPT & Copilot

AI 的认知 

两个工具

1、ChatGPT 3.5

2、Github Copilot

ChatGPT 的基本使用 - Prompt 优化

AI 互动的过程中,容易出现的问题:

                  1、  AI未能理解问题的核心要点

                  2、 AI的回答过于宽泛 或 过于具体

                  3、  AI提供了错误的信息或观点

                   4、AI未能提供有价值的建议或解决方案

个人中心项目实战 - 基本资料 

封装接口,更新个人信息

封装接口

export const userUpdateInfoService = ({ id, nickname, email }) =>
request.put('/my/userinfo', { id, nickname, email })

页面中校验后,封装调用

const formRef = ref()
const onSubmit = async () => {
  const valid = await formRef.value.validate()
  if (valid) {
    await userUpdateInfoService(userInfo.value)
    await getUser()
    ElMessage.success('修改成功')
  }
}

个人中心项目实战 - 更换头像 

静态结构

<script setup>
import { ref } from 'vue'
import { Plus, Upload } from '@element-plus/icons-vue'
import { useUserStore } from '@/stores'

const userStore = useUserStore()

const imgUrl = ref(userStore.user.user_pic)
const onUploadFile = (file) => {
console.log(file)
}
</script>

<template>
<page-container title="更换头像">
<el-row>
<el-col :span="12">
<el-upload
ref="uploadRef"
class="avatar-uploader"
:auto-upload="false"
:show-file-list="false"
:on-change="onUploadFile"
>
<img v-if="imgUrl" :src="imgUrl" class="avatar" />
<img v-else src="@/assets/avatar.jpg" width="278" />
</el-upload>
<br />
<el-button type="primary" :icon="Plus" size="large">
选择图片
</el-button>
<el-button type="success" :icon="Upload" size="large">
上传头像
</el-button>
</el-col>
</el-row>
</page-container>
</template>

<style lang="scss" 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>

选择预览图片

const uploadRef = ref()
const imgUrl = ref(userStore.user.user_pic)
const onUploadFile = (file) => {
const reader = new FileReader()
reader.readAsDataURL(file.raw)
reader.onload = () => {
imgUrl.value = reader.result
}
}
<el-upload ref="uploadRef"></el-upload>
<el-button
@click="uploadRef.$el.querySelector('input').click()"
type="primary"
:icon="Plus"
size="large"
>选择图片</el-button
>

上传头像

封装接口

export const userUploadAvatarService = (avatar) => request.patch('/my/update/avatar', { avatar })

调用接口

const onUpdateAvatar = async () => {
  await userUploadAvatarService(imgUrl.value)
  await userStore.getUser()
  ElMessage({ type: 'success', message: '更换头像成功' })
}

 

相关文章:

  • html+css设计情人节网页制作主页页面
  • Tree Search for Web Agents
  • Attanger: Zotfile 插件在 Zotero7 的平替
  • ElementUI 的组件 Switch(开关)如何让文字显示在按钮上
  • DeepSeek 助力 Vue 开发:打造丝滑的无限滚动(Infinite Scroll)
  • 机器视觉--数字图像格式
  • 如何正确安装Stable Diffusion Web UI以及对应的xFormers
  • 面试第二山!《计算机网络》!
  • django上传文件
  • 2.zookeeper3.8.4安装
  • 智元机器人开源AgiBot World数据集:具身智能领域的“ImageNet时刻”
  • 后勤数据源定制主控室
  • 【以无克有】排序之随机快速排序
  • yanshee机器人初次使用说明(备注)-PyCharm
  • Springboot中添加原生websocket支持
  • 考研操作系统----操作系统的概念定义功能和目标(仅仅作为王道哔站课程讲义作用)
  • 蓝桥杯之图
  • web前端第三次作业
  • mysql用户名怎么看
  • H5自适应响应式代理记账与财政咨询服务类PbootCMS网站模板 – HTML5财务会计类网站源码下载
  • 网站设计背景图片/中牟网络推广外包
  • 临海市建设局网站/软文例文 经典软文范例
  • 可以做微信公众号封面的网站/百度最新秒收录方法2022
  • vi设计公司模板/天津seo实战培训
  • 在线做静态头像的网站/天津百度推广代理商
  • php动态网站开发人民邮电出版社/网络营销策略分析案例