文章目录
- 前言
- 项目介绍
-
-
- 代码工程结构
- 前端技术
- 后端技术
- 实现功能
-
- 一:会员管理
- 二:商城配置
- 三:商品编辑
- 四:推广管理
- 五:订单管理
- 六:系统管理
- 七:短信服务平台
- 运行效果
-
- 前端效果
- 后端效果
- 实现部分源码
-
- 前端布局
- 后端逻辑
-
前言 Hi,大家好,这里是丹成学长的毕设系列文章!
对毕设有任何疑问都可以问学长哦!
这两年开始,各个学校对毕设的要求越来越高,难度也越来越大… 毕业设计耗费时间,耗费精力,甚至有些题目即使是专业的老师或者硕士生也需要很长时间,所以一旦发现问题,一定要提前准备,避免到后面措手不及,草草了事。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的新项目是
基于微信小程序的商城购物系统
学长这里给一个题目综合评分(每项满分5分)
- 难度系数:4分
- 工作量:4分
- 创新点:3分
https://blog.csdn.net/Mr_DC_IT/article/details/126460477
项目介绍 代码工程结构
【毕业设计|【毕业设计】微信小程序 - 商城购物系统】platform-wechat-mall
|–platform-admin 后台管理
|–platform-api 微信小程序商城api接口
|–platform-common 公共模块
|–platform-framework 系统WEB合并,请打包发布此项目
|–platform-gen 代码生成
|–platform-mp 微信公众号模块
|–platform-schedule 定时任务
|–platform-shop 商城后台管理
|–wx-mall 微信小程序商城
|–platform-vue 微信公众号商城
前端技术
- Vue2.5.1
- iview
- layer3.0.3
- jquery2.2.4
- bootstrap3.3.7
- jqgrid5.1.1
- ztree3.5.26
- froala_editor1.2.2
- springframework4.3.7.RELEASE
- mybatis3.1.0、MyBatis-Plus 3.1.0
- shiro1.3.2
- servlet3.1.0
- druid1.0.28
- slf4j1.7.19
- fastjson1.2.30
- poi3.15
- velocity1.7
- quartz2.2.3
- mysql5.1.39
- swagger2.4
- j2cache2.3.22-release
- weixin-java-mp3.2.0
- MybatisPlus3.1.0
- lombok
一:会员管理
- a 会员管理
- b 会员等级
- c 收货地址管理
- d 会员优惠劵
- e 会员收藏
- f 会员足迹
- g 搜索历史
- h 购物车
- a 区域配置
- b 商品属性种类
- c 品牌制造商
- d 商品规格
- e 订单管理
- f 商品类型
- g 渠道管理
- h 商品问答
- i 反馈
- j 关键词
- a 所有商品
- b 用户评论
- c 产品设置
- d 商品规格
- e 商品回收站
- a 广告列表
- b 广告位置
- c 优惠劵管理
- d 专题管理
- e 专题分类
- a 所有订单管理
- a 管理员列表
- b 角色管理
- c 菜单管理
- d SQL监控
- e 定时任务
- f 参数管理
- g 代码生成器
- h 系统日志
- i 文件上传
- j 通用字典表
- a 配置短信平台账户信息
- b 向外提供发送短信接口:
前端效果
文章图片
后端效果
文章图片
文章图片
实现部分源码 前端布局
{{item.name}} \n
{{item.description}} \n
¥ {{item.price}}
后端逻辑
namespace Api\Controller;
use Think\Controller;
class ShoppingController extends Controller { //***************************
//会员获取购物车列表接口
//***************************
public function index(){
$shopping=M("shopping_char");
$product=M("menu");
$user_id = intval($_REQUEST['user_id']);
if (!$user_id) {
echo json_encode(array('status'=>0));
exit();
}/*$shop = $shopping->where(''.$qz.'shopping_char.uid='.intval($user_id))->join('left join __SHANGCHANG__ on __SHANGCHANG__.id = __SHOPPING_CHAR__.shop_id')->distinct(''.$qz.'shopping_char.shop_id')->field(''.$qz.'shangchang.id,'.$qz.'shangchang.name,'.$qz.'shangchang.logo')->select();
foreach ($shop as $n=>$v){
$shop[$n]['logo'] = __DATAURL__.$v['logo'];
$shop[$n]['slist']=$shopping->where(''.$qz.'shopping_char.uid='.intval($user_id).' and '.$qz.'shopping_char.shop_id='.intval($v['id']))->join('LEFT JOIN __PRODUCT__ ON __SHOPPING_CHAR__.pid = __PRODUCT__.id')->field(''.$qz.'shopping_char.id,'.$qz.'product.id as proid,'.$qz.'product.name,'.$qz.'product.num as pnum,'.$qz.'product.price_yh,'.$qz.'product.photo_x,'.$qz.'shopping_char.num,'.$qz.'shopping_char.buff,'.$qz.'shopping_char.price')->select();
//获取产品规格名称
foreach ($shop[$n]['slist'] as $k=>$vl){
$key=explode(',', $vl['buff']);
foreach ($key as $m=>$val){
$buff_text=M('guige')->where('id='.intval($val))->getField('name');
$shop[$n]['slist'][$k]['g_name'] .= '
'.$buff_text;
}$shop[$n]['slist'][$k]['photo_x'] = __DATAURL__.$vl['photo_x'];
}
}*/$cart = $shopping->where('uid='.intval($user_id))->field('id,uid,pid,price,num')->select();
foreach ($cart as $k => $v) {
$pro_info = $product->where('id='.intval($v['pid']))->field('name,image')->find();
$cart[$k]['pro_name']=$pro_info['name'];
$cart[$k]['photo_x']=$pro_info['image'];
}echo json_encode(array('status'=>1,'cart'=>$cart));
exit();
} //购物车商品删除
public function delete(){
$shopping=M("shopping_char");
$cart_id=intval($_REQUEST['cart_id']);
$check_id = $shopping->where('id='.intval($cart_id))->getField('id');
if (!$check_id) {
echo json_encode(array('status'=>1));
exit();
}$res = $shopping->where('id ='.intval($cart_id))->delete();
// 删除
if($res){
echo json_encode(array('status'=>1));
exit();
}else{
echo json_encode(array('status'=>0));
exit();
}
} //***************************
//会员修改购物车数量接口
//***************************
public function up_cart(){
$shopping=M("shopping_char");
$uid = intval($_REQUEST['user_id']);
$cart_id = intval($_REQUEST['cart_id']);
$num=intval($_REQUEST['num']);
if (!$uid || !$cart_id || !$num) {
echo json_encode(array('status'=>0,'err'=>'网络异常.'.__LINE__));
exit();
}$check = $shopping->where('id='.intval($cart_id))->find();
if (!$check) {
echo json_encode(array('status'=>0,'err'=>'购物车信息错误!'));
exit();
}$data=https://www.it610.com/article/array();
$data['num']=$num;
$res = $shopping->where('id ='.intval($cart_id).' AND uid='.intval($uid))->save($data);
if ($res) {
echo json_encode(array('status'=>1,'succ'=>'操作成功!'));
exit();
}else{
echo json_encode(array('status'=>0,'err'=>'操作失败.'));
exit();
} } //多个购物车商品删除
public function qdelete(){
$uid = intval($_REQUEST['uid']);
if (!$uid) {
echo json_encode(array('status'=>0,'err'=>'网络异常,请稍后再试.'));
exit();
}
$shopping=M("shopping_char");
$cart_id=trim($_REQUEST['cart_id'],',');
if (!$cart_id) {
echo json_encode(array('status'=>0,'err'=>'网络错误,请稍后再试.'));
exit();
}$res = $shopping->where('id in ('.$cart_id.') AND uid='.intval($uid))->delete();
// 删除
if($res){
echo json_encode(array('status'=>1));
exit();
}else{
echo json_encode(array('status'=>0,'err'=>'操作失败.'));
exit();
}
} //添加购物车
public function add(){
$uid = intval($_REQUEST['uid']);
if (!$uid) {
echo json_encode(array('status'=>0,'err'=>'登录状态异常.'));
exit();
}$pid = intval($_REQUEST['id']);
$num = 1;
if (!intval($pid) || !intval($num)) {
echo json_encode(array('status'=>0,'err'=>'参数错误.'));
exit();
}//加入购物车
$check = $this->check_cart(intval($pid));
if ($check['status']==0) {
echo json_encode(array('status'=>0,'err'=>$check['err']));
exit;
}$check_info = M('menu')->where('id='.intval($pid).' AND status=1')->find();
//判断库存
if (!$check_info) {
echo json_encode(array('status'=>0,'err'=>'没有这个商品!'));
exit;
}$shpp=M("shopping_char");
// $shu=trim($_POST['val'],',');
// if($shu){
////判断用户是否已经选择完规格,未选完则提示错误
//$a = explode(',', $check_info['pro_buff']);
//$b = explode(',', $shu);
//if (count($a)!==count($b) || in_array('0', $b)) {
//echo json_encode(array('status'=>0,'err'=>'请选择规格.'));
//exit;
//}
// }else{
//if ($check_info['pro_buff']) {
//echo json_encode(array('status'=>0,'err'=>'请选择规格.'.__LINE__));
//}
// }//判断购物车内是否已经存在该商品
$data = https://www.it610.com/article/array();
$cart_info = $shpp->where('pid='.intval($pid).' AND uid='.intval($uid))->field('id,num')->find();
if ($cart_info) {
$data['num'] = intval($cart_info['num'])+intval($num);
$shpp->where('id='.intval($cart_info['id']))->save($data);
$res = $cart_info['id'];
}else{
$data['pid']=intval($pid);
$data['num']=intval($num);
$data['addtime']=time();
$data['uid']=intval($uid);
$data['shop_id']=intval($check_info['shop_id']);
$ptype = 1;
if (intval($check_info['pro_type'])) {
$ptype = intval($check_info['pro_type']);
}
$data['type']=$ptype;
$data['price'] = $check_info['price'];
$res=$shpp->add($data);
}if($res){
echo json_encode(array('status'=>1,'cart_id'=>$res));
//该商品已成功加入您的购物车
exit;
}else{
echo json_encode(array('status'=>0,'err'=>'加入失败.'));
exit;
}
} //***************************
//会员立即购买下单接口
//***************************
public function check_shop(){
$cart_id = trim($_REQUEST['cart_id'],',');
$id=explode(',',$cart_id);
if (!$cart_id) {
echo json_encode(array('status'=>0));
exit();
}foreach ($id as $k=>$v){
$shoop[$k]=M("shopping_char")->where('id ='.intval($v))->field('shop_id,pid')->find();
}foreach($shoop as $key => $value){
$result[$key] = M("product")->where('id='.intval($value['pid']))->field('id,price,price_yh')->select();
$price[] = i_array_column($result[$key], 'price_yh');
}
//dump($price);
exit;
foreach($price as $keys => $va){
$str .= implode(",", $va).",";
}
$str = trim($str, ",");
$parr = explode(",", $str);
if(array_sum($parr) && in_array("0", $parr)){
echo json_encode(array('status'=>0));
exit();
}$names = i_array_column($shoop, 'shop_id');
$arr=array_unique($names);
$val= sizeof($arr);
if($val=='1'){
echo json_encode(array('status'=>1));
exit();
}else{
echo json_encode(array('status'=>2));
exit();
}
} //购物车添加。删除检测公共方法
public function check_cart($pid){
//检查产品是否存在或删除
$check_info = M('menu')->where('id='.intval($pid).' AND status=1')->find();
if (!$check_info) {
return array('status'=>0,'err'=>'商品不存在或已下架.');
}return array('status'=>1);
}/*
去除HTNL标签
*/
public function html_entity($array){
foreach ($array as $key => $value) {
$array[$key]['content'] = strip_tags(html_entity_decode($value['content']));
}
return $array;
}}
选题指导, 项目分享:
https://blog.csdn.net/Mr_DC_IT/article/details/126460477
推荐阅读
- 大数据|【毕业设计】行人口罩佩戴检测系统 - 深度学习 机器视觉
- 微信小程序(黑马)|【uniapp小程序】覆盖图片容器cover-image
- 微信小程序(黑马)|【微信小程序】自定义组件(一)
- 小程序|微信小程序游戏开发│石头剪刀布游戏(附源码)
- 微信小程序|微信小程序使用Echarts真机调试报错,Echarts占内存过大解决方法
- 【小小的项目|【基于Java和Socket等技术的聊天室系统的设计与实现-----这或许就是QQ的原型之一吧!(效果+源码+论文+视频介绍等获取~!)】
- 微信小程序|【微信小程序】从零开始搭建一个英语学习小程序01——基础准备
- 微信小程序|【微信小程序】从零开始搭建一个英语学习小程序04——数据库设计和接口设计
- java精品项目下载|java-第23期基于ssm培训教务管理系统【毕业设计】