亿企道
前言
亿企道和亿企拍是我主导开发的两个大型软件项目,比较全面的体现了我当前的技术栈
技术栈
vc++(MFC), c#(avalonia ui), golang(gorm, validator, fiber, gorilla), nodejs(vue3, uniapp, element-plus), redis, mysql, webview(webview2, WKWebview)
😂可能连我自己都不能列举完整…
定制开发的软件安装程序
- 为了颜值和前置安装检测而开发的软件安装程序(主要是win10以下环境需要安装兼容版本的webview2)
- 使用VC++ MFC开发: 理由是作为安装程序,自己本身必须足够小,而且应该能无任何依赖即可运行


系统主程序
- 使用C# avalonia ui框架开发:目的是为了跨平台
- 使用.net10 aot编译:期间克服了众多编译错误,最终成功:目的是为了让系统不依赖.net framework运行。通过aot编译也防止了C#软件容易被反编译的痛点!
- 使用golang + cgo开发了一个IM服务:目的是为了跟这个库跨平台复用(windows,macos)
- 兼容windows7+,Macos10+。理论上支持linux,但目前没有测试过
- 功能类似企业微信:有工作台,企业切换,员工管理,权限管理等
- 系统界面相当精美,远非一般套壳软件可比


插件机制
- 管理员可动态管理工作台中的插件
- 插件使用nodejs + vue3 + element-plus + mf-ui(自研的UI框架) + mfbridge(自研,用于跟主程序通信)
- 内置企业管理插件,用于管理员工及其权限


后端
- 使用golang + fiber + gorilla + mysql
- mfwork: 基于fiber封装,实现声明式插件后台开发。此外mfwork还包含一套基于gorilla的即时通信协议(IM),实现了点对点通信,join room,leave room,broadcast等操作
- 使用redis缓存
- 编码严谨,使用gorm, validator等优秀第三方库
- 对接了阿里云短信、微信小程序接口、七牛云存储等众多第三方云服务
- 实现了运行环境和附件存储的分离,使单台服务器可以承受更多的并发
- 使用mysql事务,保证数据一致性,防止并发产生的脏读脏写
- 在高并发场景适当使用读写锁,防止并发访问导致的panic

微信小程序端
- 使用uniapp + vue3开发,目前主要实现桌面端的扫码登录
- 扫码预览、扫码登录均通过IM即时推送,使用相当丝滑
Next
- 这是一套对标企业微信设计的软件系统,实现了工作台、多企业切换等功能
- 可在此基础上深度开发,实现邮件、员工间会话、企业OA功能等
- 目前内置一个企业管理插件,实现基础的企业管理
- 我在此平台基础上开发了亿企拍,这是一套服务于拍卖行业的在线竞拍系统,目前已服务众多拍卖企业。也算是另一套比较大型的软件工程了!