🤠前端开发过程中记录

type
status
date
slug
summary
tags
category
icon
password
💡
仅做我自己总结使用

Tailwind CSS 速览

  1. 设置 flex 方向
      • flex-row: 水平排列(默认)
      • flex-row-reverse: 反向水平排列
      • flex-col: 垂直排列
      • flex-col-reverse: 反向垂直排列
  1. 设置 flex 项目的对齐方式
      • justify-start: 从头部开始对齐
      • justify-center: 居中对齐
      • justify-end: 从尾部开始对齐
      • justify-between: 两端对齐,项目之间的间距相等
      • justify-around: 每个项目两侧的间距相等
      • justify-evenly: 项目之间的间距相等
  1. 设置 flex 项目的对齐方式(交叉轴)
      • items-start: 从交叉轴的起点对齐
      • items-center: 在交叉轴上居中对齐
      • items-end: 从交叉轴的终点对齐
      • items-baseline: 基线对齐
      • items-stretch: 拉伸以填满容器(默认)
  1. 设置 flex 项目的自身对齐方式
      • self-auto: 默认值
      • self-start: 从交叉轴的起点对齐
      • self-center: 在交叉轴上居中对齐
      • self-end: 从交叉轴的终点对齐
      • self-stretch: 拉伸以填满容器
  1. 设置 flex 项目的排列顺序
      • order-1order-2order-3, ..., order-last: 设置 flex 项目的显示顺序
  1. 设置 flex 项目的占比
      • flex-1: 项目将占据剩余的所有空间
      • flex-auto: 项目将根据内容自动调整大小
      • flex-initial: 项目将根据内容的大小进行调整,但不会占据剩余空间
      • flex-none: 项目不会增长或缩小
这些类可以组合使用,帮助你轻松实现复杂的布局。希望这些信息对你有帮助!

布局

  1. Flexbox:
      • flex: 使元素成为 flex 容器。
      • flex-rowflex-col: 设置 flex 方向。
      • justify-startjustify-centerjustify-end: 主轴对齐方式。
      • items-startitems-centeritems-end: 交叉轴对齐方式。
  1. Grid:
      • grid: 使元素成为网格容器。
      • grid-cols-1grid-cols-2grid-cols-3, ...: 设置列数。
      • gap-1gap-2gap-4, ...: 设置网格间距。
  1. Spacing:
      • m-4: 设置外边距。
      • p-4: 设置内边距。
      • space-x-4space-y-4: 设置 flex 项目之间的间距。

排版

  1. 文本:
      • text-lefttext-centertext-right: 文本对齐方式。
      • text-smtext-basetext-lg, ...: 设置文本大小。
      • font-thinfont-normalfont-bold, ...: 设置字体粗细。
  1. 颜色:
      • text-red-500text-blue-500, ...: 设置文本颜色。
      • bg-red-500bg-blue-500, ...: 设置背景颜色。
  1. 字体:
      • font-sansfont-seriffont-mono: 设置字体系列。
      • leading-tightleading-normalleading-loose: 设置行高。

背景

  1. 背景颜色:
      • bg-whitebg-gray-100bg-blue-500, ...: 设置背景颜色。
  1. 背景图片:
      • bg-coverbg-contain: 设置背景图片的大小。
      • bg-centerbg-topbg-bottom: 设置背景图片的位置。

边框

  1. 边框样式:
      • borderborder-2border-4: 设置边框宽度。
      • border-solidborder-dashedborder-dotted: 设置边框样式。
  1. 边框颜色:
      • border-gray-500border-red-500, ...: 设置边框颜色。
  1. 边框圆角:
      • roundedrounded-lgrounded-full: 设置边框圆角。

大小

  1. 宽度:
      • w-1/2w-1/3w-full, ...: 设置宽度。
      • min-w-0min-w-full: 设置最小宽度。
      • max-w-xsmax-w-smmax-w-full: 设置最大宽度。
  1. 高度:
      • h-1/2h-fullh-screen, ...: 设置高度。
      • min-h-0min-h-full: 设置最小高度。
      • max-h-xsmax-h-smmax-h-full: 设置最大高度。

其他实用类

  1. 显示与隐藏:
      • blockinline-blockinline: 设置显示类型。
      • hidden: 隐藏元素。
  1. 定位:
      • relativeabsolutefixedsticky: 设置定位方式。
      • top-0right-0bottom-0left-0: 设置位置。
  1. 阴影:
      • shadowshadow-mdshadow-lg: 设置阴影效果。
  1. 过渡与动画:
      • transitionduration-150ease-in-out: 设置过渡效果。
      • animate-spinanimate-ping: 设置动画效果。
 

布局(续)

  1. Flexbox(续):
      • flex-wrapflex-nowrapflex-wrap-reverse: 设置 flex 项目是否换行。
      • flex-growflex-shrink: 设置 flex 项目的增长和收缩。
      • flex-none: 禁止 flex 项目增长和收缩。
      • order-firstorder-lastorder-noneorder-1order-2, ...: 设置 flex 项目的排列顺序。
  1. Grid(续):
      • grid-rows-1grid-rows-2, ...: 设置行数。
      • col-span-1col-span-2, ...: 设置列跨度。
      • row-span-1row-span-2, ...: 设置行跨度。
      • auto-cols-autoauto-cols-minauto-cols-maxauto-cols-fr: 设置自动列大小。
      • auto-rows-autoauto-rows-minauto-rows-maxauto-rows-fr: 设置自动行大小。

间距(续)

  1. Margin(外边距):
      • m-0m-1m-2, ...: 设置所有方向的外边距。
      • mt-0mr-0mb-0ml-0: 单独设置上、右、下、左外边距。
      • mx-0my-0: 分别设置水平和垂直方向的外边距。
  1. Padding(内边距):
      • p-0p-1p-2, ...: 设置所有方向的内边距。
      • pt-0pr-0pb-0pl-0: 单独设置上、右、下、左内边距。
      • px-0py-0: 分别设置水平和垂直方向的内边距。

排版(续)

  1. 文本颜色:
      • text-gray-100text-gray-200, ...: 设置不同深浅的灰色文本颜色。
      • text-opacity-50text-opacity-75: 设置文本颜色的不透明度。
  1. 文本修饰:
      • underlineline-throughno-underline: 设置文本装饰。
      • uppercaselowercasecapitalizenormal-case: 设置文本变换。
  1. 文本阴影:
      • text-shadowtext-shadow-mdtext-shadow-lg: 设置文本阴影(需要插件支持)。

背景(续)

  1. 背景渐变:
      • bg-gradient-to-tbg-gradient-to-rbg-gradient-to-bbg-gradient-to-l: 设置背景渐变方向。
      • from-blue-500via-purple-500to-pink-500: 设置渐变颜色。
  1. 背景混合模式:
      • bg-blend-normalbg-blend-multiplybg-blend-screen, ...: 设置背景混合模式。

边框(续)

  1. 边框宽度:
      • border-t-4border-r-4border-b-4border-l-4: 单独设置某一边的边框宽度。
  1. 边框颜色透明度:
      • border-opacity-50border-opacity-75: 设置边框颜色的不透明度。

大小(续)

  1. 百分比宽度和高度:
      • w-1/4w-1/3w-2/3w-3/4: 设置宽度为百分比。
      • h-1/4h-1/3h-2/3h-3/4: 设置高度为百分比。

其他实用类(续)

  1. 显示与隐藏(续):
      • inline-flex: 使元素成为 inline flex 容器。
  1. 定位(续):
      • inset-0inset-y-0inset-x-0: 设置元素的位置。
      • z-0z-10z-20, ...: 设置 z-index。
  1. 阴影(续):
      • shadow-smshadow-mdshadow-lgshadow-xlshadow-2xl: 设置不同强度的阴影。
      • shadow-inner: 设置内阴影。
  1. 过渡与动画(续):
      • transition-colorstransition-opacitytransition-transform: 设置不同类型的过渡效果。
      • ease-linearease-inease-outease-in-out: 设置过渡的缓动函数。
  1. 过滤器:
      • filterfilter-none: 启用或禁用过滤器。
      • blur-smblur-mdblur-lg: 设置模糊效果。
      • brightness-50brightness-75brightness-100, ...: 设置亮度。
      • contrast-50contrast-75contrast-100, ...: 设置对比度。
      • grayscaleinvertsepia: 设置灰度、反色、和怀旧效果。
  1. 变换:
      • transformtransform-none: 启用或禁用变换。
      • scale-50scale-75scale-100, ...: 设置缩放。
      • rotate-45rotate-90rotate-180, ...: 设置旋转。
      • translate-x-0translate-x-1translate-x-2, ...: 设置平移。

一、Vue

  1. 工具函数 (utils)
      • storage: 提供了 createLocalStorage 工厂函数,用于创建本地存储 (ls - 30天过期) 和会话存储 (ss - 无过期) 实例,返回 set, get, remove, clear 方法。
      • request: 封装了 axios 实例 (service),包含请求和响应拦截器,能处理特定状态码(如 2001)。
      • is 函数: 用于进行各种数据类型的判断。
      • 其他工具: 包含 debounce (防抖)、getCurrentDate (获取当前日期)、formatCommentTime (格式化评论时间)等常用函数。
      • index.ts: 通常作为模块出口,使用 export * from './...' 语法导出其他文件内容。
      • helper.ts: 存放具体的辅助功能实现。
  1. TypeScript 相关
      • shims-vue.d.ts: 让 TypeScript 能够识别 .vue 文件导入。
  1. 路由 (Vue Router)
      • 路径参数: 使用 : (如 /user/:id) 在路由定义中捕获动态 URL 段。
      • 路由守卫 (beforeEach): 在每次导航前执行,常用于权限验证(示例中检查 token,未登录则跳转登录页)。
      • setupPageGuard: 一个封装了 beforeEach 逻辑的函数。
      • 守卫设置步骤: 定义守卫函数 -> 在路由实例上注册 -> 确保注册成功。
      • 调试技巧: 路由不显示时,尝试重启 VSCode。
  1. 状态管理 (Pinia)
      • Store 定义: 使用 defineStore 创建 store(类似一个类),包含 state (状态)、actions (方法)。示例:usePdfStore 管理 PDF 当前页码。
      • 适用场景: 用户认证/会话状态、全局设置/配置、全局通知、跨组件共享数据、异步数据/请求状态。
  1. 其他
      • 跨域问题: 提到了这个问题,但笔记中未记录解决方案。
      • 图标库: 推荐使用 xicons (https://www.xicons.org/#/)。
 

二、部署nginx

  1. 遇到的问题:
      • .mjs 文件相关问题。
      • 流式传输问题。
      • 根路径 / 跳转问题。
  1. 解决方案/配置:
      • 解决流式传输: 设置 proxy_buffering off;proxy_request_buffering off;
      • 静态资源服务 (location块示例): 为特定路径 (如 /pdfjs-4.4.168-dist/) 配置别名 (alias)、缓存时间 (expires)、关闭访问日志 (access_log off),并确保正确的 MIME 类型 (default_type application/javascript;)。
  1. 调试提示: 可能需要使用无痕模式测试。
  1. 提交搜索引擎中 搜索引擎
 

三、uniapp

  1. 快速入门
  1. 语法/特性:
      • 注意标签闭合: </view> </uni-col>
      • 条件编译: 使用 // #ifdef H5 ... // #endif 等。
      • 模块化: uni_modules (如 uni-ai-chat)。
  1. 环境配置: 可能需要使用 nvm 降低 Node.js 版本。
  1. 组件 https://zh.uniapp.dcloud.io/component/
  1. 图标 https://www.iconfont.cn/

四、小程序

  1. 知识点
  1. 基础:
    1. 核心概念:
        • 数据绑定: 与 Vue 不同,必须使用 this.setData() 更新视图。
        • 数据传递: globalData, 页面跳转 URL 参数 (wx.navigateTo/wx.redirectTo 配合 onLoad 读取), Storage
        • 生命周期: onLoad (页面加载时,仅一次),onShow (页面显示/切入前台时)。
        • 事件处理: bindtap (冒泡),catchtap (不冒泡)。
        • 网络请求: wx.request 是 Promise 封装,无跨域限制。
        • 页面跳转: 有四种不同的跳转方式 (navigateTo, redirectTo, switchTab, reLaunch)。
    1. 库/技巧:
        • towxml: Markdown/HTML 解析库,其样式可自定义。
        • 滚动到底部技巧: 在列表末尾放置一个空的 view (如 <view id="end">) 以便定位。
    1. BUG 记录:
        • FastAPI 与 APIRouter 混淆导致的问题。
        • 大模型回答效果差,需检查 prompt 和 history 格式 (history.append(...))。
    1. 待解决/学习:
        • 一些配置文件尚未完全理解。
        • 流式传输实现细节。
        • 路由路径错误导致页面加载失败。
          • notion image
    1. 开发原则: UI 复用。
    1. SEO: 提供了提交站点地图到搜索引擎的链接。
    1. 兼容性问题: Element UI 无法使用。
    1. 待办事项 (目前还差):
        • 对接通义千问 function call (72b 模型)。
        • 实现组件按需注入,减小包体积。
        • 小程序上线流程(备案、公对公转账)。
        • 获取邮箱数据。
        • 实现一键授权、微信登录、协议勾选、自动 focus。
        • 将 Python 项目打包成 Docker 镜像 (当务之急)。
        • 修复流式传输中途停止的 bug。
        • 完善大模型打分评估逻辑(附有图片)。
        • 调整 UI 颜色(更深)。
     
    上一篇
    创业一百问
    下一篇
    我是肖徽腾
    Loading...