承接 hanson/laravel-admin-sku 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

hanson/laravel-admin-sku

Composer 安装命令:

composer require hanson/laravel-admin-sku

包简介

README 文档

README

预览

安装

composer require hanson/laravel-admin-sku

php artisan vendor:publish --tag=sku

配置

配置sku上传地址

文件路径 public/vendor/hanson/sku/sku.js

const UploadHost = '/admin/upload_file';

php进行存储

// key为file
if($request->hasFile('file')) {
    $file = $request->file('file');
    $path = $file->store('images');

    // 返回格式
    return ['url'=> Storage::url($path)];
}

使用

$form->sku('sku','商品SKU')->default($json);

// 处理数据
$form->saving(function($form) {
    dd($form->sku);
});

本扩展只会将SKU数据写指定的字段中,如需个性化处理数据,请在【表单回调】中处理

原始数据

{
	"type": "many", // many多规格;single单规格
	"attrs": {"尺寸": ["XL", "XXL", "XXXL"], "颜色": ["", "灰色"]},
    "sku": [{"pic": "", "price": "89", "stock": "100", "尺寸": "XL", "颜色": ""}, {
        "pic": "",
        "price": "89",
        "stock": "100",
        "尺寸": "XL",
        "颜色": "灰色"
    }, {"pic": "", "price": "89", "stock": "100", "尺寸": "XXL", "颜色": ""}, {
        "pic": "",
        "price": "89",
        "stock": "100",
        "尺寸": "XXL",
        "颜色": "灰色"
    }, {"pic": "", "price": "89", "stock": "100", "尺寸": "XXXL", "颜色": ""}, {
        "pic": "",
        "price": "89",
        "stock": "100",
        "尺寸": "XXXL",
        "颜色": "灰色"
    }]
}

自定义 sku 数据

以下操作均为修改 public/vendor/hanson/sku/sku.js

例子

  • 增加一列 SKU 编号

第231行

tbody_html += '<td data-field="pic"><input value="" type="hidden" class="form-control"><span class="Js_sku_upload">+</span><span class="Js_sku_del_pic">清空</span></td>';
tbody_html += '<td data-field="id" style="display: none;"><input value="" type="hidden"></td>';
tbody_html += '<td data-field="price"><input value="' + _this.commonPrice + '" type="text" class="form-control"></td>';
tbody_html += '<td data-field="stock"><input value="' + _this.commonStock + '" type="text" class="form-control"></td>';
<!-- 增加一行,json中带有 sku_no 便可自动带入 -->
tbody_html += '<td data-field="sku_no"><input value="" type="text" class="form-control"></td>';
tbody_html += '</tr>'
  • 给上面的 sku 编号增加全局输入

第9行

this.commonStock = 0; // 统一库存
this.commonPrice = 0; // 统一价格
this.commonSku = ''; // 统一sku
this.init();

第96行

// 统一sku
_this.warp.find('.sku_edit_warp thead').on('keyup', 'input.Js_sku', function () {
    _this.commonStock = $(this).val();
    _this.warp.find('.sku_edit_warp tbody td[data-field="sku_no"] input').val(_this.commonStock);
    _this.processSku()
});

第203行

thead_html += '<th style="width: 100px">图片</th>';
thead_html += '<th style="width: 100px">价格 <input value="' + _this.commonPrice + '" type="text" style="width: 50px" class="Js_price"></th>';
thead_html += '<th style="width: 100px">库存 <input value="' + _this.commonStock + '" type="text" style="width: 50px" class="Js_stock"></th>';
thead_html += '<th style="width: 100px">sku <input value="' + _this.commonSku + '" type="text" style="width: 50px" class="Js_sku"></th>';
thead_html += '</tr>';

第231行

tbody_html += '<td data-field="pic"><input value="" type="hidden" class="form-control"><span class="Js_sku_upload">+</span><span class="Js_sku_del_pic">清空</span></td>';
tbody_html += '<td data-field="id" style="display: none;"><input value="" type="hidden"></td>';
tbody_html += '<td data-field="price"><input value="' + _this.commonPrice + '" type="text" class="form-control"></td>';
tbody_html += '<td data-field="stock"><input value="' + _this.commonStock + '" type="text" class="form-control"></td>';
<!-- 增加一行,json中带有 sku_no 便可自动带入 -->
tbody_html += '<td data-field="sku_no"><input value="' + _this.commonSku + '" type="text" class="form-control"></td>';
tbody_html += '</tr>'
  • 去掉 sku 图片

231行处 把 pic 的一行删掉

tbody_html += '<td data-field="id" style="display: none;"><input value="" type="hidden"></td>';
tbody_html += '<td data-field="price"><input value="' + _this.commonPrice + '" type="text" class="form-control"></td>';
tbody_html += '<td data-field="sku_no"><input value="" type="text" class="form-control"></td>';
tbody_html += '</tr>'

感谢

感谢 jade-kun 的 sku 项目,此项目在原项目中修改并加以完善

hanson/laravel-admin-sku 适用场景与选型建议

hanson/laravel-admin-sku 是一款 基于 JavaScript 开发的 Composer 扩展包,目前已累计 568 次下载、GitHub Stars 达 5, 最近一次更新时间为 2020 年 03 月 08 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「extension」 「laravel-admin」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 hanson/laravel-admin-sku 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 hanson/laravel-admin-sku 我们能提供哪些服务?
定制开发 / 二次开发

基于 hanson/laravel-admin-sku 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 568
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 5
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 5
  • Watchers: 0
  • Forks: 50
  • 开发语言: JavaScript

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-03-08