109-2024-06-22周总结
- iOS泰文问题
- jenkins windows节点git没有权限
- mongo entity framework core问题
- cocos spine computeWorldVertices问题
1. iOS泰文问题
老项目在做泰文多语言的时候发现iOS泰文没有任何显示,即使iOS切到泰文语言也一样,怀疑是没有泰文字体,找了个泰文字体放进去之后泰文显示出来了,但是还是有部分地方不显示。最终定位到原因是泰文字体比想象中的高,修改Text组件的VerticalOverflow为Overflow解决
2. jenkins windows节点git没有权限
比较奇怪相同的凭证linux节点可以,但是windows节点用不了,最后定位到是本地小乌龟记录的凭证冲突了,小乌龟设置里面把记录的git凭证清楚了就可以了
3. mongo entity framework core问题
上周说过要把统一后台干的事情下沉到各个游戏,这周把一个游戏替换成这样,主要就是账号,充值,事件,服务器列表这几块。
因为线上只有一台mongo,而我又比较希望后续能快速将代码改成支持mysql,所以首先想到的是mongo能否支持entity framework core。
搜了下还真有(链接),但是只能使用.net8,为了使用它我还特意把项目升级到.net8。
在使用过程中比较恶心的就是设置Primary Key问题,mongo默认将_id作为主key,所以就需要在Model结构里面默认填个结构
1 | [BsonId] |
这个结构必须加,最好直接拷贝过去,少了某个属性标签或者 get set都可能导致问题。
目前遇到的问题:
- 报错没有设置Key
- 报错_id不能转成对象key数据类型
- 多个类型执行mongodb的_id
4. cocos spine不同平台不一致问题
我们用了spine,同时需要用到spine播放过程中的顶点来实时设置包围盒位置,所以用到了相关函数
1 | let attachment = sk.getAttachment('dragon_collider01', 'dragon_collider02') as sp.spine.VertexAttachment; |
但是computeWorldVertices
在H5和小游戏平台下都好的,但是android下面会报错,找不到这个函数。
无奈只能自己网上找了一个这个实现方式
1 | private computeWorldVertices(slot, start, count, worldVertices, offset, stride) { |