From f13fb6cdab064c9a2dbf7b7f40dced519995d31f Mon Sep 17 00:00:00 2001 From: MiAn Date: Wed, 28 Oct 2026 14:13:32 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=E4=BA=8C=E7=BA=A7?= =?UTF-8?q?=E5=88=86=E7=B1=BB=E7=9C=9F=E5=AE=9E=E5=AE=9E=E6=8B=8D=E5=9B=BE?= =?UTF-8?q?=E6=9B=BF=E6=8D=A2=E4=B8=8E=E5=8A=9F=E8=83=BD=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 本次提交内容包括: 1. 替换13个二级分类为真实商业实拍图,同步更新本地与线上数据库 2. 新增会员拨打额度耗尽引导开通会员功能 3. 优化发布页分类选择逻辑,增加会员权益展示 4. 修复分类名称显示问题,完善相关交互逻辑 5. 新增图片同步工具脚本,确保线上线下数据一致性 --- application/admin/controller/fc/Category.php | 21 +- application/admin/view/fc/category/add.html | 394 ++++++++++++--- application/admin/view/fc/category/edit.html | 394 ++++++++++++--- application/admin/view/fc/category/index.html | 2 +- public/assets/js/backend/fc/category.js | 148 +++++- public/static/categories/cat-job.png | Bin 0 -> 5146 bytes public/static/categories/cat-poultry.png | Bin 0 -> 6630 bytes public/static/icons/cat-poultry.png | Bin 0 -> 6630 bytes .../0391292554cf8efd457c44caedf67867.jpg | Bin 0 -> 13878 bytes .../0c913f9d7d72a10c0c598c36eea89b14.jpg | Bin 0 -> 22802 bytes .../3fb1eee6654e4d5e7c1b5d3189643fae.jpg | Bin 0 -> 15521 bytes .../49b39ce93043ec8a6f24bcef9bc45f96.jpg | Bin 0 -> 11459 bytes .../4e4f911ac45e9dc5471597a8ff7862f7.jpg | Bin 0 -> 16228 bytes .../65d91dba8121f8b49356f356aa6a3b28.jpg | Bin 0 -> 20986 bytes .../69b65e455081d5aa8834b48bd879009d.jpg | Bin 0 -> 10702 bytes .../70cafc924bc7e4018bfefbe883e27c78.jpg | Bin 0 -> 12415 bytes .../75dd5971bdfa99d64a62c5b1e72cac11.jpg | Bin 0 -> 13316 bytes .../915423715a937ad7ba4b737690c963d2.jpg | Bin 0 -> 10120 bytes .../99c32f9508e3429ea02a4ce1c34f9df2.jpg | Bin 0 -> 13654 bytes .../bb63e21dae84dc15056a0b50753577d9.jpg | Bin 0 -> 6027 bytes .../cafbe884f6616622dcdd5650bbbce3b3.jpg | Bin 0 -> 12906 bytes .../cb17be7476ce1c59e14944f9fe60438c.jpg | Bin 0 -> 12036 bytes .../d0cc33f85a8580be2f526eb360448867.jpg | Bin 0 -> 7681 bytes .../d2a3226fd6ffa12d24db06c9342a9118.jpg | Bin 0 -> 19629 bytes .../d8b5420c12f7921e325050be088a011f.jpg | Bin 0 -> 5441 bytes .../e71ba37749da829c50d098168dbb4fa2.jpg | Bin 0 -> 4106 bytes .../f1a4f3c123c81aea2f0fd24c8688d988.jpg | Bin 0 -> 5060 bytes .../f5e2927ba040dd1b917b6fbd6b053458.jpg | Bin 0 -> 10392 bytes tools/add_more_fruits.php | 112 +++++ tools/clean_wrong_images.py | 132 +++++ tools/download_and_crop_real_photos.php | 176 +++++++ tools/fix_missing_photos.php | 76 +++ tools/full_data_sync_to_online.py | 177 +++++++ tools/generate_more_categories.php | 453 ++++++++++++++++++ tools/more_fruits_result.json | 58 +++ tools/real_photos_result.json | 119 +++++ tools/simulate_upload_and_sync.py | 243 ++++++++++ tools/sync_more_fruits_to_online.py | 200 ++++++++ tools/sync_real_photos_to_online.py | 178 +++++++ .../fc-call-modal/fc-call-modal.vue | 97 +++- uniapp/pages/category/index.vue | 2 +- uniapp/pages/detail/detail.vue | 264 +++++++++- uniapp/pages/merchant/detail.vue | 43 +- uniapp/pages/post/create.vue | 139 ++++-- uniapp/static/categories/cat-job.png | Bin 0 -> 5146 bytes uniapp/static/categories/cat-poultry.png | Bin 0 -> 6630 bytes uniapp/static/icons/cat-poultry.png | Bin 0 -> 6630 bytes 47 files changed, 3203 insertions(+), 225 deletions(-) create mode 100644 public/static/categories/cat-job.png create mode 100644 public/static/categories/cat-poultry.png create mode 100644 public/static/icons/cat-poultry.png create mode 100644 public/uploads/20261028/0391292554cf8efd457c44caedf67867.jpg create mode 100644 public/uploads/20261028/0c913f9d7d72a10c0c598c36eea89b14.jpg create mode 100644 public/uploads/20261028/3fb1eee6654e4d5e7c1b5d3189643fae.jpg create mode 100644 public/uploads/20261028/49b39ce93043ec8a6f24bcef9bc45f96.jpg create mode 100644 public/uploads/20261028/4e4f911ac45e9dc5471597a8ff7862f7.jpg create mode 100644 public/uploads/20261028/65d91dba8121f8b49356f356aa6a3b28.jpg create mode 100644 public/uploads/20261028/69b65e455081d5aa8834b48bd879009d.jpg create mode 100644 public/uploads/20261028/70cafc924bc7e4018bfefbe883e27c78.jpg create mode 100644 public/uploads/20261028/75dd5971bdfa99d64a62c5b1e72cac11.jpg create mode 100644 public/uploads/20261028/915423715a937ad7ba4b737690c963d2.jpg create mode 100644 public/uploads/20261028/99c32f9508e3429ea02a4ce1c34f9df2.jpg create mode 100644 public/uploads/20261028/bb63e21dae84dc15056a0b50753577d9.jpg create mode 100644 public/uploads/20261028/cafbe884f6616622dcdd5650bbbce3b3.jpg create mode 100644 public/uploads/20261028/cb17be7476ce1c59e14944f9fe60438c.jpg create mode 100644 public/uploads/20261028/d0cc33f85a8580be2f526eb360448867.jpg create mode 100644 public/uploads/20261028/d2a3226fd6ffa12d24db06c9342a9118.jpg create mode 100644 public/uploads/20261028/d8b5420c12f7921e325050be088a011f.jpg create mode 100644 public/uploads/20261028/e71ba37749da829c50d098168dbb4fa2.jpg create mode 100644 public/uploads/20261028/f1a4f3c123c81aea2f0fd24c8688d988.jpg create mode 100644 public/uploads/20261028/f5e2927ba040dd1b917b6fbd6b053458.jpg create mode 100644 tools/add_more_fruits.php create mode 100644 tools/clean_wrong_images.py create mode 100644 tools/download_and_crop_real_photos.php create mode 100644 tools/fix_missing_photos.php create mode 100644 tools/full_data_sync_to_online.py create mode 100644 tools/generate_more_categories.php create mode 100644 tools/more_fruits_result.json create mode 100644 tools/real_photos_result.json create mode 100644 tools/simulate_upload_and_sync.py create mode 100644 tools/sync_more_fruits_to_online.py create mode 100644 tools/sync_real_photos_to_online.py create mode 100644 uniapp/static/categories/cat-job.png create mode 100644 uniapp/static/categories/cat-poultry.png create mode 100644 uniapp/static/icons/cat-poultry.png diff --git a/application/admin/controller/fc/Category.php b/application/admin/controller/fc/Category.php index b223417..043cf68 100644 --- a/application/admin/controller/fc/Category.php +++ b/application/admin/controller/fc/Category.php @@ -6,7 +6,7 @@ use app\common\controller\Backend; use think\Db; /** - * 同城-分类管理(支持一级分类「蔬菜/水果」与带实拍图的二级分类) + * 同城-分类管理(支持一级主分类与各二级子品类) * * @icon fa fa-circle-o */ @@ -125,19 +125,32 @@ class Category extends Backend } /** - * 编辑分类(自动同步 image 与 icon_key) + * 编辑分类(自动补全图片路径并同步 image 与 icon_key) * * @param mixed $ids * @return string */ public function edit($ids = null) { + $row = $this->model->get($ids); + if (!$row) { + $this->error(__('No Results were found')); + } + $adminIds = $this->getDataLimitAdminIds(); + if (is_array($adminIds) && !in_array($row[$this->dataLimitField], $adminIds)) { + $this->error(__('You have no permission')); + } if ($this->request->isPost()) { $params = $this->request->post('row/a', []); $params = $this->normalizeCategoryParams($params, (int)$ids); $this->request->post(['row' => $params]); + return parent::edit($ids); } - return parent::edit($ids); + if (empty($row['image']) && !empty($row['icon_key'])) { + $row['image'] = $this->resolveImageFromKey($row['icon_key']); + } + $this->view->assign("row", $row); + return $this->view->fetch(); } /** @@ -193,7 +206,7 @@ class Category extends Backend { $iconKey = trim((string)$iconKey); if ($iconKey === '') { - return '/static/categories/cat-veg.png'; + return '/static/icons/cat-service.png'; } if (preg_match('/^(\/uploads\/|\/static\/|https?:\/\/)/i', $iconKey)) { return $iconKey; diff --git a/application/admin/view/fc/category/add.html b/application/admin/view/fc/category/add.html index a1e260e..1293630 100644 --- a/application/admin/view/fc/category/add.html +++ b/application/admin/view/fc/category/add.html @@ -1,9 +1,9 @@ @@ -323,13 +514,13 @@
归属与类型 - 决定发布页展示哪些字段 + 决定前台分类层级与发布表单
{:build_select('row[pid]', $parentList, 0, ['class'=>'form-control selectpicker', 'id'=>'c-pid', 'data-rule'=>'required'])} - 选「顶级分类」创建一级大类;选「蔬菜」「水果」则创建其下属二级品类。 + 选「顶级分类」创建一级大类频道;选指定分类(如「招聘专区」「肉蛋家禽」)则创建下属二级品类。
@@ -337,12 +528,12 @@
二级分类自动跟随上级分类的类型,无需单独设置。 @@ -358,27 +549,31 @@
- +
- +
- 当前图片 + 当前图标 +
+ 招聘专区 + 用于前台金刚区及分类列表展示 +
- 优先上传真实农产品照片,农民用户靠「看图识物」选择品类;建议 500×500 以上方形图,单张不超过 500KB,过大的图片会拖慢小程序加载。 - + 推荐从平台预设图片库中直接选用;也支持上传高清实拍方形图(建议 200×200 以上,单张不超过 500KB)。 +
@@ -399,11 +594,11 @@
推荐:
+
-
-
-
+
+
@@ -432,13 +627,14 @@ @@ -452,38 +648,96 @@ - +
- 选择分类实拍图 + 挑选分类图标 / 实拍图 + 点击卡片即可选用
+ +
+ +
+ + + + + + +
+
+ +
-
icon
-
icon
-
icon
-
icon
-
icon
-
icon
-
icon
-
icon
-
icon
-
icon
-
icon
-
icon
-
icon
-
icon
-
icon
-
icon
-
icon
-
icon
+ +
icon招聘专区
+
icon肉蛋家禽
+
icon蔬菜专区
+
icon水果专区
+
icon便民服务
+
icon房产租售
+
icon二手闲置
+
icon车辆交易
+ + +
icon骑手配送
+
icon司机出行
+
icon普工技工
+
icon餐饮服务
+
icon家政保洁
+
icon销售客服
+
icon教育培训
+
icon兼职短工
+ + +
icon鲜土鸡蛋
+
icon散养土鸡
+
icon生鲜猪肉
+
icon高山牛肉
+
icon鲜活水产
+ + +
icon苹果
+
icon柑橘
+
icon猕猴桃
+
icon草莓
+
icon西瓜
+
icon葡萄
+
icon蜜桃
+
icon百香果
+
icon芒果
+
icon香蕉
+
icon蓝莓
+
icon车厘子
+
icon火龙果
+
icon柠檬
+
icon荔枝
+ + +
icon白菜
+
icon花菜
+
icon青菜
+
icon西红柿
+
icon辣椒
+
icon萝卜
+
icon紫甘蓝
+
icon青甘蓝
+ +
diff --git a/application/admin/view/fc/category/edit.html b/application/admin/view/fc/category/edit.html index 498b829..cc3bba6 100644 --- a/application/admin/view/fc/category/edit.html +++ b/application/admin/view/fc/category/edit.html @@ -1,9 +1,9 @@ @@ -323,13 +514,13 @@
归属与类型 - 决定发布页展示哪些字段 + 决定前台分类层级与发布表单
{:build_select('row[pid]', $parentList, $row.pid, ['class'=>'form-control selectpicker', 'id'=>'c-pid', 'data-rule'=>'required'])} - 选「顶级分类」创建一级大类;选「蔬菜」「水果」则创建其下属二级品类。 + 选「顶级分类」创建一级大类频道;选指定分类(如「招聘专区」「肉蛋家禽」)则创建下属二级品类。
@@ -337,15 +528,15 @@
- 修改一级分类类型时,下属二级分类自动同步。 + 修改一级分类类型时,下属二级分类将自动同步。
@@ -358,26 +549,30 @@
- +
- +
- 当前图片 + 当前图片 +
+ {$row.name|htmlentities} + 当前设置标识:{$row.icon_key|htmlentities} +
- 优先上传真实农产品照片,农民用户靠「看图识物」选择品类;建议 500×500 以上方形图,单张不超过 500KB,过大的图片会拖慢小程序加载。 + 推荐从平台预设图片库中直接选用;也支持上传高清实拍方形图(建议 200×200 以上,单张不超过 500KB)。
@@ -399,11 +594,11 @@
推荐:
+
-
-
-
+
+
@@ -439,13 +634,14 @@ @@ -459,38 +655,96 @@ - +
- 选择分类实拍图 + 挑选分类图标 / 实拍图 + 点击卡片即可选用
+ +
+ +
+ + + + + + +
+
+ +
-
icon
-
icon
-
icon
-
icon
-
icon
-
icon
-
icon
-
icon
-
icon
-
icon
-
icon
-
icon
-
icon
-
icon
-
icon
-
icon
-
icon
-
icon
+ +
icon招聘专区
+
icon肉蛋家禽
+
icon蔬菜专区
+
icon水果专区
+
icon便民服务
+
icon房产租售
+
icon二手闲置
+
icon车辆交易
+ + +
icon骑手配送
+
icon司机出行
+
icon普工技工
+
icon餐饮服务
+
icon家政保洁
+
icon销售客服
+
icon教育培训
+
icon兼职短工
+ + +
icon鲜土鸡蛋
+
icon散养土鸡
+
icon生鲜猪肉
+
icon高山牛肉
+
icon鲜活水产
+ + +
icon苹果
+
icon柑橘
+
icon猕猴桃
+
icon草莓
+
icon西瓜
+
icon葡萄
+
icon蜜桃
+
icon百香果
+
icon芒果
+
icon香蕉
+
icon蓝莓
+
icon车厘子
+
icon火龙果
+
icon柠檬
+
icon荔枝
+ + +
icon白菜
+
icon花菜
+
icon青菜
+
icon西红柿
+
icon辣椒
+
icon萝卜
+
icon紫甘蓝
+
icon青甘蓝
+ +
diff --git a/application/admin/view/fc/category/index.html b/application/admin/view/fc/category/index.html index 05ddf64..10ed61b 100644 --- a/application/admin/view/fc/category/index.html +++ b/application/admin/view/fc/category/index.html @@ -97,7 +97,7 @@
-
分类直接联动小程序首页金刚区与分类频道,按排序权重升序展示。点击开关可一键上架/下架,鼠标悬停实拍图可放大预览。
+
分类直接联动小程序首页金刚区与分类频道,按排序权重升序展示。点击开关可一键上架/下架,鼠标悬停分类图标可放大预览。
diff --git a/public/assets/js/backend/fc/category.js b/public/assets/js/backend/fc/category.js index 6424fe8..b0f1bcf 100644 --- a/public/assets/js/backend/fc/category.js +++ b/public/assets/js/backend/fc/category.js @@ -1,5 +1,14 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'backend/format'], function ($, undefined, Backend, Table, Form, Format) { + /** + * categories 目录下的专属图标键名列表 + */ + var CATEGORY_DIR_KEYS = [ + 'cat-fruit', 'cat-poultry', 'cat-veg', 'cat-job', + 'fruit-apple', 'fruit-grape', 'fruit-kiwi', 'fruit-orange', 'fruit-passion', 'fruit-peach', 'fruit-strawberry', 'fruit-watermelon', + 'veg-cabbage', 'veg-chili', 'veg-green-cabbage', 'veg-greens', 'veg-purple-cabbage', 'veg-radish', 'veg-tomato' + ]; + /** * 解析分类图标/实拍图地址 * @param {string} iconKey 标识或路径 @@ -12,13 +21,14 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'backend/format'], fu return image; } if (!iconKey) { - iconKey = 'cat-veg'; + iconKey = 'cat-job'; } if (/^(https?:\/\/|\/uploads\/|\/static\/)/i.test(iconKey)) { return iconKey; } + var baseKey = iconKey.replace(/\.(png|jpg|jpeg|gif|svg)$/i, ''); var file = (iconKey.indexOf('.') !== -1) ? iconKey : iconKey + '.png'; - if (iconKey.indexOf('sub-') === 0 || iconKey === 'cat-veg' || iconKey === 'cat-fruit') { + if (iconKey.indexOf('sub-') === 0 || CATEGORY_DIR_KEYS.indexOf(baseKey) !== -1 || /^(veg-|fruit-|cat-veg|cat-fruit|cat-job|cat-poultry)/i.test(baseKey)) { return '/static/categories/' + file + '?v=2'; } return '/static/icons/' + file + '?v=2'; @@ -63,10 +73,10 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'backend/format'], fu formatter: Format.serial }, - // 1. 实拍图预览(大图圆角卡,object-fit:cover 保证「看图识物」效果) + // 1. 图标/实拍图预览(大图圆角卡,object-fit:cover) { field: 'image', - title: '实拍图', + title: '图标/图片', operate: false, align: 'center', width: '90px', @@ -74,10 +84,10 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'backend/format'], fu var url = resolveIconUrl(row.icon_key, row.id, row.image); var color = row.color || '#00E070'; return '
' + - '
' + - '' + + '
' + + '' + '
' + - '
' + + '
' + '
'; } }, @@ -224,24 +234,55 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'backend/format'], fu var $previewBadge = $('#preview-badge'); var $previewIcon = $('#preview-icon'); var $previewName = $('#preview-name'); + var $previewKind = $('#preview-kind'); var $currentIconImg = $('#current-icon-img'); + var $currentIconLabel = $('#current-icon-label'); var $iconModal = $('#fc-icon-modal'); + var $iconSearch = $('#fc-icon-search'); + var $iconTabs = $('.fc-icon-tab-btn'); - // 刷新界面预览元素(纯视觉图形,无死板业务文字) + // 刷新界面预览元素 function updateLivePreview() { var name = $nameInput.val() || '未命名分类'; - var key = $iconInput.val() || 'cat-veg'; + var key = $iconInput.val() || 'cat-job'; var color = $colorInput.val() || '#00E070'; var iconUrl = resolveIconUrl(key); + var kind = $('input[name="row[kind]"]:checked').val() || 'general'; + + var $matchedChip = $('.fc-icon-chip[data-key="' + key + '"]'); + if ($matchedChip.length) { + var chipImg = $matchedChip.find('img').attr('src'); + if (chipImg) { + iconUrl = chipImg; + } + } if ($previewName.length) $previewName.text(name); if ($previewIcon.length) $previewIcon.attr('src', iconUrl); if ($currentIconImg.length) $currentIconImg.attr('src', iconUrl); + if ($currentIconLabel.length) { + if ($matchedChip.length) { + $currentIconLabel.text($matchedChip.data('name') || key); + } else if (/^(\/uploads\/|https?:\/\/)/i.test(key)) { + $currentIconLabel.text('自定义上传图片'); + } else { + $currentIconLabel.text(key); + } + } + + if ($previewKind.length) { + if (kind === 'farm') { + $previewKind.text('农产品类目').removeClass('general').addClass('farm'); + } else { + $previewKind.text('通用便民类目').removeClass('farm').addClass('general'); + } + } if ($previewBadge.length) { $previewBadge.css({ - 'background': color + '22', - 'border-color': color + '55' + 'background': color + '1a', + 'border-color': color + '4d', + 'box-shadow': '0 6px 16px ' + color + '26' }); } if ($colorAddon.length) $colorAddon.css('background', color); @@ -251,11 +292,21 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'backend/format'], fu // 确保初始状态完全隐藏 $iconModal.removeClass('open').attr('style', 'display:none !important;'); - // 1. 打开纯插画挑选面板(只有用户主动点击按钮才打开) + // 1. 打开插画挑选面板 $(document).on('click', '#btn-open-icon-picker', function (e) { e.preventDefault(); e.stopPropagation(); $iconModal.removeAttr('style').addClass('open').fadeIn(150); + // 打开时定位高亮当前图标 + var curKey = $iconInput.val(); + var $activeChip = $('.fc-icon-chip[data-key="' + curKey + '"]'); + $('.fc-icon-chip').removeClass('active'); + if ($activeChip.length) { + $activeChip.addClass('active'); + } + if ($iconSearch.length) { + $iconSearch.focus(); + } }); // 关闭插画挑选面板 @@ -270,17 +321,81 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'backend/format'], fu closeIconModal(); }); - // 2. 点选插画卡片(只设图标,绝不改写用户分类名称) + // 2. 点选图标卡片 $(document).on('click', '.fc-icon-chip', function (e) { e.preventDefault(); var key = $(this).data('key'); + var iconName = $(this).data('name') || ''; + var iconColor = $(this).data('color') || ''; + $iconInput.val(key).trigger('change'); $('.fc-icon-chip').removeClass('active'); $(this).addClass('active'); + + // 若名称尚未输入,自动以图标名称填充 + if ($nameInput.length && !$nameInput.val().trim() && iconName) { + $nameInput.val(iconName).trigger('input'); + } + + // 若当前主题色为默认春绿且图标带有推荐色,可智能联动 + if (iconColor && ($colorInput.val() === '#00E070' || !$colorInput.val())) { + $colorInput.val(iconColor).trigger('change'); + } + updateLivePreview(); closeIconModal(); }); + // 2.1 图标分类 Tab 切换 + $(document).on('click', '.fc-icon-tab-btn', function (e) { + e.preventDefault(); + $('.fc-icon-tab-btn').removeClass('active'); + $(this).addClass('active'); + var targetGroup = $(this).data('group'); + filterChips(); + }); + + // 2.2 图标搜索过滤 + if ($iconSearch.length) { + $iconSearch.on('input', function () { + filterChips(); + }); + } + + // 过滤卡片执行逻辑 + function filterChips() { + var group = $('.fc-icon-tab-btn.active').data('group') || 'all'; + var keyword = ($iconSearch.val() || '').trim().toLowerCase(); + var visibleCount = 0; + + $('.fc-icon-chip').each(function () { + var chipGroup = $(this).data('group') || ''; + var chipKey = ($(this).data('key') || '').toLowerCase(); + var chipName = ($(this).data('name') || '').toLowerCase(); + + var matchGroup = (group === 'all' || chipGroup === group); + var matchKeyword = (!keyword || chipName.indexOf(keyword) !== -1 || chipKey.indexOf(keyword) !== -1); + + if (matchGroup && matchKeyword) { + $(this).show(); + visibleCount++; + } else { + $(this).hide(); + } + }); + + var $emptyTip = $('#fc-icon-empty'); + if (visibleCount === 0) { + if (!$emptyTip.length) { + $('.fc-modal-grid').append('
未找到匹配的预设图标,您可直接使用「上传自定义图标」
'); + } else { + $emptyTip.show(); + } + } else if ($emptyTip.length) { + $emptyTip.hide(); + } + } + // 3. 自定义上传图片监听 $iconInput.on('input change', function () { updateLivePreview(); @@ -291,6 +406,11 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'backend/format'], fu updateLivePreview(); }); + // 4.1 监听分类类型单选变更 + $('input[name="row[kind]"]').on('change', function () { + updateLivePreview(); + }); + // 5. 监听颜色输入与推荐调色板点选 $colorInput.on('input change', function () { updateLivePreview(); @@ -308,7 +428,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'backend/format'], fu }); // 初始化回显 - var initKey = $iconInput.val() || 'cat-veg'; + var initKey = $iconInput.val() || 'cat-service'; $('.fc-icon-chip[data-key="' + initKey + '"]').addClass('active'); updateLivePreview(); } diff --git a/public/static/categories/cat-job.png b/public/static/categories/cat-job.png new file mode 100644 index 0000000000000000000000000000000000000000..1479d0985df9ccb96bcebc594fdcb41762b542cd GIT binary patch literal 5146 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 literal 0 HcmV?d00001 diff --git a/public/static/categories/cat-poultry.png b/public/static/categories/cat-poultry.png new file mode 100644 index 0000000000000000000000000000000000000000..01a86e76a33d1f56539006f250f8e371ab6de6dc GIT binary patch literal 6630 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 C(2a5c literal 0 HcmV?d00001 diff --git a/public/static/icons/cat-poultry.png b/public/static/icons/cat-poultry.png new file mode 100644 index 0000000000000000000000000000000000000000..01a86e76a33d1f56539006f250f8e371ab6de6dc GIT binary patch literal 6630 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 C(2a5c literal 0 HcmV?d00001 diff --git a/public/uploads/20261028/0391292554cf8efd457c44caedf67867.jpg b/public/uploads/20261028/0391292554cf8efd457c44caedf67867.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d8136e6ce093d357a3e15730f5f9c4884bb48ddd GIT binary patch literal 13878 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 JIuYeR|Ji%DW(@!U literal 0 HcmV?d00001 diff --git a/public/uploads/20261028/3fb1eee6654e4d5e7c1b5d3189643fae.jpg b/public/uploads/20261028/3fb1eee6654e4d5e7c1b5d3189643fae.jpg new file mode 100644 index 0000000000000000000000000000000000000000..49cdcdc835198e4dec8f7bbb1389b4ee165fedc3 GIT binary patch literal 15521 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 E3r3-%n*aa+ literal 0 HcmV?d00001 diff --git a/public/uploads/20261028/49b39ce93043ec8a6f24bcef9bc45f96.jpg b/public/uploads/20261028/49b39ce93043ec8a6f24bcef9bc45f96.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ad2a266c724589a4f22b0e149abd1f34c096f16a GIT binary patch literal 11459 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 D{RY2{ literal 0 HcmV?d00001 diff --git a/public/uploads/20261028/4e4f911ac45e9dc5471597a8ff7862f7.jpg b/public/uploads/20261028/4e4f911ac45e9dc5471597a8ff7862f7.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3d2805009c27536c1a1b7223f13016149a0e98ba GIT binary patch literal 16228 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 URd4>K&Q&V?gX@5ftjF2^0wbG=UH||9 literal 0 HcmV?d00001 diff --git a/public/uploads/20261028/65d91dba8121f8b49356f356aa6a3b28.jpg b/public/uploads/20261028/65d91dba8121f8b49356f356aa6a3b28.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c73e503c781a9fb8de0f77eb5e84143045368601 GIT binary patch literal 20986 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 literal 0 HcmV?d00001 diff --git a/public/uploads/20261028/70cafc924bc7e4018bfefbe883e27c78.jpg b/public/uploads/20261028/70cafc924bc7e4018bfefbe883e27c78.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f18361f10f48301a5bd6fb7301b7f8b450084122 GIT binary patch literal 12415 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 literal 0 HcmV?d00001 diff --git a/public/uploads/20261028/75dd5971bdfa99d64a62c5b1e72cac11.jpg b/public/uploads/20261028/75dd5971bdfa99d64a62c5b1e72cac11.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fd43af1f4cdfbc4323137cb8f05ee695fa3c5f75 GIT binary patch literal 13316 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 literal 0 HcmV?d00001 diff --git a/public/uploads/20261028/915423715a937ad7ba4b737690c963d2.jpg b/public/uploads/20261028/915423715a937ad7ba4b737690c963d2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c552e9341f23795aa7a2a3416c3d1d40980d026d GIT binary patch literal 10120 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 literal 0 HcmV?d00001 diff --git a/public/uploads/20261028/99c32f9508e3429ea02a4ce1c34f9df2.jpg b/public/uploads/20261028/99c32f9508e3429ea02a4ce1c34f9df2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..814a6a6f69d5f795030b8028f725b067e4f2dd0d GIT binary patch literal 13654 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 IWk37)A9P0sw*UYD literal 0 HcmV?d00001 diff --git a/public/uploads/20261028/cafbe884f6616622dcdd5650bbbce3b3.jpg b/public/uploads/20261028/cafbe884f6616622dcdd5650bbbce3b3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b75e2f47e5830699089ac5144ea940631ff1cd14 GIT binary patch literal 12906 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ⅈO&h5 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 G%l`$7SgK9{ literal 0 HcmV?d00001 diff --git a/public/uploads/20261028/d0cc33f85a8580be2f526eb360448867.jpg b/public/uploads/20261028/d0cc33f85a8580be2f526eb360448867.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0f2fc3079ac026f924a6fae08aeba7d0aab7650c GIT binary patch literal 7681 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 LhoaaX#7zAg7to&P literal 0 HcmV?d00001 diff --git a/public/uploads/20261028/d2a3226fd6ffa12d24db06c9342a9118.jpg b/public/uploads/20261028/d2a3226fd6ffa12d24db06c9342a9118.jpg new file mode 100644 index 0000000000000000000000000000000000000000..de4f4df9f5608ba219dc84e8b78e2fad9b5b4b51 GIT binary patch literal 19629 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 H5`X{MN6*0S literal 0 HcmV?d00001 diff --git a/public/uploads/20261028/d8b5420c12f7921e325050be088a011f.jpg b/public/uploads/20261028/d8b5420c12f7921e325050be088a011f.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3f9a3523738bb69a1cb7b0e23704377f2b5bcd3a GIT binary patch literal 5441 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 literal 0 HcmV?d00001 diff --git a/public/uploads/20261028/e71ba37749da829c50d098168dbb4fa2.jpg b/public/uploads/20261028/e71ba37749da829c50d098168dbb4fa2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..22e8436fa9592a1e3467e0df26067b0db87405d3 GIT binary patch literal 4106 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 '芒果', + 'filename' => 'fruit-mango.jpg', + 'url' => 'https://images.unsplash.com/photo-1553279768-865429fa0078?w=500&q=80&auto=format&fit=crop', + ], + [ + 'name' => '香蕉', + 'filename' => 'fruit-banana.jpg', + 'url' => 'https://images.unsplash.com/photo-1571771894821-ce9b6c11b08e?w=500&q=80&auto=format&fit=crop', + ], + [ + 'name' => '蓝莓', + 'filename' => 'fruit-blueberry.jpg', + 'url' => 'https://images.unsplash.com/photo-1498557850523-fd3d118b962e?w=500&q=80&auto=format&fit=crop', + ], + [ + 'name' => '车厘子', + 'filename' => 'fruit-cherry.jpg', + 'url' => 'https://images.unsplash.com/photo-1528825871115-3581a5387919?w=500&q=80&auto=format&fit=crop', + ], + [ + 'name' => '哈密瓜', + 'filename' => 'fruit-melon.jpg', + 'url' => 'https://images.unsplash.com/photo-1571575173700-afb9492e8c50?w=500&q=80&auto=format&fit=crop', + ], + [ + 'name' => '火龙果', + 'filename' => 'fruit-dragon.jpg', + 'url' => 'https://images.unsplash.com/photo-1527324688151-0e627063f2b1?w=500&q=80&auto=format&fit=crop', + ], + [ + 'name' => '柠檬', + 'filename' => 'fruit-lemon.jpg', + 'url' => 'https://images.unsplash.com/photo-1533089860892-a7c6f0a88666?w=500&q=80&auto=format&fit=crop', + ], + [ + 'name' => '荔枝', + 'filename' => 'fruit-lychee.jpg', + 'url' => 'https://images.unsplash.com/photo-1596386461350-326ccb383e9f?w=500&q=80&auto=format&fit=crop', + ], +]; + +function cropToSquare240($binaryData, $savePath) +{ + $src = @imagecreatefromstring($binaryData); + if (!$src) return false; + $srcW = imagesx($src); + $srcH = imagesy($src); + $cropSize = min($srcW, $srcH); + $cropX = (int)(($srcW - $cropSize) / 2); + $cropY = (int)(($srcH - $cropSize) / 2); + $dst = imagecreatetruecolor(240, 240); + imagecopyresampled($dst, $src, 0, 0, $cropX, $cropY, 240, 240, $cropSize, $cropSize); + $res = imagejpeg($dst, $savePath, 82); + imagedestroy($src); + imagedestroy($dst); + return $res; +} + +echo "=== [1/3] 下载真实水果实拍照并裁剪为 240x240 ===\n"; +$downloaded = []; +foreach ($fruits as $f) { + echo "正在下载 [{$f['name']}] 实拍图: {$f['url']} ...\n"; + $opts = [ + 'http' => [ + 'method' => 'GET', + 'header' => "User-Agent: Mozilla/5.0\r\n", + 'timeout' => 15, + ] + ]; + $ctx = stream_context_create($opts); + $raw = @file_get_contents($f['url'], false, $ctx); + + if (!$raw) { + // 尝试备用图 + echo " ✗ 下载超时或失败: {$f['name']}\n"; + continue; + } + + $md5Name = md5($raw . $f['name']) . '.jpg'; + $savePath = $targetDir . '/' . $md5Name; + + if (cropToSquare240($raw, $savePath)) { + $size = filesize($savePath); + $relUrl = '/uploads/20261028/' . $md5Name; + echo " ✓ 生成成功: {$f['name']} -> {$relUrl} (" . round($size / 1024, 2) . " KB)\n"; + $downloaded[] = [ + 'name' => $f['name'], + 'filename' => $f['filename'], + 'local' => $savePath, + 'rel_url' => $relUrl, + 'size' => $size, + 'sha1' => sha1_file($savePath), + ]; + } +} + +// 写入临时 json 供 python 脚本后续同步 +file_put_contents(__DIR__ . '/more_fruits_result.json', json_encode($downloaded, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT)); +echo "\n已准备就绪 " . count($downloaded) . " 个水果二级分类图片!\n"; diff --git a/tools/clean_wrong_images.py b/tools/clean_wrong_images.py new file mode 100644 index 0000000..ea23b4b --- /dev/null +++ b/tools/clean_wrong_images.py @@ -0,0 +1,132 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +清理前一批错误的二级分类卡通图片(本地与线上同步清理): +1. 清理 public/uploads/20261028/*.png (本地与线上) +2. 清理 public/static/categories/job-*.png 和 poultry-*.png (本地与线上) +3. 清理 uniapp/static/categories/job-*.png 和 poultry-*.png (本地) +4. 清理数据库 fa_attachment 中 url 结尾为 .png 的 20261028 记录 (本地与线上) +""" + +import os +import sys +import io +import paramiko +import pymysql + +sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8', errors='replace') + +LOCAL_ROOT = r"D:\Softwares\phpstudy_pro\WWW\fenleixinxi" +REMOTE_HOST = "8.137.181.63" +REMOTE_PORT = 22 +REMOTE_USER = "root" +REMOTE_PASS = "liyanxia@6688" +REMOTE_ROOT = "/www/wwwroot/fenleixinxi.gzyakj.com.cn" +DB_USER = "fenleixinxi" +DB_PASS = "fenleixinxi" +DB_NAME = "fenleixinxi" + +LOCAL_DB_HOST = "127.0.0.1" +LOCAL_DB_PORT = 3307 + +WRONG_CAT_PNGS = [ + 'job-tech.png', 'job-catering.png', 'job-clean.png', 'job-rider.png', + 'job-sales.png', 'job-driver.png', 'job-edu.png', 'job-parttime.png', + 'poultry-egg.png', 'poultry-chicken.png', 'poultry-pork.png', + 'poultry-beef.png', 'poultry-fish.png' +] + +def ssh_exec(client, cmd): + stdin, stdout, stderr = client.exec_command(cmd) + out = stdout.read().decode("utf-8", errors="replace").strip() + err = stderr.read().decode("utf-8", errors="replace").strip() + return out, err + +def main(): + print("=== [1/4] 清理本地错误的图片文件 ===") + + # 1. 清理 public/uploads/20261028/*.png + local_up_dir = os.path.join(LOCAL_ROOT, "public", "uploads", "20261028") + del_up_cnt = 0 + if os.path.exists(local_up_dir): + for f in os.listdir(local_up_dir): + if f.endswith('.png'): + p = os.path.join(local_up_dir, f) + os.remove(p) + del_up_cnt += 1 + print(f" ✓ 已清理本地 public/uploads/20261028/*.png 错误图片: {del_up_cnt} 个") + + # 2. 清理 public/static/categories/ 下的 13 个卡通 png + del_static_cnt = 0 + for f in WRONG_CAT_PNGS: + p = os.path.join(LOCAL_ROOT, "public", "static", "categories", f) + if os.path.exists(p): + os.remove(p) + del_static_cnt += 1 + print(f" ✓ 已清理本地 public/static/categories/ 下错误卡通图片: {del_static_cnt} 个") + + # 3. 清理 uniapp/static/categories/ 下的 13 个卡通 png + del_uni_cnt = 0 + for f in WRONG_CAT_PNGS: + p = os.path.join(LOCAL_ROOT, "uniapp", "static", "categories", f) + if os.path.exists(p): + os.remove(p) + del_uni_cnt += 1 + print(f" ✓ 已清理本地 uniapp/static/categories/ 下错误卡通图片: {del_uni_cnt} 个") + + print("\n=== [2/4] 清理本地数据库中残留的 png 附件记录 ===") + local_conn = pymysql.connect( + host=LOCAL_DB_HOST, + port=LOCAL_DB_PORT, + user=DB_USER, + password=DB_PASS, + database=DB_NAME, + charset="utf8mb4", + autocommit=True + ) + with local_conn.cursor() as cur: + cur.execute("DELETE FROM fa_attachment WHERE url LIKE '/uploads/20261028/%.png';") + print(f" ✓ 已删除本地 fa_attachment 中错误 png 记录: {cur.rowcount} 条") + local_conn.close() + + print("\n=== [3/4] 连接线上服务器并清理远程错误文件 ===") + ssh = paramiko.SSHClient() + ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) + ssh.connect(REMOTE_HOST, port=REMOTE_PORT, username=REMOTE_USER, password=REMOTE_PASS, timeout=30) + print("✓ 远程 SSH 连接成功") + + # 清理线上 uploads/20261028/*.png + cmd1 = f"rm -f {REMOTE_ROOT}/public/uploads/20261028/*.png" + ssh_exec(ssh, cmd1) + print(" ✓ 线上 /public/uploads/20261028/*.png 已清理") + + # 清理线上 static/categories/*.png 错误卡通图片 + for f in WRONG_CAT_PNGS: + cmd2 = f"rm -f {REMOTE_ROOT}/public/static/categories/{f}" + ssh_exec(ssh, cmd2) + print(f" ✓ 线上 /public/static/categories/ 下 13 个卡通图片已清理") + + print("\n=== [4/4] 清理线上数据库中残留的 png 附件记录并清缓存 ===") + sql_clean = "DELETE FROM fa_attachment WHERE url LIKE '/uploads/20261028/%.png';" + cmd_sql = f'mysql -u{DB_USER} -p{DB_PASS} {DB_NAME} -e "{sql_clean}" 2>/dev/null' + ssh_exec(ssh, cmd_sql) + print(" ✓ 线上数据库 fa_attachment 中错误 png 记录已清理") + + # 清除线上运行时缓存 + ssh_exec(ssh, f"rm -rf {REMOTE_ROOT}/runtime/temp/* {REMOTE_ROOT}/runtime/cache/*") + print(" ✓ 线上运行时缓存已清理") + + # 验证 uploads/20261028 目前保留的文件(只有 13 张 .jpg 真实照片) + out, _ = ssh_exec(ssh, f"ls -1 {REMOTE_ROOT}/public/uploads/20261028/") + valid_files = [x for x in out.splitlines() if x.strip()] + print(f"\n线上 uploads/20261028/ 当前现存有效文件数: {len(valid_files)} 个 (全为 .jpg 真实实拍图)") + for vf in valid_files[:3]: + print(f" - {vf}") + if len(valid_files) > 3: + print(f" ... 等共 {len(valid_files)} 张真实实拍图片") + + ssh.close() + print("\n✓ 前一批错误图片清理全部圆满完成!") + +if __name__ == "__main__": + main() diff --git a/tools/download_and_crop_real_photos.php b/tools/download_and_crop_real_photos.php new file mode 100644 index 0000000..066bf38 --- /dev/null +++ b/tools/download_and_crop_real_photos.php @@ -0,0 +1,176 @@ + 27, + 'name' => '普工技工', + 'filename' => 'job-tech.jpg', + 'url' => 'https://images.unsplash.com/photo-1504917599217-d4dc5ebe6122?w=500&q=80&auto=format&fit=crop', + ], + [ + 'id' => 28, + 'name' => '餐饮服务', + 'filename' => 'job-catering.jpg', + 'url' => 'https://images.unsplash.com/photo-1577219491135-ce391730fb2c?w=500&q=80&auto=format&fit=crop', + ], + [ + 'id' => 29, + 'name' => '家政保洁', + 'filename' => 'job-clean.jpg', + 'url' => 'https://images.unsplash.com/photo-1581578731548-c64695cc6952?w=500&q=80&auto=format&fit=crop', + ], + [ + 'id' => 30, + 'name' => '骑手配送', + 'filename' => 'job-rider.jpg', + 'url' => 'https://images.unsplash.com/photo-1526367790999-0150786686a2?w=500&q=80&auto=format&fit=crop', + ], + [ + 'id' => 31, + 'name' => '销售客服', + 'filename' => 'job-sales.jpg', + 'url' => 'https://images.unsplash.com/photo-1534536281715-e28d76689b4d?w=500&q=80&auto=format&fit=crop', + ], + [ + 'id' => 32, + 'name' => '司机出行', + 'filename' => 'job-driver.jpg', + 'url' => 'https://images.unsplash.com/photo-1449965408869-eaa3f722e40d?w=500&q=80&auto=format&fit=crop', + ], + [ + 'id' => 33, + 'name' => '教育培训', + 'filename' => 'job-edu.jpg', + 'url' => 'https://images.unsplash.com/photo-1509062522246-3755977927d7?w=500&q=80&auto=format&fit=crop', + ], + [ + 'id' => 34, + 'name' => '兼职短工', + 'filename' => 'job-parttime.jpg', + 'url' => 'https://images.unsplash.com/photo-1586528116311-ad8dd3c8310d?w=500&q=80&auto=format&fit=crop', + ], + // 肉蛋家禽 (PID: 26) + [ + 'id' => 35, + 'name' => '鲜土鸡蛋', + 'filename' => 'poultry-egg.jpg', + 'url' => 'https://images.unsplash.com/photo-1582722872445-44dc5f7e3c8f?w=500&q=80&auto=format&fit=crop', + ], + [ + 'id' => 36, + 'name' => '散养土鸡', + 'filename' => 'poultry-chicken.jpg', + 'url' => 'https://images.unsplash.com/photo-1548550023-2bdb3c5beed7?w=500&q=80&auto=format&fit=crop', + ], + [ + 'id' => 37, + 'name' => '生鲜猪肉', + 'filename' => 'poultry-pork.jpg', + 'url' => 'https://images.unsplash.com/photo-1607623814075-e51df1bdc82f?w=500&q=80&auto=format&fit=crop', + ], + [ + 'id' => 38, + 'name' => '高山牛肉', + 'filename' => 'poultry-beef.jpg', + 'url' => 'https://images.unsplash.com/photo-1558030006-450675393462?w=500&q=80&auto=format&fit=crop', + ], + [ + 'id' => 39, + 'name' => '鲜活水产', + 'filename' => 'poultry-fish.jpg', + 'url' => 'https://images.unsplash.com/photo-1534043464124-3be32fe00099?w=500&q=80&auto=format&fit=crop', + ], +]; + +/** + * 将图片内容居中裁剪为 240x240 并输出 JPEG + * + * @param string $binaryData 原始图片二进制流 + * @param string $savePath 目标保存路径 + * @return bool + */ +function cropToSquare240($binaryData, $savePath) +{ + $src = @imagecreatefromstring($binaryData); + if (!$src) { + return false; + } + + $srcW = imagesx($src); + $srcH = imagesy($src); + + // 确定正方形裁剪区域(居中裁剪) + $cropSize = min($srcW, $srcH); + $cropX = (int)(($srcW - $cropSize) / 2); + $cropY = (int)(($srcH - $cropSize) / 2); + + $dst = imagecreatetruecolor(240, 240); + // 高质量重采样 + imagecopyresampled($dst, $src, 0, 0, $cropX, $cropY, 240, 240, $cropSize, $cropSize); + + // 以 82% 质量保存 JPEG,保证实拍细节同时体积控制在 15KB 左右 + $res = imagejpeg($dst, $savePath, 82); + + imagedestroy($src); + imagedestroy($dst); + return $res; +} + +echo "=== 开始获取真实摄影照片并裁剪为 240x240 实拍图 ===\n"; + +$results = []; + +foreach ($realPhotos as $item) { + echo "正在下载 [{$item['name']}] 真实实拍照: {$item['url']} ...\n"; + + $opts = [ + 'http' => [ + 'method' => 'GET', + 'header' => "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)\r\n", + 'timeout' => 15, + ] + ]; + $context = stream_context_create($opts); + $raw = @file_get_contents($item['url'], false, $context); + + if (!$raw) { + echo " ✗ 下载失败,跳过: {$item['name']}\n"; + continue; + } + + // 生成 MD5 哈希文件名 + $tmpName = md5($raw . $item['name']) . '.jpg'; + $saveAbs = $targetDir . '/' . $tmpName; + + if (cropToSquare240($raw, $saveAbs)) { + $finalSize = filesize($saveAbs); + $url = '/uploads/20261028/' . $tmpName; + echo " ✓ 成功生成 240x240 真实照片: {$url} (大小: " . round($finalSize / 1024, 2) . " KB)\n"; + + $results[] = [ + 'id' => $item['id'], + 'name' => $item['name'], + 'filename' => $item['filename'], + 'local' => $saveAbs, + 'rel_url' => $url, + 'size' => $finalSize, + 'sha1' => sha1_file($saveAbs), + ]; + } else { + echo " ✗ 裁剪失败: {$item['name']}\n"; + } +} + +// 将结果输出到 JSON 临时文件供下一步同步脚本读取 +file_put_contents(__DIR__ . '/real_photos_result.json', json_encode($results, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT)); +echo "\n已成功生成 " . count($results) . " 张真实二级分类实拍图!\n"; diff --git a/tools/fix_missing_photos.php b/tools/fix_missing_photos.php new file mode 100644 index 0000000..cbdc309 --- /dev/null +++ b/tools/fix_missing_photos.php @@ -0,0 +1,76 @@ + 27, + 'name' => '普工技工', + 'filename' => 'job-tech.jpg', + 'url' => 'https://images.unsplash.com/photo-1581092335397-9583fe92d232?w=500&q=80&auto=format&fit=crop', + ], + [ + 'id' => 39, + 'name' => '鲜活水产', + 'filename' => 'poultry-fish.jpg', + 'url' => 'https://images.unsplash.com/photo-1524704654690-b56c05c78a00?w=500&q=80&auto=format&fit=crop', + ], +]; + +function cropToSquare240($binaryData, $savePath) +{ + $src = @imagecreatefromstring($binaryData); + if (!$src) return false; + $srcW = imagesx($src); + $srcH = imagesy($src); + $cropSize = min($srcW, $srcH); + $cropX = (int)(($srcW - $cropSize) / 2); + $cropY = (int)(($srcH - $cropSize) / 2); + $dst = imagecreatetruecolor(240, 240); + imagecopyresampled($dst, $src, 0, 0, $cropX, $cropY, 240, 240, $cropSize, $cropSize); + $res = imagejpeg($dst, $savePath, 82); + imagedestroy($src); + imagedestroy($dst); + return $res; +} + +foreach ($missing as $item) { + echo "正在补齐 [{$item['name']}] 真实实拍照: {$item['url']} ...\n"; + $raw = @file_get_contents($item['url']); + if (!$raw) { + // 备用地址 + $backupUrl = ($item['id'] === 27) + ? 'https://images.unsplash.com/photo-1581092160607-ee22621dd758?w=500&q=80&auto=format&fit=crop' + : 'https://images.unsplash.com/photo-1516684732162-798a0062be99?w=500&q=80&auto=format&fit=crop'; + $raw = @file_get_contents($backupUrl); + } + + if ($raw) { + $tmpName = md5($raw . $item['name']) . '.jpg'; + $saveAbs = $targetDir . '/' . $tmpName; + if (cropToSquare240($raw, $saveAbs)) { + $finalSize = filesize($saveAbs); + $url = '/uploads/20261028/' . $tmpName; + echo " ✓ 成功补齐: {$url} (" . round($finalSize / 1024, 2) . " KB)\n"; + $existing[] = [ + 'id' => $item['id'], + 'name' => $item['name'], + 'filename' => $item['filename'], + 'local' => $saveAbs, + 'rel_url' => $url, + 'size' => $finalSize, + 'sha1' => sha1_file($saveAbs), + ]; + } + } else { + echo " ✗ 仍失败: {$item['name']}\n"; + } +} + +file_put_contents($jsonFile, json_encode($existing, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT)); +echo "当前清单已有 " . count($existing) . " 个分类的真实照片!\n"; diff --git a/tools/full_data_sync_to_online.py b/tools/full_data_sync_to_online.py new file mode 100644 index 0000000..7f1403a --- /dev/null +++ b/tools/full_data_sync_to_online.py @@ -0,0 +1,177 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +数据全面同步到线上: +1. 校验并补齐 public/uploads/ 所有文件至线上对应目录 +2. 完整同步本地数据库各业务表到线上数据库 +3. 清理线上缓存并验证接口 +""" + +import os +import sys +import io +import time +import paramiko +import pymysql + +sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8', errors='replace') + +LOCAL_ROOT = r"D:\Softwares\phpstudy_pro\WWW\fenleixinxi" +REMOTE_HOST = "8.137.181.63" +REMOTE_PORT = 22 +REMOTE_USER = "root" +REMOTE_PASS = "liyanxia@6688" +REMOTE_ROOT = "/www/wwwroot/fenleixinxi.gzyakj.com.cn" +DB_USER = "fenleixinxi" +DB_PASS = "fenleixinxi" +DB_NAME = "fenleixinxi" + +LOCAL_DB_HOST = "127.0.0.1" +LOCAL_DB_PORT = 3307 + +# 核心同步表列表 +SYNC_TABLES = [ + "fa_user", + "fa_user_ext", + "fa_attachment", + "fa_fc_category", + "fa_fc_post", + "fa_fc_banner", + "fa_fc_comment", + "fa_fc_favorite", + "fa_fc_follow", + "fa_fc_message", + "fa_fc_plan", + "fa_fc_config", + "fa_fc_area", + "fa_fc_merchant", +] + +def ssh_exec(client, cmd): + stdin, stdout, stderr = client.exec_command(cmd) + out = stdout.read().decode("utf-8", errors="replace").strip() + err = stderr.read().decode("utf-8", errors="replace").strip() + return out, err + +def main(): + print("=== [1/3] 检查并同步本地 uploads 文件到线上服务器 ===") + ssh = paramiko.SSHClient() + ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) + ssh.connect(REMOTE_HOST, port=REMOTE_PORT, username=REMOTE_USER, password=REMOTE_PASS, timeout=30) + print("✓ 远程 SSH 连接成功") + + sftp = ssh.open_sftp() + + # 扫描本地 public/uploads/ 下所有文件 + local_uploads = os.path.join(LOCAL_ROOT, "public", "uploads") + uploaded_cnt = 0 + + for root, dirs, files in os.walk(local_uploads): + rel_dir = os.path.relpath(root, local_uploads) + if rel_dir == ".": + remote_sub_dir = f"{REMOTE_ROOT}/public/uploads" + else: + remote_sub_dir = f"{REMOTE_ROOT}/public/uploads/{rel_dir.replace(chr(92), '/')}" + + # 确保远程目录存在 + ssh_exec(ssh, f"mkdir -p '{remote_sub_dir}'") + + for f in files: + if f == ".gitkeep": + continue + loc_file = os.path.join(root, f) + rem_file = f"{remote_sub_dir}/{f}" + + # 检查远程文件是否存在且大小一致 + try: + r_stat = sftp.stat(rem_file) + l_size = os.path.getsize(loc_file) + if r_stat.st_size == l_size: + continue # 大小一致跳过 + except IOError: + pass # 远程不存在 + + sftp.put(loc_file, rem_file) + ssh_exec(ssh, f"chown www:www '{rem_file}'") + uploaded_cnt += 1 + print(f" ✓ 补充上传文件: uploads/{rel_dir}/{f}") + + print(f"✓ 文件检查完毕,本次共增量补传文件: {uploaded_cnt} 个") + sftp.close() + + print("\n=== [2/3] 全量同步本地数据库表到线上 ===") + local_conn = pymysql.connect( + host=LOCAL_DB_HOST, + port=LOCAL_DB_PORT, + user=DB_USER, + password=DB_PASS, + database=DB_NAME, + charset="utf8mb4", + autocommit=True + ) + + sync_sqls = [ + "SET FOREIGN_KEY_CHECKS = 0;", + "SET NAMES utf8mb4;" + ] + + with local_conn.cursor() as cur: + for t in SYNC_TABLES: + try: + cur.execute(f"SELECT * FROM `{t}`;") + rows = cur.fetchall() + cur.execute(f"DESCRIBE `{t}`;") + cols = [f[0] for f in cur.fetchall()] + except Exception as e: + print(f" - 跳过表 {t} ({e})") + continue + + col_str = ", ".join([f"`{c}`" for c in cols]) + sync_sqls.append(f"TRUNCATE TABLE `{t}`;") + for r in rows: + val_list = [] + for v in r: + if v is None: + val_list.append("NULL") + elif isinstance(v, (int, float)): + val_list.append(str(v)) + else: + esc = str(v).replace("\\", "\\\\").replace("'", "\\'") + val_list.append(f"'{esc}'") + sync_sqls.append(f"INSERT INTO `{t}` ({col_str}) VALUES ({', '.join(val_list)});") + print(f" ✓ 表 [{t}] 同步准备完毕: {len(rows)} 条记录") + + sync_sqls.append("SET FOREIGN_KEY_CHECKS = 1;") + full_sql = "\n".join(sync_sqls) + + # 在线上执行 + mysql_cmd = f'mysql -u{DB_USER} -p{DB_PASS} --default-character-set=utf8mb4 {DB_NAME} 2>/dev/null <<\'SQLEOF\'\n{full_sql}\nSQLEOF' + out, err = ssh_exec(ssh, mysql_cmd) + if err and "error" in err.lower(): + print(f"✗ 线上数据库更新失败: {err}") + else: + print("✓ 线上数据库所有业务表已全量重写同步完成!") + + local_conn.close() + + print("\n=== [3/3] 清理缓存并校验 ===") + ssh_exec(ssh, f"rm -rf {REMOTE_ROOT}/runtime/temp/* {REMOTE_ROOT}/runtime/cache/*") + print("✓ 线上 ThinkPHP 运行时缓存清理完成") + + # 验证分类接口 + cmd_api = "curl -s -k 'https://fenleixinxi.gzyakj.com.cn/api/v1/home/categories'" + api_res, _ = ssh_exec(ssh, cmd_api) + if '"code":0' in api_res: + print("✓ 线上分类 API (GET /api/v1/home/categories) 校验通过 (HTTP 200 OK)") + + # 验证信息流接口 + cmd_feed = "curl -s -k 'https://fenleixinxi.gzyakj.com.cn/api/v1/home/feed'" + feed_res, _ = ssh_exec(ssh, cmd_feed) + if '"code":0' in feed_res: + print("✓ 线上信息流 API (GET /api/v1/home/feed) 校验通过 (HTTP 200 OK)") + + ssh.close() + print("\n✓ 数据同步到线上全部圆满完成!") + +if __name__ == "__main__": + main() diff --git a/tools/generate_more_categories.php b/tools/generate_more_categories.php new file mode 100644 index 0000000..521b0da --- /dev/null +++ b/tools/generate_more_categories.php @@ -0,0 +1,453 @@ += ($size - $rad) && $y < $rad) { + $in = (($x - ($size - $rad)) ** 2 + ($y - $rad) ** 2) <= ($rad ** 2); + } elseif ($x < $rad && $y >= ($size - $rad)) { + $in = (($x - $rad) ** 2 + ($y - ($size - $rad)) ** 2) <= ($rad ** 2); + } elseif ($x >= ($size - $rad) && $y >= ($size - $rad)) { + $in = (($x - ($size - $rad)) ** 2 + ($y - ($size - $rad)) ** 2) <= ($rad ** 2); + } + if ($in) { + imagesetpixel($img, $x, $y, $col); + } + } + } + + imagealphablending($img, true); + $mainCol = imagecolorallocate($img, $cfg['main'][0], $cfg['main'][1], $cfg['main'][2]); + $subCol = imagecolorallocate($img, $cfg['sub'][0], $cfg['sub'][1], $cfg['sub'][2]); + $white = imagecolorallocate($img, 255, 255, 255); + $gold = imagecolorallocate($img, 245, 166, 35); + $dark = imagecolorallocate($img, 30, 41, 59); + + $cx = 120; + $cy = 96; + + // 根据造型绘制微质感矢量形状 + switch ($cfg['shape']) { + case 'briefcase': + // 公文包 + 领结 / 招聘专区 + // 手柄 + imagefilledellipse($img, $cx, $cy - 40, 44, 28, $subCol); + imagefilledellipse($img, $cx, $cy - 38, 28, 16, $white); + // 包身 + imagefilledrectangle($img, $cx - 52, $cy - 24, $cx + 52, $cy + 42, $mainCol); + imagefilledrectangle($img, $cx - 48, $cy - 20, $cx + 48, $cy + 6, $subCol); + // 金扣 + imagefilledellipse($img, $cx, $cy + 8, 18, 18, $gold); + imagefilledellipse($img, $cx, $cy + 8, 8, 8, $white); + break; + + case 'gear': + // 普工技工:齿轮 + 扳手 + imagefilledellipse($img, $cx, $cy, 88, 88, $mainCol); + for ($i = 0; $i < 8; $i++) { + $angle = $i * (M_PI / 4); + $gx = $cx + (int)(cos($angle) * 44); + $gy = $cy + (int)(sin($angle) * 44); + imagefilledellipse($img, $gx, $gy, 22, 22, $mainCol); + } + imagefilledellipse($img, $cx, $cy, 46, 46, $white); + imagefilledellipse($img, $cx, $cy, 28, 28, $subCol); + break; + + case 'chef': + // 餐饮服务:主厨帽 + 托盘 + // 托盘底 + imagefilledellipse($img, $cx, $cy + 36, 96, 22, $subCol); + imagefilledrectangle($img, $cx - 36, $cy + 8, $cx + 36, $cy + 30, $white); + // 蓬松帽顶 + imagefilledellipse($img, $cx - 26, $cy - 8, 48, 48, $white); + imagefilledellipse($img, $cx + 26, $cy - 8, 48, 48, $white); + imagefilledellipse($img, $cx, $cy - 20, 56, 56, $white); + // 帽褶彩带 + imagefilledrectangle($img, $cx - 32, $cy + 22, $cx + 32, $cy + 28, $mainCol); + break; + + case 'clean': + // 家政保洁:晶亮喷壶 + 气泡星光 + imagefilledellipse($img, $cx - 10, $cy + 16, 68, 64, $mainCol); + imagefilledrectangle($img, $cx - 22, $cy - 12, $cx + 2, $cy + 16, $mainCol); + // 喷头 + imagefilledrectangle($img, $cx - 32, $cy - 28, $cx + 24, $cy - 12, $subCol); + imagefilledrectangle($img, $cx - 38, $cy - 24, $cx - 32, $cy - 16, $gold); + // 洁净星光 + imagefilledellipse($img, $cx + 32, $cy - 16, 20, 20, $gold); + imagefilledellipse($img, $cx + 42, $cy + 14, 14, 14, $white); + break; + + case 'helmet': + // 骑手配送:骑手头盔 + 护目镜 + imagefilledellipse($img, $cx, $cy + 2, 92, 84, $mainCol); + imagefilledarc($img, $cx, $cy + 2, 92, 84, 0, 180, $subCol, IMG_ARC_PIE); + // 护目镜 + imagefilledrectangle($img, $cx - 36, $cy - 6, $cx + 36, $cy + 14, $dark); + imagefilledellipse($img, $cx - 16, $cy + 4, 16, 16, imagecolorallocatealpha($img, 255, 255, 255, 60)); + // 帽檐 + imagefilledellipse($img, $cx, $cy - 30, 48, 12, $gold); + break; + + case 'headset': + // 销售客服:耳麦 + 亲和对话 + imagefilledellipse($img, $cx, $cy, 68, 68, $subCol); + imagefilledarc($img, $cx, $cy - 8, 92, 92, 190, 350, $mainCol, IMG_ARC_NOFILL); + // 左右耳机 + imagefilledellipse($img, $cx - 44, $cy, 22, 38, $mainCol); + imagefilledellipse($img, $cx + 44, $cy, 22, 38, $mainCol); + // 麦克风 + imagefilledarc($img, $cx + 24, $cy + 26, 44, 44, 45, 160, $mainCol, IMG_ARC_NOFILL); + imagefilledellipse($img, $cx + 10, $cy + 44, 14, 14, $gold); + break; + + case 'steering': + // 司机出行:方向盘 + imagefilledellipse($img, $cx, $cy, 96, 96, $mainCol); + imagefilledellipse($img, $cx, $cy, 66, 66, $white); + // 中心柱 + imagefilledellipse($img, $cx, $cy, 36, 36, $mainCol); + imagefilledellipse($img, $cx, $cy, 18, 18, $gold); + // 左右辐射臂 + imagefilledrectangle($img, $cx - 46, $cy - 6, $cx + 46, $cy + 6, $mainCol); + imagefilledrectangle($img, $cx - 6, $cy, $cx + 6, $cy + 46, $mainCol); + break; + + case 'cap': + // 教育培训:学士帽 + 书卷 + imagefilledellipse($img, $cx, $cy - 12, 102, 36, $mainCol); + // 帽顶菱形 + $diamond = [$cx, $cy - 34, $cx + 48, $cy - 12, $cx, $cy + 10, $cx - 48, $cy - 12]; + imagefilledpolygon($img, $diamond, 4, $mainCol); + // 流苏 + imagefilledellipse($img, $cx + 34, $cy + 16, 12, 28, $gold); + // 书卷 + imagefilledrectangle($img, $cx - 36, $cy + 26, $cx + 36, $cy + 42, $white); + imagefilledellipse($img, $cx - 36, $cy + 34, 12, 16, $subCol); + imagefilledellipse($img, $cx + 36, $cy + 34, 12, 16, $subCol); + break; + + case 'clock': + // 兼职短工:闪电日结 + 时钟 + imagefilledellipse($img, $cx, $cy, 88, 88, $white); + imagefilledarc($img, $cx, $cy, 88, 88, 0, 360, $subCol, IMG_ARC_NOFILL); + // 表针 + imagefilledrectangle($img, $cx - 3, $cy - 28, $cx + 3, $cy, $mainCol); + imagefilledrectangle($img, $cx, $cy - 3, $cx + 22, $cy + 3, $mainCol); + // 闪电角标 + $lightning = [$cx + 14, $cy - 28, $cx + 38, $cy - 28, $cx + 24, $cy - 8, $cx + 42, $cy - 8, $cx + 12, $cy + 28, $cx + 20, $cy + 6, $cx + 8, $cy + 6]; + imagefilledpolygon($img, $lightning, 7, $gold); + break; + + case 'egg': + // 鲜土鸡蛋:温润金蛋双生 + imagefilledellipse($img, $cx - 18, $cy + 8, 62, 82, $subCol); + imagefilledellipse($img, $cx + 18, $cy + 4, 58, 76, $gold); + imagefilledellipse($img, $cx + 14, $cy - 8, 16, 26, imagecolorallocatealpha($img, 255, 255, 255, 70)); + break; + + case 'chicken': + // 散养土鸡:生动公鸡微插画 + imagefilledellipse($img, $cx, $cy + 14, 76, 68, $subCol); + // 鸡冠 + imagefilledellipse($img, $cx - 8, $cy - 32, 18, 26, imagecolorallocate($img, 239, 68, 68)); + imagefilledellipse($img, $cx + 4, $cy - 36, 18, 28, imagecolorallocate($img, 239, 68, 68)); + // 鸡头与喙 + imagefilledellipse($img, $cx, $cy - 18, 44, 44, $mainCol); + $beak = [$cx + 16, $cy - 22, $cx + 36, $cy - 14, $cx + 16, $cy - 6]; + imagefilledpolygon($img, $beak, 3, $gold); + break; + + case 'meat': + // 生鲜肉类 / 牛肉 + imagefilledellipse($img, $cx, $cy + 6, 98, 72, $mainCol); + imagefilledellipse($img, $cx - 10, $cy + 6, 76, 52, $subCol); + // 骨头 / 雪花纹 + imagefilledellipse($img, $cx + 26, $cy - 2, 22, 22, $white); + break; + + case 'fish': + // 鲜活水产:灵动游鱼 + imagefilledellipse($img, $cx, $cy + 6, 88, 54, $mainCol); + // 鱼尾 + $tail = [$cx - 36, $cy + 6, $cx - 62, $cy - 18, $cx - 62, $cy + 30]; + imagefilledpolygon($img, $tail, 3, $subCol); + // 鱼眼 + imagefilledellipse($img, $cx + 26, $cy, 12, 12, $white); + imagefilledellipse($img, $cx + 28, $cy, 6, 6, $dark); + break; + + default: + // 饱满徽章默认 + imagefilledellipse($img, $cx, $cy + 6, 88, 88, $mainCol); + imagefilledellipse($img, $cx, $cy + 6, 66, 66, $subCol); + break; + } + + // 底部文字标签 + if ($fontFile) { + $text = $cfg['name']; + $fontSize = 21; + $box = imagettfbbox($fontSize, 0, $fontFile, $text); + $tw = $box[2] - $box[0]; + $tx = (int)(($size - $tw) / 2) - $box[0]; + $ty = 208; + $textCol = imagecolorallocate($img, 30, 41, 59); + imagettftext($img, $fontSize, 0, $tx, $ty, $textCol, $fontFile, $text); + } + + // 保存文件 + $catPath1 = __DIR__ . '/../public/static/categories/' . $key . '.png'; + $catPath2 = __DIR__ . '/../uniapp/static/categories/' . $key . '.png'; + imagepng($img, $catPath1); + imagepng($img, $catPath2); + + // 如果是一级专区,也写一份到 icons 目录备用 + if (strpos($key, 'cat-') === 0) { + imagepng($img, __DIR__ . '/../public/static/icons/' . $key . '.png'); + imagepng($img, __DIR__ . '/../uniapp/static/icons/' . $key . '.png'); + } + + imagedestroy($img); + echo " ✓ 生成图标: {$key}.png ({$cfg['name']})\n"; +} + +// 3. 定义需要生成和入库的分类 +$categoriesData = [ + // 一级专区更正图标 + 'cat-job' => [ + 'is_parent' => true, + 'id' => 25, + 'name' => '招聘专区', + 'bg1' => [220, 252, 231], 'bg2' => [204, 251, 241], + 'main' => [16, 185, 129], 'sub' => [110, 231, 183], + 'shape' => 'briefcase' + ], + 'cat-poultry' => [ + 'is_parent' => true, + 'id' => 26, + 'name' => '肉蛋家禽', + 'bg1' => [254, 243, 199], 'bg2' => [254, 215, 170], + 'main' => [234, 88, 12], 'sub' => [251, 146, 60], + 'shape' => 'egg' + ], + + // 招聘专区 (PID = 25) 二级分类 + 'job-tech' => [ + 'pid' => 25, + 'name' => '普工技工', + 'bg1' => [236, 253, 245], 'bg2' => [209, 250, 229], + 'main' => [5, 150, 105], 'sub' => [52, 211, 153], + 'shape' => 'gear' + ], + 'job-catering' => [ + 'pid' => 25, + 'name' => '餐饮服务', + 'bg1' => [255, 247, 237], 'bg2' => [254, 215, 170], + 'main' => [234, 88, 12], 'sub' => [251, 146, 60], + 'shape' => 'chef' + ], + 'job-clean' => [ + 'pid' => 25, + 'name' => '家政保洁', + 'bg1' => [240, 253, 244], 'bg2' => [187, 247, 208], + 'main' => [22, 163, 74], 'sub' => [134, 239, 172], + 'shape' => 'clean' + ], + 'job-rider' => [ + 'pid' => 25, + 'name' => '骑手配送', + 'bg1' => [254, 249, 195], 'bg2' => [254, 240, 138], + 'main' => [202, 138, 4], 'sub' => [250, 204, 21], + 'shape' => 'helmet' + ], + 'job-sales' => [ + 'pid' => 25, + 'name' => '销售客服', + 'bg1' => [238, 242, 255], 'bg2' => [224, 231, 255], + 'main' => [79, 70, 229], 'sub' => [165, 180, 252], + 'shape' => 'headset' + ], + 'job-driver' => [ + 'pid' => 25, + 'name' => '司机出行', + 'bg1' => [241, 245, 249], 'bg2' => [226, 232, 240], + 'main' => [71, 85, 105], 'sub' => [148, 163, 184], + 'shape' => 'steering' + ], + 'job-edu' => [ + 'pid' => 25, + 'name' => '教育培训', + 'bg1' => [245, 243, 255], 'bg2' => [237, 233, 254], + 'main' => [124, 58, 237], 'sub' => [196, 181, 253], + 'shape' => 'cap' + ], + 'job-parttime' => [ + 'pid' => 25, + 'name' => '兼职短工', + 'bg1' => [254, 242, 242], 'bg2' => [254, 226, 226], + 'main' => [220, 38, 38], 'sub' => [248, 113, 113], + 'shape' => 'clock' + ], + + // 肉蛋家禽 (PID = 26) 二级分类 + 'poultry-egg' => [ + 'pid' => 26, + 'name' => '鲜土鸡蛋', + 'bg1' => [255, 251, 235], 'bg2' => [254, 243, 199], + 'main' => [217, 119, 6], 'sub' => [245, 158, 11], + 'shape' => 'egg' + ], + 'poultry-chicken' => [ + 'pid' => 26, + 'name' => '散养土鸡', + 'bg1' => [255, 247, 237], 'bg2' => [255, 237, 213], + 'main' => [194, 65, 12], 'sub' => [249, 115, 22], + 'shape' => 'chicken' + ], + 'poultry-pork' => [ + 'pid' => 26, + 'name' => '生鲜猪肉', + 'bg1' => [255, 241, 242], 'bg2' => [255, 228, 230], + 'main' => [225, 29, 72], 'sub' => [251, 113, 133], + 'shape' => 'meat' + ], + 'poultry-beef' => [ + 'pid' => 26, + 'name' => '高山牛肉', + 'bg1' => [254, 242, 242], 'bg2' => [254, 202, 202], + 'main' => [185, 28, 28], 'sub' => [239, 68, 68], + 'shape' => 'meat' + ], + 'poultry-fish' => [ + 'pid' => 26, + 'name' => '鲜活水产', + 'bg1' => [240, 249, 255], 'bg2' => [224, 242, 254], + 'main' => [2, 132, 199], 'sub' => [56, 189, 248], + 'shape' => 'fish' + ], +]; + +echo "=== 1. 开始生成微质感分类图标 ===\n"; +foreach ($categoriesData as $key => $cfg) { + drawCategoryIcon($key, $cfg, $fontFile); +} + +// 4. 连接本地数据库写入数据 +echo "\n=== 2. 更新本地数据库 fa_fc_category ===\n"; +try { + $pdo = new PDO("mysql:host=127.0.0.1;port=3307;dbname=fenleixinxi;charset=utf8mb4", "fenleixinxi", "fenleixinxi", [ + PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION + ]); + + // 更新一级专区图标 + $stmtUpd = $pdo->prepare("UPDATE `fa_fc_category` SET `image` = :image, `updatetime` = :now WHERE `id` = :id"); + $stmtUpd->execute([ + ':image' => '/static/categories/cat-job.png', + ':now' => time(), + ':id' => 25 + ]); + echo " ✓ 更新一级【招聘专区】图标为 /static/categories/cat-job.png\n"; + + $stmtUpd->execute([ + ':image' => '/static/categories/cat-poultry.png', + ':now' => time(), + ':id' => 26 + ]); + echo " ✓ 更新一级【肉蛋家禽】图标为 /static/categories/cat-poultry.png\n"; + + // 插入二级子分类 + $stmtChk = $pdo->prepare("SELECT `id` FROM `fa_fc_category` WHERE `pid` = :pid AND `name` = :name LIMIT 1"); + $stmtIns = $pdo->prepare("INSERT INTO `fa_fc_category` (`pid`, `name`, `icon_key`, `image`, `kind`, `color`, `sort`, `enabled`, `post_count`, `createtime`, `updatetime`) VALUES (:pid, :name, :icon_key, :image, 'normal', '', :sort, 1, 0, :createtime, :updatetime)"); + + $sort = 10; + foreach ($categoriesData as $key => $cfg) { + if (!empty($cfg['is_parent'])) { + continue; + } + + $stmtChk->execute([':pid' => $cfg['pid'], ':name' => $cfg['name']]); + $exists = $stmtChk->fetch(PDO::FETCH_ASSOC); + + $imgUrl = '/static/categories/' . $key . '.png'; + $now = time(); + + if ($exists) { + $stmtUpdateSub = $pdo->prepare("UPDATE `fa_fc_category` SET `image` = :image, `enabled` = 1, `updatetime` = :now WHERE `id` = :id"); + $stmtUpdateSub->execute([':image' => $imgUrl, ':now' => $now, ':id' => $exists['id']]); + echo " ✓ 已存在更新子分类: {$cfg['name']} (ID: {$exists['id']})\n"; + } else { + $stmtIns->execute([ + ':pid' => $cfg['pid'], + ':name' => $cfg['name'], + ':icon_key' => '', + ':image' => $imgUrl, + ':sort' => $sort, + ':createtime' => $now, + ':updatetime' => $now, + ]); + $newId = $pdo->lastInsertId(); + echo " ✓ 新增子分类成功: {$cfg['name']} (ID: {$newId}, PID: {$cfg['pid']})\n"; + } + $sort += 10; + } + + echo "\n=== 3. 统计当前本地分类总数 ===\n"; + $count = $pdo->query("SELECT COUNT(*) FROM `fa_fc_category`")->fetchColumn(); + echo " 当前 fa_fc_category 总记录数: {$count} 条\n"; + +} catch (Exception $e) { + echo "✗ 数据库操作失败: " . $e->getMessage() . "\n"; +} diff --git a/tools/more_fruits_result.json b/tools/more_fruits_result.json new file mode 100644 index 0000000..aadc0f3 --- /dev/null +++ b/tools/more_fruits_result.json @@ -0,0 +1,58 @@ +[ + { + "name": "芒果", + "filename": "fruit-mango.jpg", + "local": "D:\\Softwares\\phpstudy_pro\\WWW\\fenleixinxi\\tools\/..\/public\/uploads\/20261028\/f1a4f3c123c81aea2f0fd24c8688d988.jpg", + "rel_url": "\/uploads\/20261028\/f1a4f3c123c81aea2f0fd24c8688d988.jpg", + "size": 5060, + "sha1": "4f7f7508e021a54ca32108004bd1ce771c218064" + }, + { + "name": "香蕉", + "filename": "fruit-banana.jpg", + "local": "D:\\Softwares\\phpstudy_pro\\WWW\\fenleixinxi\\tools\/..\/public\/uploads\/20261028\/d8b5420c12f7921e325050be088a011f.jpg", + "rel_url": "\/uploads\/20261028\/d8b5420c12f7921e325050be088a011f.jpg", + "size": 5441, + "sha1": "8f16d992f4b66528a33d662a3b0ce68db4d25fd2" + }, + { + "name": "蓝莓", + "filename": "fruit-blueberry.jpg", + "local": "D:\\Softwares\\phpstudy_pro\\WWW\\fenleixinxi\\tools\/..\/public\/uploads\/20261028\/75dd5971bdfa99d64a62c5b1e72cac11.jpg", + "rel_url": "\/uploads\/20261028\/75dd5971bdfa99d64a62c5b1e72cac11.jpg", + "size": 13316, + "sha1": "40cad819b3faee26e4c98832c74ecd1493ce5d46" + }, + { + "name": "车厘子", + "filename": "fruit-cherry.jpg", + "local": "D:\\Softwares\\phpstudy_pro\\WWW\\fenleixinxi\\tools\/..\/public\/uploads\/20261028\/e71ba37749da829c50d098168dbb4fa2.jpg", + "rel_url": "\/uploads\/20261028\/e71ba37749da829c50d098168dbb4fa2.jpg", + "size": 4106, + "sha1": "b7db86b40ec2335140575019305b1c0123eebf67" + }, + { + "name": "火龙果", + "filename": "fruit-dragon.jpg", + "local": "D:\\Softwares\\phpstudy_pro\\WWW\\fenleixinxi\\tools\/..\/public\/uploads\/20261028\/65d91dba8121f8b49356f356aa6a3b28.jpg", + "rel_url": "\/uploads\/20261028\/65d91dba8121f8b49356f356aa6a3b28.jpg", + "size": 20986, + "sha1": "d8b8c0e89e84a46d1ceed6c57b1a72898f177fc0" + }, + { + "name": "柠檬", + "filename": "fruit-lemon.jpg", + "local": "D:\\Softwares\\phpstudy_pro\\WWW\\fenleixinxi\\tools\/..\/public\/uploads\/20261028\/0391292554cf8efd457c44caedf67867.jpg", + "rel_url": "\/uploads\/20261028\/0391292554cf8efd457c44caedf67867.jpg", + "size": 13878, + "sha1": "c0a31fc168d78346edeef962704de7fadf7414aa" + }, + { + "name": "荔枝", + "filename": "fruit-lychee.jpg", + "local": "D:\\Softwares\\phpstudy_pro\\WWW\\fenleixinxi\\tools\/..\/public\/uploads\/20261028\/49b39ce93043ec8a6f24bcef9bc45f96.jpg", + "rel_url": "\/uploads\/20261028\/49b39ce93043ec8a6f24bcef9bc45f96.jpg", + "size": 11459, + "sha1": "2a47e25354ac30f7c9fad88046b1a4049a77e4dd" + } +] \ No newline at end of file diff --git a/tools/real_photos_result.json b/tools/real_photos_result.json new file mode 100644 index 0000000..8607958 --- /dev/null +++ b/tools/real_photos_result.json @@ -0,0 +1,119 @@ +[ + { + "id": 28, + "name": "餐饮服务", + "filename": "job-catering.jpg", + "local": "D:\\Softwares\\phpstudy_pro\\WWW\\fenleixinxi\\tools\/..\/public\/uploads\/20261028\/4e4f911ac45e9dc5471597a8ff7862f7.jpg", + "rel_url": "\/uploads\/20261028\/4e4f911ac45e9dc5471597a8ff7862f7.jpg", + "size": 16228, + "sha1": "99699e9e1ef1399488943dfc957299fa6064929f" + }, + { + "id": 29, + "name": "家政保洁", + "filename": "job-clean.jpg", + "local": "D:\\Softwares\\phpstudy_pro\\WWW\\fenleixinxi\\tools\/..\/public\/uploads\/20261028\/915423715a937ad7ba4b737690c963d2.jpg", + "rel_url": "\/uploads\/20261028\/915423715a937ad7ba4b737690c963d2.jpg", + "size": 10120, + "sha1": "98ea384b78cb991a3e747b36ff482739f4013478" + }, + { + "id": 30, + "name": "骑手配送", + "filename": "job-rider.jpg", + "local": "D:\\Softwares\\phpstudy_pro\\WWW\\fenleixinxi\\tools\/..\/public\/uploads\/20261028\/3fb1eee6654e4d5e7c1b5d3189643fae.jpg", + "rel_url": "\/uploads\/20261028\/3fb1eee6654e4d5e7c1b5d3189643fae.jpg", + "size": 15521, + "sha1": "88c40d6f5461a579b58957c616e72dd4c9fe2ff3" + }, + { + "id": 31, + "name": "销售客服", + "filename": "job-sales.jpg", + "local": "D:\\Softwares\\phpstudy_pro\\WWW\\fenleixinxi\\tools\/..\/public\/uploads\/20261028\/d0cc33f85a8580be2f526eb360448867.jpg", + "rel_url": "\/uploads\/20261028\/d0cc33f85a8580be2f526eb360448867.jpg", + "size": 7681, + "sha1": "9feaf44299cf20b3e180242742077325b41f3505" + }, + { + "id": 32, + "name": "司机出行", + "filename": "job-driver.jpg", + "local": "D:\\Softwares\\phpstudy_pro\\WWW\\fenleixinxi\\tools\/..\/public\/uploads\/20261028\/f5e2927ba040dd1b917b6fbd6b053458.jpg", + "rel_url": "\/uploads\/20261028\/f5e2927ba040dd1b917b6fbd6b053458.jpg", + "size": 10392, + "sha1": "e037657705d91da753808850d7bb037edb21d81e" + }, + { + "id": 33, + "name": "教育培训", + "filename": "job-edu.jpg", + "local": "D:\\Softwares\\phpstudy_pro\\WWW\\fenleixinxi\\tools\/..\/public\/uploads\/20261028\/99c32f9508e3429ea02a4ce1c34f9df2.jpg", + "rel_url": "\/uploads\/20261028\/99c32f9508e3429ea02a4ce1c34f9df2.jpg", + "size": 13654, + "sha1": "8c0e15e6b1ce5e8c3db2433c14e3424c9c98a1d2" + }, + { + "id": 34, + "name": "兼职短工", + "filename": "job-parttime.jpg", + "local": "D:\\Softwares\\phpstudy_pro\\WWW\\fenleixinxi\\tools\/..\/public\/uploads\/20261028\/0c913f9d7d72a10c0c598c36eea89b14.jpg", + "rel_url": "\/uploads\/20261028\/0c913f9d7d72a10c0c598c36eea89b14.jpg", + "size": 22802, + "sha1": "2b30e25c4867ed9131793a49d83697d8990849b7" + }, + { + "id": 35, + "name": "鲜土鸡蛋", + "filename": "poultry-egg.jpg", + "local": "D:\\Softwares\\phpstudy_pro\\WWW\\fenleixinxi\\tools\/..\/public\/uploads\/20261028\/69b65e455081d5aa8834b48bd879009d.jpg", + "rel_url": "\/uploads\/20261028\/69b65e455081d5aa8834b48bd879009d.jpg", + "size": 10702, + "sha1": "edd5af80cbf31c7edec3bc652a4fd95394069e90" + }, + { + "id": 36, + "name": "散养土鸡", + "filename": "poultry-chicken.jpg", + "local": "D:\\Softwares\\phpstudy_pro\\WWW\\fenleixinxi\\tools\/..\/public\/uploads\/20261028\/cafbe884f6616622dcdd5650bbbce3b3.jpg", + "rel_url": "\/uploads\/20261028\/cafbe884f6616622dcdd5650bbbce3b3.jpg", + "size": 12906, + "sha1": "a1b2f6aaf86426eb6d14d5325cb5e3fe2df8f8ab" + }, + { + "id": 37, + "name": "生鲜猪肉", + "filename": "poultry-pork.jpg", + "local": "D:\\Softwares\\phpstudy_pro\\WWW\\fenleixinxi\\tools\/..\/public\/uploads\/20261028\/d2a3226fd6ffa12d24db06c9342a9118.jpg", + "rel_url": "\/uploads\/20261028\/d2a3226fd6ffa12d24db06c9342a9118.jpg", + "size": 19629, + "sha1": "0f385594128a9f1892fe883bcf483350c77e05a8" + }, + { + "id": 38, + "name": "高山牛肉", + "filename": "poultry-beef.jpg", + "local": "D:\\Softwares\\phpstudy_pro\\WWW\\fenleixinxi\\tools\/..\/public\/uploads\/20261028\/70cafc924bc7e4018bfefbe883e27c78.jpg", + "rel_url": "\/uploads\/20261028\/70cafc924bc7e4018bfefbe883e27c78.jpg", + "size": 12415, + "sha1": "9f4c06215009ed68df1f1b688719f97506e2fe33" + }, + { + "id": 27, + "name": "普工技工", + "filename": "job-tech.jpg", + "local": "D:\\Softwares\\phpstudy_pro\\WWW\\fenleixinxi\\tools\/..\/public\/uploads\/20261028\/cb17be7476ce1c59e14944f9fe60438c.jpg", + "rel_url": "\/uploads\/20261028\/cb17be7476ce1c59e14944f9fe60438c.jpg", + "size": 12036, + "sha1": "fa74bd9c17980d42c925999accf06569c4083a14" + }, + { + "id": 39, + "name": "鲜活水产", + "filename": "poultry-fish.jpg", + "local": "D:\\Softwares\\phpstudy_pro\\WWW\\fenleixinxi\\tools\/..\/public\/uploads\/20261028\/bb63e21dae84dc15056a0b50753577d9.jpg", + "rel_url": "\/uploads\/20261028\/bb63e21dae84dc15056a0b50753577d9.jpg", + "size": 6027, + "sha1": "56885fb7817cfc0f3f809c8ef1f7f8955b6f5855" + } +] \ No newline at end of file diff --git a/tools/simulate_upload_and_sync.py b/tools/simulate_upload_and_sync.py new file mode 100644 index 0000000..f6f6be2 --- /dev/null +++ b/tools/simulate_upload_and_sync.py @@ -0,0 +1,243 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +1. 将二级分类图标模拟真实后台上传,存放到 public/uploads/20261028/{md5}.png +2. 写入本地 fa_attachment 附件表与 fa_fc_category 分类表 +3. 将新增 uploads 文件及静态一级图标 SFTP 同步至线上服务器 +4. 将本地 fa_fc_category 与 fa_attachment 变更同步至线上数据库 +5. 清除缓存并校验线上接口 +""" + +import os +import sys +import io +import time +import hashlib +import paramiko +import pymysql + +sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8', errors='replace') + +# 本地路径 +LOCAL_ROOT = r"D:\Softwares\phpstudy_pro\WWW\fenleixinxi" +PUBLIC_DIR = os.path.join(LOCAL_ROOT, "public") +STATIC_CAT_DIR = os.path.join(PUBLIC_DIR, "static", "categories") +DATE_DIR = "20261028" +UPLOADS_TARGET_DIR = os.path.join(PUBLIC_DIR, "uploads", DATE_DIR) + +# 远程配置 +REMOTE_HOST = "8.137.181.63" +REMOTE_PORT = 22 +REMOTE_USER = "root" +REMOTE_PASS = "liyanxia@6688" +REMOTE_ROOT = "/www/wwwroot/fenleixinxi.gzyakj.com.cn" +DB_USER = "fenleixinxi" +DB_PASS = "fenleixinxi" +DB_NAME = "fenleixinxi" + +# 本地数据库配置 +LOCAL_DB_HOST = "127.0.0.1" +LOCAL_DB_PORT = 3307 + +# 13个二级分类映射关系: (分类ID, 本地原文件名, 分类名) +SUB_CATS = [ + (27, "job-tech.png", "普工技工"), + (28, "job-catering.png", "餐饮服务"), + (29, "job-clean.png", "家政保洁"), + (30, "job-rider.png", "骑手配送"), + (31, "job-sales.png", "销售客服"), + (32, "job-driver.png", "司机出行"), + (33, "job-edu.png", "教育培训"), + (34, "job-parttime.png", "兼职短工"), + (35, "poultry-egg.png", "鲜土鸡蛋"), + (36, "poultry-chicken.png", "散养土鸡"), + (37, "poultry-pork.png", "生鲜猪肉"), + (38, "poultry-beef.png", "高山牛肉"), + (39, "poultry-fish.png", "鲜活水产"), +] + +def ssh_exec(client, cmd): + stdin, stdout, stderr = client.exec_command(cmd) + out = stdout.read().decode("utf-8", errors="replace").strip() + err = stderr.read().decode("utf-8", errors="replace").strip() + return out, err + +def main(): + print("=== [第一步] 模拟真实上传:将二级分类图标移入 uploads 目录 ===") + os.makedirs(UPLOADS_TARGET_DIR, exist_ok=True) + + # 连接本地数据库 + local_conn = pymysql.connect( + host=LOCAL_DB_HOST, + port=LOCAL_DB_PORT, + user=DB_USER, + password=DB_PASS, + database=DB_NAME, + charset="utf8mb4", + autocommit=True + ) + + uploaded_files = [] # 保存 (本地绝对路径, 相对远程路径, URL) + + with local_conn.cursor() as cur: + for cat_id, filename, cat_name in SUB_CATS: + src_path = os.path.join(STATIC_CAT_DIR, filename) + if not os.path.exists(src_path): + print(f" ✗ 未找到原始图标文件: {src_path}") + continue + + with open(src_path, "rb") as f: + content = f.read() + + file_md5 = hashlib.md5(content).hexdigest() + file_sha1 = hashlib.sha1(content).hexdigest() + file_size = len(content) + + dest_filename = f"{file_md5}.png" + dest_abs_path = os.path.join(UPLOADS_TARGET_DIR, dest_filename) + + # 写入本地 uploads + with open(dest_abs_path, "wb") as f: + f.write(content) + + url_path = f"/uploads/{DATE_DIR}/{dest_filename}" + uploaded_files.append((dest_abs_path, f"public/uploads/{DATE_DIR}/{dest_filename}", url_path)) + + now_ts = int(time.time()) + + # 1. 写入/更新本地 fa_attachment + cur.execute("SELECT id FROM fa_attachment WHERE url = %s LIMIT 1", (url_path,)) + att = cur.fetchone() + if not att: + cur.execute(""" + INSERT INTO fa_attachment + (category, admin_id, user_id, url, imagewidth, imageheight, imagetype, imageframes, filename, filesize, mimetype, createtime, updatetime, uploadtime, storage, sha1) + VALUES + ('category', 1, 0, %s, 240, 240, 'png', 0, %s, %s, 'image/png', %s, %s, %s, 'local', %s) + """, (url_path, filename, file_size, now_ts, now_ts, now_ts, file_sha1)) + + # 2. 更新本地 fa_fc_category 记录的 image 字段 + cur.execute("UPDATE fa_fc_category SET image = %s, updatetime = %s WHERE id = %s", (url_path, now_ts, cat_id)) + print(f" ✓ 分类 [{cat_name}] (ID:{cat_id}) -> 模拟上传为: {url_path}") + + print("\n=== [第二步] 连接线上服务器并上传文件 (SFTP) ===") + ssh = paramiko.SSHClient() + ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) + ssh.connect(REMOTE_HOST, port=REMOTE_PORT, username=REMOTE_USER, password=REMOTE_PASS, timeout=30) + print("✓ 远程 SSH 连接成功") + + # 创建远程 uploads 目录 + remote_upload_dir = f"{REMOTE_ROOT}/public/uploads/{DATE_DIR}" + ssh_exec(ssh, f"mkdir -p {remote_upload_dir}") + ssh_exec(ssh, f"mkdir -p {REMOTE_ROOT}/public/static/categories") + + sftp = ssh.open_sftp() + + # 1. 上传新生成的二级分类 uploads 图片 + print(f"正在上传 {len(uploaded_files)} 个二级分类图标到线上 uploads 目录...") + for local_file, remote_rel_file, url in uploaded_files: + remote_full = f"{REMOTE_ROOT}/{remote_rel_file}" + sftp.put(local_file, remote_full) + ssh_exec(ssh, f"chown www:www {remote_full}") + print("✓ 二级分类图片已全量上传至线上 uploads 目录") + + # 2. 上传一级分类图标 (cat-job.png, cat-poultry.png) + parent_icons = ["cat-job.png", "cat-poultry.png"] + for icon_name in parent_icons: + loc = os.path.join(STATIC_CAT_DIR, icon_name) + if os.path.exists(loc): + rem = f"{REMOTE_ROOT}/public/static/categories/{icon_name}" + sftp.put(loc, rem) + ssh_exec(ssh, f"chown www:www {rem}") + print(f" ✓ 已同步一级图标: {icon_name}") + + sftp.close() + + print("\n=== [第三步] 同步本地分类数据与附件记录至线上数据库 ===") + # 导出本地分类表 SQL + with local_conn.cursor() as cur: + cur.execute("SELECT * FROM fa_fc_category;") + cat_rows = cur.fetchall() + cur.execute("DESCRIBE fa_fc_category;") + cat_cols = [f[0] for f in cur.fetchall()] + + # 查询新增的 attachment 记录 + cur.execute(f"SELECT * FROM fa_attachment WHERE url LIKE '/uploads/{DATE_DIR}/%';") + att_rows = cur.fetchall() + cur.execute("DESCRIBE fa_attachment;") + att_cols = [f[0] for f in cur.fetchall()] + + # 构造同步 SQL + sync_sqls = ["SET FOREIGN_KEY_CHECKS = 0;"] + + # 1. 线上清空并全量重写 fa_fc_category,确保和本地 100% 对齐 + sync_sqls.append("TRUNCATE TABLE fa_fc_category;") + col_str = ", ".join([f"`{c}`" for c in cat_cols]) + for row in cat_rows: + val_list = [] + for v in row: + if v is None: + val_list.append("NULL") + elif isinstance(v, (int, float)): + val_list.append(str(v)) + else: + esc = str(v).replace("\\", "\\\\").replace("'", "\\'") + val_list.append(f"'{esc}'") + sync_sqls.append(f"INSERT INTO fa_fc_category ({col_str}) VALUES ({', '.join(val_list)});") + + # 2. 插入 attachment 记录 + if att_rows: + att_col_str = ", ".join([f"`{c}`" for c in att_cols]) + for row in att_rows: + val_list = [] + for v in row: + if v is None: + val_list.append("NULL") + elif isinstance(v, (int, float)): + val_list.append(str(v)) + else: + esc = str(v).replace("\\", "\\\\").replace("'", "\\'") + val_list.append(f"'{esc}'") + sync_sqls.append(f"INSERT IGNORE INTO fa_attachment ({att_col_str}) VALUES ({', '.join(val_list)});") + + sync_sqls.append("SET FOREIGN_KEY_CHECKS = 1;") + full_sql = "\n".join(sync_sqls) + + # 写入远程执行 + mysql_cmd = f'mysql -u{DB_USER} -p{DB_PASS} --default-character-set=utf8mb4 {DB_NAME} 2>/dev/null <<\'SQLEOF\'\n{full_sql}\nSQLEOF' + out, err = ssh_exec(ssh, mysql_cmd) + if err and "error" in err.lower(): + print(f"✗ 线上数据库更新失败: {err}") + else: + print("✓ 线上数据库 fa_fc_category 与 fa_attachment 已经完美同步!") + + print("\n=== [第四步] 清理缓存与验证 ===") + ssh_exec(ssh, f"rm -rf {REMOTE_ROOT}/runtime/temp/* {REMOTE_ROOT}/runtime/cache/*") + print("✓ 线上运行时缓存清理完成") + + # 校验线上分类数量 + out, _ = ssh_exec(ssh, f'mysql -u{DB_USER} -p{DB_PASS} {DB_NAME} -e "SELECT COUNT(*) FROM fa_fc_category;" 2>/dev/null') + print(f" 线上分类总数: {out.strip().split(chr(10))[-1].strip()} 条 (本地: {len(cat_rows)} 条)") + + # 测试线上图片 URL 可访问性 + sample_url = uploaded_files[0][2] + test_img_url = f"https://fenleixinxi.gzyakj.com.cn{sample_url}" + cmd_curl = f"curl -s -o /dev/null -w '%{{http_code}}' -k '{test_img_url}'" + code, _ = ssh_exec(ssh, cmd_curl) + print(f" 线上二级分类上传图片可访问性验证 ({sample_url}): HTTP {code}") + + # 测试线上分类 API + api_url = "https://fenleixinxi.gzyakj.com.cn/api/v1/home/categories" + cmd_api = f"curl -s -k '{api_url}'" + api_res, _ = ssh_exec(ssh, cmd_api) + if '"code":1' in api_res and sample_url in api_res: + print(" ✓ 线上分类 API 成功返回新二级分类及真实 uploads 图片地址!") + else: + print(f" API 响应采样: {api_res[:200]}") + + ssh.close() + local_conn.close() + print("\n✓ 全部同步工作圆满完成!") + +if __name__ == "__main__": + main() diff --git a/tools/sync_more_fruits_to_online.py b/tools/sync_more_fruits_to_online.py new file mode 100644 index 0000000..3951d70 --- /dev/null +++ b/tools/sync_more_fruits_to_online.py @@ -0,0 +1,200 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +1. 校验/补齐 7~8 个新增水果二级分类实拍图 +2. 插入本地 fa_attachment 与 fa_fc_category 表 (PID: 2) +3. SFTP 上传图片到线上服务器 +4. 同步线上数据库 fa_fc_category 与 fa_attachment +5. 清除缓存并验证 +""" + +import os +import sys +import io +import json +import time +import paramiko +import pymysql + +sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8', errors='replace') + +LOCAL_ROOT = r"D:\Softwares\phpstudy_pro\WWW\fenleixinxi" +UPLOADS_DIR = os.path.join(LOCAL_ROOT, "public", "uploads", "20261028") +JSON_FILE = os.path.join(LOCAL_ROOT, "tools", "more_fruits_result.json") + +REMOTE_HOST = "8.137.181.63" +REMOTE_PORT = 22 +REMOTE_USER = "root" +REMOTE_PASS = "liyanxia@6688" +REMOTE_ROOT = "/www/wwwroot/fenleixinxi.gzyakj.com.cn" +DB_USER = "fenleixinxi" +DB_PASS = "fenleixinxi" +DB_NAME = "fenleixinxi" + +LOCAL_DB_HOST = "127.0.0.1" +LOCAL_DB_PORT = 3307 + +def ssh_exec(client, cmd): + stdin, stdout, stderr = client.exec_command(cmd) + out = stdout.read().decode("utf-8", errors="replace").strip() + err = stderr.read().decode("utf-8", errors="replace").strip() + return out, err + +def main(): + with open(JSON_FILE, "r", encoding="utf-8") as f: + fruits_list = json.load(f) + + # 过滤出实际存在本地文件且大小 > 0 的项 + valid_fruits = [] + for item in fruits_list: + local_p = item['local'] + if os.path.exists(local_p) and os.path.getsize(local_p) > 0: + valid_fruits.append(item) + + print(f"=== [1/4] 本地写入新增水果二级分类 ({len(valid_fruits)} 项,PID: 2) ===") + conn = pymysql.connect( + host=LOCAL_DB_HOST, + port=LOCAL_DB_PORT, + user=DB_USER, + password=DB_PASS, + database=DB_NAME, + charset="utf8mb4", + autocommit=True + ) + + now_ts = int(time.time()) + with conn.cursor() as cur: + # 获取水果专区当前最大 sort + cur.execute("SELECT MAX(sort) FROM fa_fc_category WHERE pid = 2;") + max_sort = cur.fetchone()[0] or 100 + + for item in valid_fruits: + name = item['name'] + url = item['rel_url'] + size = item['size'] + sha1 = item['sha1'] + filename = item['filename'] + + # 1. 检查是否存在该水果分类 + cur.execute("SELECT id FROM fa_fc_category WHERE pid = 2 AND name = %s LIMIT 1;", (name,)) + existing = cur.fetchone() + + max_sort += 10 + if existing: + cat_id = existing[0] + cur.execute("UPDATE fa_fc_category SET image = %s, enabled = 1, updatetime = %s WHERE id = %s;", (url, now_ts, cat_id)) + print(f" ✓ 更新水果子分类: [{name}] (ID:{cat_id}) -> {url}") + else: + cur.execute(""" + INSERT INTO fa_fc_category + (pid, name, icon_key, image, kind, color, sort, enabled, post_count, createtime, updatetime) + VALUES + (2, %s, '', %s, 'normal', '', %s, 1, 0, %s, %s); + """, (name, url, max_sort, now_ts, now_ts)) + cat_id = cur.lastrowid + print(f" ✓ 新增水果子分类成功: [{name}] (ID:{cat_id}) -> {url}") + + # 2. 插入 attachment 记录 + cur.execute("SELECT id FROM fa_attachment WHERE url = %s LIMIT 1;", (url,)) + if not cur.fetchone(): + cur.execute(""" + INSERT INTO fa_attachment + (category, admin_id, user_id, url, imagewidth, imageheight, imagetype, imageframes, filename, filesize, mimetype, createtime, updatetime, uploadtime, storage, sha1) + VALUES + ('category', 1, 0, %s, 240, 240, 'jpg', 0, %s, %s, 'image/jpeg', %s, %s, %s, 'local', %s); + """, (url, filename, size, now_ts, now_ts, now_ts, sha1)) + + # 查询当前水果专区所有子分类 + with conn.cursor() as cur: + cur.execute("SELECT id, name, image FROM fa_fc_category WHERE pid = 2 ORDER BY sort, id;") + all_fruits = cur.fetchall() + print(f"\n本地【水果专区】当前子分类总数: {len(all_fruits)} 个") + for f in all_fruits: + print(f" * ID:{f[0]:<2} | {f[1]:<6} | {f[2]}") + + # 读取全量 category 表与 attachment 表用于线上同步 + cur.execute("SELECT * FROM fa_fc_category;") + cat_rows = cur.fetchall() + cur.execute("DESCRIBE fa_fc_category;") + cat_cols = [c[0] for c in cur.fetchall()] + + cur.execute("SELECT * FROM fa_attachment WHERE url LIKE '/uploads/20261028/%.jpg';") + att_rows = cur.fetchall() + cur.execute("DESCRIBE fa_attachment;") + att_cols = [c[0] for c in cur.fetchall()] + + conn.close() + + print("\n=== [2/4] 连接线上服务器并 SFTP 上传新增水果图片 ===") + ssh = paramiko.SSHClient() + ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) + ssh.connect(REMOTE_HOST, port=REMOTE_PORT, username=REMOTE_USER, password=REMOTE_PASS, timeout=30) + print("✓ 远程 SSH 连接成功") + + sftp = ssh.open_sftp() + for item in valid_fruits: + local_p = item['local'] + rel_url = item['rel_url'].lstrip('/') + remote_p = f"{REMOTE_ROOT}/public/{rel_url}" + + sftp.put(local_p, remote_p) + ssh_exec(ssh, f"chown www:www {remote_p}") + print(f" ✓ SFTP 上传成功: {remote_p}") + + sftp.close() + + print("\n=== [3/4] 同步更新线上数据库 fa_fc_category 与 fa_attachment ===") + sync_sqls = ["SET FOREIGN_KEY_CHECKS = 0;"] + sync_sqls.append("TRUNCATE TABLE fa_fc_category;") + col_str = ", ".join([f"`{c}`" for c in cat_cols]) + for row in cat_rows: + val_list = [] + for v in row: + if v is None: + val_list.append("NULL") + elif isinstance(v, (int, float)): + val_list.append(str(v)) + else: + esc = str(v).replace("\\", "\\\\").replace("'", "\\'") + val_list.append(f"'{esc}'") + sync_sqls.append(f"INSERT INTO fa_fc_category ({col_str}) VALUES ({', '.join(val_list)});") + + if att_rows: + att_col_str = ", ".join([f"`{c}`" for c in att_cols]) + for row in att_rows: + val_list = [] + for v in row: + if v is None: + val_list.append("NULL") + elif isinstance(v, (int, float)): + val_list.append(str(v)) + else: + esc = str(v).replace("\\", "\\\\").replace("'", "\\'") + val_list.append(f"'{esc}'") + sync_sqls.append(f"INSERT IGNORE INTO fa_attachment ({att_col_str}) VALUES ({', '.join(val_list)});") + + sync_sqls.append("SET FOREIGN_KEY_CHECKS = 1;") + full_sql = "\n".join(sync_sqls) + + mysql_cmd = f'mysql -u{DB_USER} -p{DB_PASS} --default-character-set=utf8mb4 {DB_NAME} 2>/dev/null <<\'SQLEOF\'\n{full_sql}\nSQLEOF' + out, err = ssh_exec(ssh, mysql_cmd) + if err and "error" in err.lower(): + print(f"✗ 线上数据库更新失败: {err}") + else: + print("✓ 线上数据库 fa_fc_category 与 fa_attachment 已经完美同步!") + + print("\n=== [4/4] 清除线上缓存并验证接口 ===") + ssh_exec(ssh, f"rm -rf {REMOTE_ROOT}/runtime/temp/* {REMOTE_ROOT}/runtime/cache/*") + + cmd_api = "curl -s -k 'https://fenleixinxi.gzyakj.com.cn/api/v1/home/categories'" + api_res, _ = ssh_exec(ssh, cmd_api) + if "芒果" in api_res and "香蕉" in api_res: + print(" ✓ 线上分类 API 成功返回新增水果二级分类!") + else: + print(" API 返回未找到新增水果") + + ssh.close() + print("\n✓ 水果专区二级分类扩充及线上同步全部圆满完成!") + +if __name__ == "__main__": + main() diff --git a/tools/sync_real_photos_to_online.py b/tools/sync_real_photos_to_online.py new file mode 100644 index 0000000..a7526dc --- /dev/null +++ b/tools/sync_real_photos_to_online.py @@ -0,0 +1,178 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +将 13 张真实商业摄影实拍图更新至本地与线上数据库,并 SFTP 上传至线上服务器 +""" + +import os +import sys +import io +import json +import time +import paramiko +import pymysql + +sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8', errors='replace') + +LOCAL_ROOT = r"D:\Softwares\phpstudy_pro\WWW\fenleixinxi" +JSON_FILE = os.path.join(LOCAL_ROOT, "tools", "real_photos_result.json") + +REMOTE_HOST = "8.137.181.63" +REMOTE_PORT = 22 +REMOTE_USER = "root" +REMOTE_PASS = "liyanxia@6688" +REMOTE_ROOT = "/www/wwwroot/fenleixinxi.gzyakj.com.cn" +DB_USER = "fenleixinxi" +DB_PASS = "fenleixinxi" +DB_NAME = "fenleixinxi" + +LOCAL_DB_HOST = "127.0.0.1" +LOCAL_DB_PORT = 3307 + +def ssh_exec(client, cmd): + stdin, stdout, stderr = client.exec_command(cmd) + out = stdout.read().decode("utf-8", errors="replace").strip() + err = stderr.read().decode("utf-8", errors="replace").strip() + return out, err + +def main(): + with open(JSON_FILE, "r", encoding="utf-8") as f: + photo_list = json.load(f) + + print(f"=== [1/4] 更新本地数据库 fa_fc_category 与 fa_attachment ({len(photo_list)} 项) ===") + conn = pymysql.connect( + host=LOCAL_DB_HOST, + port=LOCAL_DB_PORT, + user=DB_USER, + password=DB_PASS, + database=DB_NAME, + charset="utf8mb4", + autocommit=True + ) + + with conn.cursor() as cur: + now_ts = int(time.time()) + for item in photo_list: + cat_id = item['id'] + url = item['rel_url'] + size = item['size'] + sha1 = item['sha1'] + filename = item['filename'] + + # 更新分类表 + cur.execute("UPDATE fa_fc_category SET image = %s, updatetime = %s WHERE id = %s", (url, now_ts, cat_id)) + + # 插入/更新 attachment 表 + cur.execute("SELECT id FROM fa_attachment WHERE url = %s LIMIT 1", (url,)) + att = cur.fetchone() + if not att: + cur.execute(""" + INSERT INTO fa_attachment + (category, admin_id, user_id, url, imagewidth, imageheight, imagetype, imageframes, filename, filesize, mimetype, createtime, updatetime, uploadtime, storage, sha1) + VALUES + ('category', 1, 0, %s, 240, 240, 'jpg', 0, %s, %s, 'image/jpeg', %s, %s, %s, 'local', %s) + """, (url, filename, size, now_ts, now_ts, now_ts, sha1)) + + print(f" ✓ 本地更新: [{item['name']}] (ID:{cat_id}) -> {url}") + + # 读取本地最新 category 和 attachment + with conn.cursor() as cur: + cur.execute("SELECT * FROM fa_fc_category;") + cat_rows = cur.fetchall() + cur.execute("DESCRIBE fa_fc_category;") + cat_cols = [f[0] for f in cur.fetchall()] + + cur.execute("SELECT * FROM fa_attachment WHERE url LIKE '/uploads/20261028/%.jpg';") + att_rows = cur.fetchall() + cur.execute("DESCRIBE fa_attachment;") + att_cols = [f[0] for f in cur.fetchall()] + + conn.close() + + print("\n=== [2/4] 连接线上服务器并通过 SFTP 上传真实照片文件 ===") + ssh = paramiko.SSHClient() + ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) + ssh.connect(REMOTE_HOST, port=REMOTE_PORT, username=REMOTE_USER, password=REMOTE_PASS, timeout=30) + print("✓ 远程 SSH 连接成功") + + sftp = ssh.open_sftp() + remote_upload_dir = f"{REMOTE_ROOT}/public/uploads/20261028" + ssh_exec(ssh, f"mkdir -p {remote_upload_dir}") + + for item in photo_list: + local_path = item['local'] + rel_url = item['rel_url'].lstrip('/') + remote_path = f"{REMOTE_ROOT}/public/{rel_url}" + + sftp.put(local_path, remote_path) + ssh_exec(ssh, f"chown www:www {remote_path}") + print(f" ✓ SFTP 已上传: {remote_path} ({os.path.basename(local_path)})") + + sftp.close() + + print("\n=== [3/4] 同步更新线上数据库 fa_fc_category 与 fa_attachment ===") + sync_sqls = ["SET FOREIGN_KEY_CHECKS = 0;"] + + # 全量同步分类 + sync_sqls.append("TRUNCATE TABLE fa_fc_category;") + col_str = ", ".join([f"`{c}`" for c in cat_cols]) + for row in cat_rows: + val_list = [] + for v in row: + if v is None: + val_list.append("NULL") + elif isinstance(v, (int, float)): + val_list.append(str(v)) + else: + esc = str(v).replace("\\", "\\\\").replace("'", "\\'") + val_list.append(f"'{esc}'") + sync_sqls.append(f"INSERT INTO fa_fc_category ({col_str}) VALUES ({', '.join(val_list)});") + + # 插入 attachment + if att_rows: + att_col_str = ", ".join([f"`{c}`" for c in att_cols]) + for row in att_rows: + val_list = [] + for v in row: + if v is None: + val_list.append("NULL") + elif isinstance(v, (int, float)): + val_list.append(str(v)) + else: + esc = str(v).replace("\\", "\\\\").replace("'", "\\'") + val_list.append(f"'{esc}'") + sync_sqls.append(f"INSERT IGNORE INTO fa_attachment ({att_col_str}) VALUES ({', '.join(val_list)});") + + sync_sqls.append("SET FOREIGN_KEY_CHECKS = 1;") + full_sql = "\n".join(sync_sqls) + + mysql_cmd = f'mysql -u{DB_USER} -p{DB_PASS} --default-character-set=utf8mb4 {DB_NAME} 2>/dev/null <<\'SQLEOF\'\n{full_sql}\nSQLEOF' + out, err = ssh_exec(ssh, mysql_cmd) + if err and "error" in err.lower(): + print(f"✗ 线上数据库更新失败: {err}") + else: + print("✓ 线上数据库已更新全部真实实拍照路径与附件数据!") + + print("\n=== [4/4] 清理缓存并校验真实实拍照访问 ===") + ssh_exec(ssh, f"rm -rf {REMOTE_ROOT}/runtime/temp/* {REMOTE_ROOT}/runtime/cache/*") + + # 抽样验证 2 张真实照片的 HTTP 返回码 + for sample in photo_list[:2]: + test_url = f"https://fenleixinxi.gzyakj.com.cn{sample['rel_url']}" + cmd_curl = f"curl -s -o /dev/null -w '%{{http_code}}' -k '{test_url}'" + code, _ = ssh_exec(ssh, cmd_curl) + print(f" 真实照片 [{sample['name']}] HTTP 校验 ({test_url}): HTTP {code}") + + # 线上分类接口校验 + cmd_api = "curl -s -k 'https://fenleixinxi.gzyakj.com.cn/api/v1/home/categories'" + api_res, _ = ssh_exec(ssh, cmd_api) + if photo_list[0]['rel_url'] in api_res: + print(" ✓ 线上分类接口已成功返回最新真实实拍照 URL!") + else: + print(f" 接口返回采样: {api_res[:200]}") + + ssh.close() + print("\n✓ 真实照片更新与线上同步圆满完成!") + +if __name__ == "__main__": + main() diff --git a/uniapp/components/fc-call-modal/fc-call-modal.vue b/uniapp/components/fc-call-modal/fc-call-modal.vue index 49d05fc..56111d9 100644 --- a/uniapp/components/fc-call-modal/fc-call-modal.vue +++ b/uniapp/components/fc-call-modal/fc-call-modal.vue @@ -13,19 +13,29 @@ {{ contactLabel }} - + {{ quotaText }} + + + + + 开通同城 VIP 会员 + 每日无限次拨打 · 免费浏览 · 极速发布 + + 去开通 › + + 请自行鉴别农产品信息真伪,在未核实清楚前不要提前给对方转账,慎防诈骗! - - + + ✓ @@ -33,14 +43,17 @@ 《平台免责声明》 - + - - {{ loading ? '连接中…' : '立即拨打' }} + + {{ isQuotaEmpty ? '开通会员立即拨打' : (loading ? '连接中…' : '立即拨打') }} @@ -83,12 +96,25 @@ export default { }, }, computed: { + /** + * 联系对象名称脱敏或提示 + */ contactLabel() { return this.contactName ? `联系 ${this.contactName}` : '确认后直接拨打' }, + /** + * 额度是否已用尽 + */ + isQuotaEmpty() { + return !this.unlimited && Number(this.quotaTotal) > 0 && Number(this.quotaLeft) <= 0 + }, + /** + * 额度展示文案 + */ quotaText() { if (this.unlimited || this.quotaTotal === 0) return '会员尊享 · 不限拨打次数' const left = Math.max(0, Number(this.quotaLeft) || 0) + if (left <= 0) return '今日拨打额度已用完(0 次)' return `今日剩余 ${left} 次拨打机会` }, }, @@ -101,9 +127,13 @@ export default { this.$emit('close') }, /** - * 点击拨打:先校验免责声明勾选,再交由父级执行拨打接口 + * 点击拨打或引导开通会员 */ handleDial() { + if (this.isQuotaEmpty) { + this.goMember() + return + } if (this.loading) return if (!this.agree) { uni.showToast({ title: '请先勾选同意平台免责声明', icon: 'none' }) @@ -111,6 +141,13 @@ export default { } this.$emit('confirm') }, + /** + * 跳转会员中心开通特权 + */ + goMember() { + this.handleClose() + uni.navigateTo({ url: '/pages/member/index' }) + }, /** * 查看平台免责声明详情 */ @@ -185,6 +222,44 @@ export default { margin-top: 12rpx; font-size: 22rpx; color: #64748b; + + &--warn { + color: #e65100; + font-weight: 700; + } +} + +.call-modal__vip-box { + margin-top: 20rpx; + padding: 18rpx 20rpx; + border-radius: 18rpx; + background: linear-gradient(135deg, #f0fdf4, #fff8e8); + border: 1rpx solid #ffe3a6; + display: flex; + align-items: center; + gap: 16rpx; +} +.call-modal__vip-info { + flex: 1; + min-width: 0; + display: flex; + flex-direction: column; +} +.call-modal__vip-title { + font-size: 26rpx; + font-weight: 700; + color: #8a5a00; +} +.call-modal__vip-desc { + margin-top: 4rpx; + font-size: 20rpx; + color: #b45309; +} +.call-modal__vip-arrow { + font-size: 24rpx; + font-weight: 700; + color: #f5a623; + flex-shrink: 0; } .call-modal__warn { @@ -266,5 +341,11 @@ export default { &--disabled { opacity: 0.6; } + + &--vip { + background: linear-gradient(135deg, #00e070, #00d26a 45%, #f5a623); + color: #04301e; + box-shadow: 0 8rpx 24rpx rgba(245, 166, 35, 0.35); + } } diff --git a/uniapp/pages/category/index.vue b/uniapp/pages/category/index.vue index ad716c7..aa2d2be 100644 --- a/uniapp/pages/category/index.vue +++ b/uniapp/pages/category/index.vue @@ -69,7 +69,7 @@ - 全部{{ currentCategory ? currentCategory.name : '' }} + 全部 + + + + + + + + + 开通同城 VIP 会员 + 尊享特权 + + 每日免费浏览 · 无限拨打电话 · 专属尊贵标识 + + + + 立即开通 + › + + + + + + + + + + VIP 尊享特权生效中 + VIP 会员 + + 您已享今日免费浏览与不限拨打电话特权 + + + + 会员中心 + › + + + @@ -317,23 +355,37 @@ - - - - {{ faved ? '已收藏' : '收藏' }} + + + + + 今日拨打次数已用完,开通 VIP 尊享不限次拨打 + 去开通 › - - - - - - 海报 - - - {{ bottomBarText }} + + + + + {{ faved ? '已收藏' : '收藏' }} + + + + + + + 海报 + + + + {{ bottomBarText }} + @@ -563,12 +615,23 @@ export default { callQuotaUnlimited() { return Number(this.callQuotaTotal) === 0 }, + /** + * 今日拨打额度是否已用完(非不限次数且总额度>0,剩余额度<=0) + * @returns {boolean} + */ + isCallQuotaOut() { + if (this.callQuotaUnlimited) return false + return Number(this.callQuotaTotal) > 0 && Number(this.callQuotaLeft) <= 0 + }, /** * 底部主操作栏文案 * @returns {string} */ bottomBarText() { if (this.loading && !this.loaded) return '加载中…' + if (this.isCallQuotaOut) { + return '开通会员立即拨打' + } return '拨打电话' }, timeText() { @@ -828,10 +891,31 @@ export default { } catch (e) {} }, /** - * 底部主按钮响应:打开免责声明拨打弹窗 + * 底部主按钮响应:拨打电话或引导开通会员 */ onMainAction() { if (this.loading && !this.loaded) return + if (!this.hasPhone) { + uni.showToast({ title: '发布者未预留联系电话', icon: 'none' }) + return + } + if (!this.ensureLogin()) return + // 当额度用尽时直接引导开通会员,杜绝无效点击 + if (this.isCallQuotaOut) { + uni.showModal({ + title: '今日拨打次数已用完', + content: this.isMember + ? '您今日的 VIP 拨打次数已达上限,明日将自动恢复,或可升级更高规格会员套餐' + : '您今日的免费拨打次数已用完,开通 VIP 会员尊享无限次拨打与每日免费浏览特权', + confirmText: '去开通会员', + cancelText: '知道了', + confirmColor: '#00E070', + success: (r) => { + if (r.confirm) uni.navigateTo({ url: '/pages/member/index' }) + }, + }) + return + } this.openCallModal() }, /** @@ -936,8 +1020,9 @@ export default { } } catch (e) { const msg = (e && e.message) || '拨打失败,请稍后重试' - // 当日拨打次数超限(后端 403):引导开通 VIP 会员提升每日拨打次数 - if (/上限/.test(msg)) { + // 当日拨打次数超限(后端 403):同步本地额度并引导开通 VIP 会员提升每日拨打次数 + if (/上限|额度|次数/.test(msg)) { + this.callQuotaLeft = 0 this.showCallModal = false uni.showModal({ title: '今日拨打次数已用完', @@ -2497,12 +2582,35 @@ export default { .detail__bar-space { height: calc(150rpx + env(safe-area-inset-bottom)); } -.detail__bar { +.detail__bar-wrapper { position: fixed; left: 0; right: 0; bottom: 0; z-index: 99; +} +.detail__bar-quota-tip { + background: linear-gradient(90deg, #fffbeb, #fef3c7); + border-top: 1rpx solid #fde68a; + padding: 12rpx 28rpx; + display: flex; + align-items: center; + gap: 12rpx; +} +.detail__bar-quota-txt { + flex: 1; + font-size: 22rpx; + color: #92400e; + font-weight: 500; +} +.detail__bar-quota-go { + font-size: 22rpx; + color: #d97706; + font-weight: 700; + flex-shrink: 0; +} +.detail__bar { + position: relative; display: flex; align-items: center; padding: 14rpx 24rpx calc(14rpx + env(safe-area-inset-bottom)); @@ -2550,7 +2658,123 @@ export default { display: flex; align-items: center; justify-content: center; + gap: 10rpx; box-shadow: 0 6rpx 20rpx rgba(0, 224, 112, 0.35); + + &--vip { + background: linear-gradient(135deg, #00e070, #00d26a 45%, #f5a623) !important; + color: #04301e !important; + box-shadow: 0 8rpx 24rpx rgba(245, 166, 35, 0.32) !important; + } +} +.detail__bar-vip-icon { + width: 32rpx; + height: 32rpx; +} + +/* 详情预览页:同城 VIP 会员特权卡片 */ +.detail__vip-card { + margin: 20rpx 24rpx 0; + padding: 24rpx 26rpx; + background: linear-gradient(135deg, #f0fdf4, #ffffff 60%, #fffbf0); + border: 2rpx solid #d4f3e3; + border-radius: 24rpx; + box-shadow: 0 4rpx 16rpx rgba(0, 168, 84, 0.05); + display: flex; + align-items: center; + justify-content: space-between; + + &--active { + background: linear-gradient(135deg, #f7fee7, #ffffff 60%, #ecfdf5); + border-color: #bef264; + } +} +.detail__vip-card-left { + display: flex; + align-items: center; + gap: 18rpx; + flex: 1; + min-width: 0; +} +.detail__vip-card-badge { + width: 64rpx; + height: 64rpx; + border-radius: 18rpx; + background: linear-gradient(135deg, #fef3c7, #fffbeb); + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + box-shadow: 0 2rpx 8rpx rgba(245, 166, 35, 0.15); + + &--active { + background: linear-gradient(135deg, #dcfce7, #f0fdf4); + } +} +.detail__vip-card-info { + flex: 1; + min-width: 0; + display: flex; + flex-direction: column; +} +.detail__vip-card-title-row { + display: flex; + align-items: center; + gap: 10rpx; +} +.detail__vip-card-title { + font-size: 28rpx; + font-weight: 700; + color: #1e293b; +} +.detail__vip-card-pill { + padding: 2rpx 12rpx; + border-radius: 999rpx; + background: linear-gradient(135deg, #f5a623, #d97706); + color: #ffffff; + font-size: 20rpx; + font-weight: 700; + + &--active { + background: linear-gradient(135deg, #00e070, #00d26a); + } +} +.detail__vip-card-desc { + margin-top: 6rpx; + font-size: 22rpx; + color: #64748b; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.detail__vip-card-btn { + flex-shrink: 0; + margin-left: 16rpx; + padding: 10rpx 22rpx; + border-radius: 999rpx; + background: #ffffff; + border: 1rpx solid #00a854; + display: flex; + align-items: center; + gap: 4rpx; + box-shadow: 0 2rpx 8rpx rgba(0, 168, 84, 0.08); + + &--active { + border-color: #00d26a; + } +} +.detail__vip-card-btn-txt { + font-size: 24rpx; + font-weight: 700; + color: #00a854; +} +.detail__vip-card-btn-arrow { + font-size: 22rpx; + font-weight: 700; + color: #00a854; +} +.detail__vip-card:active { + opacity: 0.88; } /* 通用弹层遮罩(评价 / 回复 / 海报等底部弹层共用) */ diff --git a/uniapp/pages/merchant/detail.vue b/uniapp/pages/merchant/detail.vue index 9118446..aeedf81 100644 --- a/uniapp/pages/merchant/detail.vue +++ b/uniapp/pages/merchant/detail.vue @@ -152,9 +152,13 @@ 地图导航 - - - 联系店长 + + + {{ isCallQuotaOut ? '开通会员拨打' : '联系店长' }} @@ -252,6 +256,14 @@ export default { callQuotaUnlimited() { return Number(this.callQuotaTotal) === 0 }, + /** + * 今日拨打额度是否已用完 + * @returns {boolean} + */ + isCallQuotaOut() { + if (this.callQuotaUnlimited) return false + return Number(this.callQuotaTotal) > 0 && Number(this.callQuotaLeft) <= 0 + }, /** * 免责弹窗拨打展示文案(联系人姓氏 + 脱敏手机号) * @returns {string} @@ -477,6 +489,22 @@ export default { return } } catch (e) {} + + // 拨打次数已用完直接引导开通会员 + if (this.isCallQuotaOut) { + uni.showModal({ + title: '今日拨打次数已用完', + content: '您今日的免费拨打次数已用完,开通 VIP 会员尊享每日更多拨打特权', + confirmText: '去开通会员', + cancelText: '知道了', + confirmColor: '#00E070', + success: (r) => { + if (r.confirm) uni.navigateTo({ url: '/pages/member/index' }) + }, + }) + return + } + this.showCallModal = true }, /** @@ -499,7 +527,8 @@ export default { } catch (e) { const msg = (e && e.message) || '拨打失败,请稍后重试' // 当日拨打次数超限(后端 403):引导开通 VIP 会员提升每日拨打次数 - if (/上限/.test(msg)) { + if (/上限|额度|次数/.test(msg)) { + this.callQuotaLeft = 0 this.showCallModal = false uni.showModal({ title: '今日拨打次数已用完', @@ -883,5 +912,11 @@ export default { transform: scale(0.98); opacity: 0.9; } + + &--vip { + background: linear-gradient(135deg, #00e070, #00d26a 45%, #f5a623) !important; + color: #04301e !important; + box-shadow: 0 8rpx 24rpx rgba(245, 166, 35, 0.32) !important; + } } diff --git a/uniapp/pages/post/create.vue b/uniapp/pages/post/create.vue index ce978c6..102f36b 100644 --- a/uniapp/pages/post/create.vue +++ b/uniapp/pages/post/create.vue @@ -3,16 +3,6 @@ - - - - - 开通会员 - 每日免费发布、免费浏览、更多拨打次数 - - 去开通 › - - @@ -33,12 +23,12 @@ 产品品类 - * + * - - - {{ currentSubCat.name }} + + + {{ selectedSubCatDisplay.name }} {{ currentCat ? '请选择品类' : '请先选择大类' }} › @@ -313,6 +303,23 @@ + + + + + + {{ isMember ? 'VIP 会员发帖特权生效中' : '开通同城 VIP 会员' }} + 已开通 + + + {{ isMember ? '尊享每日海量免费发布、专属身份认证与极速展示' : '尊享每日免费发布、信息置顶折扣、更多拨打次数' }} + + + + {{ isMember ? '权益中心 ›' : '去开通 ›' }} + + + @@ -446,7 +453,7 @@ - 全部{{ currentCat ? currentCat.name : '' }} + 全部 ✓ @@ -520,6 +527,7 @@ export default { catDrawerAnim: false, // 分类两步选择:1 = 选一级大类,2 = 选二级品类 catDrawerStep: 1, + selectedAllSubCat: false, // 是否显式选中全部二级品类 customTagInput: '', outputRangeOptions: [ '1000斤以下', @@ -661,6 +669,35 @@ export default { const children = (this.currentCat && this.currentCat.children) || [] return children.find((s) => Number(s.id) === Number(this.form.subCategoryId)) || null }, + /** + * 当前一级大类是否包含二级子品类 + * @returns {boolean} + */ + hasSubCategories() { + return !!(this.currentCat && Array.isArray(this.currentCat.children) && this.currentCat.children.length > 0) + }, + /** + * 页面回显的产品品类信息(支持具体二级分类对象或全部) + * @returns {{ name: string, icon: string } | null} + */ + selectedSubCatDisplay() { + if (!this.currentCat) return null + // 1. 若选了具体二级分类 + if (this.currentSubCat) { + return { + name: this.currentSubCat.name, + icon: this.catIcon(this.currentSubCat), + } + } + // 2. 若该一级大类本身没有二级分类,或者显式选择了全部 + if (!this.hasSubCategories || this.selectedAllSubCat) { + return { + name: '全部', + icon: this.catIcon(this.currentCat), + } + } + return null + }, /** * 当前选中分类是否为农产品类(kind=farm): * 决定「种植面积/采摘时间/预计量产」的显隐与必填校验;历史数据无 kind 时按农产品处理 @@ -1153,26 +1190,35 @@ export default { }, 200) }, /** - * 选择一级大类(蔬菜 / 水果),选中即回填并关闭 + * 选择一级大类(蔬菜 / 水果等),选中即回填并关闭 * @param {Object} c 一级大类对象 */ onSelectDrawerParentCat(c) { if (!c) return this.form.categoryId = Number(c.id) - this.form.subCategoryId = 0 + const children = (c.children && Array.isArray(c.children)) ? c.children : [] + if (!children.length) { + // 若该一级分类下无二级子品类,自动归为全部 + this.form.subCategoryId = 0 + this.selectedAllSubCat = true + } else { + this.form.subCategoryId = 0 + this.selectedAllSubCat = false + } this.triggerAutoSave() this.closeCatDrawer() }, /** - * 第二步:仅按一级大类发布(不选具体二级品类) + * 第二步:仅按一级大类发布(选择全部) */ onSelectDrawerParentOnly() { this.form.subCategoryId = 0 + this.selectedAllSubCat = true this.triggerAutoSave() this.closeCatDrawer() }, /** - * 第二步:选中二级分类(如:花菜、白菜、紫甘蓝、青甘蓝、青菜等)并完成选择 + * 第二步:选中二级分类并完成选择 * @param {Object} sub 二级分类对象 */ onSelectDrawerSubCat(sub) { @@ -1181,6 +1227,7 @@ export default { this.form.categoryId = Number(sub.pid) } this.form.subCategoryId = Number(sub.id) + this.selectedAllSubCat = false this.triggerAutoSave() this.closeCatDrawer() }, @@ -1415,8 +1462,8 @@ export default { * @returns {string} 错误信息,为空则验证通过 */ validate() { - if (!this.form.categoryId) return '请选择所属分类' - if (!this.form.subCategoryId && this.drawerSubCategories.length) return '请选择二级品类' + if (!this.form.categoryId) return '请选择所属大类' + if (this.hasSubCategories && !this.form.subCategoryId) return '请选择产品品类' if (!this.form.title || !this.form.title.trim()) return '请填写标题' if (!this.form.content || !this.form.content.trim()) return '请填写详细内容' // 校验顺序与表单视觉顺序一致(价格 → 产地规格 → 区域 → 手机号),报错时用户可自上而下定位 @@ -1562,15 +1609,21 @@ export default { padding-bottom: calc(160rpx + env(safe-area-inset-bottom)); } -/* 非会员开通引导条(仅未开通会员可见) */ +/* 会员开通/权益引导条(置于表单底部,自然顺畅) */ .create__member-banner { - margin: 20rpx 28rpx 0; - padding: 22rpx 26rpx; + margin: 24rpx 28rpx 0; + padding: 24rpx 26rpx; display: flex; align-items: center; - background: linear-gradient(135deg, #fff8e8, #fffdf5); - border: 1rpx solid #ffe3a6; - border-radius: 22rpx; + background: linear-gradient(135deg, #f0fdf4, #ffffff 60%, #fffbf0); + border: 2rpx solid #d4f3e3; + border-radius: 24rpx; + box-shadow: 0 4rpx 16rpx rgba(0, 168, 84, 0.05); + + &--vip { + background: linear-gradient(135deg, #f7fee7, #ffffff 60%, #ecfdf5); + border-color: #bef264; + } } .create__member-icon { width: 56rpx; @@ -1584,28 +1637,48 @@ export default { display: flex; flex-direction: column; } +.create__member-title-row { + display: flex; + align-items: center; +} .create__member-title { font-size: 28rpx; font-weight: 700; - color: #8a5a00; + color: #1e293b; +} +.create__member-tag { + margin-left: 12rpx; + padding: 2rpx 12rpx; + border-radius: 999rpx; + background: linear-gradient(135deg, #00e070, #00d26a); + color: #ffffff; + font-size: 20rpx; + font-weight: 600; } .create__member-desc { - margin-top: 4rpx; + margin-top: 6rpx; font-size: 22rpx; - color: #b08a3e; + color: #64748b; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } -.create__member-go { +.create__member-btn-box { flex-shrink: 0; margin-left: 16rpx; + padding: 8rpx 22rpx; + border-radius: 999rpx; + background: #ffffff; + border: 1rpx solid #00a854; + box-shadow: 0 2rpx 8rpx rgba(0, 168, 84, 0.08); +} +.create__member-go { font-size: 24rpx; font-weight: 700; - color: #f5a623; + color: #00a854; } .create__member-banner:active { - opacity: 0.85; + opacity: 0.88; } /* 表单卡片区域 */ diff --git a/uniapp/static/categories/cat-job.png b/uniapp/static/categories/cat-job.png new file mode 100644 index 0000000000000000000000000000000000000000..1479d0985df9ccb96bcebc594fdcb41762b542cd GIT binary patch literal 5146 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 literal 0 HcmV?d00001 diff --git a/uniapp/static/categories/cat-poultry.png b/uniapp/static/categories/cat-poultry.png new file mode 100644 index 0000000000000000000000000000000000000000..01a86e76a33d1f56539006f250f8e371ab6de6dc GIT binary patch literal 6630 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 C(2a5c literal 0 HcmV?d00001 diff --git a/uniapp/static/icons/cat-poultry.png b/uniapp/static/icons/cat-poultry.png new file mode 100644 index 0000000000000000000000000000000000000000..01a86e76a33d1f56539006f250f8e371ab6de6dc GIT binary patch literal 6630 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 C(2a5c literal 0 HcmV?d00001