准备环境 · DTS

您所在的位置:网站首页 数据库dts安装 准备环境 · DTS

准备环境 · DTS

2024-06-23 11:35:48| 来源: 网络整理| 查看: 265

准备环境项目模块结构下载项目文件基本目录结构数据库准备创建数据库建表和初始化数据项目配置管理前端api地址配置小程序端api地址配置商户平台管理前端api地址配置(VIP版本独有)日志配置数据库连接配置小程序及商户配置邮件通知配置短信通知配置物流配置对象存储配置redis配置(VIP2.0版本需要使用redis)springboot开发环境安装依赖库编译项目启动项目小程序开发环境管理前端开发环境安装依赖库(商户端类似)编译与运行准备环境

环境搭建要做以下准备,Intellij IDEA,Mysql,Maven,JDK8这四个基本工具, 你也可以用Eclipse ide工具,另外小程序开发请去微信官方下载小程序开发工具,前端vue开发建议webstrom 或 vscode。

jdk安装 mysql安装 微信开发工具 nodejs maven Intellij IDEA 安装IDEA Community,建议安装Maven插件和Git插件 redis安装 2.0版本需要 zookeeper安装 2.0版本job模块依赖此分布式应用程序协调服务

JDK最低版本要求1.8

如果在tomcat中部署,要求至少Tomcat8及其以上版本

搭建2.0版本需要安装其中redis和zookeeper

项目模块结构 下载项目文件

本项目地址为:https://gitee.com/qiguliuxing/dts-shop 进入控制台输入以下命令将项目克隆到本地:

git clone https://gitee.com/qiguliuxing/dts-shop.git

其中VIP版本请联系官方管理人员(聚惠星qq群指定VIP管理员)进行购买授权,获取源码程序包。

基本目录结构 admin-ui 管理后端前端模块 PC版,支持响应式布局,暂不支持手机屏幕 doc 文档目录,包括sql脚本文件 dts-admin-api 管理后端api模块 (管理端后台启动本模块即可) dts-core 核心业务模块,供两个api模块引用 dts-dao 数据访问层核心模块 ,供两个api模块引用 dts-wx-api 小程序api模块 (微信后台启动本模块即可) wx-mini-program 小程序前端代码 dts-job 分布式定时器模块 (VIP2.0版本独有) dts-merchant-api 商户管理后台 (VIP2.0版本独有,商户端后台启动本模块即可) merchant-ui 商户管理后台 前端模块 PC版(VIP2.0版本独有)

其中,VIP2.0版本与开源版本模块不同,dts-job模块,dts-merchant-api模块,merchant-ui 模块开源版本及1.0版本不存在。

如果不需要商户端,则dts-merchant-api模块,merchant-ui 模块可以去除

数据库准备 创建数据库

本系统使用mysql数据库 建议 5.7 版本

在mysql中创建数据库 dts-shop对应的账户密码:dtsshop/dtsshop123, 并赋权限

CREATE DATABASE IF NOT EXISTS dts-shop DEFAULT CHARSET utf8 COLLATE utf8_general_ci; CREATE USER 'dtsshop'@'%' IDENTIFIED BY 'dtsshop123'; GRANT ALL privileges ON dts-shop.* TO 'dtsshop'@'%'; flush privileges;

当然你可以基于myslq客户端工具创建数据库和用户,根据个人习惯操作,工具操作请自行百度解决。

建表和初始化数据 导入建表sql ,对应文件目录 :doc/dts-shop-表结构.sql 导入demo 数据,对应文件目录:doc/demo-data.sql VIP版本请参照 doc/data目录中脚本名称进行表的初始化或演示数据的导入 项目配置 管理前端api地址配置

配置文件按开发,测试demo,生产环境分别配置以下文件:

admin-ui/config/dev.env.js

admin-ui/config/demo.env.js

admin-ui/config/prod.env.js

我们以dev开发环境为例,对配置文件的BASE_API参数做地址配置(默认配置管理api模块端口为8083)

module.exports = { NODE_ENV: '"development"', ENV_CONFIG: '"dev"', BASE_API: '"http://localhost:8083/manager"' } 小程序端api地址配置

小程序配置文件:wx-mini-program/config/api.js ,配置参数 WxApiRoot,这里以本地开发环境为例,配置

var WxApiRoot = 'http://localhost:8080/wx/';

其中8080 为小程序api模块的端口

商户平台管理前端api地址配置(VIP版本独有)

配置文件按开发,测试demo,生产环境分别配置以下文件:

admin-ui/config/dev.env.js

admin-ui/config/demo.env.js

admin-ui/config/prod.env.js

我们以dev开发环境为例,对配置文件的BASE_API参数做地址配置(默认配置管理api模块端口为8084)

module.exports = { NODE_ENV: '"development"', ENV_CONFIG: '"dev"', BASE_API: '"http://localhost:8084/merchant"' } 日志配置

后台的日志使用的是logback,各个模块的日志配置文件为:logback-spring.xml文件,日志级别具体如何配置,请自行学习Spring Boot的日志配置和logback日志配置,这里我们只重点说明一下日志文件目录和日志文件名称的配置,以admin api模块为例:

微信后台模块请做参考,日志文件名可以 wx.yyyy-mm-dd 规则。

数据库连接配置

在dts-core模块的resources目录,多环境请具体配置对应指定文件,以dev环境为例,配置文件为:application-dev.yml文件中配置数据库连接和druid:

spring: datasource: druid: url: jdbc:mysql://localhost:3306/dts-shop?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&allowPublicKeyRetrieval=true&verifyServerCertificate=false&useSSL=false driver-class-name: com.mysql.jdbc.Driver username: dtsshop password: dtsshop123 initial-size: 10 max-active: 50 min-idle: 10 max-wait: 60000 pool-prepared-statements: true max-pool-prepared-statement-per-connection-size: 20 validation-query: SELECT 1 FROM DUAL test-on-borrow: false test-on-return: false test-while-idle: true time-between-eviction-runs-millis: 60000 filters: stat,wall 小程序及商户配置

小程序app配置

dts: # 开发者应该设置成自己的wx相关信息 wx: app-id: xxxx app-secret: xxx mch-id: xxxx mch-key: xxxx notify-url: https://test.dtsshop.com/demo/order/dtsNotify # 商户证书文件路径 # 请参考“商户证书”一节 https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=4_3 key-path: xxxxx

这里的app-id和app-secret需要开发者在微信公众平台注册获取。

mch-id和mch-key需要开发者在微信商户平台注册获取

而这里的notify-url则应该是项目上线以后微信支付回调地址,当微信支付成功或者失败, 微信商户平台将向回调地址发生成功或者失败的数据,因此需要确保该地址是 dts-wx-api模块的WxOrderController类的payNotify方法所服务的API地址。

开发阶段可以采用一些技术实现临时外网地址映射本地,开发者可以百度关键字“微信 内网穿透”自行学习。

邮件通知配置

配置方式: 1. 邮件服务器开启smtp服务 2. 开发者在配置文件中设置enable的值true,然后其他信息设置相应的值。 sendto 可以配置多个邮箱通知地址,用逗号分割。

应用场景: 目前邮件通知场景也很简单,就是用户下单以后系统会自动向sendto用户发送一封邮件,告知用户下单的订单信息。 以后可能需要继续优化扩展。当然,如果不需要邮件通知订单信息,可以默认关闭即可。

#通知相关配置 notify: mail: # 邮件通知配置,邮箱一般用于接收业务通知例如收到新的订单,sendto 定义邮件接收者,通常为商城运营人员 enable: true host: smtp.aliyun.com username: [email protected] password: xxx sendfrom: [email protected] sendto: [email protected] 短信通知配置 # 短消息模版通知配置 # 短信息用于通知客户,例如发货短信通知,注意配置格式;template-name,template-templateId 请参考 NotifyType 枚举值 sms: enable: true appid: xxx appkey: xxx template: - name: paySucceed templateId: 112233 - name: captcha templateId: 112233 - name: ship templateId: 112233 - name: refund templateId: 112233

配置方式: 1. 腾讯云短信平台或者阿里云短信平台申请,然后设置四个场景的短信模板; 2. 开发者在配置文件设置enable的值true,设置active的值tencent或aliyun 3. 然后配置其他信息,例如腾讯云短信平台申请的appid等值。 这里只测试过腾讯云短信平台和阿里云短信平台,开发者需要自行测试其他短信云平台。

应用场景: 目前短信通知场景只支持支付成功、验证码、订单发送、退款成功四种情况。 以后可能需要继续优化扩展。

短信模板参数命名: 这里存在一个问题,即腾讯云短信的官方平台中申请短信模板格式的模板参数是数组, 例如“你好,验证码是{0},时间是{1}"; 而阿里云短信的官方平台中申请短信模板的模板参数是JSON, 例如“你好,验证码是{param1},时间是{param2}"。 为了保持当前代码的通用性,本项目采用数组传递参数,而对阿里云申请模板的参数做了一定的假设: 1. 腾讯云模块参数,申请模板时按照官方设置即可,例如“你好,验证码是{0},时间是{1}"; 2. 阿里云模板参数,本项目假定开发者在官方申请的参数格式应该采用"{ code: xxx, code1: xxx, code2: xxx }", 例如“你好,验证码是{code},时间是{code1}"。开发者可以查看AliyunSmsSender类的sendWithTemplate方法的 源代码即可理解。如果觉得不合理,可以自行调整相关代码。

物流配置

物流配置是查询商品物流信息,这里主要是基于第三方快递鸟服务。

# 快鸟物流查询配置 express: enable: true appId: "xxxxxx" appKey: "xxxxxx" vendors: - code: "HTKY" name: "百世快递" - code: "YZBK" name: "邮政国内标快" - code: "ZTO" name: "中通快递" - code: "YTO" name: "圆通速递" - code: "YD" name: "韵达速递" - code: "YZPY" name: "邮政快递包裹" - code: "EMS" name: "EMS" - code: "DBL" name: "德邦快递" - code: "FAST" name: "快捷快递" - code: "ZJS" name: "宅急送" - code: "TNT" name: "TNT快递" - code: "UPS" name: "UPS" - code: "DHL" name: "DHL" - code: "FEDEX" name: "FEDEX联邦(国内件)" - code: "FEDEX_GJ" name: "FEDEX联邦(国际件)"

配置方式: 1. 快递鸟平台申请; 2. 开发者在配置文件设置enable的值true,然后其他信息设置 快递鸟平台中的appId和appKey。

应用场景: 小商场查询订单详情时,如果商品已发货,小商城后端会返回详细物流信息。

一部分快递公司(例如顺丰速运、申通快递等)的轨迹查询在开发环境下不支持, 具体支持情况或者使用限制请阅读官方资料

对象存储配置 # 对象存储配置 storage: # 当前工作的对象存储模式,分别是local、aliyun、tencent、qiniu active: local # 本地对象存储配置信息 local: storagePath: dts/storage # 这个地方应该是wx模块的WxStorageController的fetch方法对应的地址 address: http://localhost:8080/demo/storage/ # 阿里云对象存储配置信息 aliyun: endpoint: oss-cn-guangzhou.aliyuncs.com accessKeyId: 111111 accessKeySecret: xxxxxx bucketName: dts-shop # 腾讯对象存储配置信息 # 请参考 https://cloud.tencent.com/document/product/436/6249 tencent: secretId: 111111 secretKey: xxxxxx region: xxxxxx bucketName: dts # 七牛云对象存储配置信息 qiniu: endpoint: http://dtsshop.wx.clouddn.com accessKey: 111111 secretKey: xxxxxx bucketName: dts

配置文件设置active的值local,表示当前对象存储模式是本地对象存储; 而storagePath是上传文件保存的路径;address则是访问文件的对外路径;

配置文件设置active的值aliyun,表示当前对象存储模式是阿里云对象存储;

配置文件设置active的值tencent,表示当前对象存储模式是腾讯云对象存储;

配置文件设置active的值qiniu,表示当前对象存储模式是七牛云对象存储;

redis配置(VIP2.0版本需要使用redis) redis: lettuce: pool: max-active: 64 max-wait: -1ms max-idle: 64 min-idle: 0 host: 127.0.0.1 port: 6379 password: database: 2

其中配置的host参数为redis服务器ip地址 port为redis的端口 password 为redis的密码,没有密码可以不填 database 为redis库号

springboot开发环境 安装依赖库

采用Maven命令安装依赖库,操作命令参考:

cd dts-shop mvn install

或者采用IDEA的Maven插件安装本项目依赖库,点击install

编译项目 cd dts-shop mvn compile

此时可以看到,java代码模块多了target文件夹,里面是编译出的文件。或者采用IDEA的Maven插件编译本项目,点击compile

启动项目 cd dts-shop mvn install mvn clean package java -Dfile.encoding=UTF-8 -jar dts-admin-api/target/dts-admin-api-0.0.1-SNAPSHOT-exec.jar java -Dfile.encoding=UTF-8 -jar dts-wx-api/target/dts-wx-api-0.0.1-SNAPSHOT-exec.jar java -Dfile.encoding=UTF-8 -jar dts-job/target/dts-job-2.0-SNAPSHOT.jar java -Dfile.encoding=UTF-8 -jar dts-merchant-api/target/dts-merchant-api-2.0-SNAPSHOT.jar

启动对应的jar文件无顺序问题,分别独立对应 管理后台接口 和 微信后台接口 ,或者如果采用IDEA,则找到对应模块的Application类 右键Run Application.main()方式运行该模块。

其中如果启动2.0版本的后台服务,需先确认redis环境是否正常,否则缓存数据存储依赖redis,java应用后台的服务器模块启动会失败 注意:如果启动dts-job模块,需确认zookeeper必须启动并连接正常。

小程序开发环境

安装微信小程序开发工具;

导入本项目的wx-mini-program模块文件夹;

编译前,请确定dts-wx-api模块已经运行,而wx-mini-program模块的config文件夹中的api.js已经设置正确的后端数据服务地址;

点击编译,如果出现数据和图片,则运行正常

注意:开发者编译以后,可以看到图片和数据,但是采用微信登录或者微信支付是肯定会失败的。需要配置正确的 appId,域名校验等信息,具体请参考微信官方说明。另外,需要注意 小程序,微信商户需同一个主题,且小程序上线后才能走通 微信支付,小程序客服,海报等包含二维码图片等功能。

管理前端开发环境 安装依赖库(商户端类似) cd dts-shop/admin-ui npm install -g cnpm --registry=https://registry.npm.taobao.org cnpm install 编译与运行 cnpm run dev

然后,打开浏览器,输入http://localhost:9527。 如果出现管理后台登录页面,则表明管理后台的前端运行正常



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭