### 若依工程目录结构 ##### /api/* 接口请求目录 ##### /components/* 自定义组件存放目录 ##### /plugins/* 公共函数存放目录 ##### /views/* 页面存放目录 ##### /assets/* 静态资源存放目录 ##### 详细环境配置,请参考若依官方文档 ``` equal-credit-ui ├─ .editorconfig ├─ .env.development ├─ .env.embed ├─ .env.production ├─ .env.staging ├─ .eslintignore ├─ .eslintrc.js ├─ babel.config.js ├─ bin │ ├─ build.bat │ ├─ package.bat │ └─ run-web.bat ├─ build │ └─ index.js ├─ package.json ├─ public │ ├─ favicon.ico │ ├─ html │ │ └─ ie.html │ ├─ index.html │ └─ robots.txt ├─ README.md ├─ src │ ├─ api │ │ ├─ cms │ │ │ └─ index.js │ │ ├─ communityGovernance │ │ │ ├─ exposure.js │ │ │ ├─ merchant.js │ │ │ └─ record.js │ │ ├─ config │ │ ├─ feedback │ │ │ └─ index.js │ │ ├─ files │ │ │ └─ upload.js │ │ ├─ integral │ │ │ ├─ log.js │ │ │ ├─ rule.js │ │ │ └─ user.js │ │ ├─ login.js │ │ ├─ lostfound │ │ │ └─ lostfound.js │ │ ├─ menu.js │ │ ├─ monitor │ │ │ ├─ cache.js │ │ │ ├─ job.js │ │ │ ├─ jobLog.js │ │ │ ├─ logininfor.js │ │ │ ├─ online.js │ │ │ ├─ operlog.js │ │ │ └─ server.js │ │ ├─ questionnaire │ │ │ └─ index.js │ │ ├─ register │ │ │ └─ user.js │ │ ├─ report │ │ │ └─ info.js │ │ ├─ seat │ │ │ ├─ address.js │ │ │ ├─ estate.js │ │ │ └─ gridman.js │ │ ├─ system │ │ │ ├─ config.js │ │ │ ├─ dept.js │ │ │ ├─ dict │ │ │ │ ├─ data.js │ │ │ │ └─ type.js │ │ │ ├─ menu.js │ │ │ ├─ notice.js │ │ │ ├─ post.js │ │ │ ├─ role.js │ │ │ └─ user.js │ │ ├─ tool │ │ │ └─ gen.js │ │ └─ vote │ │ └─ index.js │ ├─ App.vue │ ├─ assets │ │ ├─ 401_images │ │ │ └─ 401.gif │ │ ├─ 404_images │ │ │ ├─ 404.png │ │ │ └─ 404_cloud.png │ │ ├─ icons │ │ │ ├─ index.js │ │ │ ├─ svg │ │ │ │ ├─ 404.svg │ │ │ │ ├─ bug.svg │ │ │ │ ├─ build.svg │ │ │ │ ├─ button.svg │ │ │ │ ├─ cascader.svg │ │ │ │ ├─ chart.svg │ │ │ │ ├─ checkbox.svg │ │ │ │ ├─ clipboard.svg │ │ │ │ ├─ code.svg │ │ │ │ ├─ color.svg │ │ │ │ ├─ component.svg │ │ │ │ ├─ dashboard.svg │ │ │ │ ├─ date-range.svg │ │ │ │ ├─ date.svg │ │ │ │ ├─ dict.svg │ │ │ │ ├─ documentation.svg │ │ │ │ ├─ download.svg │ │ │ │ ├─ drag.svg │ │ │ │ ├─ druid.svg │ │ │ │ ├─ edit.svg │ │ │ │ ├─ education.svg │ │ │ │ ├─ email.svg │ │ │ │ ├─ example.svg │ │ │ │ ├─ excel.svg │ │ │ │ ├─ exit-fullscreen.svg │ │ │ │ ├─ eye-open.svg │ │ │ │ ├─ eye.svg │ │ │ │ ├─ form.svg │ │ │ │ ├─ fullscreen.svg │ │ │ │ ├─ github.svg │ │ │ │ ├─ guide.svg │ │ │ │ ├─ icon.svg │ │ │ │ ├─ input.svg │ │ │ │ ├─ international.svg │ │ │ │ ├─ job.svg │ │ │ │ ├─ language.svg │ │ │ │ ├─ link.svg │ │ │ │ ├─ list.svg │ │ │ │ ├─ lock.svg │ │ │ │ ├─ log.svg │ │ │ │ ├─ logininfor.svg │ │ │ │ ├─ message.svg │ │ │ │ ├─ money.svg │ │ │ │ ├─ monitor.svg │ │ │ │ ├─ nested.svg │ │ │ │ ├─ number.svg │ │ │ │ ├─ online.svg │ │ │ │ ├─ password.svg │ │ │ │ ├─ pdf.svg │ │ │ │ ├─ people.svg │ │ │ │ ├─ peoples.svg │ │ │ │ ├─ phone.svg │ │ │ │ ├─ post.svg │ │ │ │ ├─ qq.svg │ │ │ │ ├─ question.svg │ │ │ │ ├─ radio.svg │ │ │ │ ├─ rate.svg │ │ │ │ ├─ redis-list.svg │ │ │ │ ├─ redis.svg │ │ │ │ ├─ row.svg │ │ │ │ ├─ search.svg │ │ │ │ ├─ select.svg │ │ │ │ ├─ server.svg │ │ │ │ ├─ shopping.svg │ │ │ │ ├─ size.svg │ │ │ │ ├─ skill.svg │ │ │ │ ├─ slider.svg │ │ │ │ ├─ star.svg │ │ │ │ ├─ swagger.svg │ │ │ │ ├─ switch.svg │ │ │ │ ├─ system.svg │ │ │ │ ├─ tab.svg │ │ │ │ ├─ table.svg │ │ │ │ ├─ textarea.svg │ │ │ │ ├─ theme.svg │ │ │ │ ├─ time-range.svg │ │ │ │ ├─ time.svg │ │ │ │ ├─ tool.svg │ │ │ │ ├─ tree-table.svg │ │ │ │ ├─ tree.svg │ │ │ │ ├─ upload.svg │ │ │ │ ├─ user.svg │ │ │ │ ├─ validCode.svg │ │ │ │ ├─ wechat.svg │ │ │ │ └─ zip.svg │ │ │ └─ svgo.yml │ │ ├─ images │ │ │ ├─ dark.svg │ │ │ ├─ light.svg │ │ │ ├─ login-background.jpg │ │ │ ├─ profile.jpg │ │ │ └─ welcome.png │ │ ├─ logo │ │ │ └─ logo.png │ │ └─ styles │ │ ├─ btn.scss │ │ ├─ element-ui.scss │ │ ├─ element-variables.scss │ │ ├─ index.scss │ │ ├─ mixin.scss │ │ ├─ ruoyi.scss │ │ ├─ sidebar.scss │ │ ├─ transition.scss │ │ └─ variables.scss │ ├─ components │ │ ├─ Breadcrumb │ │ │ └─ index.vue │ │ ├─ Crontab │ │ │ ├─ day.vue │ │ │ ├─ hour.vue │ │ │ ├─ index.vue │ │ │ ├─ min.vue │ │ │ ├─ month.vue │ │ │ ├─ result.vue │ │ │ ├─ second.vue │ │ │ ├─ week.vue │ │ │ └─ year.vue │ │ ├─ DictData │ │ │ └─ index.js │ │ ├─ DictTag │ │ │ └─ index.vue │ │ ├─ DynamicForm │ │ │ └─ index.vue │ │ ├─ Editor │ │ │ ├─ cmsEditor.vue │ │ │ ├─ editoritem5.vue │ │ │ └─ index.vue │ │ ├─ FileUpload │ │ │ └─ index.vue │ │ ├─ FilterList │ │ │ ├─ index.vue │ │ │ ├─ search.vue │ │ │ ├─ table.vue │ │ │ └─ 调用实例.md │ │ ├─ Hamburger │ │ │ └─ index.vue │ │ ├─ HeaderSearch │ │ │ └─ index.vue │ │ ├─ IconSelect │ │ │ ├─ index.vue │ │ │ └─ requireIcons.js │ │ ├─ iFrame │ │ │ └─ index.vue │ │ ├─ ImagePreview │ │ │ └─ index.vue │ │ ├─ ImageUpload │ │ │ └─ index.vue │ │ ├─ imageVideoUpload │ │ │ └─ index.vue │ │ ├─ Pagination │ │ │ └─ index.vue │ │ ├─ PanThumb │ │ │ └─ index.vue │ │ ├─ ParentView │ │ │ └─ index.vue │ │ ├─ RightPanel │ │ │ └─ index.vue │ │ ├─ RightToolbar │ │ │ └─ index.vue │ │ ├─ RuoYi │ │ │ ├─ Doc │ │ │ │ └─ index.vue │ │ │ └─ Git │ │ │ └─ index.vue │ │ ├─ Screenfull │ │ │ └─ index.vue │ │ ├─ SelectFile │ │ │ └─ index.vue │ │ ├─ SizeSelect │ │ │ └─ index.vue │ │ ├─ SvgIcon │ │ │ └─ index.vue │ │ ├─ ThemePicker │ │ │ └─ index.vue │ │ └─ TopNav │ │ └─ index.vue │ ├─ directive │ │ ├─ dialog │ │ │ ├─ drag.js │ │ │ ├─ dragHeight.js │ │ │ └─ dragWidth.js │ │ ├─ index.js │ │ ├─ module │ │ │ └─ clipboard.js │ │ └─ permission │ │ ├─ hasPermi.js │ │ └─ hasRole.js │ ├─ layout │ │ ├─ components │ │ │ ├─ AppMain.vue │ │ │ ├─ IframeToggle │ │ │ │ └─ index.vue │ │ │ ├─ index.js │ │ │ ├─ InnerLink │ │ │ │ └─ index.vue │ │ │ ├─ Navbar.vue │ │ │ ├─ Settings │ │ │ │ └─ index.vue │ │ │ ├─ Sidebar │ │ │ │ ├─ FixiOSBug.js │ │ │ │ ├─ index.vue │ │ │ │ ├─ Item.vue │ │ │ │ ├─ Link.vue │ │ │ │ ├─ Logo.vue │ │ │ │ └─ SidebarItem.vue │ │ │ └─ TagsView │ │ │ ├─ index.vue │ │ │ └─ ScrollPane.vue │ │ ├─ index.vue │ │ └─ mixin │ │ └─ ResizeHandler.js │ ├─ main.js │ ├─ permission.js │ ├─ plugins │ │ ├─ auth.js │ │ ├─ cache.js │ │ ├─ download.js │ │ ├─ index.js │ │ ├─ modal.js │ │ ├─ tab.js │ │ └─ tree.js │ ├─ router │ │ └─ index.js │ ├─ settings.js │ ├─ store │ │ ├─ getters.js │ │ ├─ index.js │ │ └─ modules │ │ ├─ app.js │ │ ├─ dict.js │ │ ├─ permission.js │ │ ├─ settings.js │ │ ├─ tagsView.js │ │ └─ user.js │ ├─ utils │ │ ├─ auth.js │ │ ├─ dict │ │ │ ├─ Dict.js │ │ │ ├─ DictConverter.js │ │ │ ├─ DictData.js │ │ │ ├─ DictMeta.js │ │ │ ├─ DictOptions.js │ │ │ └─ index.js │ │ ├─ errorCode.js │ │ ├─ generator │ │ │ ├─ config.js │ │ │ ├─ css.js │ │ │ ├─ drawingDefault.js │ │ │ ├─ html.js │ │ │ ├─ icon.json │ │ │ ├─ js.js │ │ │ └─ render.js │ │ ├─ index.js │ │ ├─ jsencrypt.js │ │ ├─ permission.js │ │ ├─ request.js │ │ ├─ ruoyi.js │ │ ├─ scroll-to.js │ │ └─ validate.js │ └─ views │ ├─ cms │ │ ├─ commonTemplate.vue │ │ ├─ link.vue │ │ ├─ linkconfig │ │ │ ├─ appId.js │ │ │ ├─ external.js │ │ │ └─ route.js │ │ ├─ post.vue │ │ ├─ postconfig │ │ │ ├─ article.js │ │ │ ├─ page.js │ │ │ └─ picture.js │ │ ├─ resource.vue │ │ ├─ term.vue │ │ └─ termconfig │ │ ├─ catalog.js │ │ ├─ menu.js │ │ ├─ tag.js │ │ └─ wxAppMenu.js │ ├─ communityGovernance │ │ ├─ exposure.vue │ │ ├─ merchant.vue │ │ └─ record.vue │ ├─ components │ │ └─ icons │ │ ├─ element-icons.js │ │ ├─ index.vue │ │ └─ svg-icons.js │ ├─ config │ ├─ dashboard │ │ ├─ BarChart.vue │ │ ├─ LineChart.vue │ │ ├─ mixins │ │ │ └─ resize.js │ │ ├─ PanelGroup.vue │ │ ├─ PieChart.vue │ │ └─ RaddarChart.vue │ ├─ error │ │ ├─ 401.vue │ │ └─ 404.vue │ ├─ feedback │ │ └─ index.vue │ ├─ index.vue │ ├─ index_v1.vue │ ├─ infoReview │ │ ├─ customconfig │ │ │ ├─ custom_essc.js │ │ │ ├─ custom_fsbw.js │ │ │ ├─ custom_fucs.js │ │ │ ├─ custom_fucz.js │ │ │ ├─ custom_jzfw.js │ │ │ ├─ custom_qz.js │ │ │ └─ custom_zp.js │ │ └─ index.vue │ ├─ integral │ │ ├─ log.vue │ │ ├─ rule.vue │ │ └─ user.vue │ ├─ login.vue │ ├─ lostfound │ │ └─ index.vue │ ├─ monitor │ │ ├─ cache │ │ │ ├─ index.vue │ │ │ └─ list.vue │ │ ├─ druid │ │ │ └─ index.vue │ │ ├─ job │ │ │ ├─ index.vue │ │ │ └─ log.vue │ │ ├─ logininfor │ │ │ └─ index.vue │ │ ├─ online │ │ │ └─ index.vue │ │ ├─ operlog │ │ │ └─ index.vue │ │ └─ server │ │ └─ index.vue │ ├─ questionnaire │ │ ├─ addFrame.vue │ │ ├─ addFrame2.vue │ │ ├─ index.vue │ │ ├─ notes.vue │ │ └─ paper.vue │ ├─ redirect.vue │ ├─ register │ │ └─ user │ │ └─ index.vue │ ├─ register.vue │ ├─ report │ │ └─ index.vue │ ├─ seat │ │ ├─ address │ │ │ └─ index.vue │ │ ├─ estate │ │ │ └─ index.vue │ │ └─ gridman │ │ └─ index.vue │ ├─ sync │ │ └─ index.vue │ ├─ system │ │ ├─ config │ │ │ └─ index.vue │ │ ├─ dept │ │ │ └─ index.vue │ │ ├─ dict │ │ │ ├─ data.vue │ │ │ └─ index.vue │ │ ├─ menu │ │ │ └─ index.vue │ │ ├─ notice │ │ │ └─ index.vue │ │ ├─ post │ │ │ └─ index.vue │ │ ├─ role │ │ │ ├─ authUser.vue │ │ │ ├─ index.vue │ │ │ └─ selectUser.vue │ │ └─ user │ │ ├─ authRole.vue │ │ ├─ index.vue │ │ └─ profile │ │ ├─ index.vue │ │ ├─ resetPwd.vue │ │ ├─ userAvatar.vue │ │ └─ userInfo.vue │ ├─ tool │ │ ├─ build │ │ │ ├─ CodeTypeDialog.vue │ │ │ ├─ DraggableItem.vue │ │ │ ├─ IconsDialog.vue │ │ │ ├─ index.vue │ │ │ ├─ RightPanel.vue │ │ │ └─ TreeNodeDialog.vue │ │ ├─ gen │ │ │ ├─ basicInfoForm.vue │ │ │ ├─ editTable.vue │ │ │ ├─ genInfoForm.vue │ │ │ ├─ importTable.vue │ │ │ └─ index.vue │ │ └─ swagger │ │ └─ index.vue │ └─ vote │ ├─ activity.vue │ ├─ count.vue │ └─ review.vue └─ vue.config.js ```