十三、传智书城项目设计

项目源代码及sql脚本

一、项目概述 

近年来,随着Internet的迅速崛起,互联网已成为收集信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念。网上购物系统作为B2B、B2C(Business to Customer,即企业对消费者),C2C(Customer to Customer,即消费者对消费者)电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。在传智书城项目中主要讲解的是如何建设B2C的网上购物系统。

传智书城项目分为前台和后台两个部分,前台部分功能结构如下图所示。

后台部分功能结构如下图所示。

 传智书城项目由多个页面组成,接下来将展示几个核心的页面。

 

 

 二、数据库设计

在设计数据库之前,首先需要明确在传智书城项目中都有哪些实体对象。根据实体对象间的关系来设计数据库。接下来介绍一种能描述实体对象关系的模型—E-R图。E-R图也称实体-联系图(Entity Relationship Diagram),它能够直观的表示实体类型和属性之间的关联关系。

用户实体(user)的E-R图。

 商品实体(products)的E-R图。

 订单实体(orders)的E-R图。

订单项(orderitem)的E-R图。

公告栏实体(notice)的E-R图。

了解了实体类的E-R图结构后。接下来,将根据E-R图来设计数据表。在教材中,只提供数据表的表结构,读者可根据表结构自行编写SQL创建表,也可以执行配套的项目源码中的SQL语句创建表。

user表,该表用于保存传智书城系统前台以及后台用户的信息。

products表,该表用于保存传智书城系统前台以及后台商品的信息。

 orders表,该表用于保存传智书城系统前台以及后台订单的信息。

orderitem表,该表用于保存传智书城系统前台以及后台订单的条目信息

 notice表,该表用于保存传智书城系统前台以及后台公告栏的信息。

 三、项目环境搭建

3.1.确定项目开发环境

操作系统

web服务器

JDK版本

数据库

开发工具

浏览器版本

3.2.创建数据库表

/*
SQLyog Ultimate v8.32 
MySQL - 5.5.40 : Database - itcaststore
*********************************************************************
*/


/*!40101 SET NAMES utf8 */;

/*!40101 SET SQL_MODE=''*/;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`itcaststore` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `itcaststore`;

/*Table structure for table `notice` */

DROP TABLE IF EXISTS `notice`;

CREATE TABLE `notice` (
  `n_id` INT(11) NOT NULL AUTO_INCREMENT,
  `title` VARCHAR(10) DEFAULT NULL,
  `details` VARCHAR(255) DEFAULT NULL,
  `n_time` VARCHAR(18) DEFAULT NULL,
  PRIMARY KEY (`n_id`)
) ENGINE=INNODB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

/*Data for the table `notice` */

INSERT  INTO `notice`(`n_id`,`title`,`details`,`n_time`) VALUES (1,'暂停当日达业务','尊敬的网上书城用户,   <br>\r\n  为了让大家有更好的购物体验,3月25日起,当日达业务关小黑屋回炉升级!<br>具体开放时间请留意公告,感谢大家的支持与理解,祝大家购物愉快!<br>\r\n3月23日<br>\r\n传智播客 网上书城系统管理部<br>','20160111113420'),(2,'年货礼包兑换时间通知','尊敬的网上书城用户:\r\n    非常抱歉,因为年后部分供应商工厂开工较晚,导致个别商品到货延迟。\r\n    基于此,15年年货礼包的兑换入口会延期到3月17日,请您在有效期内完成兑换。\r\n    以下礼包预计本周四,即3月12日到货。造成不便深表歉意,敬请谅解。','20160111113411');

/*Table structure for table `orderitem` */

DROP TABLE IF EXISTS `orderitem`;

CREATE TABLE `orderitem` (
  `order_id` VARCHAR(100) NOT NULL DEFAULT '',
  `product_id` VARCHAR(100) NOT NULL DEFAULT '',
  `buynum` INT(11) DEFAULT NULL,
  PRIMARY KEY (`order_id`,`product_id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;

/*Data for the table `orderitem` */

INSERT  INTO `orderitem`(`order_id`,`product_id`,`buynum`) VALUES ('0c0796f2-0124-4a13-a891-5efbb63b04f9','79bbe618-d2f8-4081-b35a-62ebbe938b64',1),('305a7870-3820-4079-b6f9-5d2b63cbcd2a','72c52302-cd1e-4a22-8ac8-dc300a915be5',1),('611f80fa-4273-4674-be09-9530b6276e15','84c842da-16b6-4e87-953e-859a1ca62bab',1),('677a7314-0e16-4e18-8aec-552f848e0d75','3a0196b2-71c1-4d4d-a4e8-d1f875096f00',1),('677a7314-0e16-4e18-8aec-552f848e0d75','bf66a00c-4a78-458b-93c8-08896ee14976',1),('6f591522-7a2a-4a31-899d-ef1181c72f5f','9a7af97e-deea-417e-ad66-23ea755d2a51',1),('7ae96e6d-4600-41a5-bc5d-143b34ba61db','bdb32537-8f2c-4ba2-a752-94fdc0e9a250',1),('a5bfb13d-9085-4374-94d9-4864b4d618ab','9a7af97e-deea-417e-ad66-23ea755d2a51',1),('c4b2bfff-1694-4e28-bcf8-fa7169bfc978','3a0196b2-71c1-4d4d-a4e8-d1f875096f00',2),('c4b2bfff-1694-4e28-bcf8-fa7169bfc978','79bbe618-d2f8-4081-b35a-62ebbe938b64',2),('d88d75cd-15e3-4622-801d-4cad902aeaa1','3cdd01d2-95d4-4077-b512-ff4c3b340d6b',1);

/*Table structure for table `orders` */

DROP TABLE IF EXISTS `orders`;

CREATE TABLE `orders` (
  `id` VARCHAR(100) NOT NULL,
  `money` DOUBLE DEFAULT NULL,
  `receiverAddress` VARCHAR(255) DEFAULT NULL,
  `receiverName` VARCHAR(20) DEFAULT NULL,
  `receiverPhone` VARCHAR(20) DEFAULT NULL,
  `paystate` INT(11) DEFAULT '0',
  `ordertime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `user_id` INT(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;

/*Data for the table `orders` */

INSERT  INTO `orders`(`id`,`money`,`receiverAddress`,`receiverName`,`receiverPhone`,`paystate`,`ordertime`,`user_id`) VALUES ('0c0796f2-0124-4a13-a891-5efbb63b04f9',44.5,'北京市昌平区金燕龙办公楼','hanyongmeng','15207545526',1,'2016-05-18 10:36:36',4),('305a7870-3820-4079-b6f9-5d2b63cbcd2a',59,'北京市昌平区建材城西路金燕龙办公楼','huangyun','13041019968',0,'2016-01-13 15:14:54',3),('611f80fa-4273-4674-be09-9530b6276e15',89,'北京市海淀区清河永泰园5号楼501','huangyun','13041019968',1,'2016-01-10 18:00:36',3),('677a7314-0e16-4e18-8aec-552f848e0d75',65,'北京市昌平区','hanyongmeng','15207545526',0,'2016-05-18 11:33:25',4),('6f591522-7a2a-4a31-899d-ef1181c72f5f',25,'北京市昌平区金燕龙办公楼一层传智播客','madan','13269219270',0,'2016-01-10 18:00:36',2),('7ae96e6d-4600-41a5-bc5d-143b34ba61db',35,'北京市昌平区建材城西路','madan','13269219270',0,'2016-02-25 10:44:56',2),('a5bfb13d-9085-4374-94d9-4864b4d618ab',25,'海淀区圆明园西路','hanyongmeng','13455260812',1,'2016-02-25 10:43:40',4),('c4b2bfff-1694-4e28-bcf8-fa7169bfc978',129,'北京市昌平区北七家镇','hanyongmeng','15207545526',1,'2016-05-18 10:36:22',4),('d88d75cd-15e3-4622-801d-4cad902aeaa1',25,'北京市昌平区建材城西路金燕龙办公楼','hanyongmeng','13848399998',1,'2016-02-25 10:44:23',4);

/*Table structure for table `products` */

DROP TABLE IF EXISTS `products`;

CREATE TABLE `products` (
  `id` VARCHAR(100) NOT NULL DEFAULT '',
  `name` VARCHAR(40) DEFAULT NULL,
  `price` DOUBLE DEFAULT NULL,
  `category` VARCHAR(40) DEFAULT NULL,
  `pnum` INT(11) DEFAULT NULL,
  `imgurl` VARCHAR(100) DEFAULT NULL,
  `description` VARCHAR(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;

/*Data for the table `products` */

INSERT  INTO `products`(`id`,`name`,`price`,`category`,`pnum`,`imgurl`,`description`) VALUES ('26ddd0c6-d7f2-4a83-b01b-286bb8c38420','.net设计规范',50,'计算机',16,'/productImg/12/13/bba5ddf2-2a56-4a88-9d1b-abc8e0202ec9.jpg',''),('3a0196b2-71c1-4d4d-a4e8-d1f875096f00','网管员必备宝典',20,'计算机',15,'/productImg/4/3/0270eba2-2b48-48df-956b-0341204384d9.jpg','计算机类'),('3cdd01d2-95d4-4077-b512-ff4c3b340d6b','学会宽容',25,'文学',5,'/productImg/6/5/a2da626c-c72d-4972-83de-cf48405c5563.jpg','该书阐述了宽容是一种智慧和力量,是对生命的洞悉,是成长的绿荫,更是家庭幸福的秘诀。常用宽容的眼光看世界,事业、家庭和友谊才能稳固和长久。'),('4dbac6bb-ac2a-4ea0-a62f-ea5a2fc2b3c2','杜拉拉升职记',54,'原版',198,'/productImg/5/8/c4ab442f-95c7-4d6f-a57e-3eb7dc6b83c4.jpg','职场生活'),('67a44950-935a-4dac-953d-515fd92d8174','时空穿行',42,'科技',200,'/productImg/12/12/6cc3c25b-2475-496e-9ad7-5e9491e7aaf8.jpg','《时空穿行(中国乡村人类学世纪回访)》对20世纪80年代以来中国云南大理西镇、广东潮州凤凰村、华南茶山等八个代表性乡村田野进行调查,探讨了中国乡村文化的多样性、宗族制度、农民社会等课题。'),('72c52302-cd1e-4a22-8ac8-dc300a915be5','培育男孩',59,'社科',94,'/productImg/3/1/81967f4f-0a39-4b03-8ecc-053365a35605.jpg','如何教育孩子'),('79bbe618-d2f8-4081-b35a-62ebbe938b64','Java基础入门',44.5,'计算机',7,'/productImg/9/0/697a23d6-225a-41a3-8c20-7ab624265ecc.png','《Java基础入门》从初学者的角度详细讲解了Java开发中重点用到的多种技术。全书共11章,包括Java开发环境的搭建及其运行机制、基本语法、面向对象的思想,采用典型翔实的例子、通俗易懂的语言阐述面向对象中的抽象概念。在多线程、常用API、集合、IO、GUI、网络编程章节中,通过剖析案例、分析代码结构含义、解决常见问题等方式,帮助初学者培养良好的编程习惯。最后,讲解了Eclipse开发工具,帮助初学者熟悉开发工具的使用。'),('84c842da-16b6-4e87-953e-859a1ca62bab','赢在影响力',89,'励志',47,'/productImg/2/8/acc9d557-f8c9-426b-9aec-50a5a7cf3960.jpg','《赢在影响力:人际交往的学问》创造了全球出版史上空前的发行记录。它深深地触动着读者的神经,满足了他们在人性方面的需要,因此成为经济萧条后期超越流行的读物。它居高不下的销售记录一直持续至20世纪80年代,经历了几乎半个世纪。'),('8740bee0-bfb8-4ba1-8f6e-b69310617db9','大勇和小花的欧洲日记',26,'生活百科',100,'/productImg/3/0/3253aeee-5462-47d0-991c-afb568ab3b03.jpg','《大勇和小花的欧洲日记》串起了欧洲文明的溯源之旅。从屹立在近现代艺术之巅的巴黎拾级而下,依次是蓬皮杜博物馆(现代艺术)、奥塞博物馆(印象派艺术)、卢浮宫博物馆(古典主义)。在这里,蒙娜丽莎向文艺复兴的故乡微笔,那是意大利的佛罗伦萨。达芬奇、米开朗琪罗、拉菲尔等巨匠们开创了文艺复兴运动,他们心中的圣地是希腊,似乎已到了起源。然而,这并未到头,与这源头对接的还有遥远的希腊神话,其中有大西洲的传说。在希腊小岛圣托里尼,你看见Atlantica酒店吗?那是人们为大西洲刻下的念想。'),('880fdb00-6798-4302-962b-f337f3393802','Java Web程序开发入门',44.5,'计算机',100,'/productImg/9/3/eac105d4-4ab5-4af9-9061-e255016b79d9.png','本书为Java Web开发入门教材,让初学者达到能够灵活使用Java语言开发Web应用程序的程度。为了让初学者易于学习,本书力求内容通俗易懂,讲解寓教于乐,同时针对书中的每个知识点,都精心设计了经典案例,让初学者真正理解这些知识点在实际工作中如何去运用。'),('8c19d2e2-1020-425d-aeeb-56d3c1bc0a81','谁动了我的奶酪',26,'少儿',200,'/productImg/14/11/ebcee924-7d42-43f8-b974-fbdb900bdb58.jpg','儿童作品'),('968df3a0-be4d-473e-85a8-d3466b4ca7c2','别做正常的傻瓜',18,'励志',2,'/productImg/14/1/792116e7-6d83-4be4-b3e5-4dd11b0b4565.jpg','本书结合了作者十余年的教学经验,融合了诺贝尔奖得主及其他学者数十年的研究成果,用深入浅出的方法帮助你发现自己决策中的误区,从而使你比大多数人少几分正常,多几分理性,本书所涉及的决策范围广,包括购买什么商品,和什么人结婚,雇用哪些员工,投资什么股票等等。除非你从不做决策,否则本书对你一定有所借鉴。'),('9a7af97e-deea-417e-ad66-23ea755d2a51','培育男孩',25,'生活',8,'/productImg/2/7/7ede11f8-3ff9-4c12-ad58-b1d5e0e72032.jpg','本书是美国著名家庭问题和儿童教育问题专家、畅销书作家詹姆士·杜布森的新作。全书围绕值得令人类关注的培育男孩问题,讨论了家庭教育、学校教育、父母关爱,以及整个社会文化对男孩成长的影响。针对美国社会普遍存在的男孩教育问题,如父亲缺席、母亲上班、暴力泛滥、单亲家庭、同性恋、学校对男孩特点的忽视等等,提出了自己的看法和解决思路,具有很强的指导性和可操作性,是父母、教师和青年工作者的必读参考书。'),('adc06981-0dc9-4006-b763-e6413ee93ac1','travelbook',20,'外语',20,'/productImg/15/1/5394df32-ed6e-4203-b9c0-fc175cfc187e.jpg',''),('bdb32537-8f2c-4ba2-a752-94fdc0e9a250','经济案例解析',35,'经营',98,'/productImg/11/1/8efe720f-fa72-435b-a3c3-69230f9677cc.jpg',''),('bf66a00c-4a78-458b-93c8-08896ee14976','美国纽约摄影学院摄影教材',45,'艺术',99,'/productImg/13/2/20788b05-d298-4a7c-91d9-370fb056f6a5.jpg','艺术教材'),('c85d68d3-5758-494e-8dcf-f4f84d852949','系统分析师教程',54,'考试',300,'/productImg/5/11/e4d290ce-3355-466f-a51e-13c62552d2cb.jpg','系统分析师'),('cb22386f-0b77-454c-976f-d6417ad72613','中国国家地理',20,'学术',20,'/productImg/2/0/2105fbe5-400f-4193-a7db-d7ebac389550.jpg','《中国国家地理》,原名《地理知识》,是关于地理的月刊,该刊的文章和图片经常被中央及地方媒体转载。具有很强的可读性和收藏价值,国内外很多家图书馆已经把该刊作为重点收藏期刊。内容以中国地理为主,兼具世界各地不同区域的自然、人文景观和事件,并揭示其背景和奥秘,另亦涉及天文、生物、历史和考古等领域。是中国大陆著名的有关地理的杂志。因该社隶属中国科学院,有一大批自然地理和人文地理的专家学者作为该社顾问,同时还有许多战斗在科考第一线的工作者与杂志社保持着密切联系,因此具有很强的独家性和权威性。');

/*Table structure for table `user` */

DROP TABLE IF EXISTS `user`;

CREATE TABLE `user` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `username` VARCHAR(20) NOT NULL,
  `PASSWORD` VARCHAR(20) NOT NULL,
  `gender` VARCHAR(2) DEFAULT NULL,
  `email` VARCHAR(50) DEFAULT NULL,
  `telephone` VARCHAR(20) DEFAULT NULL,
  `introduce` VARCHAR(100) DEFAULT NULL,
  `activeCode` VARCHAR(50) DEFAULT NULL,
  `state` INT(11) DEFAULT '0',
  `role` VARCHAR(10) DEFAULT '普通用户',
  `registTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

/*Data for the table `user` */

INSERT  INTO `user`(`id`,`username`,`PASSWORD`,`gender`,`email`,`telephone`,`introduce`,`activeCode`,`state`,`role`,`registTime`) VALUES (1,'admin','123456','男','huan9yun@163.com','13041019968','我是超级管理员,我可以登录后台管理系统','49338fdc-d8c9-46fa-8391-0fac7bf09707',1,'超级用户','2015-03-19 16:16:40'),(2,'madan','123456','女','huan9yun@163.com','13269219270','我是一个课程设计师','c1cc1229-f0ac-41b4-920c-dfef9f8a96a3',1,'普通用户','2015-03-19 18:12:36'),(3,'huangyun','123456','男','huan9yun@163.com','13041019968','大家好,我是黄云','d0827d1d-dc0d-4cdc-8710-678ce917880e',1,'普通用户','2015-03-20 17:36:38'),(4,'hanyongmeng','123456','男','itcast_hym@163.com','15207545526','课程设计师','da483412-1e34-43cf-aef2-4925748c811d',1,'普通用户','2016-01-21 15:19:32'),(5,'tianjiao','123456','男','hanyongmeng@126.cn','','','f8173f4f-debe-4d32-8117-b228d555d822',0,'普通用户','2016-02-18 15:32:01');

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

3.3.创建项目,引入JAR包

项目名itcaststore,类型Dynamic Web Project 2.5,所需jar包如下:

3.4.配置c3p0-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
	<default-config>
		<property name="driverClass">com.mysql.jdbc.Driver</property>
		<property name="jdbcUrl">jdbc:mysql:///itcaststore</property>
		<property name="user">root</property>
		<property name="password">root</property>
	</default-config> 
</c3p0-config> 

3.5.编写EncodingFilter过滤器

/**
 * 编码过滤器(用于统一项目编码)
 */
public class EncodingFilter implements Filter {
	public void init(FilterConfig filterConfig) throws ServletException {

	}
	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		// 处理请求乱码		
		request.setCharacterEncoding("utf-8");
		// 处理响应乱码
		response.setContentType("text/html;charset=utf-8");
		chain.doFilter(request, response);
	}
	public void destroy() {

	}
}

在web.xml中配置过滤器

<!-- 编码过滤器 -->
	<filter>
		<filter-name>encodingFilter</filter-name>
		<filter-class>cn.itcast.itcaststore.web.filter.EncodingFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>encodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

3.6.编写工具类DataSourceUtils 

/**
 * 数据源工具
 */
public class DataSourceUtils {
	private static DataSource dataSource = new ComboPooledDataSource();
	private static ThreadLocal<Connection> tl = new ThreadLocal<Connection>();

	public static DataSource getDataSource() {
		return dataSource;
	}
	/**
	 * 当DBUtils需要手动控制事务时,调用该方法获得一个连接
	 * @return
	 * @throws SQLException
	 */
	public static Connection getConnection() throws SQLException {
		Connection con = tl.get();
		if (con == null) {
			con = dataSource.getConnection();
			tl.set(con);
		}
		return con;
	}
	/**
	 * 开启事务
	 * @throws SQLException
	 */
	public static void startTransaction() throws SQLException {
		Connection con = getConnection();
		if (con != null)
			con.setAutoCommit(false);
	}
	/**
	 * 从ThreadLocal中释放并且关闭Connection,并结束事务
	 * @throws SQLException
	 */
	public static void releaseAndCloseConnection() throws SQLException {
		Connection con = getConnection();
		if (con != null) {
			con.commit();
			tl.remove();
			con.close();
		}
	}
	/**
	 * 事务回滚
	 * @throws SQLException 
	 */
	public static void rollback() throws SQLException {
		Connection con = getConnection();
		if (con != null) {
			con.rollback();
		}
	}
}

  • 16
    点赞
  • 132
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
传智书城项目文档是一份详细描述传智书城项目的文档,其目的是为了整理和记录项目的需求和设计信息,方便开发团队的沟通和项目的开发与管理。 该文档主要包括以下几个部分: 1. 项目背景和目标:介绍传智书城项目的背景和目标,以便开发团队了解项目的背景和整体目标。 2. 功能需求:详细描述了传智书城项目的功能需求,包括用户的登录、注册、浏览书籍、购买书籍、加入购物车、生成订单、支付订单等功能。 3. 非功能需求:描述了一些非功能性的需求,例如系统的性能要求、安全性要求、可扩展性要求等,以确保项目的高质量和可靠性。 4. 系统设计:详细描述了传智书城项目的系统设计,包括系统的架构设计、数据库设计、前端设计和后端设计等。该部分将确保项目的整体设计满足需求,并提供一个清晰的开发指南。 5. 测试计划:描述了传智书城项目的测试计划,包括测试环境的搭建、测试用例的编写、测试的方法和策略等。该部分旨在确保项目的质量和稳定性。 6. 项目进度计划:列出传智书城项目的开发计划和里程碑,包括各个阶段的时间表和任务分配,以确保项目按时完成。 7. 风险管理:列出项目开发中可能会出现的风险,并提供相应的风险应对计划,以最大限度地减少不可预见的风险对项目的影响。 总而言之,javaweb传智书城项目文档是为了整理和记录项目的需求和设计信息,以便开发团队能够更好地理解和开发项目,并确保项目按照计划顺利完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值