小孟再接盲盒小程序,3天开发完!

大家好,我是程序员小孟。

前面开发了很多的商业的单子,私活联盟的小伙伴慢慢的逐渐搞自己的产品。

前面的话,开发了盲盒小程序,最近又接了一款盲盒小程序。因为前面有开发过,所以我们的成本也少了很多。

盲盒小程序开发

价格不高,也接了。

是个海外的客户,目前该版本支持中英文版本,版本可以是小程序、H5、安卓、iOS等等。

文章目录

  • 一,系统的功能需求。
  • 二,项目的技术栈
  • 三,项目的演示
  • 四,核心代码

一,系统的功能需求。

该系统有商城的功能和盲盒的功能,在该系统中可以进行购买和参与盲盒好的功能,盲盒的分为一番赏和魔力赏,都非常的好玩。用户还可以查询个人的信息、个人订单,如果没有注册账户,则需要登录账户,支持微信登录和手机的登录。

管理员在后台可以进行所有信息的管理,包括盲盒、商品订单的信息。

该系统面向的是一些商家想做一些盲盒活动的用户。

系统用户和管理员,用户在前台进行操作,管理员在后台操作。

二,项目的技术栈

在这里插入图片描述

三,项目的演示

下面的设计禁止商用,已经申请专利,小孟专业的开发,后面我会不断端开发,也会分享很多的项目。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
目前该版本支持中英文的版本,下面是后台系统。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四,核心代码

package com.stylefeng.guns.core.aop;import com.stylefeng.guns.core.base.tips.ErrorTip;
import com.stylefeng.guns.core.exception.GunsException;
import com.stylefeng.guns.core.exception.GunsExceptionEnum;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.ResponseStatus;/*** 全局的的异常拦截器(拦截所有的控制器)(带有@RequestMapping注解的方法上都会拦截)** @author xiaomeng* @微信:fly996868*/
public class BaseControllerExceptionHandler {private Logger log = LoggerFactory.getLogger(this.getClass());/*** 拦截业务异常*/@ExceptionHandler(GunsException.class)@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)@ResponseBodypublic ErrorTip notFount(GunsException e) {log.error("业务异常:", e);return new ErrorTip(e.getCode(), e.getMessage());}/*** 拦截未知的运行时异常*/@ExceptionHandler(RuntimeException.class)@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)@ResponseBodypublic ErrorTip notFount(RuntimeException e) {log.error("运行时异常:", e);return new ErrorTip(GunsExceptionEnum.SERVER_ERROR.getCode(), GunsExceptionEnum.SERVER_ERROR.getMessage());}}
package com.stylefeng.guns.core.config;import com.alibaba.fastjson.serializer.SerializeConfig;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.serializer.ToStringSerializer;
import com.alibaba.fastjson.serializer.ValueFilter;
import com.alibaba.fastjson.support.config.FastJsonConfig;
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.MediaType;import java.math.BigInteger;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;/*** fastjson配置类*/
@Configuration("defaultFastjsonConfig")
@ConditionalOnClass(com.alibaba.fastjson.JSON.class)
@ConditionalOnMissingBean(FastJsonHttpMessageConverter.class)
@ConditionalOnWebApplication
public class DefaultFastjsonConfig {@Beanpublic FastJsonHttpMessageConverter fastJsonHttpMessageConverter() {FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();converter.setFastJsonConfig(fastjsonConfig());converter.setSupportedMediaTypes(getSupportedMediaType());return converter;}/*** fastjson的配置*/public FastJsonConfig fastjsonConfig() {FastJsonConfig fastJsonConfig = new FastJsonConfig();fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat,SerializerFeature.WriteMapNullValue,SerializerFeature.WriteEnumUsingToString);fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss");ValueFilter valueFilter = new ValueFilter() {public Object process(Object o, String s, Object o1) {if (null == o1) {o1 = "";}return o1;}};fastJsonConfig.setCharset(Charset.forName("utf-8"));fastJsonConfig.setSerializeFilters(valueFilter);//解决Long转json精度丢失的问题SerializeConfig serializeConfig = SerializeConfig.globalInstance;serializeConfig.put(BigInteger.class, ToStringSerializer.instance);serializeConfig.put(Long.class, ToStringSerializer.instance);serializeConfig.put(Long.TYPE, ToStringSerializer.instance);fastJsonConfig.setSerializeConfig(serializeConfig);return fastJsonConfig;}/*** 支持的mediaType类型*/public List<MediaType> getSupportedMediaType() {ArrayList<MediaType> mediaTypes = new ArrayList<>();mediaTypes.add(MediaType.APPLICATION_JSON_UTF8);return mediaTypes;}}
package com.stylefeng.guns.core.config;import com.stylefeng.guns.core.base.controller.GunsErrorView;
import com.stylefeng.guns.core.exception.GunsException;
import com.stylefeng.guns.core.exception.GunsExceptionEnum;
import com.stylefeng.guns.core.util.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.convert.converter.Converter;
import org.springframework.core.convert.support.GenericConversionService;
import org.springframework.web.bind.support.ConfigurableWebBindingInitializer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter;import javax.annotation.PostConstruct;
import java.util.Date;
import java.util.regex.Pattern;@Configuration
public class DefaultWebConfig extends WebMvcConfigurationSupport {@Autowiredprivate RequestMappingHandlerAdapter handlerAdapter;@Bean("error")public GunsErrorView error() {return new GunsErrorView();}@PostConstructpublic void addConversionConfig() {ConfigurableWebBindingInitializer initializer = (ConfigurableWebBindingInitializer) handlerAdapter.getWebBindingInitializer();GenericConversionService genericConversionService = (GenericConversionService) initializer.getConversionService();genericConversionService.addConverter(new StringToDateConverter());}public class StringToDateConverter implements Converter<String, Date> {@Overridepublic Date convert(String dateString) {String patternDate = "\\d{4}-\\d{1,2}-\\d{1,2}";String patternTimeMinutes = "\\d{4}-\\d{1,2}-\\d{1,2} \\d{1,2}:\\d{1,2}";String patternTimeSeconds = "\\d{4}-\\d{1,2}-\\d{1,2} \\d{1,2}:\\d{1,2}:\\d{1,2}";boolean dateFlag = Pattern.matches(patternDate, dateString);boolean timeMinutesFlag = Pattern.matches(patternTimeMinutes, dateString);boolean timeSecondsFlag = Pattern.matches(patternTimeSeconds, dateString);if (dateFlag) {return DateUtil.parseDate(dateString);} else if (timeMinutesFlag) {return DateUtil.parseTimeMinutes(dateString);} else if (timeSecondsFlag) {return DateUtil.parseTime(dateString);} else {throw new GunsException(GunsExceptionEnum.INVLIDE_DATE_STRING);}}}
}

我是程序员小孟,专注软件开发,系统分享,有问题的小伙伴,欢迎交流。

感谢三联,点赞、关注!

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/29010.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024.6.17 作业 xyt

今日作业&#xff1a; 升级优化自己应用程序的登录界面。 要求&#xff1a; 1. qss实现 2. 需要有图层的叠加 &#xff08;QFrame&#xff09; 3. 设置纯净窗口后&#xff0c;有关闭等窗口功能。 4. 如果账号密码正确…

Marin说PCB之orcad-capture原理图封装库的创建总结----01

今天是个不错的日子&#xff0c;我早上一出门刚骑车到半路就开始下大雨了&#xff0c;可是天气预报上明明说的没有雨啊&#xff0c;所以说天气预报就像是女人的脾气一样&#xff0c;难以揣摩啊&#xff0c;也尽量少去揣摩吧。 小编我刚刚到公司&#xff0c;就收到美国分部同事J…

【C语言】排序算法 -------- 计数排序

个人主页 创作不易&#xff0c;感谢大家的关注&#xff01; 文章目录 1. 计数排序的概念2. 计数排序使用场景3. 计数排序思想4. 计数排序实现过程5. 计数排序的效率6. 总结&#xff08;附源代码&#xff09; 1. 计数排序的概念 计数排序是一种非比较的排序算法&#xff0c;其…

分享三款AI智能修图工具,超实用!

随着AI技术的飞速发展&#xff0c;图像处理领域正经历着一场颠覆性的革新。如今&#xff0c;众多繁琐的图像处理任务&#xff0c;诸如修图、抠图以及高清修复等&#xff0c;均可以借助先进的AI技术实现自动化处理。相较于传统的人工操作&#xff0c;AI图像工具不仅极大地提升了…

3d中毒了打不开模型怎么办---模大狮模型网

3D中毒了打不开模型怎么办&#xff1f;这是很多3D爱好者都会遇到的问题。在使用3D建模软件时&#xff0c;有时会出现打不开模型的情况&#xff0c;这可能是由于软件本身的问题&#xff0c;也可能是由于电脑配置不够高导致的。下面我们就来看看如何解决这个问题。 首先&#xff…

探索未来通信的新边界:AQChat一款融合AI的在线匿名聊天

探索未来通信的新边界&#xff1a;AQChat一款融合AI的在线匿名聊天 在数字时代&#xff0c;即时通讯变得无处不在&#xff0c;但隐私和性能仍旧是许多用户和开发者关注的焦点。今天&#xff0c;我要介绍一个开创性的开源项目 —— AQChat&#xff0c;它不仅重定义了在线匿名聊…

Ollama+Open WebUI本地部署Llama3 8b(附踩坑细节)

先展示一下最终结果&#xff0c;如下图所示&#xff1a; 1. 添加环境变量 在下载 ollama 之前&#xff0c;先去配置环境变量&#xff0c;确保模型下载到我们想要的地方 win10 和 win11 输入path或者环境变量&#xff1a; 增加系统环境变量 变量名不可更改&#xff0c;必须是O…

[ARM-2D 专题]3. ##运算符

C语言的宏系统相当强大&#xff0c;它允许使用##符号来处理预处理期的文本替换。这种用法被称为标记连接&#xff08;token pasting&#xff09;操作&#xff0c;其结果是将两个标记紧紧地连接在一起&#xff0c;而省略掉它们之间的所有空格。在复杂的宏定义中&#xff0c;运用…

Debian/Ubuntu linux安装软件

1、官方软件商店安装 2、deb包安装 报错不是sudoers&#xff0c;首先将用户添加到sudo su -l adduser USERNAME sudo exit然后&#xff0c;退出桌面环境并再次登录。 您可以通过输入以下内容来检查上述过程是否成功&#xff1a; groups下载deb包 altshiftf4或右键打开命令行…

10.无代码爬虫软件做网页数据抓取流程——工作流程设置与数据预览

首先&#xff0c;多数情况下免费版本的功能&#xff0c;已经可以满足绝大多数采集需求&#xff0c;想了解八爪鱼采集器版本区别的详情&#xff0c;请访问这篇帖子&#xff1a;https://blog.csdn.net/cctv1123/article/details/139581468 八爪鱼采集器免费版和个人版、团队版下…

安卓实现输入快递单号生成二维码,摄像头扫描快递单号生成的二维码,可以得到快递信息

背景&#xff1a; 1、实现二维码的生成和识别2、实现andriod&#xff08;或虚拟机&#xff09;部署&#xff0c;调用摄像头3、实现网络管理&#xff0c;包括数据库【取消】2、3可以组队实现&#xff0c;1必须单人实现 过程&#xff1a; 安卓APP主界面 输入快递单号信息&#…

关于伪标头那些事

前言 看到伪标头&#xff0c;不少同学可能会比较陌生&#xff0c;因为谁让它默默无闻呢&#xff1f; 当然博主把它比喻为一个来自传输层的“共享盒子”。提到共享&#xff0c;我想大家有所体会了。这里给大家贴一张直观的图例&#xff0c;可以静静观摩之。 Q&#xff1a;什么是…

MFC扩展库BCGControlBar Pro v35.0新版亮点:重新设计的工具栏编辑器等

BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。 我们的组件可以轻松地集成到您的应用程序中&#xff0c;并为您节省数百个开发和调试时间。 BCGControlBar专业版 v35.0已全新发布了&#xff0c;这个版本改进类Visual Studio 2022的视觉主题、增强对多个…

网络安全:SQL注入防范

文章目录 网络安全&#xff1a;SQL注入防范引言防范措施概览使用参数化查询示例代码 输入验证和过滤示例代码 使用ORM框架示例代码 其他防范措施结语 网络安全&#xff1a;SQL注入防范 引言 在上一篇文章中&#xff0c;我们介绍了SQL注入攻击的基础知识。本文将重点讨论如何防…

C++之函数重载

函数重载概念&#xff1a; 是函数的一种特殊情况&#xff0c; C 允许在 同一作用域中 声明几个功能类似 的同名函数 &#xff0c;这 些同名函数的 形参列表(参数个数 或 类型 或 类型顺序)不同 &#xff0c;常用来处理实现功能类似数据类型 不同的问题。 #include<iostre…

Postman接口测试工具详解(高清图例)

一、引言 1. 介绍接口测试的重要性 在当今软件开发领域&#xff0c;接口&#xff08;API&#xff09;已成为不同系统、服务或组件之间交互的桥梁。随着微服务架构的普及&#xff0c;接口的重要性日益凸显。然而&#xff0c;接口的复杂性和多样性也带来了诸多挑战&#xff0c;其…

月球全月地质图和4.5亿像素月面标注地图

嫦娥六号都在月球挖到土特产了&#xff0c;那你知道月球到底长什么样子吗&#xff1f; 现在我们就为你分享一下月球的全月地质图&#xff0c;以及4.5亿像素月面带标注的地图&#xff0c;你可以在文末查看该数据的领取方法。 月球全月地质图 对于月球的探索&#xff0c;美国和…

arsetryhtehrwgefwadasdadasd

48b91400000080f7ffff48b8bd427ae5d594bfd6488b0948f7e148b8cdcccccccccccccc48c1ea1748f7e24c8bea49c1ed02 直接在windbg中把执行内存修改为上面这一串字节序列&#xff0c;运行完成后r13中将包含当前时间戳&#xff0c;可使用如下代码转换成人类可阅读时间格式 /*代码BEGIN*…

YOLOv8 + SAM实现自动标注分割数据集【附完整源码+步骤详解】

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

014基于SSM+Jsp的网络视频播放器

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…