ChatGPT多模态前端自建日志(小日志)

主要对于一些细节进行完善

传送门:

增加头像

交流有点单调,加点头像好看点,主要是写了一个看到一个比较好玩的头像,想试试。不过也是这时候才发现了自己的一个坑。由于发送消息容器和回复容器是分开的,然后我在添加头像容器的时候,发现回复容器没有容器包裹直接放在外面,结果添加的时候遇到一些麻烦。

处理各种报错类型

对于超时异常、格式异常、请求回复异常。以前的异常处理很粗暴,几乎没有处理,结果异常产生的时候显示在前台就很难看。现在都捕获转成json字符串高亮显示,总算看起来是舒服了一点。

添加终止按钮

为了体验好一点。在接收消息的时候显示一个终止按钮,点击即可终止当前的回复消息接收。因为通过enter和发送按钮事件发送消息。所以需要给他们都加上终止逻辑和终止标记。最后,在消息接收done的时候重置终止标记。

最后,头像样式代码奉上,小东西真折腾人。

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="utf-8" />
  <title></title>
  <style>
    body {
      display: flex;
      justify-content: center;
      align-items: center;
      height: 100vh;
      margin: 0;
    }

    img {
      --s: 240px;
      --c1: #c02942;
      /* 定义边框和底部阴影的颜色 */
      --c2: #ecd078;
      /* 定义渐变背景的主要颜色 */
      --b: 3px;
      /* 定义边框的宽度 */
      --f: 1;
      /* 定义图片的初始缩放比例 */
      --bgOption: content-box no-repeat center/ calc(100% / var(--f)) 100%;
      /* 设置背景大小和位置,确保背景图案居中且缩放正确 */
      --shrink: calc((var(--s) / var(--f) - var(--s)) / 2 - var(--b));
      /* 计算缩放后的调整值 */

      width: var(--s);
      height: var(--s);
      cursor: pointer;
      transition: 0.5s;
      padding-top: 100px;
      outline-offset: var(--shrink);
      transform: scale(var(--f));
      border-radius: 0 0 999px 999px;
      box-shadow: 0 -1 0 var(--b) var(--c1);
      background: radial-gradient(circle closest-side,
          var(--c2) calc(99% - var(--b)),
          var(--c1) calc(100% - var(--b)),
          var(--c1) 99%,
          transparent 100%) var(--bgOption);
      -webkit-mask: linear-gradient(#000 0 0) no-repeat center calc(0px - var(--shrink)) / calc(100% / var(--f) - 2 * var(--b)) 50%, radial-gradient(circle closest-side, #000 99%, transparent) var(--bgOption);
    }

    img:hover {
      --f: 1.35;
    }
  </style>

</head>

<body>
  <img src="">
</body>

</html>
8 个赞

这种系列帖子真的好

3 个赞

翻了下系列的帖子,很强。佬平时有写笔记、博客这些习惯吗

围观学习

:heart:

哈哈,因为脑子比较健忘,所以写项目或者学习都会记录一下,分类放好。

很好的习惯,我都很久没有写过笔记了