1. 开发环境配置

以下是开发工具的最低版本要求。在继续之前,请务必安装所有必需的依赖项。

工具版本
JDK17
MySQL5.7.3+
Redis5.0+
Maven3.9.5+
NodeJS20.18.0+
1.1 安装资源

如需详细的安装指南,您可以参考以下教程:

  • JDK: 菜鸟教程 Java 环境搭建
  • MySQL: 菜鸟教程 MySQL 安装
  • Maven: 菜鸟教程 Maven 安装
  • Redis: 菜鸟教程 Redis 安装
  • Git: 菜鸟教程 Git 安装与设置
  • NodeJS: 菜鸟教程 NodeJS 安装

安装完成后,根据需要配置并启动 Redis 服务。

拉取项目

  • zkmall-b2b2c:提供小程序/后台 Vue 连接所需的 API 接口。
  • 后台接口 :https://gitee.com/zkmall/b2b2c

2. 后端API项目 (zkmall-b2b2c)

zkmall-b2b2c 项目提供小程序/后台 Vue 连接所需的 API 接口。

  • 仓库地址: https://gitee.com/zkmall/b2b2c
2.1 数据库配置与导入
2.1.1 MySQL 配置

导入数据库之前,请修改您的 my.cnf 配置文件(MySQL 5.7.3+ 版本需要配置):

[mysqld]
# 默认使用“mysql_native_password”插件认证
# 如果使用的是mysql 8.0 需要设置 mysql_native_password,不然有些工具连不上
default_authentication_plugin=mysql_native_password
# 关闭 only_full_group_by
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

修改完成后,重启 MySQL 服务。

2.1.2 数据库导入

数据库的 SQL 文件请联系管理员获取。

2.1.3 应用配置

根据各个模块的 application.yml 文件以配置数据库连接及其他设置。

在这里插入图片描述

默认application-xx-open.yml(商家端同理)
在这里插入图片描述

2.1.4 XXL-JOB

项目目前使用的定时任务框架是 xxl-job

在这里插入图片描述

2.2 Lombok 插件安装

Lombok 是一在 Java 开发过程中为了简化冗余和样板式代码(如 gettersetter)而出现的插件。项目中使用了这个插件,您需要安装该插件以便项目正常启动。

  • 安装指南 (IntelliJ IDEA): IntelliJ IDEA 下使用 Lombok
2.3 启动后端项目
  1. 启动 Redis: 确保 Redis 正在运行,通常在 6379 端口。
  2. 启动 MySQL: 确保您的 MySQL 服务已启动。
  3. 启动 xxl-job-admin: 启动 xxl-job 定时任务(可选)。
  4. 启动项目模块:
    • CereshopBusinessApplication: 启动商家端后台接口。
    • CereshopAppApplication: 启动项目前端接口。
    • CereshopAdminApplication: 启动项目平台端前端接口。

3. 前端项目

前端由三个独立的 Vue3 和 uni-app 项目组成。

  • b2b2c-admin: 平台管理员使用的前端项目 (Vue3)。
    • 仓库地址: https://gitee.com/zkmall/b2b2c-admin
  • b2b2c-merchant: 商户后台管理员使用的前端项目 (Vue3)。
    • 仓库地址: https://gitee.com/zkmall/b2b2c-merchant
  • b2b2c-uniapp: H5/小程序前端项目 (uni-app)。
    • 仓库地址: https://gitee.com/zkmall/b2b2c-uniapp
3.1 安装依赖

在您的终端中,进入每个前端项目的根目录,并运行以下命令安装依赖:

npm install
3.2 配置后端连接

建议使用 WebStorm 或 VS Code 进行前端开发。

修改每个前端项目中的 .env.development 文件以连接您的后端 API。

b2b2c-merchant 的示例配置(平台端和 Uni-app 类似):

假设您的 Java 后端运行在 http://192.168.111.1:9004。您可以通过在命令行中输入 ipconfig 来找到您的本地 IP 地址。端口 9004 只是一个示例,应与您的 Java 项目 application.yml 中配置的端口一致。

在这里插入图片描述

# 如需添加更多环境变量,请以 VITE_APP_ 开头声明
# 在代码中使用 import.meta.env.VITE_APP_XXX 获取指定变量# 环境配置标识
NODE_ENV = 'development'# 统一接口域名
VITE_BASE_URL = 'http://192.168.111.1:9004'
3.3 运行前端项目

配置好后端连接后,您可以启动前端开发服务器。

npm run dev
3.4 Uni-app H5 端口配置

在这里插入图片描述

对于 b2b2c-uniapp 项目,您可以在 manifest.json 中配置 H5 开发服务器的端口:

"h5": {"devServer": {"port": 8080}
}

4. 其它

更换文件上传方式(已商家端为例)

配置阿里云oss密钥

在这里插入图片描述

更换依赖
在这里插入图片描述

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

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

相关文章

《使用Qt Quick从零构建AI螺丝瑕疵检测系统》——8. AI赋能(下):在Qt中部署YOLOv8模型

目录一、概述1.1 背景介绍:从“训练”到“部署”1.2 学习目标二、在C中集成ONNX模型2.1 准备模型文件2.2 修改Backend以加载和运行模型三、关键一步:输出结果的后处理四、运行与验证五、总结与展望一、概述 1.1 背景介绍:从“训练”到“部署…

【动态规划 | 多状态问题】动态规划求解多状态问题

算法相关知识点可以通过点击以下链接进行学习一起加油!斐波那契数列模型路径问题多状态问题通常涉及多个决策点和状态转换,解决起来复杂且计算量大。动态规划作为一种强大的算法工具,能够通过将问题分解为子问题并逐步求解,显著提…

【HTTP】防XSS+SQL注入:自定义HttpMessageConverter过滤链深度解决方案

防XSSSQL注入:自定义HttpMessageConverter过滤链深度解决方案一、安全威胁模型分析二、自定义HttpMessageConverter架构设计2.1 技术栈组成三、完整实现代码3.1 安全过滤工具类3.2 自定义HttpMessageConverter3.3 Spring安全配置四、深度防御增强方案4.1 SQL注入参数…

学习游戏制作记录(冻结敌人时间与黑洞技能)7.30

1.实现剑击中敌人时冻结敌人时间Enemy脚本:public float defaultMoveSpeed;//默认速度defaultMoveSpeed moveSpeed;//Awake()中设置public virtual void FreezeTime(bool _timeFreeze)//冻结设置函数{if (_timeFreeze){moveSpeed 0;anim.sp…

【数据结构】真题 2016

待补充已知表头元素为c的单链表在内存中的存储状态如下表所示地址元素链接地址1000Ha1010H1004Hb100CH1008Hc1000H100CHdNULL1010He1004H1014H现将f存放于1014H处并插入到单链表中,若f在逻辑上位于a和e之间,则a, e, f的“链接地址”依次是( &…

双线串行的 “跨界对话”:I2C 与 MDIO 的异同解析

在电子系统设计中,串行总线凭借其精简的信号线数量和灵活的拓扑结构,成为芯片间通信的主流选择。I2C(Inter-Integrated Circuit)和 MDIO(Management Data Input/Output)作为两种典型的双线串行总线,虽同属低速信号范畴,却在各自的应用领域扮演着不可替代的角色。本文将…

算法精讲:二分查找(二)—— 变形技巧

🎯 算法精讲:二分查找(二)—— 变形技巧 🔍 友情提示::本小节含高能代码片段 🥤 阅读前请确保已掌握基础二分原理与实现代码片段可能包含不同程度的变形,请根据实际情况选…

两个程序配合实现了基于共享内存和信号量的进程间通信,具体说明如下:

第一个程序&#xff1a;共享内存读取程序&#xff08;消费者&#xff09;该程序作为消费者&#xff0c;从共享内存中读取数据&#xff0c;通过信号量保证只有当生产者写入数据后才能读取。/*4 - 读共享内存*/ #include<stdio.h> // 标准输入输出库 #inc…

JeecgBoot(1):前后台环境搭建

1 项目介绍 JeecgBoot 是一款基于 Java 的 AI 低代码平台&#xff0c;它采用了 SpringBoot、SpringCloud、Ant Design Vue3、Mybatis 等技术栈&#xff0c;并集成了代码生成器、AI 对话助手、AI 建表、AI 写文章等功能。JeecgBoot 的设计宗旨是实现简单功能零代码开发&#xf…

Nestjs框架: 关于 OOP / FP / FRP 编程

概述 在软件开发过程中&#xff0c;不同的编程范式为我们提供了多样化的思维方式与实现路径它们不仅影响着代码的结构和逻辑组织方式&#xff0c;也深刻影响着项目的可维护性、可扩展性以及团队协作效率 什么是 OOP、FP 和 FRP&#xff1f;首先从三个术语的含义入手 1 &#xf…

elememtor 添加分页功能

各位看官好&#xff0c;最近在忙着使用elementor搭建自己的网站&#xff0c;由于我不是专业的程序员和前端&#xff0c;又没有很多钱去找外包公司实现自己的设计&#xff0c;所以选择了elementor. 总的来说这是一个不错的wordpress 插件&#xff0c;也让我们这种非专业的网站设…

关于“PromptPilot” 之2 -目标系统:Prompt构造器

目标系统&#xff1a;Prompt构造器想法首先&#xff0c;在抽象层对PromptPilot进行封装给出提示词形成过程的全部环节。然后&#xff0c;在 形成一套确定的提示词后再为 小规模试点方案生成一整套开发工具并配套集成开发环境和指南。最后&#xff0c;在小规模试点成功后进行拓展…

短剧小程序系统开发:重塑影视内容消费格局

在数字化浪潮的推动下&#xff0c;影视内容消费正经历着深刻的变革。短剧小程序系统开发作为这一变革的重要力量&#xff0c;正在重塑影视内容消费的格局&#xff0c;为用户带来更加个性化、便捷化的观影体验。传统影视内容消费往往受到时间和空间的限制&#xff0c;用户需要前…

一文掌握最新版本Monocle3单细胞轨迹(拟时序)分析

许多大佬的软件想要构建一个大而美的生态&#xff0c;从 monocle2 开始就能做单细胞的质控、降维、分群、注释这一系列的分析&#xff0c;但不幸的是我们只知道 monocle 系列还是主要做拟时序分析&#xff0c;一方面是因为 Seurat 有先发优势&#xff0c;出名要趁早&#xff0c…

spark入门-helloword

我们学习编程语言的时候&#xff0c;第一个程序就是打印一下 “hello world” &#xff0c;对于大数据领域的第一个任务则是wordcount。那我们就开始我们的第一个spark任务吧&#xff01; 下载spark 官方下载地址&#xff1a;Apache Download Mirrors 下载完毕以后&#xff0c…

雷达系统设计学习:自制6GHz FMCW Radar

国外大神自制6GHZ FMCW Radar开源项目: https://github.com/Ttl/fmcw3 引言 之前我做过一个简单的调频连续波&#xff08;FMCW&#xff09;雷达&#xff0c;能够探测到100米范围内人体大小的物体。虽然它确实能用&#xff0c;但由于预算有限&#xff0c;还有很大的改进空间。 …

系统选择菜单(ubuntu grub)介绍

好的&#xff0c;我们来详细解释一下什么是Ubuntu的GRUB菜单。 简单来说&#xff0c;GRUB菜单是您电脑启动时看到的第一个交互界面&#xff0c;它就像一个“系统选择”菜单&#xff0c;让您决定接下来要启动哪个操作系统或进入哪种模式。详细解释 1. GRUB是什么&#xff1f; GR…

方案C,version2

实现一个简单的Helloworld网页,并通过GitHub Actions自动构建并推送到公开仓库的gh-pages分支。同时,使用PAT进行认证,确保源码在私有仓库中,构建后的静态文件在公开仓库中。 重新设计deploy.yml内容如下(针对纯静态文件,无需构建过程): 步骤: 检出私有仓库源码。 由于…

R 语言科研绘图 --- 其他绘图-汇总1

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…

webpack 原理及使用

【点赞收藏加关注,前端技术不迷路~】 一、webpack基础 1.核心概念 1)entry:定义入口,webpack构建的第一步 module.exports ={entry:./src/xxx.js } 2)output:出口(输出) 3)loader:模块加载器,用户将模块的原内容按照需求加载成新内容 比如文本加载器raw-loade…