@@ -18,17 +18,18 @@ XCEL 是由京东用户体验设计部 [凹凸实验室][1] 推出的一个 Exce
18
18
3 . 强大的筛选逻辑:提供了单列运算逻辑、多列运算逻辑和双列范围逻辑三种筛选方式,并且可通过“且”、“或”和“编组”的方式任意组合。
19
19
4 . 去重功能:提供可指定列的方式进行去重,有效避免数据冗余。
20
20
21
+
21
22
## 图示
22
23
1 . 初始界面
23
24
![ 初始界面] [ 6 ]
24
25
2 . 筛选条件面板
25
26
![ 筛选条件面板] [ 7 ]
26
- 3 . 侧边栏
27
- ![ 侧边栏 ] [ 8 ]
27
+ 3 . 历史文件列表
28
+ ![ 历史文件列表 ] [ 8 ]
28
29
4 . 使用说明
29
30
![ 使用说明] [ 9 ]
30
31
5 . 应用更新
31
- 应用更新
32
+ ![ 应用更新] [ 10 ]
32
33
33
34
## 模块说明
34
35
@@ -45,7 +46,7 @@ XCEL 是由京东用户体验设计部 [凹凸实验室][1] 推出的一个 Exce
45
46
XCEL 推荐使用 node v6.x 作为编译运行环境。另外,构建工具使用了 Webpack。
46
47
47
48
## 构建步骤
48
- 该项目是基于 [ electron-vue] [ 10 ] 开发,该模板的更多信息可以 [ 点击这里] [ 11 ] 查看。
49
+ 该项目是基于 [ electron-vue] [ 11 ] 开发,该模板的更多信息可以 [ 点击这里] [ 12 ] 查看。
49
50
```
50
51
# install dependencies
51
52
npm install
@@ -60,7 +61,7 @@ npm run build
60
61
npm run pack
61
62
```
62
63
63
- 更多构建信息可点击 [ 这里] [ 12 ] 查看。
64
+ 更多构建信息可点击 [ 这里] [ 13 ] 查看。
64
65
65
66
## 初始化项目时可能会遇到的问题
66
67
@@ -89,31 +90,154 @@ ERROR in dlopen(/Users/**/Desktop/XCel/node_modules/node-sass/vendor/darwin-x64-
89
90
90
91
---
91
92
92
- ## 一些有助于理解程序的图片
93
+ ## 一些有助于理解程序的图例
93
94
94
- 1 . Vue 组件结构
95
- ![ Vue 组件结构] [ 13 ]
96
- 2 . Vuex 数据结构
97
- ![ Vuex 数据结构] [ 14 ]
98
- 3 . 解析 Excel 后的数据结构(在 background process 中)
99
- ![ 解析 Excel 后的数据结构] [ 15 ]
100
- 4 . 项目的文件结构
101
- ![ 项目的文件结构] [ 16 ]
95
+ 1 . Vue 组件结构
96
+ ![ Vue 组件结构] [ 14 ]
97
+ 2 . Vuex 数据结构
98
+ ![ Vuex 数据结构] [ 15 ]
99
+ 3 . 解析 Excel 后的数据结构(在 Background Process 中)
100
+ ![ 解析 Excel 后的数据结构] [ 16 ]
101
+ 4 . 项目的文件结构
102
+ ```
103
+ .
104
+ ├── README.md
105
+ ├── app················································应用的代码目录
106
+ │ ├── crashTempate.js································应用崩溃时提交的日志信息
107
+ │ ├── dist···········································应用构建后的代码目录
108
+ │ │ ├── background·································
109
+ │ │ │ ├── excelUtils.js··························
110
+ │ │ │ ├── filterUtils.js·························
111
+ │ │ │ ├── generateHTMLString.js··················
112
+ │ │ │ ├── index.html·····························
113
+ │ │ │ └── index.js·······························
114
+ │ │ └── update·····································
115
+ │ │ ├── index.css······························
116
+ │ │ ├── index.html·····························
117
+ │ │ └── index.js·······························
118
+ │ ├── electron.js····································electron 入口文件(Main Process)
119
+ │ ├── icons··········································electron-packager 打包时所需的应用图标
120
+ │ │ ├── icon.icns··································.icns <--> OSX
121
+ │ │ ├── icon.ico···································.ico <--> Windows
122
+ │ │ └── icon.png···································.png <--> 可选项
123
+ │ ├── ipcMainSets.js·································IPC通讯:主进程
124
+ │ ├── main.ejs·······································页面入口
125
+ │ ├── menuTemplate.js································应用的菜单栏
126
+ │ ├── node_modules···································应用层级的 node_modules
127
+ │ ├── package.json···································应用层级的 package.json(如 Lodash)
128
+ │ └── src············································Vue 相关的目录
129
+ │ ├── App.vue····································单页面的主结构
130
+ │ ├── api········································所有 API 请求(目前为空)
131
+ │ ├── background·································Backgroud Process(Renderer Process)用于处理耗时的操作
132
+ │ │ ├── excelUtils.js··························excel 相关的工具函数集合
133
+ │ │ ├── filterUtils.js·························过滤相关的工具函数集合
134
+ │ │ ├── generateHTMLString.js··················根据excel数据生成相应的 HTML 字符串
135
+ │ │ ├── index.html·····························Background Process 入口文件
136
+ │ │ └── index.js·······························Background Process 入口 JavaScript 文件
137
+ │ ├── components·································组件目录
138
+ │ │ ├── FirstScreenPageView····················首屏的组件目录
139
+ │ │ │ ├── ColSelDialog.vue···················列选择弹框组件
140
+ │ │ │ ├── ExcelDisplay.vue···················Excel 展示组件
141
+ │ │ │ ├── FilterForUnique.vue················去重逻辑表单组件
142
+ │ │ │ ├── FilterFormDoubleColsRange.vue······双列范围逻辑表单组件
143
+ │ │ │ ├── FilterFormMultiCalc.vue············多列运算逻辑表单组件
144
+ │ │ │ ├── FilterFormSingleLogic.vue··········单列运算逻辑表单组件
145
+ │ │ │ ├── FilterPanel.vue····················过滤面板组件
146
+ │ │ │ ├── FilterTag.vue······················过滤标签组件
147
+ │ │ │ ├── FilterTagList.vue··················过滤标签列组件
148
+ │ │ │ ├── GroupSelect.vue····················组别选择组件
149
+ │ │ │ ├── SheetOfExcel.vue···················Excel 的 sheet 组件
150
+ │ │ │ └── uniqueTag.vue······················去重逻辑表单组件
151
+ │ │ ├── FirstScreenPageView.vue················首屏页面结构组件
152
+ │ │ ├── InstructionsPageView···················使用说明组件目录
153
+ │ │ │ ├── Instructions.vue···················使用说明组件
154
+ │ │ │ └── assets·····························静态资源
155
+ │ │ │ └── qrcode.jpg·····················二维码图片
156
+ │ │ ├── InstructionsPageView.vue···············使用说明页面结构
157
+ │ │ ├── assets·································静态资源
158
+ │ │ │ ├── O2-icon.png························O2 图标
159
+ │ │ │ ├── common.scss························通用 CSS 样式
160
+ │ │ │ ├── content.scss·······················使用说面页面的 CSS 样式
161
+ │ │ │ ├── markdown.scss······················markdown 的 CSS 样式
162
+ │ │ │ ├── o2logo.png·························O2 logo
163
+ │ │ │ ├── select.scss························下拉选择框的 CSS 样式
164
+ │ │ │ ├── svg································SVG 图标目录
165
+ │ │ │ ├── table.scss·························table 相关的 CSS 样式
166
+ │ │ │ ├── tabs.scss··························Excel 的 Tabs(sheets) CSS 样式
167
+ │ │ │ └── xcel_logo.png······················xcel Logo
168
+ │ │ └── common·································可复用的组件目录
169
+ │ │ ├── FileList.vue·······················文件列表组件
170
+ │ │ ├── Footer.vue·························底部组件
171
+ │ │ ├── Header.vue·························头部组件
172
+ │ │ ├── Loading.vue························文件处理时的 Loading 组件
173
+ │ │ ├── SideBar.vue························侧边栏组件
174
+ │ │ ├── UpdateDialog.vue···················应用更新弹框组件
175
+ │ │ └── WindowTop.vue······················顶部控制条组件
176
+ │ ├── main.js····································Vue 入口文件
177
+ │ ├── routes.js··································Vue 路由文件
178
+ │ ├── store······································Vuex 数据目录
179
+ │ │ ├── actions.js·····························涉及多个 mutations 的 action 集合
180
+ │ │ ├── getters.js·····························涉及多个 mutations 的 getter 集合
181
+ │ │ ├── index.js·······························Vuex 入口文件
182
+ │ │ ├── modules································模块目录
183
+ │ │ │ ├── clientUpdate.js····················应用更新相关的模块
184
+ │ │ │ ├── excel.js···························Excel 相关的模块
185
+ │ │ │ ├── file.js····························文件相关的模块
186
+ │ │ │ ├── filter.js··························过滤相关的模块
187
+ │ │ │ ├── programWindow.js···················应用窗口的控制模块(如最大化、最小化)
188
+ │ │ │ └── unique.js··························去重相关的模块
189
+ │ │ └── mutation-types.js······················mutation-types 声明
190
+ │ ├── update·····································应用更新的页面(Renderer Procss)
191
+ │ │ ├── index.css······························
192
+ │ │ ├── index.html·····························
193
+ │ │ └── index.js·······························
194
+ │ └── utils······································工具函数目录
195
+ │ ├── ExcelSet.js····························Excel 相关的工具函数
196
+ │ ├── appInfo.js·····························应用相关的信息
197
+ │ ├── localStorageSet.js·····················本地存储的工具函数
198
+ │ └── openExternal.js························通过默认浏览器打开外链的工具函数
199
+ ├── build··············································electron-builder 生成安装包时所需文件(如图标、背景图)
200
+ │ ├── background.png·································Mac 安装时显示的背景图
201
+ │ ├── icon.icns······································OSX 应用图标
202
+ │ ├── icon.ico·······································
203
+ │ ├── install-spinner.gif····························Windons 安装时显示的 GIF 动画
204
+ │ ├── installerHeader································
205
+ │ └── installerHeaderIcon.ico························
206
+ ├── builds·············································electron-packager 打包出来的各平台应用
207
+ │ ├── XCel-darwin-x64································macOS 64位
208
+ │ ├── XCel-linux-ia32································Linux 32位
209
+ │ ├── XCel-linux-x64·································Liunx 64位
210
+ │ ├── XCel-mas-x64···································苹果应用商店(Mac App Store)的 安装包
211
+ │ ├── XCel-win32-ia32································Windows 32位
212
+ │ └── XCel-win32-x64·································windows 64位
213
+ ├── config.js··········································Electron 构建时的配置文件
214
+ ├── node_modules·······································Electron 层级的 node_modules
215
+ ├── package.json·······································Electron 层级的 package.json
216
+ ├── tasks··············································预定义的任务集(如快速新建 Vue 组件等)
217
+ │ ├── release.js·····································
218
+ │ ├── runner.js······································
219
+ │ └── vue············································
220
+ │ ├── route.js···································
221
+ │ ├── route.template.txt·························
222
+ │ └── routes.template.txt························
223
+ └── webpack.config.js··································webpack 配置文件
224
+ ```
102
225
103
226
104
- [ 1 ] : https://aotu.io/
227
+ [ 1 ] : https://aotu.io/
105
228
[ 2 ] : http://jdc.jd.com/lab/xcel/download/1.3.1/xcel-1.3.1.dmg
106
229
[ 3 ] : http://jdc.jd.com/lab/xcel/download/1.3.1/xcel%20Setup%201.3.1.exe
107
230
[ 4 ] : http://jdc.jd.com/lab/xcel/download/1.3.1/xcel%20Setup%201.3.1-ia32.exe
108
231
[ 5 ] : http://jdc.jd.com/lab/xcel/download/1.3.1/xcel-1.3.1-linux-x64.zip
109
- [ 6 ] : https://misc.aotu.io/JChehe/2016-11-15-xcel/graphic11.png
110
- [ 7 ] : https://misc.aotu.io/JChehe/2016-11-15-xcel/graphic22.png
111
- [ 8 ] : https://misc.aotu.io/JChehe/2016-11-15-xcel/graphic33.png
112
- [ 9 ] : https://misc.aotu.io/JChehe/2016-11-15-xcel/graphic44.png
113
- [ 10 ] : https://github.com/SimulatedGREG/electron-vue
114
- [ 11 ] : https://simulatedgreg.gitbooks.io/electron-vue/content/index.html
115
- [ 12 ] : https://simulatedgreg.gitbooks.io/electron-vue/content/docs/npm_scripts.html
116
- [ 13 ] : https://misc.aotu.io/JChehe/2016-11-15-xcel/component-structure.jpg
117
- [ 14 ] : https://misc.aotu.io/JChehe/2016-11-15-xcel/vuex-data-structure.jpg
118
- [ 15 ] : https://misc.aotu.io/JChehe/2016-11-15-xcel/excel-data-analysis.jpg
119
- [ 16 ] : https://misc.aotu.io/JChehe/2016-11-15-xcel/file-structure.jpg
232
+ [ 6 ] : https://misc.aotu.io/JChehe/xcel/initial_interface.png
233
+ [ 7 ] : https://misc.aotu.io/JChehe/xcel/filter_panel.png
234
+ [ 8 ] : https://misc.aotu.io/JChehe/xcel/sidebar.png
235
+ [ 9 ] : https://misc.aotu.io/JChehe/xcel/instructions_for_use.png
236
+ [ 10 ] : https://misc.aotu.io/JChehe/xcel/app_update.png
237
+ [ 11 ] : https://github.com/SimulatedGREG/electron-vue
238
+ [ 12 ] : https://simulatedgreg.gitbooks.io/electron-vue/content/index.html
239
+ [ 13 ] : https://simulatedgreg.gitbooks.io/electron-vue/content/docs/npm_scripts.html
240
+ [ 14 ] : https://misc.aotu.io/JChehe/xcel/component_structure.png
241
+ [ 15 ] : https://misc.aotu.io/JChehe/xcel/data_structure.png
242
+ [ 16 ] : https://misc.aotu.io/JChehe/xcel/excel.png
243
+ [ 17 ] : https://misc.aotu.io/JChehe/2016-11-15-xcel/file-structure.jpg
0 commit comments