# 目录结构

好的目录结构能够让项目更加简单易读,本篇文章推荐大家使用如下目录结构,让项目结构更加清晰明了。

推荐的目录结构如下:

.
├── src
    ├── api
    │   ├── modules 
    │   │   ├── common-api.js
    │   ├── axios.js 统一请求,拦截及响应均在此处理 防止重复请求  加载动画等
    │	├── index.js 对modules的请求进行统一处理
    ├── assets
    │   ├── imgs   项目图片存放目录
    │   ├── data
    │   │   └── dict.js
    ├── components  项目组件存放目录
    ├── directives  全局自定义指令
    ├── filters  全局过滤器
    ├── mixins   全局mixins函数
    ├── router   路由配置
    ├── store    vuex数据处理 
    ├── styles   样式
    ├── utils    公共常用方法目录
    ├── views    页面存放目录
    ├── app.vue  项目主入口页面
    ├── dict-setting.js
    └──  main.js 项目主入口文件
    

注意

请留意目录名的大写,及有无s结尾

  • src/api/modules/common-api.js: 用于存放项目一些公共常用接口请求。

  • src/assets/data/dict.js: 存放项目固定不变字典数据。

  • src/dict-setting.js: 字典包配置。

# 请求接口配置

**注意:以下为模拟接口请求响应数据 src/api/modules/common-api.js **

//获取字典接口 
export function getDictCodeApi(options) {
  var promise = new Promise(function(resolve) {
    const dictCodeList = {
      "AAC004": [{
        "value": "1",
        "label": "男"
      }, {
        "value": "2",
        "label": "女"
      }, {
        "value": "9",
        "label": "未说明性别"
      }],
      "STATUSHIERARCHY": [{
        "value": "5",
        "label": "Lv5认证"
      }, {
        "value": "4",
        "label": "Lv4认证"
      }, {
        "value": "3",
        "label": "Lv3认证"
      }],
      "AAC058": [{
        "value": "01",
        "label": "居民身份证(户口簿)"
      }, {
        "value": "02",
        "label": "中国人民解放军军官证"
      }, {
        "value": "03",
        "label": "中国人民武装警察警官证"
      }],
      "AAC005": [{
        "value": "01",
        "label": "汉族"
      }, {
        "value": "02",
        "label": "蒙古族"
      }, {
        "value": "20",
        "label": "傈傈族"
      }],
      "LEGAL_STATUS": [{
        "value": "000",
        "label": "锁定"
      }, {
        "value": "001",
        "label": "正常"
      }],
      "PERSON_TYPE": [{
        "value": "005",
        "label": "民营企业代表"
      },{
        "value": "004",
        "label": "个体工商户"
      }, {
        "value": "003",
        "label": "机关事业单位法人"
      }, {
        "value": "002",
        "label": "社团法人"
      }, {
        "value": "001",
        "label": "企业法人"
      }],
      "UNIT_TYPE": [{
        "value": "3",
        "label": "地税编号"
      }, {
        "value": "2",
        "label": "统一信用代码"
      }, {
        "value": "1",
        "label": "组织机构代码"
      }],
      "MCC_TYPE": [{
        "value": "1",
        "label": "农,林,牧,渔业"
      }, {
        "value": "10",
        "label": "金融业"
      }, {
        "value": "11",
        "label": "房地产业"
      }],
      "UNIT_STATUS": [{
        "value": "000",
        "label": "注销"
      }, {
        "value": "001",
        "label": "正常"
      }]
    }

    let codeData = {}

    if (options&&options.type) {
      const typeList = options.type.split(",")
      for (let i = 0; i < typeList.length; i++) {
        const type = typeList[i]
        codeData[type] = dictCodeList[type]
      }
    } else {
      codeData = dictCodeList
    }
    const data = {
      "code": 0,
      "data": {
        dictCodeList: codeData,
        version: "0.0.2"
      },
      message: "成功",
      timestamp: "1594565635",
      type: "info"
    }
    resolve(data)
  })
  return promise
}

//获取全局配置  包含版本号
export function getGlobalConfigApi() {
  return new Promise((resolve, reject) => {
    resolve({version: "0.0.2"})
  })
}

# 固定字典数据配置

**注意:以下为项目固定不变字典数据 src/assets/data/dict.js **


export default {
  gender: [
    {
      "value": "000",
      "label": "注销"
    }, {
      "value": "001",
      "label": "正常"
    }
  ],
  "country": [
    {
      "id": "35062400",
      "parentId": "0",
      "areaName": "诏安县"
    },
    {
      "id": "35062401",
      "parentId": "35062400",
      "areaName": "太平镇"
    },
    {
      "id": "35062402",
      "parentId": "35062400",
      "areaName": "金星乡"
    },
    {
      "id": "35062403",
      "parentId": "35062400",
      "areaName": "南诏镇"
    },
    {
      "id": "35062404",
      "parentId": "35062400",
      "areaName": "霞葛镇"
    }
  ],
  "city": [
    {
      "id": "35060000",
      "parentId": "0",
      "areaName": "漳州市"
    },
    {
      "id": "35062400",
      "parentId": "35060000",
      "areaName": "诏安县"
    },
    {
      "id": "35062401",
      "parentId": "35062400",
      "areaName": "太平镇"
    },
    {
      "id": "35062402",
      "parentId": "35062400",
      "areaName": "金星乡"
    },
    {
      "id": "35062403",
      "parentId": "35062400",
      "areaName": "南诏镇"
    },
    {
      "id": "35062404",
      "parentId": "35062400",
      "areaName": "霞葛镇"
    },
    {
      "id": "35062300",
      "parentId": "35060000",
      "areaName": "云霄县"
    },
    {
      "id": "35062301",
      "parentId": "35062300",
      "areaName": "列屿镇"
    },
    {
      "id": "35062302",
      "parentId": "35062300",
      "areaName": "陈岱镇"
    },
    {
      "id": "35062303",
      "parentId": "35062300",
      "areaName": "云陵镇"
    },
    {
      "id": "35062304",
      "parentId": "35062300",
      "areaName": "火田镇"
    }
  ]
}

# 全局字典配置

**注意:以下为字典包配置文件 src/dict-setting.js 更多配置详细字典包配置项>>

import {getDictCodeApi} from "@/api/modules/common-api.js"
import localDictCodes from "@/assets/data/dict.js"
export default {
    getDictCodeApi, //必传 获取字典数据接口
    localDictCodes, //选填 项目写死的字典数据
}

上次更新: June 29th 2023, 12:35:53