内网开发提效指南
❝
工欲善其事必先利其器,使用过内网开发的小伙伴都知道,CV大法在内网基本就废了,查资料也是非常的不便。对于一名程序员来说,如果把搜索引擎和CV键给他ban了,遇到问题后那基本是寸步难行。今天给大家介绍几种帮助内网开发提效的方法,希望能够帮助到大家。
一、文档站点内网部署
可以把项目中所用技术和框架的文档部署到公司内网中。
以elementPlus为例:
1、访问gh-pages分支https://github.com/element-plus/element-plus/tree/gh-pages,下载文档站源码。


2、将文档站部署到内网服务器(以nginx为例)。
server {
listen 9800;
server_name localhost;
location / {
root html/element-plus-gh-pages;
index index.html index.htm;
try_files $uri $uri/ /element-plus-gh-pages/index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
部署后的访问速度也是非常快的

使用这种方式,随着部署的站点增多,后续框架、文档更新的时候,维护起来相对是比较麻烦的。且只能查看文档,遇到问题需要求助度娘还是不太方便。
下面介绍两种物理外挂,可以直接访问外网。
二、USB跨屏穿越器数据线
个人感觉此方案的体验是最好的,缺点是需要两台电脑,并且需要花钱买一根线,价格在80-200之间。
购买
某宝、某鱼都有销售,我是在某宝85块买的。

使用
连接两台电脑的USB端口即可,会自动安装驱动,那根线实际上就相当于是一个文件中转器,可以实现剪切板、文件的互传。使用体验就跟一台电脑连接了两台显示器一样。如下图所示:

三、手机投屏
本文重点介绍此方案,因为可以白嫖且不需要第二台电脑。一部安卓手机+数据线即可,缺点是文件传输不太方便。它就是一个开源投屏项目scrcpy。可以看到,此项目在github上拥有高达102k的star数量。

✨亮点
- 亮度 (原生,仅显示设备屏幕)
- 表演 (30~60fps)
- 质量 (1920×1080或以上)
- 低延迟 (70~100ms)
- 启动时间短 (显示第一张图像约1秒)
- 非侵入性 (设备上没有安装任何东西)
- 不需要 ROOT
- 有线无线都可连接
- 可以随便调整界面和码率
- 画面随意裁剪,自带录屏(手游直播利器)
- 支持多设备同时投屏
- 利用电脑的键盘和鼠标可以控制手机
- 把 APK 文件拖拽到电脑窗口即可安装应用到手机,把普通文件拖拽到窗口即可复制到手机
- 手机电脑共享剪贴板
- 自动检测USB连接的设备
- 可直接添加设备的局域网IP,达到无线控制的效果
- 将自动保存连接过的IP地址,下次输入时,自动提醒
- 支持设备别名
- 支持中英两种语言
- Tray menu
- 等等等...
安装
根据不同系统直接去release页面下载对应版本即可:github.com/Genymobile/…

使用
下载解压完,进入软件目录,点击下图按钮打开命令行界面,输入启动命令即可。

命令行输入scrcpy,按回车, 猿神,起洞!

启动之后,即可使用鼠标操作手机,非常的丝滑
1、手机复制文本到电脑

2、电脑复制文本到手机

可以看到,使用投屏的方式,也可以实现CV大法。并且可以使用手机端的外网搜索资料、解决问题等。以下是该项目的快捷键,熟练使用,即可达到人机合一的地步。
快捷键
| 操作 | 快捷键 | 快捷键 (macOS) | ||
|---|---|---|---|---|
| 切换全屏模式 | Ctrl+f | Cmd+f | ||
| 将窗口调整为 1:1 | Ctrl+g | Cmd+g | ||
| 调整窗口大小以删除黑色边框 | Ctrl+x | 双击黑色背景 | Cmd+x | 双击黑色背景 |
设备HOME键 | Ctrl+h | 鼠标中键 | Ctrl+h | 鼠标中键 |
设备BACK键 | Ctrl+b | 鼠标右键 | Cmd+b | 鼠标右键 |
设备任务管理键 | Ctrl+s | Cmd+s | ||
设备菜单键 | Ctrl+m | Ctrl+m | ||
设备音量+键 | Ctrl+↑ | Cmd+↑ | ||
设备音量-键 | Ctrl+↓ | Cmd+↓ | ||
设备电源键 | Ctrl+p | Cmd+p | ||
| 点亮手机屏幕 | 鼠标右键 | 鼠标右键 | ||
| 关闭设备屏幕(保持镜像) | Ctrl+o | Cmd+o | ||
| 展开通知面板 | Ctrl+n | Cmd+n | ||
| 折叠通知面板 | Ctrl+Shift+n | Cmd+Shift+n | ||
| 将设备剪贴板中的内容复制到计算机 | Ctrl+c | Cmd+c | ||
| 将计算机剪贴板中的内容粘贴到设备 | Ctrl+v | Cmd+v | ||
| 将计算机剪贴板中的内容复制到设备 | Ctrl+Shift+v | Cmd+Shift+v | ||
安装APK | 将APK文件拖入投屏 | 将APK文件拖入投屏 | ||
| 传输文件到设备 | 将文件拖入投屏 | 将文件拖入投屏 | ||
| 启用/禁用FPS计数器(stdout) | Ctrl+i | Cmd+i |
使用小技巧
经过笔者几天的使用,总结出几个小技巧。
1、电脑键盘控制手机进行中文输入,必须使用正确的输入法组合。
手机端:讯飞输入法(搜狗输入法不支持)
电脑端:ENG(使用英文键盘)
2、手机熄屏状态下投屏。 在scrcpy命令后加上熄屏参数即可:scrcpy --turn-screen-off

这样就可以在手机熄屏的状态下,仍可以被电脑操作,达到节省电量和减轻发热的目的。
诸如此类的命令参数还有很多,执行scrcpy --help就可查看详细的帮助文档。

衍生项目
因为开源的特性,scrcpy也衍生了一些相关项目,列举其中一些:
- QtScrcpy 使用qt重新实现的桌面端,并加强了对游戏的支持。
- scrcpy-gui 为scrcpy的命令行提供了gui界面。
- guiscrcpy 另一个scrcpy的gui界面。
- scrcpy-docker docker版本的scrcpy。
- scrcpy-go go语言版本的scrcpy,增强对游戏的支持。
总结
第二第三种方法虽然建立了内网开发电脑和外网设备的联系,但是是不会被公司的安全系统检测到一机双网的,因为其本质就类似于设计模式中的发布订阅模式,用数据线充当了中间人,两台设备之间方便传输数据了而已,不会涉及到联网。
内网开发的痛点,无非就是复制粘贴、文件传输不便,只要打通这个链路,就能解决此问题。以上三个方法,笔者在实际工作中都用到了,确实极大的提高了工作效率。如果你也在饱受内网开发的折磨,不妨试试这几个方法。
来源:juejin.cn/post/7362464700879716403