# bf-keyid-scrm-console
**Repository Path**: marcuswww/bf-keyid-scrm-console
## Basic Information
- **Project Name**: bf-keyid-scrm-console
- **Description**: bf-keyid-scrm-console
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2023-11-23
- **Last Updated**: 2023-11-23
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 客易达SCRM商户后台管理系统(keyid-scrm-console)
# 项目框架选型(适用于PC客户端)
* Vue3.x
* Typescript4.x
* Vite2.x
* vue-router4.x(前端路由)
* element-plus2.x(第三方ui框架)
* axios(前后端数据交互)
* eslint(代码语法和风格检查,未强制要求)
* prettier(代码格式化,未强制要求)
# 项目结构说明
deploy - 阿里云构建Dockerfile入口文件
public - 静态资源文件
.gitignore - git配置文件
index.html - 项目总入口页面
package.json - 项目描述文件
prettier.config.js - prettier配置文件
README.md - 项目自述文件
tsconfig.json - typescript配置文件
vite.config.ts - vite配置文件
src - 源代码文件目录
main.ts - 项目入口文件
App.vue - 项目根组件
shim-vue.ts - 适配文件(针对vue)
shim-tsx.d.ts - 适配文件(针对jsx)
api - 后端接口配置文件目录(下级目录按照view文件层级创建,最小颗粒度到第二层)
assets - 静态资源文件目录(下级目录按照view文件层级创建,最小颗粒度到第一层)
components - 组件目录(除common、zw以外,下级目录按照view文件层级创建,最小颗粒度到最后一层)
zw - 全局通用组件目录
common - 全局通用组件目录
组件具体情况:[传送门](https://doc.weixin.qq.com/sheet/e3_AdkAcAYsAKUEALULdG3Q02rzB0XOC?scode=AJ4AjwdXAAwaMGZ5hEASwA7AaCAEo&tab=7phyq2)
config - 全局配置文件目录(已废弃)
layout - 全局通用布局文件目录
index.vue - 通用布局入口文件
components - 入口文件依赖组件
Tabs(已废弃)
...
router - 路由配置文件目录
index.ts - 路由配置入口文件
router.ts - 前端自定义路由文件
permission.ts - 动态添加路由配置文件
store - 数据状态管理文件目录
index.ts - 数据状态管理入口文件
modules - 数据状态管理模块文件目录
_del(已废弃)
styles - 全局样式文件目录
reset-element.scss - element-plus自定义样式表配置文件
reset.scss - 项目初始化样式表
common.scss - 全局通用样式表
app.scss(已废弃)
global.scss(已废弃)
utils - 工具文件目录(helper为默认工具类文件)
helper.ts - 默认工具类文件
utils.ts 通用工具类文件
bus.ts - 全局EventBus配置文件(mitt库)
cache.ts - 全局缓存配置(keepAliveViews)
cycletime.ts - 日期时间类文件(引用2)
timeCycle.ts - 日期时间类文件(引用22)
directives.ts - 自定义指令文件
domain.ts - BASE_URL环境配置文件
emoji.ts - 表情文件
math.ts - 简单算数类文件
request.ts - 接口请求配置文件(axios)
smartMarketing.ts - 智能营销模块通用类文件
storage.ts - 本地存储方法(针对localStorage)
validate.ts - 表单校验类文件
request1.ts(已废弃)
enum.ts(已废弃)
type.ts(已废弃)
map.ts(已废弃)
rsa.ts(已废弃)
view - 页面文件目录
common - 全局页面目录
home - 主页目录(欢饮页)
account - 账号中心目录
appmarket - 应用中心目录
channel - 渠道运营目录
channelconfig - 配置与开发目录
content - 内容创作目录
customer - 客户中心目录
ecommerce - 零售电商目录
employee - 员工中心目录
salesleads - 销售线索目录
smartMarketing - 智能营销目录
member - 会员中心目录
homeTest(已废弃)
report-list(已废弃)
zwdemo(已废弃)
V404.vue(已废弃)
# 代码规范规范
【强制】杜绝完全不规范的缩写,避免望文不知义。
【强制】类名使用 UpperCamelCase 风格
正例:ForceCode / UserDO / HtmlDTO / XmlService / TcpUdpDeal / TaPromotion
反例:forcecode / UserDo / HTMLDto / XMLService / TCPUDPDeal / TAPromotion
【强制】方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格。正例: localValue / getHttpMessage() / inputUserId
## 安全的使用环境URL
基础接口API地址:
```
import domain from '@/utils/domain'
domain.BASE_API_URL
```
你需要要知道的是 URL 资源引用 是区分环境的,你写出来的代码应该是能够通过 .env 文件实现环境适配的,正确做法:
```
import domain from '@/utils/domain'
const randomCode = () => {
let random = Math.floor(Math.random() * 100)
getImgCode.value = `${domain.BASE_API_URL}/scrm-api/console/register/captcha-show?${random}`
}
```
## 静态资源大小控制
【强制】图片、音频、视频等文件>10KB都统一使用oss维护,不允许直接存在在项目结构中
`src/assets` 目录下资源上传oss后请使用 `https//static.scrm.keyid.cn/xxx`
## 静态资源引用出现相对路径
`src/assets` 目录下资源引用请使用 `@/assets/login/login_bg.png`
`public/static` 目录下资源引用请使用 `/static/pageHeader/left.png`
## 远程网络图片引用、存储 严禁带协议
被唾弃的做法:
```
```
你应该使用:
```
```
如不明白为什么:[传送门](https://www.cnblogs.com/suizhikuo/p/8206295.html)