微信小程序案例:计算器(含代码)

news2024/10/21 13:57:44

在这里插入图片描述

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。
🍎个人主页:Java Fans的博客
🍊个人信条:不迁怒,不贰过。小知识,大智慧。
💞当前专栏:微信小程序开发实战
✨特色专栏:国学周更-心性养成之路
🥭本文内容:微信小程序案例:计算器(含代码)

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

在这里插入图片描述

文章目录

  • 引言
    • 一、案例分析
    • 二、实现思路
      • 1. 项目准备
      • 2. 功能模块设计
      • 3. 逻辑实现
      • 4. 测试优化
    • 三、界面设计
      • 1. 显示区域
      • 2. 按钮布局
      • 3. 颜色与风格
      • 4. 交互设计
      • 5. 响应式设计
    • 四、示例代码
      • 1. WXML 文件
      • 2. WXSS 文件
      • 3. JS 文件
    • 五、功能测试
      • 1. 功能测试
      • 2. 边界条件测试
      • 3. 性能测试
      • 4. 用户体验测试
      • 5. 测试工具与方法
    • 六、总结

引言

  在数字化时代,移动设备已经成为人们日常生活中不可或缺的一部分。随着智能手机的普及,各类应用程序应运而生,极大地丰富了用户的生活体验。其中,微信小程序作为一种轻量级的应用形式,以其便捷性和高效性迅速赢得了广大用户的青睐。

  计算器作为一种基本的工具,几乎在每个智能手机中都能找到。它不仅用于简单的数学运算,还在学习、工作和日常生活中扮演着重要角色。传统的计算器往往功能单一,而随着技术的发展,微信小程序的出现为计算器的功能扩展提供了新的可能性。

  本文将深入分析一个简单的“计算器”微信小程序,探讨其设计理念、功能实现以及用户体验。我们将从用户需求出发,讨论如何通过简洁的界面和直观的操作方式,使得计算器不仅能满足基本的计算需求,还能为用户提供良好的使用体验。

一、案例分析

“计算器”微信小程序的页面效果如下图所示。

在计算器中可以进行整数和小数的加(+)、减(-)、乘(×)、除(÷)运算。

在这里插入图片描述

“计算器”微信小程序中某些功能键的作用。

  • “C”按钮为清除按钮,表示将输入的数字全部清空;
  • “DEL”按钮为删除按钮,表示删除前面输入的一个数字;
  • “+/-”按钮为正负号切换按钮,用于实现正负数切换;
  • “.”按钮为小数点按钮,表示在计算过程中可以输入小数进行计算;
  • “=”按钮为等号按钮,表示将对输入的数字进行计算。

二、实现思路

  在开发一个微信小程序计算器时,合理的实现思路是确保应用功能完整、用户体验良好以及代码结构清晰。以下是实现该计算器小程序的详细思路,分为项目准备、功能模块设计、逻辑实现和测试优化四个部分。

1. 项目准备

创建项目
使用微信开发者工具创建一个新的小程序项目,选择合适的项目名称和目录。确保开发环境已配置好,包括微信开发者工具的安装和小程序的基本设置。

项目结构
在项目中创建以下文件结构:

/calculator
  ├── /pages
  │    └── calculator
  │         ├── calculator.wxml
  │         ├── calculator.wxss
  │         └── calculator.js
  ├── app.js
  ├── app.json
  └── app.wxss
  • calculator.wxml:定义计算器的界面结构。
  • calculator.wxss:设置计算器的样式。
  • calculator.js:实现计算器的逻辑功能。

2. 功能模块设计

功能需求分析
在设计计算器的功能时,需要考虑用户的基本需求,包括:

  • 数字输入:支持输入0-9的数字。
  • 运算符输入:支持加、减、乘、除运算符的输入。
  • 小数点输入:允许用户输入小数。
  • 清除和删除功能:提供清除全部输入和删除最后一个字符的功能。
  • 正负号切换:允许用户切换输入数字的正负号。
  • 计算结果:支持对输入的表达式进行计算,并显示结果。

界面设计
设计一个简洁明了的用户界面,包括:

  • 显示区域:用于展示用户输入的数字和计算结果。
  • 按钮布局:将数字按钮、运算符按钮和功能按钮合理排列,确保用户能够快速点击。

3. 逻辑实现

数据绑定
data 对象中定义一个 result 属性,用于存储用户输入的表达式和计算结果。通过数据绑定,确保用户输入的内容能够实时更新到显示区域。

事件处理
为每个按钮绑定相应的事件处理函数,具体实现如下:

  • 输入数字和运算符:在 input 方法中,通过 e.target.dataset.value 获取按钮的值,并将其添加到 result 中。使用 setData 方法更新数据,确保显示区域实时反映用户输入。

  • 清除功能:在 clear 方法中,将 result 重置为空字符串,清空输入。

  • 删除功能:在 delete 方法中,使用 slice 方法删除 result 中的最后一个字符,便于用户修改输入。

  • 正负号切换:在 toggleSign 方法中,判断当前输入是否为空,如果不为空,则将其转换为负数或正数。

  • 计算功能:在 calculate 方法中,使用 eval 函数计算表达式的结果。为了避免计算错误,使用 try...catch 语句捕获异常,如果计算出错,则显示“Error”。

4. 测试优化

功能测试
在开发过程中,定期进行功能测试,确保每个功能模块都能正常工作。测试内容包括:

  • 输入不同的数字和运算符,检查计算结果是否正确。
  • 测试清除和删除功能,确保能够正确清空输入。
  • 测试正负号切换功能,确保切换后结果正确。

用户体验优化
根据测试反馈,优化用户体验,例如:

  • 按钮反馈:为按钮添加点击效果,增强用户的交互感。
  • 错误提示:在计算出错时,提供清晰的错误提示,帮助用户理解问题所在。
  • 界面美化:根据用户反馈,调整界面的颜色和布局,使其更加美观和易用。

发布与维护
在完成开发和测试后,将小程序提交审核,发布到微信平台。发布后,持续关注用户反馈,定期进行维护和更新,修复可能出现的bug,并根据用户需求添加新功能。

三、界面设计

  界面设计是用户体验的关键因素之一,尤其是在计算器这样的应用中,用户需要快速、准确地进行输入和计算。因此,良好的界面设计不仅要美观,还要具备高效的操作性。以下是对“计算器”微信小程序界面设计的详细阐述:

1. 显示区域

功能与布局
显示区域是计算器的核心部分,用户在此输入数字和查看计算结果。设计时应考虑以下几点:

  • 大小与位置:显示区域应占据界面的上部,宽度应足够大,以容纳较长的数字和运算表达式。高度应适中,确保用户在输入时不会感到拥挤。
  • 字体与颜色:选择清晰易读的字体,字号应适中,确保用户在不同光线条件下都能清晰看到。颜色方面,可以使用深色背景搭配浅色字体,以增强对比度,提升可读性。
  • 输入反馈:在用户输入时,可以考虑使用动态效果,例如数字逐渐出现或闪烁,以增强用户的交互体验。

2. 按钮布局

功能与排列
按钮是用户与计算器交互的主要方式,因此其布局和设计至关重要:

  • 按钮分类:将按钮分为数字按钮、运算符按钮和功能按钮(如清除、删除等)。数字按钮(0-9)应集中排列,运算符按钮(+、-、×、÷)应单独分组,功能按钮(C、DEL、+/-、.、=)应放在显眼的位置。
  • 网格布局:常见的布局方式是4x4的网格形式,数字按钮可以从左到右、从上到下排列,运算符按钮放在右侧,方便用户快速点击。
  • 按钮大小:按钮的大小应适中,既要保证用户能够轻松点击,又要避免占用过多的屏幕空间。建议使用相同的大小,以保持界面的整齐感。

3. 颜色与风格

视觉美感与一致性
颜色和风格的选择直接影响用户的视觉体验:

  • 配色方案:选择对比鲜明的颜色组合,例如深色背景搭配亮色按钮,或使用渐变色来增加视觉层次感。运算符按钮可以使用不同的颜色,以便用户快速识别。
  • 风格一致性:整个界面应保持一致的风格,包括按钮的圆角、阴影效果等,确保用户在使用时感到舒适和自然。

4. 交互设计

用户体验与反馈
良好的交互设计能够提升用户的使用体验:

  • 按钮反馈:在用户点击按钮时,提供视觉反馈,例如按钮颜色变化或轻微的缩放效果,以增强交互感。
  • 错误提示:在用户输入错误或计算出错时,提供清晰的错误提示,例如“Error”或“Invalid Input”,并允许用户轻松返回修改。
  • 操作简便性:确保用户在使用过程中能够快速完成操作,例如通过长按删除按钮实现连续删除,或通过滑动手势进行清除。

5. 响应式设计

适应不同设备
考虑到用户可能在不同尺寸的设备上使用计算器,界面设计应具备响应式特性:

  • 自适应布局:使用相对单位(如百分比)而非绝对单位(如像素)来定义按钮和显示区域的大小,以确保在不同屏幕尺寸下都能保持良好的显示效果。
  • 触控优化:确保按钮间距适当,避免误触,同时考虑到手指的触控范围,确保用户在操作时的舒适性。

四、示例代码

以下是一个简单的计算器小程序的示例代码,包括 wxmlwxssjs 文件的详细阐述。

1. WXML 文件

文件内容

<view class="calculator">
  <view class="display">{{result}}</view>
  <view class="buttons">
    <button bindtap="clear">C</button>
    <button bindtap="delete">DEL</button>
    <button bindtap="toggleSign">+/-</button>
    <button bindtap="input" data-value="/">/</button>
    <button bindtap="input" data-value="7">7</button>
    <button bindtap="input" data-value="8">8</button>
    <button bindtap="input" data-value="9">9</button>
    <button bindtap="input" data-value="*">*</button>
    <button bindtap="input" data-value="4">4</button>
    <button bindtap="input" data-value="5">5</button>
    <button bindtap="input" data-value="6">6</button>
    <button bindtap="input" data-value="-">-</button>
    <button bindtap="input" data-value="1">1</button>
    <button bindtap="input" data-value="2">2</button>
    <button bindtap="input" data-value="3">3</button>
    <button bindtap="input" data-value="+">+</button>
    <button bindtap="input" data-value="0">0</button>
    <button bindtap="input" data-value=".">.</button>
    <button bindtap="calculate">=</button>
  </view>
</view>
  • 整体结构:使用 <view> 标签构建计算器的整体结构,包含一个显示区域和多个按钮区域。
  • 显示区域<view class="display">{{result}}</view> 用于展示用户输入的数字和计算结果,{{result}} 是一个数据绑定,表示当前的计算结果。
  • 按钮布局:每个按钮使用 <button> 标签,并通过 bindtap 绑定相应的事件处理函数。按钮的 data-value 属性用于传递按钮的值,方便在事件处理函数中使用。

2. WXSS 文件

文件内容

.calculator {
  width: 100%;
  max-width: 400px;
  margin: auto;
  background-color: #f5f5f5;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.display {
  height: 80px;
  font-size: 36px;
  text-align: right;
  padding: 10px;
  background-color: #fff;
  border-radius: 10px 10px 0 0;
}

.buttons {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  padding: 10px;
}

button {
  height: 60px;
  font-size: 24px;
  border: none;
  border-radius: 5px;
  background-color: #007aff;
  color: white;
  transition: background-color 0.3s;
}

button:hover {
  background-color: #005bb5;
}
  • 整体样式.calculator 类设置了计算器的最大宽度、背景色、圆角和阴影效果,使其看起来更美观。
  • 显示区域样式.display 类定义了显示区域的高度、字体大小和背景色,确保用户能够清晰看到输入和结果。
  • 按钮布局.buttons 类使用 CSS Grid 布局,将按钮分为四列,设置间距,使按钮排列整齐。
  • 按钮样式button 类定义了按钮的高度、字体大小、背景色和圆角,并添加了过渡效果,使按钮在悬停时颜色变化更加平滑。

3. JS 文件

文件内容

Page({
  data: {
    result: ''
  },
  
  input(e) {
    const value = e.target.dataset.value;
    this.setData({
      result: this.data.result + value
    });
  },
  
  clear() {
    this.setData({
      result: ''
    });
  },
  
  delete() {
    this.setData({
      result: this.data.result.slice(0, -1)
    });
  },
  
  toggleSign() {
    const current = this.data.result;
    if (current) {
      this.setData({
        result: (parseFloat(current) * -1).toString()
      });
    }
  },
  
  calculate() {
    try {
      const result = eval(this.data.result);
      this.setData({
        result: result.toString()
      });
    } catch (error) {
      this.setData({
        result: 'Error'
      });
    }
  }
});
  • 数据绑定data 对象中定义了一个 result 属性,用于存储用户输入的表达式和计算结果。
  • 输入处理input 方法通过 e.target.dataset.value 获取按钮的值,并将其添加到 result 中,更新显示区域。
  • 清除功能clear 方法将 result 重置为空字符串,清空输入。
  • 删除功能delete 方法使用 slice 方法删除 result 中的最后一个字符,便于用户修改输入。
  • 正负号切换toggleSign 方法将当前输入的数字乘以 -1,实现正负号的切换。
  • 计算功能calculate 方法使用 eval 函数计算表达式的结果,并更新 result。如果计算出错,则显示“Error”。

五、功能测试

  在开发微信小程序计算器的过程中,测试是确保应用质量和用户体验的重要环节。通过系统的测试,我们可以发现并修复潜在的问题,确保每个功能模块的正常运行。

1. 功能测试

功能测试旨在验证计算器的各项功能是否按预期工作。具体测试内容包括:

  • 数字输入测试

    • 输入0-9的数字,检查显示区域是否正确更新。
    • 测试连续输入多个数字,确保输入顺序正确。
  • 运算符输入测试

    • 输入不同的运算符(+、-、×、÷),检查运算符是否正确显示。
    • 测试运算符的连续输入,确保程序能够正确处理多个运算符。
  • 小数点输入测试

    • 输入小数,检查小数点是否正确显示并参与计算。
    • 测试小数点的连续输入,确保只允许一个小数点。
  • 清除和删除功能测试

    • 点击“C”按钮,检查输入是否被清空。
    • 点击“DEL”按钮,检查最后一个字符是否被删除。
  • 正负号切换测试

    • 输入正数和负数,检查正负号切换功能是否正常。
    • 测试在输入过程中切换正负号,确保结果正确。
  • 计算结果测试

    • 输入简单的数学表达式,检查计算结果是否正确。
    • 测试复杂的表达式,确保程序能够处理多种运算顺序。

2. 边界条件测试

边界条件测试旨在验证计算器在极端情况下的表现,确保其稳定性和健壮性。具体测试内容包括:

  • 输入长度测试

    • 输入极长的数字或表达式,检查程序是否能够处理。
    • 测试输入超过显示区域的情况,确保界面不会崩溃。
  • 非法输入测试

    • 输入无效的字符(如字母或特殊符号),检查程序是否能够正确处理并给出错误提示。
    • 测试连续输入运算符,确保程序不会崩溃并能给出合理的反馈。

3. 性能测试

性能测试旨在评估计算器在高负载情况下的表现,确保其响应速度和稳定性。具体测试内容包括:

  • 响应时间测试

    • 测试在快速连续点击按钮时,计算器的响应时间是否在可接受范围内。
    • 检查计算结果的返回时间,确保用户能够快速获得反馈。
  • 内存使用测试

    • 监测应用在不同输入情况下的内存使用情况,确保不会出现内存泄漏。

4. 用户体验测试

用户体验测试旨在评估计算器的易用性和用户满意度。具体测试内容包括:

  • 可用性测试

    • 邀请真实用户使用计算器,观察其操作流程,收集反馈。
    • 评估用户在使用过程中是否遇到困难,是否能够快速上手。
  • 界面美观性测试

    • 收集用户对界面设计的意见,评估颜色、布局和字体的选择是否符合用户的审美。
    • 测试在不同设备和屏幕尺寸下的显示效果,确保界面适应性良好。

5. 测试工具与方法

在进行上述测试时,可以使用以下工具和方法:

  • 手动测试:通过手动操作计算器,逐一验证各项功能,记录测试结果和发现的问题。
  • 自动化测试:使用自动化测试框架(如 Jest、Mocha 等)编写测试用例,自动化验证功能的正确性。
  • 用户反馈收集:通过问卷调查或用户访谈收集用户的使用体验和建议,作为后续优化的依据。

六、总结

  综上所述,开发一个微信小程序计算器不仅是一个技术实现的过程,更是对用户需求、界面设计、逻辑结构和后续维护的全面考量。通过本文的分析与探讨,希望能够为开发者提供有价值的参考,帮助他们在小程序开发的道路上不断前行。随着技术的不断进步和用户需求的变化,未来的计算器小程序将会更加智能化和多样化,期待这一领域的进一步发展。


  码文不易,本篇文章就介绍到这里,如果想要学习更多Java系列知识点击关注博主,博主带你零基础学习Java知识。与此同时,对于日常生活有困扰的朋友,欢迎阅读我的第四栏目:《国学周更—心性养成之路》,学习技术的同时,我们也注重了心性的养成。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2220066.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

动态中的守候:滑动窗口与距离的诗篇

公主请阅 1. 长度最小的子数组1.1 题目说明 示例 1 示例 1 示例 2 示例 3 1.2 题目分析1.3 代码部分1.4 代码分析 2. 无重复字符的最长子串2.1 题目说明示例 1示例 1示例 2示例 3 2.2 题目分析2.3 代码部分2.4 代码分析2.5 代码深度分析 1. 长度最小的子数组 题目传送门 1.1 题…

2020年计算机网络408真题解析

第一题&#xff1a; 解析&#xff1a;OSI参考模型网络协议的三要素 网络协议的三要素&#xff1a;语法 &#xff0c;语义&#xff0c;同步&#xff08;时序&#xff09; 语法&#xff1a;定义收发双方所交换信息的格式 语法&#xff1a;定义收发双方所要完成的操作 网页的加载 …

「iOS」——YYModel学习

iOS学习 前言优势使用方法简单的Model与JSON互转多样化的数据类型交换容器类数据交换 model中包含其他model白名单与黑名单 总结 前言 YYModel是YYKit的高效组件之一&#xff0c;在实际场景中的非常实用&#xff0c;在项目中使用MVC架构时&#xff0c;可以简化数据处理。在性能…

Tailwind Starter Kit 一款极简的前端快速启动模板

Tailwind Starter Kit 是基于TailwindCSS实现的一款开源的、使用简单的极简模板扩展。会用Tailwincss就可以快速入手使用。Tailwind Starter Kit 是免费开源的。它不会在原始的TailwindCSS框架中更改或添加任何CSS。它具有多个HTML元素&#xff0c;并附带了ReactJS、Vue和Angul…

tensorflow c++ api + windwos + vs部署 详细避坑

文章目录 前言一、安装MSYS2二、选择tensorflow的版本三、安装Bazel四、配置一个anconda的tensorflow环境五、生成dll,lib,include六、在vs2019中配置项目七、测试并针对性修补问题 前言 不能使用vs2022配置tensorflow c api&#xff0c;即使要安装 2.10.0版本&#xff0c;也尽…

【Next.js 项目实战系列】02-创建 Issue

原文链接 CSDN 的排版/样式可能有问题&#xff0c;去我的博客查看原文系列吧&#xff0c;觉得有用的话&#xff0c;给我的库点个star&#xff0c;关注一下吧 上一篇【Next.js 项目实战系列】01-创建项目 创建 Issue 配置 MySQL 与 Prisma​ 在数据库中可以找到相关内容&…

机器学习篇-day09-支持向量机SVM

一. 支持向量机介绍 支持向量机 介绍 SVM全称是Supported Vector Machine&#xff08;支持向量机&#xff09; 即寻找到一个超平面使样本分成两类&#xff0c;并且间隔最大。 是一种监督学习算法&#xff0c;主要用于分类&#xff0c;也可用于回归 与逻辑回归和决策树等其…

Android摄像头Camera2和Camera1的一些总结

Android 系统对摄像头的同时使用有限制&#xff0c;不能同时使用摄像头进行预览或者录制音视频。 例如&#xff1a;界面上有两个SurfaceView, 这两个SurfaceView不能同时预览或者录制音视频&#xff0c;只能有一个正常工作&#xff08;一个SurfaceView预览前置摄像头&#xff…

Linux 问题故障定位的技巧大全

1、背景 有时候会遇到一些疑难杂症,并且监控插件并不能一眼立马发现问题的根源。这时候就需要登录服务器进一步深入分析问题的根源。那么分析问题需要有一定的技术经验积累,并且有些问题涉及到的领域非常广,才能定位到问题。所以,分析问题和踩坑是非常锻炼一个人的成长和提…

Mybatis day 1020

ok了这周学习了mybatis框架&#xff0c;今天最后一天&#xff0c;加油各位&#xff01;&#xff01;&#xff01;(接上文) 八.MyBatis扩展 8.1 Mapper批量映射优化 需求 Mapper 配置文件很多时&#xff0c;在全局配置文件中一个一个注册太 麻烦&#xff0c;希望有一个办法…

MFC工控项目实例二十六创建数据库

承接专栏《MFC工控项目实例二十五多媒体定时计时器》 用选取的型号为文件名建立文件夹&#xff0c;再在下面用测试的当天的时间创建文件夹&#xff0c;在这个文件中用测试的时/分/秒为数据库名创建Adcess数据库。 1、在StdAfx.h文件最下面添加代码 #import "C:/Program F…

Ubuntu下安装Bochs2.7

文章目录 前言下载安装在Bochs实现最简单的操作系统创建软盘编写并编译汇编指令编写bochs配置文件将操作系统写入到软盘启动操作系统 前言 通过自带软件库sudo apt-get install bochs bochs-x安装的Bochs运行时不显示任何内容&#xff0c;这里选用源码安装方式。 下载安装 …

Atlas800昇腾服务器(型号:3000)—AIPP加速前处理(四)

服务器配置如下&#xff1a; CPU/NPU&#xff1a;鲲鹏 CPU&#xff08;ARM64&#xff09;A300I pro推理卡 系统&#xff1a;Kylin V10 SP1【下载链接】【安装链接】 驱动与固件版本版本&#xff1a; Ascend-hdk-310p-npu-driver_23.0.1_linux-aarch64.run【下载链接】 Ascend-…

CSS 居中那些事

一、父子元素高度确定 简单粗暴, 直接通过设置合适的 padding 或 margin 实现居中 <style>.p {padding: 20px 0;background: rgba(255, 0, 0, 0.1);}.c {width: 40px;height: 20px;background: blue;} </style> <div class"p"><div class"…

服务器模块测试

目录 测试逻辑 测试工具 测试 测试逻辑 我们可以使用一个简单的业务处理逻辑来进行测试。 最简单的&#xff0c;我们业务逻辑就直接返回一个固定的字符串 void Message(const PtrConnection&con,Buffer* inbuffer) //模拟用户新数据回调 {inbuffer->MoveReadOf…

Vite 前端开发的超级加速器 - 从入门到精通

大家好&#xff01;今天我们来聊聊前端开发中的一个革命性工具 - Vite。如果你觉得你的前端开发速度慢得像蜗牛爬&#xff0c;那么Vite就是为你量身打造的超级加速器&#xff01; 一、什么是Vite&#xff1f; Vite&#xff08;法语意为"快速"&#xff09;是一个现代化…

LDR6500芯片:引领USB-C拓展坞转接器新风

在当今这个数字化浪潮汹涌澎湃的时代&#xff0c;手机和电脑已然深深融入我们生活的每一个角落&#xff0c;成为了不可或缺的关键工具。然而&#xff0c;不得不承认的是&#xff0c;它们所配备的接口数量往往有限&#xff0c;难以充分满足我们日益多样化、丰富化的需求。正因如…

5G 现网信令参数学习(1) - MIB

MIB消息中的参数 systemFrameNumber 000101B, subCarrierSpacingCommon scs30or120, ssb-SubcarrierOffset 6, dmrs-TypeA-Position pos2, pdcch-ConfigSIB1 { controlResourceSetZero 10, searchSpaceZero 4 }, cellBarred notBarred, intraFreqReselection allowed, sp…

nginx解决非人类使用http打开的443,解决网安漏扫时误扫443端口带来的问题

一、问题描述 正常访问https的站点时&#xff0c;使用网址https://www.baidu.com&#xff0c;但会有一种错误的访问请求http://www.baidu.com:443&#xff0c;一般都是非人类所为&#xff0c;如漏洞扫描工具&#xff0c;那么请求以后带来的后果是个错误页面 400 Bad Request T…

Vue及项目结构介绍

今天滴学习目标&#xff01;&#xff01;&#xff01; 项目结构介绍1.Vue 项目文件结构2. 文件结构详解2.1 index.html2.2 src/main.js2.3 src/App.vue2.4 src/components/2.5 src/assets/2.6 package.json 3. 项目启动 首先我们先学习Vue项目结构&#xff0c;我们创建Vue项目时…