# 一帆海购网购物平台(nodejs版) **Repository Path**: e4glet/yifanshopsys ## Basic Information - **Project Name**: 一帆海购网购物平台(nodejs版) - **Description**: 使用nodejs开发的电子商品平台 - **Primary Language**: NodeJS - **License**: AFL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 7 - **Forks**: 2 - **Created**: 2017-11-27 - **Last Updated**: 2023-08-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 一帆海购网购物平台(nodejs版) node.js express ### 作者:eaglet liyaohua8468@gmail.com ### 天津市工业大学 计算机科学与软件学院 天津市大学软件学院 ### 提示 本系统涉及内容已经发表过论文,本作者拥有著作权,请勿抄袭,谢谢。 只要不抄袭发表相关学术论文,欢迎借鉴与学习。 #### 目录 - 目录结构介绍 - 环境要求 - 初始化环境 - 开发框架 - 如何运行 #### 一、简介 本项目是使用nodejs开发的一套电子商务平台,主要用于2017年电子商务专业学生的教学工作,教授学生如何使用大前端技术nodejs设计开发电子商务网站。该实训项目系统荣获2017年天津市大学软件学院优秀实训项目三等奖。 #### 二、目录基本结构介绍 –bin 项目的底层核心,路由配置文件 -conf 配置目录(数据库连接信息和数据库工具模块) -Controller 控制器目录 -DAL 数据层目录 -Model 对象模型 –node_modules 项目中依赖的包 –public 公共资源放的目录 –routes 学名 路由,里面放着一些路由文件 -util 封装的组件目录 –views 放着就是页面文件了 -server 模拟人工智能客服功能目录 –app.js 项目的入口文件。当然你也可以改成其他的名字。 –package.json 项目版本信息文件 -yifanshop.sql mysql导出文件 #### 三、环境要求 - nodejs 6.0以上版本 - 系统环境:windows/linux/Mac OS - 开发工具:Sublime Text - 数据库: MySql 5.6以上版本 #### 四、开发框架 本项目开发框架参考[https://gitee.com/e4glet/nodejs_http_framework](https://gitee.com/e4glet/nodejs_http_framework) 在此基础上进行了扩展与完善。 #### 五、存储过程 1. addOrder ```c BEGIN #创建订单存储过程 #定义接收数据的变量 DECLARE order_id int; -- 初始化计数器为0 declare i int default 0; declare count int default 0; declare myrow int default 0; -- 第一步添加订单数据并返回ID作为关系表的数据字段 insert INTO shop_order(order_code,customer_Id,address_Id,order_total)VALUES(unix_timestamp(NOW()),customer_Id,address_Id,order_total); -- 将添加的订单ID赋值给变量 set order_id = (select @@IDENTITY); -- select @@IDENTITY as orderid; -- 添加订单附加信息表 INSERT INTO shop_orderinfo(order_Id,pay_type,check_invoices,message,express_fee,address_city,address_details,address_code,customer_name,customer_code,mobilephone,telphone) SELECT order_id,pay_type,check_invoices,message,express_fee,address_city,address_details,address_code,customer_name,customer_code,mobilephone,telphone FROM shop_address WHERE shop_address.address_Id=address_Id and shop_address.customer_Id=customer_Id; -- VALUES(order_id,pay_type,check_invoices,message,express_fee); -- 循环插入订单ID与购买商品ID、数量关系数据 set count=1+(length(pdIdList) - length(replace(pdIdList,splitflg,''))); while i3 ORDER BY so.order_time DESC; END ``` 4. moveGoodsFromCartToCollect ```c BEGIN #Routine body goes here... -- 初始化计数器为0 declare i int default 0; declare count int default 0; DECLARE num int; set count=1+(length(pdIdList) - length(replace(pdIdList,splitflg,''))); while i0 THEN -- 对应删除购物车里的产品数据 DELETE FROM shop_cart where customer_Id=customer_Id and product_Id=reverse(substring_index(reverse(substring_index(pdIdList,splitflg,i)),splitflg,1)); ELSE -- 将对应产品id的商品移入收藏 insert into shop_collect(customer_Id,product_Id)values(customer_Id,reverse(substring_index(reverse(substring_index(pdIdList,splitflg,i)),splitflg,1))); -- 对应删除购物车里的产品数据 DELETE FROM shop_cart where customer_Id=customer_Id and product_Id=reverse(substring_index(reverse(substring_index(pdIdList,splitflg,i)),splitflg,1)); END IF; -- DELETE FROM shop_cart where customer_Id=2 and product_Id=9; end while; END ``` 5. updateAddressDefault ```c BEGIN -- 默认取消当前用户所有的收货地址默认 UPDATE shop_address set isDefault=0 WHERE customer_Id=customer_Id; -- 然后修改默认字段为提交的收货地址ID UPDATE shop_address set isDefault=1 where customer_Id=customer_Id and address_Id=address_Id; END ``` #### 如何运行 ![输入图片说明](https://images.gitee.com/uploads/images/2020/0114/190156_98c46c55_1651640.png "屏幕截图.png") 效果展示 ![输入图片说明](https://images.gitee.com/uploads/images/2020/0114/190407_1f3ee40e_1651640.png "屏幕截图.png") ## 小结 这个电子商务平台只是教学项目,具备基本的业务结构和功能,只适合参考学习,不适用于商业。 如果你有更好改进建议,欢迎指正。 邮箱:liyaohua8468@gmail.com