# 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)