芋道源码yudao-cloud 二开日记(商品sku数据归类为规格属性)

商品的每一条规格和属性在数据库里都是单一的一条数据,从数据库里查出来后,该怎么归类为对应的规格和属性值?如下图:

在这里插入图片描述

在商城模块,商品的单规格、多规格、单属性、多属性功能可以说是非常完整,如下图:

在这里插入图片描述

在多规格设置里,每添加一项属性,规格列表里都会增加一项,每添加一个属性值,规格列表里也会增加一条对应的项。

在这里插入图片描述
下图为表格里规格在数据库中的数据,直接存了字符串数据:
在这里插入图片描述
从数据库查出来以后得到的是多条数据,想处理为对应的规格和属性也有很多的方式和方法,可以在前端处理也可以在后端处理,本来我想在后端处理的,转换数据的方法前端一个函数是可以直接引入调用的,方法如下:

/**
 * 获得商品的规格列表 - 商品相关的公共函数
 *
 * @param spu
 * @return PropertyAndValues 规格列表
 */
const getPropertyList = (spu: Spu): PropertyAndValues[] => {
  //  直接拿返回的 skus 属性逆向生成出 propertyList
  const properties: PropertyAndValues[] = []
  // 只有是多规格才处理
  if (spu.specType) {
    spu.skus?.forEach((sku) => {
      sku.properties?.forEach(({ propertyId, propertyName, valueId, valueName }) => {
        // 添加属性
        if (!properties?.some((item) => item.id === propertyId)) {
          properties.push({ id: propertyId!, name: propertyName!, values: [] })
        }
        // 添加属性值
        const index = properties?.findIndex((item) => item.id === propertyId)
        if (!properties[index].values?.some((value) => value.id === valueId)) {
          properties[index].values?.push({ id: valueId!, name: valueName! })
        }
      })
    })
  }
  return properties
}

这个函数体的文件目录是在views/mall/product/spu/components/index.ts,直接在需要使用的地方引入调用即可,打印一下。

prodDetail.value.property = getPropertyList(data)
console.log(prodDetail.value.property);

处理过后的数据是这样的。如下图:
在这里插入图片描述

在这里已经处理好了,ok,处理完成。
### yudao-cloud 服务文档与访问 对于希望了解或访问 `yudao-cloud` 相关的服务或文档的情况,通常这类特定命名空间下的云服务平台会提供官方文档、API指南以及发者资源。然而,在当前提供的参考资料中并未直接提及有关 `yudao-cloud` 的具体信息。 为了获取关于 `yudao-cloud` 更多的信息,建议采取如下措施: - **查找官方网站**:通过搜索引擎查询 `yudao-cloud` 官方网站链接,大多数情况下服务商会在其官网首页显著位置放置产品介绍和技术文档入口。 - **查阅技术博客和社区论坛**:一些较为活跃的技术平台会有专门针对自家产品的讨论区或是由团队维护的技术博客,这里可以找到最新的更新公告和支持案例分享[^1]。 - **联系客服支持**:如果已经注册成为用户,则可以直接利用客户服务体系询问更详细的资料获取途径;如果是潜在用户想要进一步评估是否适合使用该服务,也可以尝试发送邮件给销售部门请求更多材料。 另外值得注意的是,虽然上述方法适用于一般情况下的探索流程,但对于某些可能处于内测阶段或者是私有部署性质较强的解决方案来说,获得授权或许可可能是必不可少的前提条件之一。 ```bash # 如果是首次接触此类服务,推荐先阅读快速入门指南 curl https://example.com/yudao-cloud/getting-started.md -o getting_started_guide.md ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_华仔啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值