作為一個設計師,我寫了一個七牛上傳的 App

2017-01-24 06:16:52 +08:00
 cctrv

作為一個設計師,我寫了一個七牛上傳的 App

其實也就是前端的工作居多。

某日,一友人因把文件上傳到 Dropbox 而引發眾怒。 然而,百度雲也越來越不好用了。

故之,我隨意吐槽之。 某日把七牛做一個右鍵服務而方便之。

於是乎,週六深夜見平日寫小程序已悶死,就想起答應友人的事情了。 選用 electron-vue 作為基礎框架開發。 雖然 nodejs 也就是學了 5 日, ES6 也才接觸 7 日, Electron 更不用提了,第一次用。 VUE 也是第一次用。 之前只有 jQuery 和 angularjs \ CSS3 \ HTML \ PHP \ SQL 這些基礎而已。

設計定稿

作為一個設計師,怎麼也要樣子好看,所以就以設計稿起步為先。

我把主界面畫了出來,確定好 UI 風格了。

代碼編寫

代碼是開始在週日凌晨 1 點多。 我選用了 electron-vue 作為解決方案。

不過,由於 VUE 不熟悉,也碰到了一些坑。

例如:

  1. 不知道如何引用文件(感覺以前的前端技能被殘廢了一樣)
  2. 寫完 CSS 才發現, A 頁面的 CSS 會干擾 B 頁面的 CSS (我還以為和小程序、 React 那樣)
  3. VUE 的路由我理解了好長時間才明白。

我以前一直寫 jQuery ,異步和 DOM 管理沒什麼問題。可是遇到 VUE ,我真的覺得腦子的思維要轉變了哦。 特別是路由,這個明明不就是後端的事情嗎?怎麼前端模板也有路由概念,我折騰了有 1 小時,才發現原來所謂路由不是跳轉 GET/POST 的意思,而是切換顯示的頁面。

Google 時候一直出現的 SPA 這個詞,其實我也沒理解。直到我剛才專門 Google 才知道了。大哭。

Electron 的坑

這貨坑也不少。

例如:

  1. 複製粘貼在 Build 后完全用不了。
  2. 一開始抓頭在思考怎麼做 GET 和 POST ……
  3. 背景模糊玻璃效果,還沒能實現,不過在 demo 的確能做到。
  4. 打包后,竟然找不到 modules ……

七牛的坑

七牛這個坑實在太大了。官方的 NODEJS SDK 雖然在 npm run dev 能用,在打包后,會開多個窗口,也上傳不了文件。

開發

總之而言,在我 App 編寫 6 個小時候之後,終於基本可以面世了。以 Electron 的方案來開發 App 的確比傳統要舒服和快,而且動畫效果寫起來不吃力(畢竟強大的 CSS3 動畫真厲害),所以我在 App 添加了比較多的動畫效果。

Electron 打包的確很大,也無解。經過 ZIP 壓縮后有 40 多 MB ,還算能接受。

後續想法

還有一些想加入來的東西還沒加,例如拖入文件上傳,以及顯示上傳時候的進度和網速。我相信顯示上傳進度應該沒可能了,但是網速我應該去 Google 找找解決方案。 Electron 如果有更多原生插件就好了。

界面

動畫效果

留給你們自己體驗看吧。

https://github.com/qoli/QiNA

8073 次点击
所在节点    分享创造
58 条回复
hzwei
2017-01-24 06:36:18 +08:00
好赞啊~
ETiV
2017-01-24 06:49:03 +08:00
css 那个,你给 style 加个 scoped ,就可以隔离样式的作用域了
ETiV
2017-01-24 06:51:19 +08:00
上传文件,有个 blueimp 的 jquery file upload 可以直接用。能显示进度的~
jdlau
2017-01-24 08:35:59 +08:00
头像好赞啊!
appppap
2017-01-24 08:36:11 +08:00
这 UI 很赞啊
starvedcat
2017-01-24 08:40:26 +08:00
taiwan no.1
neoz
2017-01-24 08:50:40 +08:00
UI 大赞!感谢分享
designer
2017-01-24 09:06:39 +08:00
支持!
AlwaysBee
2017-01-24 09:08:01 +08:00
不错,之前也尝试用 Electron ,无奈体积太大了
viko16
2017-01-24 09:19:12 +08:00
夭寿啦,设计师要来抢饭碗啦!!(笑
ninjadq
2017-01-24 09:31:51 +08:00
楼主这么好看,做的什么都棒。不过实事求是的说,设计好赞呀!!!!
Ellison
2017-01-24 09:32:08 +08:00
虽然很久没刷 G+,但是看到头像就认出来了...
cheetah
2017-01-24 11:01:34 +08:00
好看
HCCG
2017-01-24 11:33:00 +08:00
牛逼
songz
2017-01-24 11:51:08 +08:00
楼主写开发教程吧~
HLT
2017-01-24 11:51:51 +08:00
so cool
WittBulter
2017-01-24 11:55:56 +08:00
我也写了一个,自动递归文件夹下所有项目,上传至七牛,也支持阿里 cdn ,命令行的。。。
还没发布,懒得写了。。。
https://github.com/WittBulter/static-deploy

顺便, electron 显示进度条监听上传事件即可,进度条 mac 和 windows 都有默认,调用就行了,上传完了 mac 需要再弹一下下面的 dock 什么的,找不到 module 可能是你 html 的 base 设置错了导致的。
lijy91
2017-01-24 12:02:35 +08:00
我想问的是你是怎么解决打包找不到 modules 的问题,我最近也正在用 electron-vue 这个脚手架,也是卡在这个问题。
SuperMild
2017-01-24 12:19:44 +08:00
LZ 微博很多美照啊,出品也棒
wjswxp
2017-01-24 13:00:22 +08:00
赞一个!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/336563

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX