binguan宾馆:hotel

ResumeProject 利用设计模式,私人订制优雅的简历 立即下载

框架规范:Apache+JavaEE +Mysql+前端(html5+css3+WEBGL)

本来想用.NET 方式去建构系统,windows自带iis就省去了服务软件的下载与安装,并且对于.net也更熟悉。
但是最终却是用了javaEE,还好Tomcat能在虚拟机启动,java+mysql还有一个优点就是二者全是开源免费的,因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统。
(iis:Internet Information Services,互联网信息服务)
因为虚拟机的windows7系统无法打开iis。

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,是最流行的Web服务器端软件之一,它可以运行在几乎所有广泛使用的计算机平台上(开源免费)。

Java EE,Java 平台企业版(Java Platform Enterprise Edition),用来开发B/S架构软件(开源免费)。

MySQL:关系型数据库管理系统(开源免费)。

WEBGL使用的是已经存在的库。

使用的JavaEE主要技术

JDBC
Java 数据库连接,(Java Database Connectivity,JDBC)是 Java 语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。

JNDI
Java 命名和目录接口(Java Naming and Directory Interface,JNDI),是 Java 的一个目录服务应用程序界面(API),它提供一个目录系统,并将服务名称与对象关联起来,从而使得开发人员在开发过程中可以使用名称来访问对象。

EJB
企业级 JavaBean(Enterprise JavaBean, EJB)是一个用来构筑企业级应用的服务器端可被管理组件。不过这个东西在 Spring 问世后基本凉凉了,知道是什么就行。

Servlet
Servlet(Server Applet),是用 Java 编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态 Web 内容。
狭义的 Servlet 是指 Java 语言实现的一个接口,广义的 Servlet 是指任何实现了这个 Servlet 接口的类(本次使用了SessionServlet)。

JSP
JSP(全称JavaServer Pages)是由 Sun 公司主导创建的一种动态网页技术标准。JSP 部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成 HTML、XML 或其他格式文档的 Web 网页,然后返回给请求者。

前端

注册界面:
注册界面
前台信息:
在这里插入图片描述
地理位置信息(百度API):
在这里插入图片描述
支付界面(WEBGL):
在这里插入图片描述

数据库

在这里插入图片描述

用例图

订单管理细化用例图员工息维护细化用例图房间订购细化用例图员工息维护细化用例图员工息维护细化用例图办理订单取消细化用例图客户信息管理细化用例图员工信息管理细化用例图客户员工管理员个人信息维护房间预订订单管理员工员工登录员工登录修改账户信息«extend»客户输入时间后,查询客房按价格查询按类型查询订购查看详情«extend»«extend»«extend»«extend»查看订单支付«include»支付平台客户撤销订单«extend»申请退款入住确认«extend»«include»员工房间信息维护办理订单取消申请员工信息维护员工员工登录员工登录修改账户信息«extend»员工员工登录管理员信息修改«extend»员工订单取消办理确认并退款支付平台«extend»否认«extend»管理员信息维护客户信息管理员工信息管理管理员删除长期未登录的客户信息管理员删除员工信息

类与方法

######################################################################
RegisterServlet(用户信息类) :

方法
方法
请求登陆方法
方法
RegisterServlet
add
view
login
change

ContactServlet(用户管理类I) :

删除方法
按姓名查询用户方法
更改用户信息方法
ContactServlet
delete
view
save

guanli页面(用户管理类II) :

删除方法
读取用户表方法
更改用户信息方法
guanli页面
delete
view
save

ProductServlet (产品信息类) :

增加产品方法
查询方法
按种类查询方法
按价格查询方法
修改方法
ProductServlet
add
view
viewbycategory
viewbyprice
change

DinggouServlet (订单信息类) :

订购方法
订购方法
DinggouServlet
book
view

Book页面(查看我的订单类) :

查看我的订单方法
Book页面
viewmybooked

ContactGuanlidingdan(管理订单类) :

删除订单方法
ContactGuanlidingdan
delete

DataBaseConnection(数据库链接类) :

构造方法
DataBaseConnection
DataBaseConnection

实现的顺序图

用户注册

sequenceDiagram
用户 ->> 注册界面: 输入基本信息
注册界面 ->> 注册界面:简单的 判断用户信息
Note right of  注册界面: 填写是否完整?
注册界面 --x用户: 若不合规范重新填写
注册界面 ->> 用户信息类: 请求写入用户信息
activate 用户信息类
用户信息类 ->>数据库: 请求写入用户信息
activate 数据库
数据库 ->>用户信息类 : --
deactivate 数据库
用户信息类 ->> 注册成功界面:注册成功
deactivate 写入用户信息类
注册成功界面 --x 用户: 你好!

用户登陆

用户登陆界面用户信息类数据库注册界面输入基本信息请求登录读取用户信息--存在信息,登陆成功用户登陆界面用户信息类数据库注册界面

查询(以按价格查询为例)

已经登陆的用户查询界面产品信息类数据库查询结果界面订购界面输入价格,点击查询查询读取--查看详情已经登陆的用户查询界面产品信息类数据库查询结果界面订购界面

订购:

sequenceDiagram
用户 ->> 订购界面: 请求
订购界面 ->>  订单信息类:  查询
activate 订单信息类
订单信息类 ->>  数据库: 读取
activate 数据库
数据库 ->>订单信息类 : --
deactivate 数据库
订单信息类 ->> 订购界面: 展示信息
deactivate  产品信息类
用户 ->> 订购界面: 点击订购
activate 订购界面
订购界面 ->>  订单信息类:  订购方法
activate 订单信息类
订单信息类 ->>  数据库: 写入
activate 数据库
数据库 ->>订单信息类 : --
deactivate 数据库
订单信息类 ->> 订购结果界面: 
deactivate  产品信息类

deactivate 订购界面
订购结果界面 ->> 用户: 成功提示

订单查看:

sequenceDiagram
用户 ->>订单查看界面: 请求
activate 订单查看界面
订单查看界面 ->>  查看我的订单类:  查询
deactivate 订单查看界面
activate 查看我的订单类
查看我的订单类->>  数据库: 读取

activate 数据库
数据库 ->>查看我的订单类 : --
deactivate 数据库


查看我的订单类->> 订单查看界面: 显示
deactivate 订单查看界面

修改用户信息

sequenceDiagram
用户 ->> 订单查看界面: 
订单查看界面 ->> 用户信息修改页: 跳转
用户信息修改页 ->> 用户信息类: 输入基本信息后请求写入用户信息
activate 用户信息类
用户信息类 ->>数据库: 请求写入用户信息
activate 数据库
数据库 ->>用户信息类 : --
deactivate 数据库
用户信息类 ->> 注册成功界面:注册成功
deactivate 写入用户信息类
注册成功界面 --x 用户: 你好!

部分代码

在这里插入图片描述

1.
<form action="text.html" method="post">
参数一:<input type="text" name="canshuyi" value=""/><br>
        <input type="submit" value="tijiao" />
</form>
2.泛型:通用类型;通过参数设置类型
  如只使用OBJECT还需强制类型转换
  java.util
  数组线性表:ArrayList 易定位 LinkedList 易删改
  迭代器:iterator 例如:Collection集合的遍历
                         while (iterator.hasnext()){}
  类型转换:  int money=Integer.parseInt(price);
3.javascript
  构成:<html> html代码</html>
        <%@ %>指令
        <%= %>表达式
        <%! %>声明
        <jsp:动作名></jsp:动作名>
4.使用的JSP内置对象
  request
  respone
  session
  request
   page
PageContext
    out
5.servlet注册与使用
<servlet>
        <servlet-name>ContactServlet</servlet-name>
        <servlet-class>javaee.ch7.ContactServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>ContactServlet</servlet-name>
        <url-pattern>/contact</url-pattern>
    </servlet-mapping>


public class ProductServlet extends HttpServlet
{Connection con;
	public void doGet(HttpServletRequest request,
                      HttpServletResponse response)
        throws IOException, ServletException
    {
     
        if(action.equals("add"))
        {}
        public void doPost(HttpServletRequest request,
	                      HttpServletResponse response)
	        throws IOException, ServletException
	{
	    	doGet(request,response);
	}
	
	//创建一个Connection对象,用于执行数据库操作。    
    public   ProductServlet()
    {
    	this.con=DataBaseConnection.getConnection();
	}
}    
6.数据库操作    

			Statement stm=con.createStatement();
			ResultSet result=stm.executeQuery("select * from products where categoryId='"+categoryId+"'");
			return result;
7.javabean<jsp:useBean id="contact" class="javaee.ch7.zhuce" scope="page" />
		

开发方式与优化

由于JAVA是一种面向对象语言,更加方便了面向对象思想的实现,将要研究与操作的事物看为对象,类是对象的模板。即类是对一组有相同数据和相同操作的对象的定义,一个类所包含的方法和数据描述一组对象的共同行为和属性。类是在对象之上的抽象,对象则是类的具体化,是类的实例。如数据库链接类的定义,在系统需要链接数据库时,只需要在方法中实例化类,即可完成数据库的链接。类的继承性是子类自动共享父类之间数据和方法的机制,这也极大的简化了程序。

因为系统的复杂性,不能较好的模块化 ,制定每个阶段详细的工作步骤,所以选择了
原型化模型的开发方法。
原型法的实现过程:
第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,经过和用户针对原型的讨论和交流,弄清需求以便真正把握用户需要的软件产品是什么样子的。充分了解后,再在原型基础上开发出用户满意的产品。在实际中原型化经常在需求分析定义的过程进行。
但正是由于只建造了原型,系统需要优化的地方才更多,希望读到这篇文章的您可以在系统的优化与文章的结构等方面留下宝贵的意见。

######################################################################
https://mermaid-js.github.io/mermaid/#/sequenceDiagram
https://www.ddd.online/
https://codepen.io/

页面缩放调整:
https://blog.youkuaiyun.com/weixin_44149978/article/details/89887769?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

https://blog.youkuaiyun.com/boss_way/article/details/103033895
######################################################################

360加固DEX解密与ELF修复技术解析 本文深入解析360加固的DEX解密与ELF修复技术,详细介绍了其多层保护机制、Java层入口分析、Native层加载流程及反调试绕过技巧。通过RC4和zlib解密技术,结合Frida工具实现内存Dump和ELF文件修复,为逆向工程师提供实用解决方案。 阅读详情

相关推荐

S4-FPGA-K7板级原理图硬件实战

xilinx K7板级硬件实战

weixin_66510961的博客 6149

平衡二叉树暂记

二叉排序树主要解决的是删除中的子节点的去向的问题 平衡二叉树 两个特点: 1.左右子树的深度的差的绝对值不超过1 2.左右子树也是平衡二叉树 BF(BlanceFactor)=左-右(BF-) 二叉树因插入导致平衡破坏的调整 RR:对B逆时针旋转 LL:同理 LR: 插入前 先对B及其右子树转成LL 再使用LL的顺时针: 调整后: 绘图:添加链接描述 ...

ResumeProject的博客 197

AD20/Altium designer——如何进行DRC检查、冲突的错误如何改正

对于一个画完的PCB,我们常常需要进行DRC检查,确保板子的电器连接及制作工艺在设定规则的范围内,本篇将介绍如何对PCB进行后期DRC检查处理,确保电路板出现不必要错误。 1.DRC检查入口 2.DRC设置 3.错误分析 对于错误的内容,依据个人实际情况不同,其出现的原因都是因为与设计规则中的设定标准冲突,这里按遇到的错误进行修改讲解,其他错误同理。 4.常见错误分析及解决方法 (1) 解决方法:将未连接网络连接(...

嵌入式创客工坊的博客 5万+

极限的计算方法

极限的计算方法 等价无穷小 洛必达法则 泰勒展开式 压缩映像(数列极限) 夹逼定理(求极限和) 定积分定义(求极限和)

ResumeProject的博客 1162

龙芯3A5000开发板PMON升级UEFI固件实战指南

固件是计算机硬件与操作系统之间的关键桥梁,负责初始化硬件并引导系统启动。其工作原理是在上电后执行自检、加载引导程序,最终将控制权移交操作系统。在国产化平台中,采用标准化的UEFI固件具有重要技术价值,它能提供图形化配置界面、统一硬件驱动模型,并支持安全启动等现代特性,从而显著提升硬件兼容性与系统管理效率。这一技术广泛应用于PC、服务器及嵌入式设备,尤其在需要运行银河麒麟等主流操作系统的龙芯开发板场景中,将传统PMON固件升级至UEFI,能实现更流畅的系统安装与更稳定的运行体验。本文基于固件升级与UEFI引导

weixin_42664597的博客 561

S32K1XX Autosar开发实战|全网独家复现EB MCAL Port/Dio配置、详解引脚分层原理、实现经典跑马灯助力车载IO电控落地

在NXP S32K1XX系列车规MCU的AUTOSAR标准开发体系中,MCAL(微控制器抽象层)是软硬件解耦的核心载体,而Port端口模块与Dio数字IO模块是MCAL最基础、最核心的入门模块,也是车载指示灯、按键检测、继电器驱动、外设硬件启停控制的底层支撑。区别于传统裸机直接操作寄存器的开发方式,AUTOSAR架构采用分层隔离设计,Port负责硬件静态初始化、Dio负责动态电平操控,严格遵循车规级开发规范,杜绝硬件资源冲突、引脚配置混乱等问题。

getusushu的博客 43

切割线定理

|AB|*|AC|=|AD|^2 主要是证明三角形ADC和ABD相似 CD过圆心,显然成立 否则,做辅助线 2(∠C+∠ODB)=180∘∠ADB+∠ODB=90∘2(\angle C+\angle ODB)=180^\circ \\\angle ADB+\angle ODB=90^\circ 2(∠C+∠ODB)=180∘∠ADB+∠ODB=90∘

ResumeProject的博客 2524

9、傅里叶变换:连续时间与离散时间信号分析的核心工具

本文深入探讨了傅里叶变换在连续时间和离散时间信号分析中的核心作用,详细介绍了连续时间傅里叶变换(CTFT)和离散时间傅里叶变换(DTFT)的定义、性质及其应用。文章涵盖了傅里叶级数到傅里叶变换的推导过程、常见变换对、系统分析中的关键性质,并讨论了采样后频谱的周期延拓与混叠问题。此外,还展示了傅里叶变换在滤波器设计、通信系统调制解调等实际场景中的应用,最后展望了其在图像处理、生物医学等领域的广阔前景。

jump7的博客 67

工程流体力学笔记暂记40 (气流的参考状态)

气体在管道中做定常流动时连续方程可以表示为 pva=常数 即质量流量是一常数 对该方程两边同时进行微分 并整理可得到连续方程的微分形式 如果假定气体是无粘性的完全气体 而且由于气体的密度很小所以忽略质量力 由一维流动的欧拉运动微分方程我们可以得到 一维定常流的运动微分方程 在绝热状态下 建立气体一维定常流动的能量方程 ...

ResumeProject的博客 694

matlab电子科技大学数学实验期末模拟35道(1)

【代码】matlab电子科技大学数学实验期末模拟35道。

c_wrj_的博客 2043

173、NPU的编译器开发:开源社区贡献指南

本文分享了在NPU编译器开源社区贡献的经验心得。作者通过实际案例(如卷积维度错误、NaN输出等)阐述了NPU编译器开发的特殊性:硬件迭代快、边界条件复杂、厂商代码不可全信。提出有价值的贡献应聚焦硬件适配测试、性能剖析工具和反模式文档三类内容。强调用实测数据沟通、主动承担维护责任、保持代码通用性等社区协作技巧,并建议通过RFC提前沟通、附硬件实测数据等方式提高PR通过率。最后指出,NPU编译器开发是与聪明人共同填坑的过程,鼓励开发者提交"有诚意的代码"而非完美代码。

m0_50546716的博客 35

binguan宾馆:hotel pages

项目场景: 项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大) 系统入口: 欢迎动画界面: 系统首页: 注册界面: 注册成功显示界面: 系统的登陆界面: ...

ResumeProject的博客 146

OSCP-Challenge 2 - Relia

使用andrea:PasswordPassword_6登录远程桌面,在c盘根目录下发现一个计划任务的ps,文件,修改执行的exe位木马,获取到milana用户的反弹shell。,发现开放了一个8000端口,但是我们外部是访问不到的,它对应的页面是/var/www/internal/,这个目录下的文件我们是可以访问的,把这个文件打个包放到本地分析下。其中数据的可以直接连接mssql,但是端口是49965,不过在数据库中没发现什么可用的信息,但是可以修改密码直接进后台,这个可以先放放。

羽的博客 7762

linux系统的常用命令:在线下载数据文件解压缩

linux的常用命令 Linux环境下的基本操作命令及Linux基本操作。 环境 VMware、Fedora Core 8 操作 匹配: 星号(*):匹配零个或多个字符; 问号(?):匹配任何一个字符; 文件处理总结: 文件的查看,查找,创建,合并,删除,权限管理 pwd print working direction 打印工作路径 cd 改变路径 find / -name passwd ls –a list以列表的方式显示目录信息 mkdir my cd / my touch libai.txt v

ResumeProject的博客 5572

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

格林函数的打洞法

格林函数的打洞技巧: 总结: 1.对于极值点需要打洞 因为区域D应为单连通区域,所以对于不连续的区域需要打洞处理 2.打洞后的“洞”要便于计算第二类线积分 通常为圆或椭圆 第二类线积分 微元是dx或者dy 可以直接计算 或 看几何意义(高dx ,高dy)即可 在计算时注意方向(曲线与坐标轴的方向) ...

ResumeProject的博客 4753

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

酒店管理系统

use master go if exists (select * from sysdatabases where name='Hotel') drop database Hotel create database Hotel on primary ( name='Hotel_data', filename='E:\\Hotel_data.mdf', size=5mb, maxsi

qq_36074113的博客 2983

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Hotel

Last year summer Max traveled to California for his vacation. He had a great time there: took many photos, visited famous universities, enjoyed beautiful beaches and tasted various delicious foods. It

笑看风云起的专栏 695

C语言基础

文章结构: 赋值定义运算语句 格式化输入输出语句 符号常量:#define 标识符 常量值 两种 while 语句 && switch语句 数组 && 字符串 指针 动态内存分配 指针处理链表 typedef 声明新类型 注:部分内容省略了,适用于学过C语言或其他语言的读者阅读 赋值定义运算语句 运算规则 先运算,再取值 ++a a取值后,a的值再自增1 a++ 与或非 (&&  || !) 注意:在定义中不允许连续赋值,如int a=b=c=5;是不合法的。

ResumeProject的博客 359

入住Hotel—优快云

#入住Hotel—优快云 必须得记住今天,现在是2016年12月20日15:22分。我即将离开我的第一份正式工作,不得不说原因是考核未通过。 我于今年的10月21日面试,面试java实习生,24日入职,入职前只是从图书馆借了本书回顾了java语法基础。虽然学校开设了这门课程,但是我的java其实不怎样,没有任何借口的是我没有认真学习,只是一些实验课的时候做过一些小的作业,比如留言板。虽说这样我还是被

小黑养成之路 704

群作用的例子

群作用在线性代数中的例子 F为数域,GL(n,F)可逆矩阵 A为F上的n∗n矩阵,取T∈GL(n,F) A 为F上的n*n矩阵, 取T\in GL(n,F)A为F上的n∗n矩阵,取T∈GL(n,F) 矩阵的行变换是左乘 TA------------------------左平移 矩阵的列变换是右乘 AT^(-1)------------------右平移 矩阵相似变换是共轭 TAT^(-1)----------------- 共轭 迷向子群为与 J(Jodan ) 可交换的可逆矩阵的全体 合同作用

ResumeProject的博客 945

高阶反函数的导数

对于一阶的,在“同一点”,两个值是互为倒数的。 例如:y=f(x)=sin(x),x=g(y)=arcsin(y)f′(x)=cos(x)g′(y)=dxdy=1dydx=1cos(x)=⟶同一点1cos(x)=1−y2例如:y=f(x)=sin(x) , x=g(y)=arcsin(y) \\ f'(x)=cos(x)\\ g'(y)=\frac{dx}{dy}=\frac{1}{\frac{dy}{dx}}=\frac{1}{cos(x)}=\stackrel{同一点}{\longrightarrow}

ResumeProject的博客 3536

配对积分法

配对积分法 {aI+bJ=ACI+dJ=B \left\{ \begin{array} { l } { a I + b J = A } \\ { C I + d J = B } \end{array} \right. {aI+bJ=ACI+dJ=B​ (A,B为容易求的基本简单的积分。) 最基本的题型 :基本用这种方法的都是求 ∫0∞f(x)af(x)+bg(x)dx  \int_0^\infty\frac{ f(x)}{af(x)+bg(x)}dx \, ∫0∞​af(x)+bg(x)f(x)​dx 假

ResumeProject的博客 1210

Hotel-demo

温泉酒店项目系统设计与实现 1.系统开发目标 利用Servlet&amp;JSP MVC模式开发一个温泉酒店平台网站,该平台提供温泉酒店相关的一系列服务,包括提供注册、登录、首页显示、酒店预订、促销活动、温泉文化、酒店新闻、个人中心、后台管理员注册、登录、管理酒店数据等各种不同功能不同的模块,对于用户可以登录之后,可以根据自己的喜好,查看与温泉酒店文化相关的情况,进而对温泉文化做进...

m0_38072989的博客 331

出租车数据的地图展示

出租车数据的地图展示 实现方法 python数据预处理后将数据导入地图代码。 效果 数据预处理: f1['dropoff_longitude'].fillna(value=f1['dropoff_longitude'].mean(), inplace=True) plt.boxplot(f1["dropoff_longitude"]) plt.show() #超过了上四分位1.5倍四分位距或下四分位1.5倍距离都算异常值,用中位数填充 a = f1["dropoff_longitude"].quantil

ResumeProject的博客 1891

# android笔记 #

FrameLayout:所有东西依次都放在左上角,会重叠,这个布局比较简单,也只能放一点比较简单的东西。 LinearLayout:线性布局,每一个LinearLayout里面又可分为垂直布局(Android:orientation=“vertical”)和水平布局(android:orientation=“horizontal” )。当垂直布局时, 每一行就只有一个元素,多个元素依次垂直往下;水平布局时,只有一行,每一个元素依次向右排列。 AbsoluteLayout:绝对布局用X,Y坐标来指定元素的位置

ResumeProject的博客 703

群与作用笔记

iff 当且仅当 群的生成元组:(书的117页)《《《《《《 可以用集合生成群,群中的元素为集合中元素本身或逆的有限次乘积。则可证 a,b属于群,则a乘b的逆属于群。 特别的,当集合只有一个元素时,群即为此元素的循环群,元素称为生成元。例如 整数加群是由1作为生成元生成的 集合有限 群 称为有限生成群 置换群Sn n》=3不是置换的 阶为n的阶乘 Sn可由所有的轮换生成 轮换就是部分连续的一圈向前移一位。《《《《《《《《 记为将指标用圆括号将轮换的指标括起来 轮换不相交 就是 两个圈不重复 更进一步置换可由

ResumeProject的博客 2296
上一篇: 猴年马月的计算机网络作业
下一篇: # 医学类网站集
FakeOccupational
博客等级 码龄6年 2万+粉丝 1727原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值