产品完善
上传限制
目前已经实现了用户上传文件相关的功能,但是我们没有对于用户上传文件的类型进行规定,这意味着用户可以上传任何类型的文件。这样的话我们的后台服务器很容易就被占满。因此我们需要对类型和大小进行限制
测试:上传doc文件
加载提示
如果用户网速不好,上传时间很长,为了优化体验我们需要让用户知道现在正在加载。无论上传成功与否,结束后loading会消失。如果失败会弹出一个提示。
回到我们管理图片上传状态的image的store里面。我们已经写好了isUploading的状态。
我们现在还需要做loading的效果即可。
我们可以使用antd中的spin加载中组件。
上传历史
数据查询接口
在UpLoader里面新增一个find方法用于查询数据。 根据LeanCloud的例子,
全局状态管理
加载更多实现
同样在List组件内,引入observer以及useStore来渲染列表页面
我们引入antd中的滚动加载组件 其中List组件的数据来源就是我们HistoryStore中的list。
填充加载列表
修复bug&&样式优化
上传之后点击上传历史数据并不会有变化需要手动刷新才可以。 我们可以通过useEffect来实现。我们需要它仅仅执行一次,所以第二个参数为[]。 在离开这个界面的时候进行重制/清空。 所以我们在store中定义一个reset的方法
同理在注销的时候也要进行重置
添加删除功能
在展示历史记录的节目为了方便用户的体验,尝试实现用户点击删除按钮即可删除选中的图片并且从后台中删除。
首先在model中添加删除逻辑:
delete方法接受一个id,这个id就是上传时后台自动生成的objectId,回到store中,
删除之后要更新视图,
最后在页面中加入按钮并且绑定点击事件。
效果如下