initial docs
This commit is contained in:
+41
@@ -0,0 +1,41 @@
|
||||
// node_modules/vitepress/dist/client/theme-default/index.js
|
||||
import "/Users/xuzc/crm/docs/node_modules/vitepress/dist/client/theme-default/styles/fonts.css";
|
||||
import "/Users/xuzc/crm/docs/node_modules/vitepress/dist/client/theme-default/styles/vars.css";
|
||||
import "/Users/xuzc/crm/docs/node_modules/vitepress/dist/client/theme-default/styles/base.css";
|
||||
import "/Users/xuzc/crm/docs/node_modules/vitepress/dist/client/theme-default/styles/utils.css";
|
||||
import "/Users/xuzc/crm/docs/node_modules/vitepress/dist/client/theme-default/styles/components/custom-block.css";
|
||||
import "/Users/xuzc/crm/docs/node_modules/vitepress/dist/client/theme-default/styles/components/vp-code.css";
|
||||
import "/Users/xuzc/crm/docs/node_modules/vitepress/dist/client/theme-default/styles/components/vp-code-group.css";
|
||||
import "/Users/xuzc/crm/docs/node_modules/vitepress/dist/client/theme-default/styles/components/vp-doc.css";
|
||||
import "/Users/xuzc/crm/docs/node_modules/vitepress/dist/client/theme-default/styles/components/vp-sponsor.css";
|
||||
import VPBadge from "/Users/xuzc/crm/docs/node_modules/vitepress/dist/client/theme-default/components/VPBadge.vue";
|
||||
import Layout from "/Users/xuzc/crm/docs/node_modules/vitepress/dist/client/theme-default/Layout.vue";
|
||||
import NotFound from "/Users/xuzc/crm/docs/node_modules/vitepress/dist/client/theme-default/NotFound.vue";
|
||||
import { default as default2 } from "/Users/xuzc/crm/docs/node_modules/vitepress/dist/client/theme-default/components/VPHomeHero.vue";
|
||||
import { default as default3 } from "/Users/xuzc/crm/docs/node_modules/vitepress/dist/client/theme-default/components/VPHomeFeatures.vue";
|
||||
import { default as default4 } from "/Users/xuzc/crm/docs/node_modules/vitepress/dist/client/theme-default/components/VPHomeSponsors.vue";
|
||||
import { default as default5 } from "/Users/xuzc/crm/docs/node_modules/vitepress/dist/client/theme-default/components/VPDocAsideSponsors.vue";
|
||||
import { default as default6 } from "/Users/xuzc/crm/docs/node_modules/vitepress/dist/client/theme-default/components/VPTeamPage.vue";
|
||||
import { default as default7 } from "/Users/xuzc/crm/docs/node_modules/vitepress/dist/client/theme-default/components/VPTeamPageTitle.vue";
|
||||
import { default as default8 } from "/Users/xuzc/crm/docs/node_modules/vitepress/dist/client/theme-default/components/VPTeamPageSection.vue";
|
||||
import { default as default9 } from "/Users/xuzc/crm/docs/node_modules/vitepress/dist/client/theme-default/components/VPTeamMembers.vue";
|
||||
var theme = {
|
||||
Layout,
|
||||
NotFound,
|
||||
enhanceApp: ({ app }) => {
|
||||
app.component("Badge", VPBadge);
|
||||
}
|
||||
};
|
||||
var theme_default_default = theme;
|
||||
export {
|
||||
default5 as VPDocAsideSponsors,
|
||||
default3 as VPHomeFeatures,
|
||||
default2 as VPHomeHero,
|
||||
default4 as VPHomeSponsors,
|
||||
default9 as VPTeamMembers,
|
||||
default6 as VPTeamPage,
|
||||
default8 as VPTeamPageSection,
|
||||
default7 as VPTeamPageTitle,
|
||||
theme_default_default as default
|
||||
};
|
||||
//# sourceMappingURL=@theme_index.js.map
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../../../node_modules/vitepress/dist/client/theme-default/index.js"],
|
||||
"sourcesContent": ["import './styles/fonts.css';\r\nimport './styles/vars.css';\r\nimport './styles/base.css';\r\nimport './styles/utils.css';\r\nimport './styles/components/custom-block.css';\r\nimport './styles/components/vp-code.css';\r\nimport './styles/components/vp-code-group.css';\r\nimport './styles/components/vp-doc.css';\r\nimport './styles/components/vp-sponsor.css';\r\nimport VPBadge from './components/VPBadge.vue';\r\nimport Layout from './Layout.vue';\r\nimport NotFound from './NotFound.vue';\r\nexport { default as VPHomeHero } from './components/VPHomeHero.vue';\r\nexport { default as VPHomeFeatures } from './components/VPHomeFeatures.vue';\r\nexport { default as VPHomeSponsors } from './components/VPHomeSponsors.vue';\r\nexport { default as VPDocAsideSponsors } from './components/VPDocAsideSponsors.vue';\r\nexport { default as VPTeamPage } from './components/VPTeamPage.vue';\r\nexport { default as VPTeamPageTitle } from './components/VPTeamPageTitle.vue';\r\nexport { default as VPTeamPageSection } from './components/VPTeamPageSection.vue';\r\nexport { default as VPTeamMembers } from './components/VPTeamMembers.vue';\r\nconst theme = {\r\n Layout,\r\n NotFound,\r\n enhanceApp: ({ app }) => {\r\n app.component('Badge', VPBadge);\r\n }\r\n};\r\nexport default theme;\r\n"],
|
||||
"mappings": ";AAAA,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO,aAAa;AACpB,OAAO,YAAY;AACnB,OAAO,cAAc;AACrB,SAAoB,WAAXA,gBAA6B;AACtC,SAAoB,WAAXA,gBAAiC;AAC1C,SAAoB,WAAXA,gBAAiC;AAC1C,SAAoB,WAAXA,gBAAqC;AAC9C,SAAoB,WAAXA,gBAA6B;AACtC,SAAoB,WAAXA,gBAAkC;AAC3C,SAAoB,WAAXA,gBAAoC;AAC7C,SAAoB,WAAXA,gBAAgC;AACzC,IAAM,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,EACA,YAAY,CAAC,EAAE,IAAI,MAAM;AACrB,QAAI,UAAU,SAAS,OAAO;AAAA,EAClC;AACJ;AACA,IAAO,wBAAQ;",
|
||||
"names": ["default"]
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"hash": "769566c1",
|
||||
"browserHash": "06c6ce40",
|
||||
"optimized": {
|
||||
"vue": {
|
||||
"src": "../../../../node_modules/vue/dist/vue.runtime.esm-bundler.js",
|
||||
"file": "vue.js",
|
||||
"fileHash": "8ba1b9d6",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@theme/index": {
|
||||
"src": "../../../../node_modules/vitepress/dist/client/theme-default/index.js",
|
||||
"file": "@theme_index.js",
|
||||
"fileHash": "5e9b16a0",
|
||||
"needsInterop": false
|
||||
}
|
||||
},
|
||||
"chunks": {}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"type":"module"}
|
||||
+9428
File diff suppressed because it is too large
Load Diff
+7
File diff suppressed because one or more lines are too long
@@ -0,0 +1,40 @@
|
||||
export default {
|
||||
title: 'CRM DOCS',
|
||||
description: 'CRM Docs',
|
||||
themeConfig: {
|
||||
siteTitle: 'CRM DOCS',
|
||||
nav: [
|
||||
{ text: '文档', link: '/project/introduction' },
|
||||
{ text: '更新日志', link: '/logs/update-log' },
|
||||
{ text: '关于', link: '/about/about' },
|
||||
{ text: '赞赏', link: '/sponsor/sponsor' }
|
||||
],
|
||||
socialLinks: [
|
||||
{ icon: 'github', link: 'https://github.com/zchengo/crm' }
|
||||
],
|
||||
sidebar: {
|
||||
'/project/': [
|
||||
{
|
||||
text: '文档',
|
||||
collapsible: true,
|
||||
items: [
|
||||
{ text: '简介', link: '/project/introduction' },
|
||||
{ text: '技术栈', link: '/project/technology-stack' },
|
||||
{ text: '快速运行', link: '/project/getting-started' },
|
||||
{ text: '部署指南', link: '/project/deploy-guide' },
|
||||
{ text: '许可证', link: '/project/open-license' }
|
||||
],
|
||||
},
|
||||
]
|
||||
},
|
||||
footer: {
|
||||
copyright: 'Copyright © 2023-present zocrm.cloud'
|
||||
},
|
||||
lastUpdated: true,
|
||||
lastUpdatedText: 'Updated Date',
|
||||
// carbonAds: {
|
||||
// code: 'your-carbon-code',
|
||||
// placement: 'your-carbon-placement'
|
||||
// }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
# 公众号
|
||||
|
||||
关注公众号「**GoCode**」,本公众号专注Go语言技术分享!
|
||||
|
||||
<img src="https://zocrm.cloud/gzh_qrcode.jpg" style="width: 240px; height: 240px;border-radius: 10px;border: 1px solid #e9e9eb;" alt="gzh qrcode"/>
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: home
|
||||
|
||||
hero:
|
||||
name: CrmSystem
|
||||
text: Use Golang & Vue
|
||||
tagline: 一个免费开源的客户关系管理系统。
|
||||
actions:
|
||||
- theme: brand
|
||||
text: 在线预览
|
||||
link: https://zocrm.cloud
|
||||
- theme: alt
|
||||
text: 查看代码库
|
||||
link: https://github.com/zchengo/crm
|
||||
---
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
# 更新日志
|
||||
|
||||
### 2023-01-10
|
||||
|
||||
- CRM 开发文档正式发布。
|
||||
@@ -0,0 +1,106 @@
|
||||
# 部署指南
|
||||
|
||||
本地部署的主要流程:环境安装、运行服务端、运行Web端。
|
||||
|
||||
## 环境安装
|
||||
|
||||
在你自己的电脑上,安装如下运行环境:
|
||||
|
||||
| 环境 | 版本 | 下载地址 |
|
||||
|---|---|---|
|
||||
| go | >= 1.19.2 | https://golang.google.cn/dl |
|
||||
| mysql | >= 8.0.31 | https://www.mysql.com/downloads |
|
||||
| redis | >= 7.0.5 | https://redis.io/download |
|
||||
| node | >= 18.12.0 | https://nodejs.org/en/download |
|
||||
|
||||
## 运行服务端
|
||||
|
||||
::: info
|
||||
前提条件:Go 环境正常、MySQL 服务正常启动、Redis 服务正常启动。
|
||||
:::
|
||||
|
||||
第一步,导入数据库文件,你需要把 crm/server/db/crm.sql 文件导入到本地的数据库中,你可以在数据库开发工具 Navicat 中直接导入 SQL 文件。
|
||||
|
||||
第二步,修改配置文件,你需要修改 crm/server/config.yaml 配置文件,你可以保持默认配置,但是你必须修改邮件服务配置和支付宝支付配置,否则你无法正常使用注册、密码找回、获取验证码、订阅、支付等功能。
|
||||
|
||||
邮件服务配置如下:
|
||||
|
||||
```yaml
|
||||
# 邮件服务
|
||||
mail:
|
||||
smtp: smtp.qq.com
|
||||
secret: dhsepilzlvoaceij // 改成自己的QQ邮箱SMTP服务的授权码
|
||||
sender: 1655064994@qq.com // 改成自己的QQ邮箱
|
||||
```
|
||||
|
||||
**如何开启邮箱的 SMTP 服务并获取授权码?**
|
||||
|
||||
请参考官方文档:https://service.mail.qq.com/cgi-bin/help?subtype=1&&id=10000&&no=1001607
|
||||
|
||||
支付宝支付服务配置如下:
|
||||
|
||||
```yaml
|
||||
# 支付宝支付服务配置
|
||||
alipay:
|
||||
appId: 2022003122606990
|
||||
privateKey: MIIEpQIBAAKCAQEAkR0YofR...2sDd6uIy9rkpk8azj/rLmetW5r+tqTZgxcPWKeSz4=
|
||||
appPublicCert: /home/ubuntu/crm/cert/appPublicCert.crt
|
||||
alipayRootCert: /home/ubuntu/crm/cert/alipayRootCert.crt
|
||||
alipayPublicCert: /home/ubuntu/crm/cert/alipayPublicCert.crt
|
||||
returnURL: http://127.0.0.1:8000/api/subscribe/callback
|
||||
notifyURL: http://127.0.0.1:8000/api/subscribe/notify
|
||||
paySuccessURL: http://127.0.0.1:8060/#/subscribe
|
||||
```
|
||||
|
||||
**如何获取 appId、privateKey、appPublicCert、alipayRootCert、alipayPublicCert ?**
|
||||
|
||||
你需要登录到支付宝开放平台:https://open.alipay.com
|
||||
|
||||
登录到支付宝开放平台后,点击控制台->开发工具推荐->沙箱->沙箱应用,在基本信息中可看到 APPID,然后在开发信息中选择系统默认秘钥->启用证书模式->查看,即可看到复制私钥和下载证书,1个私钥和3个证书。
|
||||
|
||||
**如何获取支付账号?**
|
||||
|
||||
点击控制台->开发工具推荐->沙箱->沙箱账号,里面有商家信息和买家信息,买家信息中的买家账号就是支付账号。
|
||||
|
||||
第三步,初始化并运行,使用电脑自带的终端执行执行如下命令,也可以使用 VS Code 或者 Goland 等开发工具,打开 crm 目录,找到 Terminal 终端。
|
||||
|
||||
执行如下命令:
|
||||
|
||||
```bash
|
||||
$ cd server
|
||||
$ go mod tidy
|
||||
$ go build -o server main.go (windows编译命令为 go build -o server.exe main.go )
|
||||
|
||||
# 运行二进制
|
||||
$ ./server (windows运行命令为 server.exe)
|
||||
```
|
||||
|
||||
运行二进制文件后,如果控制台没有出现报错信息,就说明服务端启动成功。
|
||||
|
||||
## 运行Web端
|
||||
|
||||
::: info
|
||||
前提条件:Node 环境正常。
|
||||
:::
|
||||
|
||||
使用电脑自带的终端执行执行如下命令,也可以使用 VSCode 或者 WebStom 等开发工具,打开 crm 目录,找到 Terminal 终端。
|
||||
|
||||
执行如下命令:
|
||||
|
||||
```bash
|
||||
$ cd web
|
||||
$ npm install
|
||||
$ npm run dev
|
||||
```
|
||||
|
||||
当你使用 npm install 命令安装依赖时,如果出现下载缓慢、卡住等问题,你需要修改 npm 默认的镜像源。
|
||||
|
||||
要修改镜像源,请执行如下命令:
|
||||
|
||||
```bash
|
||||
npm install -g cnpm --registry=https://registry.npmmirror.com
|
||||
```
|
||||
|
||||
想要了解有关 Npm Mirror 中国镜像站的更多信息,请访问 npmmirror.com
|
||||
|
||||
当 Web 端启动成功后,打开浏览器访问 http://127.0.0.1:8060
|
||||
@@ -0,0 +1,28 @@
|
||||
# 快速运行
|
||||
|
||||
系统运行环境:
|
||||
|
||||
| 环境 | 版本 | 下载地址 |
|
||||
|---|---|---|
|
||||
| go | >= 1.19.2 | https://golang.google.cn/dl |
|
||||
| mysql | >= 8.0.31 | https://www.mysql.com/downloads |
|
||||
| redis | >= 7.0.5 | https://redis.io/download |
|
||||
| node | >= 18.12.0 | https://nodejs.org/en/download |
|
||||
|
||||
|
||||
在终端中,执行如下命令,初始化并运行。
|
||||
|
||||
```bash
|
||||
$ cd server
|
||||
$ go mod tidy
|
||||
$ go build -o server main.go (windows编译命令为 go build -o server.exe main.go )
|
||||
|
||||
# 运行二进制
|
||||
$ ./server (windows运行命令为 server.exe)
|
||||
|
||||
$ cd web
|
||||
$ npm install
|
||||
$ npm run dev
|
||||
```
|
||||
|
||||
项目运行成功后,打开浏览器访问 http://127.0.0.1:8060
|
||||
@@ -0,0 +1,11 @@
|
||||
# 简介
|
||||
|
||||
客户关系管理系统,基于 Vue + Go 实现,主要功能有仪表盘、客户管理、合同管理、产品管理,订阅等功能。
|
||||
|
||||
### 项目演示
|
||||
|
||||
https://zocrm.cloud
|
||||
|
||||
### 官方文档
|
||||
|
||||
https://docs.zocrm.cloud
|
||||
@@ -0,0 +1,26 @@
|
||||
# 许可证
|
||||
```
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2022 zchengo
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
```
|
||||
|
||||
要了解有关 MIT License 许可证的更多信息,请访问 [MIT License](https://github.com/zchengo/crm/blob/main/LICENSE)。
|
||||
@@ -0,0 +1,25 @@
|
||||
# 技术栈
|
||||
|
||||
### 前端技术
|
||||
|
||||
| 技术 | 说明 | 相关文档 |
|
||||
|---|---|---|
|
||||
| Vue.js | 前端框架 | https://v3.cn.vuejs.org |
|
||||
| Vue Router | 页面路由 | https://router.vuejs.org |
|
||||
| Axios | 网络请求库 | https://axios-http.com |
|
||||
| Pinia | 状态管理 | https://pinia.vuejs.org |
|
||||
| Vite | 构建工具 | https://vitejs.cn |
|
||||
| Ant Design Vue | 前端UI组件库 | https://www.antdv.com |
|
||||
| Apache ECharts | 可视化图表库 | https://echarts.apache.org |
|
||||
| Moment | 日期库 | https://momentjs.com |
|
||||
|
||||
### 后端技术
|
||||
|
||||
| 技术 | 说明 | 相关文档 |
|
||||
|---|---|---|
|
||||
| Gin | Web框架 | https://gin-gonic.com |
|
||||
| Gorm | ORM框架 | https://gorm.io |
|
||||
| Jwt | 用户认证 | https://github.com/golang-jwt/jwt |
|
||||
| Viper | 配置管理 | https://github.com/spf13/viper |
|
||||
| Redis | 数据缓存 | https://github.com/go-redis/redis |
|
||||
| Mail | 邮件服务SDK | https://github.com/go-gomail/gomail |
|
||||
@@ -0,0 +1,11 @@
|
||||
# 赞赏
|
||||
|
||||
打开微信扫一扫,扫描下方赞赏码,请作者喝咖啡!
|
||||
|
||||
<img src="https://zocrm.cloud/sponsor.png" style="width: 240px; height: 240px;border-radius: 10px;border: 1px solid #e9e9eb;" alt="sponsor qrcode"/>
|
||||
|
||||
### 赞赏记录
|
||||
|
||||
| 用户昵称 | 金额 | 备注 |
|
||||
| ---- | -- | -- |
|
||||
| 空空如也 | ¥0 | 无备注 |
|
||||
Generated
+1737
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "docs",
|
||||
"version": "1.0.0",
|
||||
"description": "crm docs",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"docs:dev": "vitepress dev docs",
|
||||
"docs:build": "vitepress build docs",
|
||||
"docs:preview": "vitepress preview docs"
|
||||
},
|
||||
"author": "zchengo",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"vitepress": "^1.0.0-alpha.35",
|
||||
"vue": "^3.2.45"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user