笔记

2024年4月13日 #

爬虫工具 Easy Scraper

登录鉴权服务 https://fusionauth.io/

Tailwind组件库 4244 UI elements: CSS & Tailwind (uiverse.io)

Tailwind组件库 shadcn/ui

低端影视 - 超清在线视频站 (ddys.pro)

SaaS模板 ixartz/SaaS-Boilerplate

SaaS模板,d-ivashchuk/cascade

OpenAI 接口转发站 头顶冒火 (burn.hair)

Twitter的找工作平台 X (twitter.com)

AI移除图片的背景 fiama 插件 ImgGen AI - Background Remover | Figma

GitHub 文件下载代理。部署在Cloudflare Workers。 hunshcn/gh-proxy

李笑来的《人人都能用英语》 xiaolai/everyone-can-use-english:

AI移除图片背景 Background Remover

Notion like 块编辑 BlockNote

cloudflare-workers-blog: 博客

精选的 Cloudflare 工具、开源项目、指南、博客和其他资源列表。 (github.com)

一个开源React.js组件库漂亮彩色的画布 UVCanvas

old #

mobx的observable变成非observ的变量 #

以@observable声明的变量,可以会变成普通的对象,而失去响应能力,可能是应为直接复制的操作导致的。

1
2
3
4
5
@observable
private rowData = []; // 这样rowData是不是observable的?

@observable
private rowData = observable([]); // 需要这样赋值才行吗?

indicatorMap需要使用observable.ref声明才能监听到。用observable声明并用replace替换的话就不能监听到了.

1
2
3
4
5
6
reaction(
  () => indicatorMap, 
  (indicatorMap) => {
    console.log(1);
  },
),

8月13日review #

  1. cellRendererFramework改成cellRender

改了cellRender以后不显示了。

  1. 没有AgSelect这个组件

MetadataHelper.resolveFullTitle()

列表中实现编码列跳转到编辑 #

实现新建页面保存后刷新列表 #

  1. 在定义路由时,将props传给presenter
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    
    ..renderBizForm({
      entityName: EN_Customer,
      title: '客户',
      // hashPrefix: '/customer/form',
      createPresenter: async (props, queryParams = {}) => {
        const { CustomerFormPresenter } = await importCustomerForm();
        return new CustomerFormPresenter({
          ...props,
        });
      },
    }),
    
    easyBizForm在constructor中将props赋值给_options,其中包含 passParams ,跳转到create界面时,会存一个onSuccess在路由中,通过passParams姐可以拿到这个onSuccess了。

错误提示信息 #

什么情况会出现唯一性错误?

哪些错误需要解析?

哪些错误是没有具体error信息,只有message的?

单元测试覆盖率 #

jest apps/link/src/main/screens/projects/budget --coverage

jest src/main/screens/projects/budget --coverage

refer是怎么渲染出来的,怎么才能变成多选? #

在编制方案中,使用了MSTFormLayout和MSTFormElement来实现project的refer。MSTFormLayout中有DataField,它根据field.type确定project是refer,然后使用了ReferField组件又Refer组件。

这个组件里根据metadata取到entity对应的参照方案。

1
this.referConfig = metadata.getReferConfig(entityName, referName);

参照方案内包含了是否为多选的配置 referConfig.multi

还可以通过参数,透传到Refer组件。

1
<MSTFormElement path="project" isMulti={true}>

遇到问题:需要将project的初始值改为数组 在formCreated生命周期中,进行赋值操作

1
this.form.select('project').value=[];

最佳实践1 #

1
2
3
4
5
6
projectEligibles.forEach((item, index)=>{
  this.presenterApi.getEntityCRUD().deleteRowByRealIndex('projectEligibles', index);
})
newProjectItems.forEach((item) => {
  this.presenterApi.getEntityCRUD().appendRow('projectEligibles', this.getProjectAttr('Project', '项目', item))
})