发布了自己的第一个 App -- 网络剪切板

2019-11-04 12:14:05 +08:00
 ety001

花了两周时间简单学习了下 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 里配置好,就不用操心别的了。

6183 次点击
所在节点    分享创造
27 条回复
luogege
2019-11-04 12:25:18 +08:00
能选择删除一些就好了
ety001
2019-11-04 12:27:13 +08:00
@luogege 不要在意这些,50 条后就覆盖了。
luogege
2019-11-04 12:32:19 +08:00
@ety001 主要是,如果我是很长或者很多的文章要审阅复制粘贴修改,就会显得很长很很乱。也就说明你这个还不如用记事本方便
ety001
2019-11-04 12:45:52 +08:00
@luogege 额。。。我这个不是记事本。。。
nicoljiang
2019-11-04 12:51:00 +08:00
Mac 和 iPhone 不是都原生支持了嘛?
文本、图片、视频、大文件,都很好。
ety001
2019-11-04 12:59:33 +08:00
@nicoljiang 如果你有拿着 MacBook Air 去维护一个不允许装 IM 的 Linux 设备的场景的时候,可能就会用到类似我这样的工具了。
leaves7i
2019-11-04 17:07:36 +08:00
提个建议,如果能快速选择并复制到剪贴板,对我就够用了
ety001
2019-11-04 17:08:58 +08:00
@leaves7i 你是指的在网页版,实现点击即复制吗?
zhigang1992
2019-11-05 11:43:29 +08:00
要是能有一个 cli 就好了
ety001
2019-11-05 12:30:54 +08:00
@zhigang1992 cli 一直想弄,但是没有想好怎么弄比较好。预留一个可以 curl 的接口?
UserNameisNull
2019-11-05 14:53:10 +08:00
哈哈,巧了,我这有个 CURL 的接口
https://www.v2ex.com/t/614994
ety001
2019-11-05 15:01:39 +08:00
Mtianmin
2019-11-06 13:43:38 +08:00
想要那个网络 U 盘的...
ety001
2019-11-06 15:28:38 +08:00
Mtianmin
2019-11-06 21:26:17 +08:00
@ety001 好的谢谢,php 版本是否需要支持什么扩展,或者特定的环境设置
ety001
2019-11-06 23:40:32 +08:00
@Mtianmin 没有什么特别的要求,能跑 laravel 就可以了。就是一个非常简单的上传功能。
cytong1994
2019-11-24 10:08:31 +08:00
老哥,自己部署的服务端咋用不了,打开显示的是空白页,服务器后台显示“PHP Notice: Undefined offset: 2 in /source/server.php on line 121”
ety001
2019-11-24 23:42:44 +08:00
@cytong1994

使用的 docker 部署的吗?

如果是按照我库里的 README 操作的话,那么 8000 端口开的是 websocket 服务,不是直接用浏览器访问的。

静态页面在 fe 分支下,切换到那个分支,npm install,然后修改里面的服务器地址为你自己搭建的 websocket 服务地址,再 npm build 编译即可。

如果找省劲,可以直接用 gh-pages 分支,修改 app.17dd6270.js 里面的 wss://oc-server.to0l.cn 为你自己的 websocket 地址。
cytong1994
2019-11-25 19:56:25 +08:00
@ety001 是用 docker 部署的, 按库里的 README 的话 websocket 服务开的不是 8080 端口吗?还有请问服务端和静态页面在同一台机器上,应该把 app.17dd6270.js 里面的 wss://oc-server.to0l.cn 修改成啥?小白不太懂。。。
ety001
2019-11-25 20:26:03 +08:00
@cytong1994
口误口误,默认是 8080,我打错了。

按照 README 操作的话,操作完,应该会有两个容器在运行,一个是 redis,一个是 php 写的 websocket 服务(开了 8080 端口)。

然后用户最终访问的其实是 gh-pages 分支下的纯静态页面,在静态页面的 js 里设置你的 websocket 地址。现在代码里默认是 `wss://oc-server.to0l.cn`,你用 `ws://你的服务器 IP:8080` 替换掉 `wss://oc-server.to0l.cn`。

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

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

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

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

© 2021 V2EX