Crab's Blog

CC 二三事

Cover Image for CC 二三事

CrabCity 概述

这是一个从22年7月从一张恶地地图开始的小型城市,先后经历多次换档重档以及更换服务器、服务端和版本,并且出现过多次意外事故。
现在濒临解体,但是正在准备更新到 1.20.1.

一些非开发类(非螃蟹服)项目

一些不属于配套应用开发或者开发者不是我的项目。
当然也有一些我帮别人写的关联度比较大的项目。

螃蟹历史教科书(非开发类)

由粉末教育出版社负责教科书的编辑和设计工作,在12月大框架编辑完毕后每周六或周天连载在博客和螃蟹的小屋公众号上。现在暂未发布。

CTPlus(RedsXi)

螃蟹的MTR模组(Crab Transit+,原名 CrabGC's Extension of MTR,可以在MC百科或者Modrinth上找到我们!

北武论坛(跟螃蟹服无关)

一月份对北武论坛进行了一些改动,合入Vue框架后渲染了一些DOM,可以在这里查看

祎果的一些项目(跟螃蟹服无关)

祎果(@流星灯辉)的核心开发者,流萤表情包生成器、桌宠以及大部分Web页面的手机化适配和部分工具组件库是我开发的。拥有核心9个仓库的访问权限,并且开发了一个其他单页用来展示小程序和其他项目。
点击跳转主站 点击跳转小程序

流萤厨论坛,CrabSSO 单点登录(跟螃蟹服无关)

均属于二月份流萤热潮中的分支项目。CrabSSO 目前是所有项目中登录系统的核心,是最核心的系统,如果该系统崩溃螃蟹服80%以上的业务将无法正常运作。
点击跳转流萤厨论坛 点击跳转CrabSSO(客户登录)

仙舟通鉴(已死勿念)

去年八月份为对抗米家游戏节奏而设立的记录岁月史书的Wiki,后因资金问题关闭(是不是很熟悉?)。但是仙舟通鉴为以后所有项目均做了技术铺垫,例如:

  1. 开始使用状态管理系统
  2. 开始使用Vue组件(以前是一个文件复制一遍)
  3. 更换了Express后端
  4. 大量使用了 TypeScript

其他项目

具体可以去看我的 GitHub(@HeyCrab3).

螃蟹服踩的坑

现在来到了正式踩坑的阶段。

我现在依然在后悔当初为什么用Nuxt这个该死的框架。

玩家大厅

blog

如图,这是螃蟹服的三个核心代码仓库(App并没有仓库,这是悲伤的:()。看外表可能觉得很干净,但实质上:

blog

看到这个目录结构你觉得他还干净吗?

TypeScript

blog

是的,TypeScript并不知道这几个参数的类型(实际上都应该是JSON字典格式),他只会一个劲的显示未定义,并且无法找到有效的方式扩充。

blog

类型全都是unknown,类型补全在这里只会帮倒忙。

老奶奶上楼梯

blog

对,Naive UI让我这么写。

无需多言,上图自明。

大小

blog

这很恐怖。

玩家中心还有更多的历史遗留问题。不再展开。

CrabCity Launcher

这个涉及到和IPC通信有关的问题。

结构

blog

相对看着简单很多了。

TypeScript

blog

猜猜ts-ignore干什么用的?

另外在生产环境运行时两个变量都是undefined。

blog

显然方法没有导入。但是eslint这个时候已经死掉了。

blog

这是用来扩充Window类的。我会把版本信息之类的所有需要提前导入的数据放在html的head中的第一个script内以便里面的shadow dom使用(因为在里面用根本导不进来)。

蠢爆了的点子

electron当中不适合塞Express进去。

blog

你认为他能扫描到对罢?

对,雀食能扫描到,但是很快就似了,两个环境死法还不一样。

开发环境的死法是:

blog

无法加载TS模块。

生产环境似的更直接:找不到文件。

blog

App

直接没有Git库。看啥?

后端

后端相对来讲没啥问题。

TypeScript

blog

扩充用的,然后在其他区域就产生了any|undefined的各种问题。我装瞎没看到。

blog

从来没用过的build指令。

还有更多...

我不想写了。

未来规划

目前最新的规划是尽快升级到1.20.1.

剩下的,以后再说。

欢迎关注【螃蟹的小屋】公众号,获取螃蟹服一手资讯