热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

家居建材商城|基于Springboot+Vue实现家居建材商城

作者主页:编程指南针作者简介:Java领域优质创作者、CSDN博客专家、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师主要内容:Jav


作者主页:编程指南针


作者简介:Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师


主要内容:Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助


收藏点赞不迷路  关注作者有好处


文末获取源码 



项目编号:BS-SC-041


一,项目简介


   

    本系统采用前后端分离开发模式。项目技术应用广泛,涵盖全栈、集群、分布式、高并发;技术应用场景合理,并非多技术的盲目堆叠;业务场景贴近实际,完全按照市场需求开发。 项目前端部分采用html5结合Thymeleaf和vue进行开发,利用WebSocket技术实现用户与商家聊天功能。在前后端数据交互时,使用Javascript结合axios进行异步调用等进行开发。 项目后端利用MySQL数据库管理系统对数据进行管理。利用Redis数据库存储缓存信息。系统采用SpringBoot框架、MyBatis、MyBatisPlus、lombok日志、druid等进行开发。 ​

本项目主要分为三个模块,分别是系统管理员模块,商家模块以及普通用户模块。


管理员模块:

商家管理:对商家账户信息进行管理,审核新店铺的申请。

用户管理:可以对用户的信息进行修改、删除、添加。

商品管理:对所有的商品进行管理,包括强制下架。

订单管理:对所有的订单进行统一管理。


商家模块:

商品管理:对已经商家的商品进行修改或者上架和下架管理

商铺信息管理:用于商家对本商铺的信息进行管理,比如商店员工和销售情况等。

订单管理:用户商家对商品订单进行发货处理

商家信息维护:商家可以修改商铺的消息策略。

售后管理:用户商家处理一些订单售后申请。


普通用户模块:

登录注册:用户通过该功能进行手机号验证码注册账号与手机验证码账号登录。

商品搜索:用户可以输入需要购买的商品关键词进行查询,系统会查询所有商品信息反馈给用户。

商品查看:选择一个商品后,用户可以点进去查看商品详细信息,包括商家信息、商品图片或者商品。

商品购买:选择好需要的商品及可以下单,填写相关地址信息完,付款后即可完成购买。

与商家在线沟通:在商品详情页面,用户可以选择与商家在线沟通,询问商品的详细情况,比如商品质量以及发货地点,发货时间等。

订单查询:包括查看订单详情、申请售后、取消订单、删除订单等功能。

图 1系统功能模块图

 

 

本系统采用的是单库单应用架构。前端框架主要利用vue结合elementui进行。利用vue-router将前台页面进行路由。用户触发不同事件的时候,先判断用户是否具有浏览该页面的权限,如果没有权限则拦截页面跳转,同时提示用户没有权限。当用户拥有该权限或者该页面不需要权限的时候,利用Ajax发送异步请求到后台接口,请求后台数据。

请求到达后台后,会被Springmvc的前端控制器进行拦截。然后在业务层找到相应的controller进行处理。然后调用service层处理逻辑事务。然后会调用mybatis的方法对mysql数据库中的数据进行操作。最后将得到得数据一路返回,回到前端经过前台的渲染呈现给用户最终的页面效果。


二,环境介绍

语言环境:Java:  jdk1.8

数据库:Mysql: mysql5.7

应用服务器:Tomcat:  tomcat8.5.31

开发工具:IDEA或eclipse

后台开发:Springboot+Mybatis

前台开发:Vue+Nodejs+ElementUI

第三方技术:支付宝沙箱、阿里云OSS存储、腾讯云短信发送、邮箱发送等


三,系统展示

前端首页

 

详情展示

 

购物车

 我的订单

 个人中心

 

商家登陆:统计销售情况

商铺基本 信息管理


商品管理

 品牌管理

 商品规格

 查询入库记录

 订单管理

 退换货处理

 


后台管理员登陆

商铺管理

 商品管理

订单管理

 营销管理-轮播图管理

 营销管理-分类推荐

 用户-角色-权限管理

 




四,核心代码展示

package com.qiu.controller;
import com.qiu.entity.Role;
import com.qiu.service.RoleService;
import com.qiu.util.general.CommonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 用户授权等相关业务
*/
@CrossOrigin
@RestController
public class RoleController {
@Autowired
private RoleService roleService;
/**
* 根据id查询角色信息
*
* @param roleId 角色编号
*/
@RequestMapping(value = "/role/findById")
public CommonResult findById(Integer roleId) {
Role role = roleService.selectById(roleId);
if (role != null) {
return CommonResult.success("查询成功", role);
}
return CommonResult.error("查询失败");
}
/**
* 根据角色名称查询角色
*
* @param roleName 角色名称
*/
@RequestMapping(value = "/role/findByKey")
public CommonResult findByKey(String roleName) {
Role role = roleService.selectByKey(roleName);
if (role != null) {
return CommonResult.success("查询成功", role);
}
return CommonResult.error("查询失败");
}
/**
* 判断角色是否存在
*
* @param roleId 角色编号
* @param roleName 角色名称
*/
@RequestMapping(value = "/role/existRoleName")
public CommonResult existRoleName(Integer roleId, String roleName) {
boolean exist = roleService.existsRoleName(roleId, roleName);
return CommonResult.success("查询成功", exist);
}
/**
* 查询所有角色信息
*/
@RequestMapping(value = "/role/findAll")
public CommonResult findAll() {
List roles = roleService.selectAll();
if (roles != null) {
return CommonResult.success("查询成功", roles);
}
return CommonResult.error("查询失败");
}
/**
* 查询所有可用的角色信息
*/
@RequestMapping(value = "/role/findAllUsable")
public CommonResult findAllUsable() {
List roles = roleService.selectAllUsable();
if (roles != null) {
return CommonResult.success("查询成功", roles);
}
return CommonResult.error("查询失败");
}
/**
* 查询角色数量
*/
@RequestMapping(value = "/role/count")
public CommonResult findCount() {
int count = roleService.selectCount();
return CommonResult.success("查询成功", count);
}
/**
* 新增角色信息
*
* @param role 角色信息
*/
@RequestMapping(value = "/role/add")
public CommonResult add(Role role) {
if (role != null) {
if (roleService.insertData(role)) {
return CommonResult.success("添加成功", role);
}
return CommonResult.error("添加失败");
}
return CommonResult.error("角色信息不存在");
}
/**
* 更新角色信息
*
* @param role 角色信息
*/
@RequestMapping(value = "/role/update")
public CommonResult update(Role role) {
if (roleService.updateById(role)) {
return CommonResult.success("更新成功", role);
}
return CommonResult.error("更新失败");
}
/**
* 删除角色信息
*
* @param roleId 角色编号
*/
@RequestMapping(value = "/role/delete")
public CommonResult delete(Integer roleId) {
if (roleService.deleteById(roleId)) {
return CommonResult.success("删除成功", roleId);
}
return CommonResult.error("删除失败");
}
}

package com.qiu.controller;
import com.qiu.entity.ShoppingCart;
import com.qiu.service.ShoppingCartService;
import com.qiu.util.general.CommonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
/**
* 购物车业务类
*/
@RestController
@CrossOrigin
public class ShoppingCartController {
@Autowired
private ShoppingCartService shoppingCartService;
/**
* 新增商品到购物车
*
* @param shoppingCart 购物车商品信息
*/
@RequestMapping(value = "/shoppingCart/add")
public CommonResult addShoppingCart(ShoppingCart shoppingCart) {
if (shoppingCartService.insertData(shoppingCart)) {
return CommonResult.success("购物车添加成功", shoppingCart);
}
return CommonResult.error("购物车添加失败");
}
/**
* 更新购物车商品
*
* @param shoppingCart 购物车商品信息
*/
@RequestMapping(value = "/shoppingCart/update")
public CommonResult updateShoppingCart(ShoppingCart shoppingCart) {
if (shoppingCartService.updateById(shoppingCart)) {
return CommonResult.success("购物车修改成功", shoppingCart);
}
return CommonResult.error("购物车修改失败");
}
/**
* 购物车移除商品
*
* @param cartId 购物车商品编号
*/
@RequestMapping(value = "/shoppingCart/deleteById")
public CommonResult deleteShoppingCart(Integer cartId) {
if (shoppingCartService.deleteById(cartId)) {
return CommonResult.success("购物车删除成功", "cartId: " + cartId);
}
return CommonResult.error("购物车删除失败");
}
/**
* 根据用户移除购物车
*
* @param account 用户账户
*/
@RequestMapping(value = "/shoppingCart/deleteByUser")
public CommonResult deleteByUser(String account) {
if (shoppingCartService.deleteByUser(account)) {
return CommonResult.success("购物车删除成功", account);
}
return CommonResult.error("购物车删除失败");
}
/**
* 查询用户账号下的购物车信息
*
* @param account 用户账户
*/
@RequestMapping(value = "/shoppingCart/findAll")
public CommonResult findAllShoppingCart(String account) {
List> shoppingInfo = shoppingCartService.selectAll(account);
if (shoppingInfo != null) {
return CommonResult.success("购物车查询成功", shoppingInfo);
}
return CommonResult.error("购物车查询失败");
}
/**
* 根据购物车商品编号查询购物车商品信息
*
* @param cartId 购物车商品编号
*/
@RequestMapping(value = "/shoppingCart/findById")
public CommonResult findById(Integer cartId) {
ShoppingCart shoppingCart = shoppingCartService.selectById(cartId);
if (shoppingCart != null) {
return CommonResult.success("购物车查询成功", shoppingCart);
}
return CommonResult.error("购物车查询失败");
}
}

package com.qiu.controller;
import com.qiu.entity.Product;
import com.qiu.entity.Purchase;
import com.qiu.entity.StoreEntity;
import com.qiu.service.ProductService;
import com.qiu.service.PurchaseService;
import com.qiu.service.StoreService;
import com.qiu.util.general.CommonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 商铺管理和商品入库
*/
@CrossOrigin
@RestController
public class StoreController {
@Autowired
private StoreService storeService;
@Autowired
private PurchaseService purchaseService;
@Autowired
private ProductService productService;
/**
* 查询商铺信息
*/
@RequestMapping(value = "/store/findByStore")
public CommonResult findByNumber(StoreEntity store) {
StoreEntity storeEntity = storeService.selectByStore(store);
if (storeEntity != null) {
return CommonResult.success("商铺查询成功", storeEntity);
}
return CommonResult.error("商铺查询失败");
}
/**
* 查询全部商铺
*/
@RequestMapping(value = "/store/findAll")
public CommonResult findAll() {
List stores = storeService.selectAll();
if (stores != null) {
return CommonResult.success("商铺查询成功", stores);
}
return CommonResult.error("商铺查询失败");
}
/**
* 商铺入驻申请
* @param store 商铺信息
*/
@RequestMapping(value = "/store/addStore")
public CommonResult addStore(StoreEntity store) {
if (store != null) {
if (storeService.insertData(store)) {
return CommonResult.success("店铺入驻申请已发送", store);
}
return CommonResult.error("申请发送失败");
}
return CommonResult.error("商铺注册数据不存在");
}
/**
* 通过商铺编号更新商铺信息
*
* @param store 商铺信息
*/
@RequestMapping(value = "/store/updateStore")
public CommonResult updateStoreEntity(StoreEntity store) {
if (store != null) {
if (storeService.updateByStore(store)) {
return CommonResult.success("更新成功", store);
}
return CommonResult.error("更新失败");
}
return CommonResult.error("商铺数据不存在");
}
/**
* 更新商铺状态
* @param store 商铺信息
* @return
*/
@RequestMapping(value = "/store/updateStoreStatus")
public CommonResult updateStoreStatus(StoreEntity store) {
if (store != null) {
if (storeService.updateStoreStatus(store)) {
return CommonResult.success("更新成功");
}
return CommonResult.error("更新失败");
}
return CommonResult.error("商铺数据不存在");
}
/**
* 删除供应商
* @param storeNumber 供应商编号
*/
@RequestMapping(value = "/store/deleteStore")
public CommonResult deleteStoreById(Integer storeNumber) {
if (storeNumber != null) {
if (storeService.deleteById(storeNumber)) {
return CommonResult.success("删除成功", storeNumber);
}
return CommonResult.error("删除失败");
}
return CommonResult.error("商铺数据不存在");
}
//-------------------------------------------商品入库操作------------------------------------------------
/**
* 查询入库信息
* @param purchaseId 入库编号
*/
@RequestMapping(value = "/purchase/findPurchaseById")
public CommonResult findPurchaseById(Integer purchaseId) {
Purchase purchase = purchaseService.selectById(purchaseId);
if (purchase != null) {
return CommonResult.success("入库信息查询成功", purchase);
}
return CommonResult.error("入库信息查询失败");
}
/**
* 查询全部入库信息
*/
@RequestMapping(value = "/purchase/findPurchaseAll")
public CommonResult findPurchaseAll(String accountNumber) {
List purchases = purchaseService.selectAll(accountNumber);
if (purchases != null) {
return CommonResult.success("入库信息查询成功", purchases);
}
return CommonResult.error("入库信息查询失败");
}
/**
* 添加入库记录
* @param purchase 入库信息
*/
@RequestMapping(value = "/purchase/addPurchase")
public CommonResult addPurchase(Purchase purchase) {
if (purchase != null) {
//1.添加商品库存
Integer productId = productService.selectIdByKey(purchase.getProductNo());
Product product = productService.selectById(productId);
Integer lowestStock = product.getLowestStock();
Integer productStock = product.getProductStock();
Integer purchaseNumber =Integer.parseInt(purchase.getPurchaseNumber());
product.setProductStock(productStock + purchaseNumber);
product.setIsStockOut(product.getProductStock() if (productService.updateById(product)) {//库存信息更新成功
purchaseService.insertData(purchase);//插入一条入库记录
return CommonResult.success("商品入库成功", purchase);
}
return CommonResult.error("商品库存更新失败");
}
return CommonResult.error("系统繁忙,请稍后再试!");
}
/**
* 删除入库记录
*
* @param purchaseId 入库id
*/
@RequestMapping(value = "/purchase/deletePurchase")
public CommonResult deletePurchase(Integer purchaseId) {
if (purchaseId != null) {
if (purchaseService.deleteById(purchaseId)) {
return CommonResult.success("删除成功", purchaseId);
}
return CommonResult.error("删除失败");
}
return CommonResult.error("入库信息数据不存在,请刷新重试");
}
}

package com.qiu.controller;
import com.qiu.constant.UserStatusEnum;
import com.qiu.entity.User;
import com.qiu.entity.UserRole;
import com.qiu.entity.Vip;
import com.qiu.service.UserRoleService;
import com.qiu.service.UserService;
import com.qiu.service.VipService;
import com.qiu.util.general.CommonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/**
* 用户相关业务
*/
@CrossOrigin
@RestController
public class UserController {
@Autowired
private UserService userService;
@Autowired
private UserRoleService userRoleService;
@Autowired
private VipService vipService;
/**
* 根据id查询用户
*
* @param id 用户编号
*/
@RequestMapping(value = "/user/findById")
public CommonResult findById(Integer id) {
User user = userService.selectById(id);
if (user != null) {
return CommonResult.success("查询成功", user);
} else {
return CommonResult.error("查询失败");
}
}
/**
* 根据账号查询用户
*
* @param key 账号
*/
@RequestMapping(value = "/user/findByKey")
public CommonResult findByKey(String key) {
User user = userService.selectByKey(key);
if (user != null) {
return CommonResult.success("查询成功", user);
}
return CommonResult.error("查询失败");
}
/**
* 查询所有顾客
*/
@RequestMapping(value = "/user/findAll/customer")
public CommonResult findAllCustomer() {
List users = userService.queryAllByStatus(UserStatusEnum.CUSTOMER);
if (users != null) {
return CommonResult.success("查询成功", users);
}
return CommonResult.error("查询失败");
}
/**
* 查询所有管理员
*/
@RequestMapping(value = "/user/findAll/admin")
public CommonResult findAllAdmin() {
List users = userService.queryAllByStatus(UserStatusEnum.ADMIN);
if (users != null) {
return CommonResult.success("查询成功", users);
}
return CommonResult.error("查询失败");
}
// /**
// * 查询商家的商铺编号
// */
// @RequestMapping(value = "/user/storeNumber")
// public CommonResult findStoreNumber(String accountNumber) {
// String storeNumber= userService.selectStoreNumber(accountNumber);
// if (storeNumber != null) {
// return CommonResult.success("商铺编号查询成功", storeNumber);
// }
// return CommonResult.error("商铺编号查询失败");
// }
/**
* 判断某个用户是否还存在
*
* @param key 账号
*/
@RequestMapping(value = "/user/existKey")
public CommonResult existKey(String key) {
boolean exist = userService.existsWithPrimaryKey(key);
return CommonResult.success("查询成功", exist);
}
/**
* 查询用户状态
*
* @param accountNumber 用户账号
*/
@RequestMapping(value = "/user/userState")
public CommonResult userState(String accountNumber) {
boolean state = userService.selectUserState(accountNumber);
return CommonResult.success("查询成功", state);
}
/**
* 查询用户记录的总个数
*/
@RequestMapping(value = "/user/count")
public CommonResult findCount() {
int count = userService.selectCount();
return CommonResult.success("查询成功", count);
}
/**
* 通过用户账号查询用户ID
*
* @param key 用户账号
*/
@RequestMapping(value = "/user/findIdByKey")
public CommonResult findIdByKey(String key) {
Integer id = userService.selectIdByKey(key);
if (id != null) {
return CommonResult.success("查询成功", id);
}
return CommonResult.error("未查询到");
}
/**
* 删除用户
*
* @param userId 用户编号
*/
@RequestMapping(value = "/user/delete")
public CommonResult delete(Integer userId) {
if (userService.deleteById(userId)) {
return CommonResult.success("删除成功", userId);
}
return CommonResult.error("删除失败");
}
/**
* 角色授权
*
* @param userId 用户编号
* @param roleId 角色编号列表
*/
@RequestMapping(value = "/user/author")
public CommonResult author(Integer userId, @RequestParam List roleId) {
if (userId != null && roleId != null && !roleId.isEmpty()) {
if (userRoleService.deleteById(userId)) {
UserRole userRole = new UserRole();
userRole.setUserId(userId);
for (Integer id : roleId) {
userRole.setRoleId(id);
userRoleService.insertData(userRole);
}
}
User user = new User();
user.setUserId(userId);
user.setStatus(UserStatusEnum.ADMIN);
userService.updateById(user);
return CommonResult.success("授权成功");
} else {
return CommonResult.error("角色授权数据不完整!");
}
}
/**
* 查询所有VIP用户
*/
@RequestMapping(value = "/vip/findAllVip")
public CommonResult findAllVip() {
List vips = vipService.selectAll();
if (vips != null) {
return CommonResult.success("查询成功", vips);
}
return CommonResult.error("查询失败");
}
/**
* 查询VIP用户信息根据id
*
* @param vipId 会员编号
*/
@RequestMapping(value = "/vip/findVipById")
public CommonResult findVipById(Integer vipId) {
Vip vip = vipService.selectById(vipId);
if (vip != null) {
return CommonResult.success("查询成功", vip);
}
return CommonResult.error("查询失败");
}
/**
* 查询VIP用户信息根据id
*
* @param accountNumber 用户账号
*/
@RequestMapping(value = "/vip/findVipByKey")
public CommonResult findVipByKey(String accountNumber) {
Vip vip = vipService.selectByKey(accountNumber);
if (vip != null) {
return CommonResult.success("查询成功", vip);
}
return CommonResult.error("查询失败");
}
/**
* 判断用户信息是否存在
*
* @param accountNumber 用户账号
*/
@RequestMapping(value = "/vip/existsVip")
public CommonResult existsVip(String accountNumber) {
boolean exist = vipService.existsVip(accountNumber);
return CommonResult.success("查询成功", exist);
}
/**
* 增加会员信息
*
* @param vip 会员信息
*/
@RequestMapping(value = "/vip/addVip")
public CommonResult addVip(Vip vip) {
Date date = new Date();
Calendar cal = Calendar.getInstance();
//设置起时间
cal.setTime(date);
//增加一年
cal.add(Calendar.YEAR, 1);
vip.setOverdueTime(cal.getTime());
if (vipService.insertData(vip)) {
return CommonResult.success("会员信息添加成功", vip);
}
return CommonResult.error("会员信息添加失败");
}
/**
* 更新会员信息
*
* @param vip 会员信息
*/
@RequestMapping(value = "/vip/updateVip")
public CommonResult updateVip(Vip vip) {
if (vipService.updateById(vip)) {
return CommonResult.success("会员信息更新成功", vip);
}
return CommonResult.error("会员信息更新失败");
}
/**
* 清除信息
*
* @param vipId 会员编号
*/
@RequestMapping(value = "/vip/deleteVip")
public CommonResult deleteVip(Integer vipId) {
if (vipService.deleteById(vipId)) {
return CommonResult.success("删除成功", vipId);
}
return CommonResult.error("删除失败");
}
}


五,项目总结


 表结构及ER图

本系统用到了18张表存储数据,分别是banner(商品广告轮播图表)、

Logistics(物流表)、order(订单表)、product(商品表)、product_brand(商品品牌表)、product_review(商品评价表)、product_specs(商品规格表)、product_type(商品类型推荐表)、purchase(商品入库记录表)、return_goods(商品退货表)、return_reason(退货原因表)、role(角色表)、shopping_cart(购物车表)、specs(商品规格表)、store(商铺信息表)、sys_commodity_type(商品类型表)、user(用户表)、user_role(用户角色表)。

 



推荐阅读
  • 在springmvc框架中,前台ajax调用方法,对图片批量下载,如何弹出提示保存位置选框?Controller方法 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • 本文介绍了一些好用的搜索引擎的替代品,包括网盘搜索工具、百度网盘搜索引擎等。同时还介绍了一些笑话大全、GIF笑话图片、动态图等资源的搜索引擎。此外,还推荐了一些迅雷快传搜索和360云盘资源搜索的网盘搜索引擎。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 本文介绍了一种处理AJAX操作授权过期的全局方式,以解决Asp.net MVC中Session过期异常的问题。同时还介绍了基于WebImage的图片上传工具类。详细内容请参考链接:https://www.cnblogs.com/starluck/p/8284949.html ... [详细]
  • 解决php错误信息不显示在浏览器上的方法
    本文介绍了解决php错误信息不显示在浏览器上的方法。作者发现php中的各种错误信息并不显示在浏览器上,而是需要在日志文件中查看。为了解决这个问题,作者提供了一种解决方式:通过修改php.ini文件中的display_errors参数为On,并重启服务。这样就可以在浏览器上直接显示php错误信息了。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • 一次上线事故,30岁+的程序员踩坑经验之谈
    本文主要介绍了一位30岁+的程序员在一次上线事故中踩坑的经验之谈。文章提到了在双十一活动期间,作为一个在线医疗项目,他们进行了优惠折扣活动的升级改造。然而,在上线前的最后一天,由于大量数据请求,导致部分接口出现问题。作者通过部署两台opentsdb来解决问题,但读数据的opentsdb仍然经常假死。作者只能查询最近24小时的数据。这次事故给他带来了很多教训和经验。 ... [详细]
  • 2021最新总结网易/腾讯/CVTE/字节面经分享(附答案解析)
    本文分享作者在2021年面试网易、腾讯、CVTE和字节等大型互联网企业的经历和问题,包括稳定性设计、数据库优化、分布式锁的设计等内容。同时提供了大厂最新面试真题笔记,并附带答案解析。 ... [详细]
  • Redis API
    安装启动最简启动命令行输入验证动态参数启动配置文件启动常用配置通用命令keysbdsize计算key的总数exists判断是否存在delkeyvalue删除指定的keyvalue成 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 本文介绍了在使用TortoiseSVN的Repo-browser浏览SVN时出现的错误,以及解决方法。文章提到了卸载当前版本、安装较低版本、使用更下一层的路径等解决方案。同时指出该问题可能是客户端与SVN服务端不匹配造成的,且服务端无法升级更高的SVN版本。 ... [详细]
  • HTML学习02 图像标签的使用和属性
    本文介绍了HTML中图像标签的使用和属性,包括定义图像、定义图像地图、使用源属性和替换文本属性。同时提供了相关实例和注意事项,帮助读者更好地理解和应用图像标签。 ... [详细]
  • 本文整理了Java中java.lang.NoSuchMethodError.getMessage()方法的一些代码示例,展示了NoSuchMethodErr ... [详细]
author-avatar
哈多哥_864
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有