weapp-vue-eggjs-shop-demo icon indicating copy to clipboard operation
weapp-vue-eggjs-shop-demo copied to clipboard

一处bug望看一下

Open Macrohoo opened this issue 4 years ago • 4 comments

async saveNew() { const { ctx } = this; try { const rule = { merchant: "object", }; ctx.validate(rule); const uuid = await ctx.service.user.merchant.saveNew(ctx.request.body); this.success(uuid); } catch (err) { const { fields = {}, name } = err; if (name === "SequelizeUniqueConstraintError") { this.fail(ctx.UNIQUE_CODE, 账号:${fields.userName} 的商家已存在); } else { throw new Error(err); } } }

在这段代码中如果抓取err且确实抓取到Unique的错误,确实会报(账号:undefined 的商家已存在)的错误. 可是在后续更换一个账号名去再次注册,且保证账号名是唯一的前提,依旧会报(账号:undefined 的商家已存在)的错误. if (name === "SequelizeUniqueConstraintError") {} 应该是不能用这种方式去捕获错误吧?

Macrohoo avatar Aug 28 '20 04:08 Macrohoo

还有可能bug是不是出在model.create()失败时 的结果处理中遗漏了reject和catch部分

Macrohoo avatar Aug 28 '20 17:08 Macrohoo

而导致的数据库阻塞原因?

Macrohoo avatar Aug 28 '20 17:08 Macrohoo

你好,这个项目基本是我学习的过程,后端代码有的地方写的不成熟或者错误,这里的确不该这么判断,应该有其他更精确的判断

ruiyong-lee avatar Aug 29 '20 03:08 ruiyong-lee

我也是刚在学 前辈有比较成熟基于egg,mysql的商城项目吗? 最好像这份一样带有单页面vue cms系统的

Macrohoo avatar Aug 29 '20 06:08 Macrohoo