項目結(jié)構(gòu)及規(guī)范

vue

A Vue.js project

Build Setup

# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build

# build for production and view the bundle analyzer report
npm run build --report

# run unit tests
npm run unit

# run e2e tests
npm run e2e

# run all tests
npm test

For a detailed explanation on how things work, check out the guide and docs for vue-loader.

目錄結(jié)構(gòu)

├── build                                                         // 構(gòu)建相關(guān)
├── config                                                        // 配置相關(guān)
├── src                                                           // 源代碼
│   ├── api                                                       // 接口
│   ├── assets                                                    // 靜態(tài)資源
│   ├── components                                                // 組件
│   ├── cnfig                                                     // axios的配置
│   ├── js                                                        // 公用js
│   ├── router                                                    // 路由
│   ├── store                                                     // vuex
│   │   ├─ modules                                                // 狀態(tài)庫模塊
│   │   ├─ actions                                                // 公用異步操作
│   │   ├─ getters                                                // 獲取公用states
│   │   ├─ index                                                  // 總和vuex輸出
│   │   ├─ mutations                                              // 公用同步修改
│   │   ├─ states                                                 // 公用狀態(tài)
│   ├── styles                                                    // 公用樣式
│   ├── router                                                    // 路由views
│   ├── views                                                     // 頁面
│   └── App.vue                                                   // 入口文件
├── package.json                                                  // package.json
└── README.md                                                     // 文檔

components下的目錄結(jié)構(gòu)

├── assembly                                          // 公用組件
│  ├── card                                           // 卡片
│  ├── popup                                          // 彈窗
│  └── queryForm                                      // 查詢條件組件
├── js                                                // 輸出組件
│  ├──publicAssembl.js                                // 輸出公用組件
│  └──wsAssembly.js                                   // 輸出彈窗組件
└── views                                             // 視圖層組件結(jié)構(gòu)和views層相同

views下的目錄結(jié)構(gòu)


注:router下modules和views相同,添加頁面請實時更新文檔

├── content                                                // 右側(cè)頁面部分
│   ├── customer                                           // 客戶
│   │   ├── customerManagement                             // 客戶管理
│   │   │   │   ├── customerManagement                     // 客戶管理
│   │   │   └   └    └── modules                           // 客戶管理下的頁面
│   ├── shop                                               // 店鋪
│   │   ├── order                                          // 訂單管理
│   │   │   └── modules                                    // 訂單管理下的頁面
│   │   ├── storeManagement                                // 店鋪管理
│   │   └   └── modules                                    // 店鋪管理下的頁面
│   ├── weChat                                             // 微信
│   │    ├── weChatManagement                              // 微信管理
│   └    └  └── modules                                    // 微信管理下的頁面
├── index                                                  // 首頁
├── login                                                  // 登陸
├── home                                                   // 二級入口文件


vue內(nèi)的結(jié)構(gòu),生命周期內(nèi)不可寫邏輯蓖捶,只可調(diào)用methods內(nèi)的方法

beforeCreate除外

export default {

  name: 'index',

  props: {},

  components: {},

  created () {}, // 生命周期按照官方給的順序?qū)?不可顛倒 全部寫到data之前

  data () {},

  methods: {},

  computed: {},

  watch: {}

}

規(guī)范

  • views的結(jié)構(gòu)目錄是根據(jù)左側(cè)菜單層級而來地回,創(chuàng)建文件及目錄要以菜單結(jié)構(gòu)為標(biāo)準(zhǔn)
  • router/modules 是和views/content相同的
  • components/views 和views同樣相同
  • common.js 內(nèi)的每一個方法要寫注釋如,methods內(nèi)的方法也要寫注釋
/**
   * 數(shù)組深度拷貝
   * @arr { Array }
   * */
  copyArray (arr) {
    if (!arr || !arr.length) {
      return []
    }
    return arr.map((e) => {
      if (typeof e === 'object') {
        return Object.assign({}, e)
      } else {
        return e
      }
    })
  }
  • 聲明變量 用let 和 常量用const 不可以使用val
  • 所有的class名腺阳、id名稱 以小寫名稱 用中劃線分開
  • 重復(fù)或超過兩次使用的方法或組件落君,請封裝。
  • 彈窗統(tǒng)一放到components/popup/modues內(nèi)
  • 請求接口統(tǒng)一放到api文件夾內(nèi),文件以一級菜單為命名
  • vuex common.js axios已掛載到原型鏈上可以直接調(diào)用.如:
this.$common.aaa()
this.$axios.get()
this.$store

組件

查詢用的表單


query.png

laber:表單前文字
form-width: 文字后輸入框或下拉框?qū)挾? 默認(rèn)177px

<ws-query-form label="手機號:" form-width="300px">
      <el-input size="mini"></el-input>
    </ws-query-form>

卡片


image.png

background: 背景顏色亭引;默認(rèn):rgba(255,255,255,1)
borderRadius:圓角; 默認(rèn):8px 8px 0px 0px

<ws-card background="rgba(255,255,255,1)" border-radius="8px 8px 0px 0px">
      卡片
  </ws-card>

對話框組件

dialog.jpg
<ws-dialog
   :visible.sync="visible"
   @getData = "getData"
   :close-callback="close"
   :form-data="formData"
   :width="width"
   form-name="ws-batch-allocation"
   title="分配好友">
</ws-dialog>

<font color="red">*注:對話框組件僅為最外層彈框绎速,對話框內(nèi)的表單也是組件的形式嵌入,根據(jù)展示的表單不同焙蚓,只需修改對應(yīng)的form-data纹冤、form-name 、title屬性即可</font>

參數(shù) 必傳 說明 類型/可傳 默認(rèn)值
visible 控制對話框的顯示與隱藏 boolean false
getData 對話框內(nèi)表單回傳的數(shù)據(jù)callback回調(diào)
close-callback 需要外層關(guān)閉彈框购公,返回數(shù)據(jù)萌京,對話框內(nèi)部不關(guān)閉 funtion
form-data 傳入到對話框中需展示的表單數(shù)據(jù)
form-name 對話框內(nèi)需要展示的表單組件名稱 string
title 對話框title顯示文字 string
width 對話框?qū)挾?/td> string 575px

table組件


QQ圖片20190328152430.png
<ws-commonTable :tableData="tableData" :theadData="theadData" :operateData="operateData" :isShow="isShow" ></ws-commonTable>

*注:table組件調(diào)用時需要傳入表格內(nèi)容數(shù)據(jù),表頭數(shù)據(jù)宏浩,操作按鈕數(shù)據(jù),判斷表格第一列復(fù)選框的顯示隱藏數(shù)據(jù)

參數(shù) 必傳 說明 類型/可傳 默認(rèn)值
tableData 表格所有內(nèi)容數(shù)據(jù) Array [ ]
theadData 表頭數(shù)據(jù) Array [ ]
operateData 對應(yīng)彈框及按鈕顯示數(shù)據(jù) Array [ ]
operate operateData參數(shù)知残,顯示對應(yīng)的按鈕 number
title operateData參數(shù),顯示彈框的title string
operateName operateData參數(shù)比庄,顯示對應(yīng)的彈框子組件名字 string
isShow 判斷表格是否需要復(fù)選框 Boolean false

operate對應(yīng)值 0:查看求妹, 1: 聊天記錄, 2:刪除佳窑, 3: 下載制恍, 4:編輯 (可在table組件中添加配置)

對話框表單組件

form.jpg
export default {
  // 批量分配好友
  name: 'batchAllocation',
  props: ['formData'],
  data () {
    return {
  // 需驗證的規(guī)則
      rules: {
        user: [{required: true, message: '請選擇或搜索要分配的客服', trigger: 'change'}]
      }
    }
  },
  methods: {
 // 表單數(shù)據(jù)向外拋出的方法,可在對話框組件內(nèi)接收 
    commit (form) {
      let isForm = false
      this.$refs.form.validate((valid) => {
        if (valid) {
          isForm = this.formData
        } else {
          isForm = false
        }
      })
      return isForm
    }
  }
}
參數(shù) 必傳 說明 類型/可傳 默認(rèn)值
formData 對話框傳入的數(shù)據(jù)值神凑,主要以鍵值對的形式傳入净神,方便表單內(nèi)部渲染 Object
commit 向外拋出的數(shù)據(jù) funtion

<font color="red">*注:這里只列舉ws-batch-allocation的表單組件何吝,開發(fā)其他對話框表單組件請對應(yīng)下表關(guān)系</font>

1.批量分配好友 ws-batch-allocation

圖片1.png
  1. 客戶分組 ws-customer-grouping
圖片2.png
  1. 批量打標(biāo)簽 ws-batch-labeling
圖片3.png
  1. 微信CRM列表中查看微信好友聊天記錄 ws-crm-chats
圖片4.png
  1. 刪除 ws-delete
圖片5.png
  1. 下載聊天記錄 ws-download-chats
圖片6.png
  1. 店鋪好友列表單個數(shù)據(jù)加好友 ws-add-shopbuddies
圖片7.png
  1. 微信群分配聊天群 ws-distribution-chatgroup
圖片8.png
  1. 微信批量分組 ws- subgroup
圖片9.png
  1. 選中一個記錄分配聊天群 ws-selected-record-allocation
圖片10.png
  1. 選中一個記錄群聊分組 ws-choose-chatgroup
圖片11.png
  1. 查看群成員 ws-view-group-members
圖片12.png
  1. 聊天記錄里查看群或好友的聊天記錄 ws-view-chats
圖片13.png
  1. 新增字段 ws-new-field
圖片14.png
  1. 自定義編輯字段 ws-edit-field
圖片15.png
  1. 客戶分組里新增微信分組 ws-new-chatgroup
圖片16.png
  1. 微信列表里查看設(shè)備信息 ws-view-device-information
圖片17.png
  1. 設(shè)置微信分組 ws-setting-chatgroup
圖片18.png
  1. 微信列表查看微信號的聊天記錄 ws-view-icrosignals-chatrecord
圖片19.png
  1. 查看朋友圈 ws-view-circle-of-friends
圖片20.png
  1. 設(shè)置打招呼 ws-setting-notify
圖片21.png
  1. 修改微信備注 ws-revise-remarks
圖片22.png
  1. 新增分配規(guī)則 ws--new-allocation-rules
圖片23.png
  1. 設(shè)置分配上限 ws-setting-distribution-toplimit
圖片24.png
  1. 導(dǎo)入快捷語 ws-Introduce-shortcuts
圖片25.png
  1. 清理僵尸粉 ws-clean-mbie-fan
圖片26.png
  1. 查看僵尸粉詳情 ws-view-mbie-fan
圖片27.png
  1. 店鋪授權(quán)第三方賬號 ws-authorization-platform
圖片28.png
  1. 編輯店鋪名稱 ws-edit-shop-name
圖片29.png
  1. 獲取新訂單 ws-get-new-orders
圖片30.png
  1. 同步訂單數(shù)據(jù) ws-synchronize-order-data
圖片31.png
  1. 考勤查看時間軸 ws-attendance-timeline
圖片32.png
  1. 設(shè)置敏感操作 ws-setting-sensitive-operation
圖片33.png
  1. 敏感操作處理 ws-sensitive-operation-deal
圖片34.png
  1. 查看敏感操作詳情 ws-view-sensitive-operation
圖片35.png
  1. 新增敏感詞 ws-new-sensitive-words
圖片36.png
  1. 編輯敏感詞 ws-edit-sensitive-words
圖片37.png
  1. 新增設(shè)備 ws-new-equipment
圖片38.png
  1. 批量安裝app ws-batch-installation
圖片39.png
  1. 設(shè)置手機分組 ws-setting-phone-grouping
圖片40.png
  1. 手機設(shè)備分配用戶 ws-mobile-device-allocation
圖片41.png
  1. 手機風(fēng)控權(quán)限 ws-wind-control-authority
圖片42.png
  1. 手機可用app設(shè)置 ws-available-app-setting
圖片43.png
  1. 聯(lián)系人導(dǎo)入 ws-contact-import


    圖片44.png
  2. 同步歷史消息 ws-synchronizing-historical-messages

圖片45.png
  1. 新增手機分組 ws-new-mobile-grouping
圖片46.png
  1. 新增APP設(shè)置 ws-new-app-setting
圖片47.png
  1. 分配設(shè)備 ws-distribution-equipment
圖片48.png
  1. 新增反饋 ws-feedback
圖片49.png
  1. 新增部門 ws-new-department
圖片50.png
  1. 編輯部門 ws-edit-department
圖片51.png
  1. 新增賬戶 ws-edit-account
圖片52.png
  1. 設(shè)置賬戶權(quán)限 ws-setting-account-power
圖片53.png
  1. 賬戶秘鑰 ws-account-secret-key
圖片54.png
  1. 重置密碼 ws-reset-password
圖片55.png
  1. 敏感通知 ws-sensitive-notification
圖片56.png

分頁組件

page.jpg
 <ws-pagination
    :current-page.sync="currentPage"
    :page-sizes="pageSizes"
    :page-size="pageSize"
    @handleCurrentChange="handleCurrentChange"
    :total="total"></ws-pagination>
參數(shù) 必傳 說明 類型/可傳 默認(rèn)值
current-page 當(dāng)前頁數(shù) number
page-sizes 每頁顯示個數(shù)選擇器的選項設(shè)置 number[] [10, 20, 30, 40, 50]
page-size 每頁顯示條目個數(shù) number 10
total 總條目數(shù) number 100
handleCurrentChange 切換頁碼拋出的事件 function

按鈕組件

button.jpg
<ws-button @click="search" name="reset"></ws-button>
<ws-button @click="reset"></ws-button>
參數(shù) 必傳 說明 類型/可傳 默認(rèn)值
name 判斷按鈕為重置或查詢 string / 可選值為 reset、search search

注: 如有疑問請反饋,簡書查看地址http://www.reibang.com/p/50aa0952f97d


最后修改時間:2019-3-28

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鹃唯,一起剝皮案震驚了整個濱河市爱榕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌坡慌,老刑警劉巖呆细,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異八匠,居然都是意外死亡絮爷,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進(jìn)店門梨树,熙熙樓的掌柜王于貴愁眉苦臉地迎上來坑夯,“玉大人,你說我怎么就攤上這事抡四」耱冢” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵指巡,是天一觀的道長淑履。 經(jīng)常有香客問我,道長藻雪,這世上最難降的妖魔是什么秘噪? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮勉耀,結(jié)果婚禮上指煎,老公的妹妹穿的比我還像新娘。我一直安慰自己便斥,他們只是感情好至壤,可當(dāng)我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著枢纠,像睡著了一般像街。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上晋渺,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天镰绎,我揣著相機與錄音,去河邊找鬼些举。 笑死跟狱,一個胖子當(dāng)著我的面吹牛俭厚,可吹牛的內(nèi)容都是我干的户魏。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼叼丑!你這毒婦竟也來了关翎?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤鸠信,失蹤者是張志新(化名)和其女友劉穎纵寝,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體星立,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡爽茴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了绰垂。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片室奏。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖劲装,靈堂內(nèi)的尸體忽然破棺而出胧沫,到底是詐尸還是另有隱情,我是刑警寧澤占业,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布绒怨,位于F島的核電站,受9級特大地震影響谦疾,放射性物質(zhì)發(fā)生泄漏南蹂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一念恍、第九天 我趴在偏房一處隱蔽的房頂上張望碎紊。 院中可真熱鬧,春花似錦樊诺、人聲如沸仗考。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽秃嗜。三九已至,卻和暖如春顿膨,著一層夾襖步出監(jiān)牢的瞬間锅锨,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工恋沃, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留必搞,地道東北人。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓囊咏,卻偏偏與公主長得像恕洲,于是被迫代替她去往敵國和親塔橡。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,779評論 2 354