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

Web开发技术大作业(HTML\CSS\PHP\MYSQL\JS)

从6月13日到6月15日,经过一系列的操作,终于把老师布置的大作业写完了,虽然有很多水分,很多东西都是为了应付(特别是最后做的那几个网页),真的是惨不忍睹,不过既然花时间写了,那还是记录一下吧

6月13日 晚上 21:00 ~ 24:30,我“成功地”实现了顶部图片和导航栏,三个半小时,你敢信!!!

6月14日 中午 12:30 ~ 下午 18:00、晚上 19:20 ~ 21:50,我“成功地”把旅游景点、特色美食的简单介绍和联系我们的数据库交互写完,同时引入了 Geolocation API 展现出了定位地图

6月15日 也是写了很久,实现了手机扫码查看网页内容、一个简易的购物车功能、导航栏跳转页面的操作

6月16日 下午写实验报告,晚上就来写博客了, 估计晚上还写不完

这里先来上几张效果图吧(写的比较水,勿喷一
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
这里是 index.htm 的内容(index.htm不是响应式的),还有 dishes.htm、school.htm、travel.htm 等,这些就纯纯应付老师,这里只上一张效果图(写的太菜,勿喷二
在这里插入图片描述
以上就是大作业的所有内容,二维码那部分,是可以通过手机扫码查看内容的,但是由于我用的是 Cpolar 上的免费套餐,通道域名每过一段时间都会变,所以图上的二维码应该失效了,扫不了,具体配置的话可以看看博客 实现 cpolar 内网穿透


文章目录

    • 一、环境
      • 1. 开发环境用的 VS Code
      • 2. 编程技术 HTML、CSS、JavaScript、PHP 、MySql
      • 3. 第三方库 qrcode
      • 4. 这是我参考过配置环境的博客
    • 二、各种功能的实现(描述,代码在文章末尾Gitee)
      • 1. 简易购物车的实现
      • 2. 手机扫码的实现
    • 这里补充一点:内网穿透简述


一、环境

1. 开发环境用的 VS Code

2. 编程技术 HTML、CSS、JavaScript、PHP 、MySql

3. 第三方库 qrcode

4. 这是我参考过配置环境的博客

  • 在 VSCode 中配置 PHP 开发环境
  • 使用 VS Code 连接 MySQL 数据库
  • 实现 cpolar 内网穿透

二、各种功能的实现(描述,代码在文章末尾Gitee)

1. 简易购物车的实现

在这里插入图片描述
这里先给出 index.htm 的部分内容,主要就是先简单的了解每个 DIV 的作用。而对于按钮(这个按钮是在图中 class = “dishes” 里面,没展示出来)点击,实现对应元素的添加操作,我们通过JS实现,这里为了服务后面的菜品删除操作,添加元素时需要将该元素绑定一个唯一的 ID 来标识各个元素,在删除操作时找到对应的元素 ID 进行删除,这个唯一 ID 是我们自己指定的

在这里插入图片描述
下面我们看看 Refresh(x),比较长,分为两部分,主要就是通过调用 creatElement(‘div’)creatElement(‘img’)creatElement(‘button’) 函数来创建对应元素,设置相应元素属性,最后把它们追加到父元素里面,但这里需要注意的是 每个uniqueId,图中的 119行、130行、141行、154行
在这里插入图片描述

在这里插入图片描述
总钱数 sum 的计算就是根据 uniqueId 来标识的,上面在我们创建的元素中,price 元素里存的就是菜品对应的价格信息,而我们需要的是计算用户预定的所有菜品的总钱数:

不妨可以想想🤔🤔🤔🤔🤔,我们能够用 uniqueId 做什么 ?(注意!!! 我们不仅要计算 sum ,同时还需要顾及后面用户的删除菜品操作:即,删除某一个菜品后,维护其他菜品的钱数总和
在这里插入图片描述
在这里插入图片描述
这里就不解释为什么了,可以自己尝试着画个图理解理解,我也给了一个图例

在这里插入图片描述

2. 手机扫码的实现

对于手机扫码的实现也没什么可说的,这部分我是通过问 chat 拿到了一个非常古老的库 qrcode,刚开始跟着它给的思路一步步走,后来因为 php 和 qrcode 库的版本不兼容问题给难住了,拿到的 qrcode 库最新版是 2010 年的,里边很多的函数接口都被弃用了,一时不知所措。好在后面想到了一个办法,把 qrcdoe 库里一部分文件的源代码改了(即把弃用的函数替换成现在能用的新函数),最后也算是成了。这里的扫码功能是拿我在清明时写过的登录界面进行修改而来的,类似于(下面是之前仿照QQ邮箱登录界面做的):

p
在这里插入图片描述

扯了这么多,现在来讲讲二维码的实现
首先在html里给出一个空的 div,因为这里我是以对话框的形式来呈现二维码的所以里面包含了其他的 button 等内容,触发事件函数后,在 JS里边通过使用 Fetch API 实现异步请求 “…/xxx/qrcode.php”资源,PHP服务器端收到消息会立即指定一些参数进行二维码图片的生成,比如生成二维码的文件类型、文件名、生成的文件路径以及定义内容的 URL 等等,然后PHP服务端将文件名返回给 JS,在JS中找到对于生成二维码的路径后,修改 Img 标签的 src 属性就呈现出了以上的内容
在这里插入图片描述
在这里插入图片描述

这里补充一点:内网穿透简述

“内网穿透”这一词听起来可能比较的抽象,其实本质上就是两个字 “映射” 和 “转发” ,即把内网设备(比如个人电脑)的端口映射到公网设备的端口上进行转发。

简单来说就是我们能将本地的一些资源通过公网服务器暴露给连接上外网的其他主机,供其访问

以上就是所有内容,实现源码的话可以在 我的Gitee 上拿到 (写的菜,勿喷三

相关文章:

Web开发技术大作业(HTML\CSS\PHP\MYSQL\JS)

从6月13日到6月15日,经过一系列的操作,终于把老师布置的大作业写完了,虽然有很多水分,很多东西都是为了应付(特别是最后做的那几个网页),真的是惨不忍睹,不过既然花时间写了&#xf…...

【全开源】沃德会务会议管理系统(FastAdmin+ThinkPHP+Uniapp)

沃德会务会议管理系统一款基于FastAdminThinkPHPUniapp开发的会议管理系统,对会议流程、开支、数量、标准、供应商提供一种标准化的管理方法。以达到量化成本节约,风险缓解和服务质量提升的目的。适用于大型论坛、峰会、学术会议、政府大会、合作伙伴大会…...

尚硅谷大数据技术ClickHouse教程-笔记01【ClickHouse单机安装、数据类型】

视频地址:一套上手ClickHouse-OLAP分析引擎,囊括Prometheus与Grafana_哔哩哔哩_bilibili 01_尚硅谷大数据技术之ClickHouse入门V1.0 尚硅谷大数据技术ClickHouse教程-笔记01【ClickHouse单机安装、数据类型】尚硅谷大数据技术ClickHouse教程-笔记02【表引…...

生产管理系统看板,在自动化设备领域的创新应用

在自动化设备领域,生产管理系统看板的创新应用是一项引人注目的技术进步。以广州某自动化设备有限公司为例,他们是一家涂装工程设备制造企业,将讯鹏生产管理系统电子看板成功应用于全自动立式静电喷粉线、卧式静电喷粉线、氟碳喷涂生产线等领…...

分享一个图片转换工具XnConvert

目录 stablediffusion3 生成图片效果图图片转换工具XnConvertpixzip stablediffusion3 生成图片效果图 今天在使用stablediffusion3时,尝试生成了几张Java的图片,发现确实很好看,文生图的效果超出我的预期,忍不住想要给自己的csd…...

Nginx后端超时504重复请求

在一次业务中客户端请求osb平台再经过nginx转发后端,开发反馈请求次数大于1导致问题,经排查客户端请求一次,osb平台设置超时为30s,nginx配置等待上游服务器响应时最多等待30秒 部分配置文件 upstream xx {server 10.6.6.1:8080 w…...

环境配置04:Pytorch下载安装

说明: 显存大于4G的建议使用GPU版本的pytorch,低于4G建议使用CPU版本pytorch,直接使用命令安装对应版本即可 GPU版本的pytorch的使用需要显卡支持,需要先安装CUDA,即需要完成以下安装 1.查看已安装CUDA版本 GPU对应…...

【杂记-浅谈私有地址】

私有地址 一、私有IP地址概述1、私有IP地址的实用性2、私有IP地址的局限性 二、私有IP地址范围1、A类私有地址2、B类私有地址3、C类私有地址 三、私有IP地址与公网IP地址的区别 一、私有IP地址概述 私有IP地址是互联网工程任务组(IETF)为组织机构内部使…...

Java基础学习-数组

目录 数组定义 注意点: 地址值是数组在内存中实际存储的地址。 案例遍历:遍历数组得到每一个元素,求数组里面所有数据和 案例:定义数组,遍历能被3整除的数字 案例:遍历一个数组,奇数将当前…...

爬虫 pandas Linux Flume Pig填空题

目录 试卷:Python网络数据处理 答案 试卷:Pandas基础操作 答案 试卷:Linux基础指令 答案 试卷:Apache Flume基础指令 答案 试卷:Apache Pig基础指令 答案: Hadoop题 答案 试卷:Pyth…...

Spring框架中哪些地方使用了反射

Spring框架中哪些地方使用了反射? 1. 依赖注入:Spring 使用反射机制获取对象并进行属性注入,从而实现依赖注入。 2. AOP:Spring AOP 使用 JDK 动态代理或者 CGLIB 字节码增强技术来实现 AOP 的切面逻辑,这其中就包含…...

难辨真假的Midjourney案例(附提示词):适合练手

人物 时尚女孩 Street style fashion photo, full-body shot of a young Chinese woman with long curly black hair, walking confidently with a crowd of people down a sidewalk in Hong Kong, wearing a emerald green Gucci maxi dress & gold jewelry, sunset lig…...

数据库讲解---(数据库保护)【上】

一.事务 1.1事务的概念【重要】 事务:“将一组数据库操作打包起来形成一个逻辑独立的单元,这个工作单元不可分割,其中包含的数据要么全部都发生,要么全部都不发生”。 在SQL中,界定事务的语句有三条: B…...

【Android】【Compose】Compose的简单介绍

前言 Jetpack Compose 是谷歌推出的用于构建现代化 Android 应用界面的工具包。它采用了声明式的方式来定义用户界面,与传统的 XML 布局和视图层次结构相比,Compose 提供了更直观、更简洁的方式来创建和管理界面组件。 需求配置 Android 版本要求 An…...

对接钉钉Stream模式考勤打卡相关事件的指南

钉钉之前的accessToken是公司级别的,现在的accessToken是基于应用的,接口的权限也是基于应用的。所以第一步是在钉钉开放平台(https://open-dev.dingtalk.com/)创建一个应用。 创建好应用之后,因为我们后续还需要调用钉…...

CRMEB PRO企业微信通讯录配置

企业微信通讯录配置 登录企业微信管理后台 企业微信 1、点击【管理工具】找到【通讯录同步】点击进入 2、点击【开启API接口同步】 进入设置【通讯录同步】页面后,权限一栏,勾选【API编辑通讯录】勾选【开启手动编辑】; 3、点击下图箭头所…...

直播新篇章 | 金仓数据库“零距离”探索与知识挑战双重奏

KING大咖成就计划 全新进阶!!!携手知识竞答挑战赛震撼来袭~为您带来一场别开生面的金仓数据库探索之旅与知识竞答盛宴! 直 播 活 动 01 大咖引领,KING BASE产品“零距离”体验 您是否对金仓数据库充满好奇&#x1f9d0…...

List的介绍

1. 什么是List List是一个接口,继承自Collection。 Collection也是一个接口,该接口中规范了后序容器中常用的一些方法。 Iterable也是一个接口,表示实现该接口的类是可以逐个元素进行遍历。 2. 常见接口介绍 List中提供了好的方法&#x…...

Uniapp获取具体地理位置

使用uniapp自带uni.getLocation获取当前定位经纬度 再调用高德逆地理编码API,查到具体位置信息 https://restapi.amap.com/v3/geocode/regeo?location${longitude},${latitude}&key${key}&extensionsall 但是个人申请的key,有配额限制 最多每…...

Kafka基础教程

Kafka基础教程 资料来源:Apache Kafka - Introduction (tutorialspoint.com) Apache Kafka起源于LinkedIn,后来在2011年成为一个开源Apache项目,然后在2012年成为一流的Apache项目。Kafka是用Scala和Java编写的。Apache Kafka是基于发布-订…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

什么是EULA和DPA

文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

腾讯云V3签名

想要接入腾讯云的Api,必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口,但总是卡在签名这一步,最后放弃选择SDK,这次终于自己代码实现。 可能腾讯云翻新了接口文档,现在阅读起来,清晰了很多&…...