花了两周时间简单学习了下 Flutter,然后把之前我的网页版网络剪切板做成了 App。
这里是原来的网页版(手机浏览器可以自适应):https://oc.to0l.cn
这里是 Android App 下载地址:https://fir.im/yhu7
这里是 iOS App 下载地址:https://apps.apple.com/us/app/%E7%BD%91%E7%BB%9C%E5%89%AA%E5%88%87%E6%9D%BF/id1485974770
这里是网页版的源码:https://github.com/ety001/online-clipboard
这里是 App 源码:https://github.com/ety001/oc_flutter
网络剪切板的网页版已经运行了四年多了,最初是为了解决在某些情况下 PC 端不方便安装 IM 的时候,可以快速从其他 PC 端传入待执行的 CLI 命令。
最近正好有一些时间,所以就学了下 Flutter 做了个 App。 目前对于 Flutter 代码的一些结构还不是很好的理解,所以代码里有些东西自我感觉写的不是很好。 不过对于初学者来说也能作为一个可以参考的例子吧。
PS:iOS 版安装后,应用名是 oc_flutter 是因为我忘记修改了,新版本已经提交审核了。这一点我很想吐槽 Flutter 的 CLI 工具居然不能自己去生成对应的配置,这很烦啊。像 cordova 会根据 config.xml 去自动生成 Android 和 iOS 的配置文件,开发者在 config.xml 里配置好,就不用操心别的了。
1
luogege 2019-11-04 12:25:18 +08:00
能选择删除一些就好了
|
5
nicoljiang 2019-11-04 12:51:00 +08:00
Mac 和 iPhone 不是都原生支持了嘛?
文本、图片、视频、大文件,都很好。 |
6
ety001 OP @nicoljiang 如果你有拿着 MacBook Air 去维护一个不允许装 IM 的 Linux 设备的场景的时候,可能就会用到类似我这样的工具了。
|
7
leaves7i 2019-11-04 17:07:36 +08:00
提个建议,如果能快速选择并复制到剪贴板,对我就够用了
|
9
zhigang1992 2019-11-05 11:43:29 +08:00
要是能有一个 cli 就好了
|
10
ety001 OP @zhigang1992 cli 一直想弄,但是没有想好怎么弄比较好。预留一个可以 curl 的接口?
|
11
UserNameisNull 2019-11-05 14:53:10 +08:00
哈哈,巧了,我这有个 CURL 的接口
https://www.v2ex.com/t/614994 |
12
ety001 OP |
13
Mtianmin 2019-11-06 13:43:38 +08:00
想要那个网络 U 盘的...
|
14
ety001 OP |
17
cytong1994 2019-11-24 10:08:31 +08:00 via Android
老哥,自己部署的服务端咋用不了,打开显示的是空白页,服务器后台显示“PHP Notice: Undefined offset: 2 in /source/server.php on line 121”
|
18
ety001 OP @cytong1994
使用的 docker 部署的吗? 如果是按照我库里的 README 操作的话,那么 8000 端口开的是 websocket 服务,不是直接用浏览器访问的。 静态页面在 fe 分支下,切换到那个分支,npm install,然后修改里面的服务器地址为你自己搭建的 websocket 服务地址,再 npm build 编译即可。 如果找省劲,可以直接用 gh-pages 分支,修改 app.17dd6270.js 里面的 wss://oc-server.to0l.cn 为你自己的 websocket 地址。 |
19
cytong1994 2019-11-25 19:56:25 +08:00
@ety001 是用 docker 部署的, 按库里的 README 的话 websocket 服务开的不是 8080 端口吗?还有请问服务端和静态页面在同一台机器上,应该把 app.17dd6270.js 里面的 wss://oc-server.to0l.cn 修改成啥?小白不太懂。。。
|
20
ety001 OP @cytong1994
口误口误,默认是 8080,我打错了。 按照 README 操作的话,操作完,应该会有两个容器在运行,一个是 redis,一个是 php 写的 websocket 服务(开了 8080 端口)。 然后用户最终访问的其实是 gh-pages 分支下的纯静态页面,在静态页面的 js 里设置你的 websocket 地址。现在代码里默认是 `wss://oc-server.to0l.cn`,你用 `ws://你的服务器 IP:8080` 替换掉 `wss://oc-server.to0l.cn`。 |
21
cytong1994 2019-11-25 20:30:51 +08:00
@ety001 搞好了,之前用了“ws://服务器 IP:8080”也不行,刚才看了下忘记了浏览器缓存。。。
|
22
cytong1994 2019-11-25 20:33:50 +08:00
@ety001 为啥用 localhost,127.0.0.1 之类的本地回环打不开啊?
|
23
ety001 OP @cytong1994 你要是搭建在你自己的电脑上,那用 localhost。你要是搭建在远程服务器,你觉得用 localhost 能访问?
|
24
cytong1994 2019-11-25 22:54:50 +08:00
@ety001 额,表达有误,我是说静态页面里 js 里设置的“ws://服务器 IP:8080",服务器 ip 换成 localhost。
|
25
ety001 OP @cytong1994 我说的就是 app.js 里的啊。你的 websocket 服务部署在哪里?你的本地吗? localhost 和 127.0.0.1 是指的你的本地啊。你要是把服务部署在远端,你怎么可能能用 localhost 访问到远端的服务?
|
26
ety001 OP @cytong1994 请再多学习些网络知识。
|
27
cytong1994 2019-11-26 15:41:25 +08:00
@ety001 懂了懂了,非常感谢!
|