平台介绍
LinkWeChat是一款基于企业微信的开源SCRM系统,为企业构建私域流量系统的综合解决方案,显著提升企业社交运营效率!
内置功能
环境部署
准备工作
JDK >= 1.8 (推荐1.8版本)
Mysql >= 5.5.0 (推荐5.7版本)
Redis >= 3.0
Maven >= 3.0
Node >= 10
运行系统
后端运行
- 导入LinkWeChat到Eclipse,菜单 File -> Import,然后选择 Maven -> Existing Maven Projects,点击 Next> 按钮,选择工作目录,然后点击 Finish 按钮,即可成功导入Eclipse会自动加载Maven依赖包,初次加载会比较慢(根据自身网络情况而定)
- 创建数据库LW-vue并导入数据脚本
- 打开运行com.linkwechat. LinkWeChatApplication.java
前端运行
# 进入项目目录cd linkwe-ui
# 安装依赖npm install
# 强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 bug,可以通过重新指定 registry 来解决 npm 安装速度慢的问题。npm install --registry=https://registry.npm.taobao.org
# 本地开发 启动项目npm run dev
4、打开浏览器,输入:http://localhost:80 (默认账户 admin/admin123) 若能正确展示登录页面,并能成功登录,菜单及页面展示正常,则表明环境搭建成功
必要配置
1、修改数据库连接
- 编辑resources目录下的application-druid.yml
- url: 服务器地址
- username: 账号
- password: 密码
2、开发环境配置
- 编辑resources目录下的application.yml
- port: 端口
- context-path: 部署路径
部署系统
后端部署
- bin/package.bat 在项目的目录下执行
- 然后会在项目下生成 target文件夹包含 war 或jar (多模块生成在linkwe-admin)
- 1、jar部署方式
- 使用命令行执行:java –jar LinkWeChat.jar 或者执行脚本:bin/run.bat
- 2、war部署方式
- pom.xml packaging修改为war 放入tomcat服务器webapps
前端部署
当项目开发完毕,只需要运行一行命令就可以打包你的应用
# 打包正式环境npm run build:prod
# 打包预发布环境npm run build:stage
构建打包成功之后,会在根目录生成 dist 文件夹,里面就是构建打包好的文件,通常是 .js 、.css、index.html 等静态文件。
通常情况下 dist 文件夹的静态文件发布到你的 nginx 或者静态服务器即可,其中的 index.html 是后台服务的入口页面。
项目介绍
文件结构
后端结构
com.linkwechat
├── common // 工具类
│ └── annotation // 自定义注解
│ └── config // 全局配置
│ └── constant // 通用常量
│ └── core // 核心控制
│ └── enums // 通用枚举
│ └── exception // 通用异常
│ └── filter // 过滤器处理
│ └── utils // 通用类处理
├── framework // 框架核心
│ └── aspectj // 注解实现
│ └── config // 系统配置
│ └── datasource // 数据权限
│ └── interceptor // 拦截器
│ └── manager // 异步处理
│ └── security // 权限控制
│ └── web // 前端控制
├── linkwe-generator // 代码生成(可移除)
├── linkwe-quartz // 定时任务(可移除)
├── linkwe-system // 系统代码
├── linkwe-admin // 后台服务
├── linkwe--wecom // 企业微信功能
前端结构
├── build // 构建相关
├── bin // 执行脚本
├── public // 公共文件
│ ├── favicon.ico // favicon图标
│ └── index.html // html模板
├── src // 源代码
│ ├── api // 所有请求
│ ├── assets // 主题 字体等静态资源
│ ├── components // 全局公用组件
│ ├── directive // 全局指令
│ ├── layout // 布局
│ ├── router // 路由
│ ├── store // 全局 store管理
│ ├── utils // 全局公用方法
│ ├── views // view
│ ├── App.vue // 入口页面
│ ├── main.js // 入口 加载组件 初始化等
│ ├── permission.js // 权限管理
│ └── settings.js // 系统配置
├── .editorconfig // 编码格式
├── .env.development // 开发环境配置
├── .env.production // 生产环境配置
├── .env.staging // 测试环境配置
├── .eslintignore // 忽略语法检查
├── .eslintrc.js // eslint 配置项
├── .gitignore // git 忽略项
├── babel.config.js // babel.config.js
├── package.json // package.json
└── vue.config.js // vue.config.js
核心技术
前端技术栈 ES6、vue、vuex、vue-router、vue-cli、axios、element-ui
后端技术栈 SpringBoot、MyBatis、Spring Security、Jwt