From 3282e95db0207ee133d1e98d9771dec9d83b0fc4 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期四, 02 四月 2026 16:24:38 +0800
Subject: [PATCH] 2026.4.2 新增专题管理功能

---
 miniprogram_npm/tdesign-miniprogram/rate/rate.wxs |   65 ++++++++++++++++++++++++++++++++
 1 files changed, 65 insertions(+), 0 deletions(-)

diff --git a/miniprogram_npm/tdesign-miniprogram/rate/rate.wxs b/miniprogram_npm/tdesign-miniprogram/rate/rate.wxs
new file mode 100644
index 0000000..8387b10
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/rate/rate.wxs
@@ -0,0 +1,65 @@
+module.exports = {
+  getText: function (texts, val, defaultTexts) {
+    if (!texts.length) {
+      texts = defaultTexts;
+    }
+    var curVal = Math.floor(val - 1);
+    return texts[curVal] || '鏈瘎鍒�';
+  },
+
+  getIconName: function (defaultValue, value, index, icon) {
+    var curVal = value >= 0 ? value : defaultValue;
+    var name = ['star-filled', 'star-filled'];
+
+    if (icon) {
+      name = icon.constructor == 'Array' ? icon : [icon, icon];
+    }
+
+    return name[curVal >= index + 1 ? 0 : 1];
+  },
+
+  getIconClass: function (classPrefix, defaultValue, value, index, allowHalf, disabled, scaleIndex) {
+    var curVal = value >= 0 ? value : defaultValue;
+    var className = [];
+    if (curVal >= index + 1) {
+      className.push(classPrefix + '--selected');
+      if (disabled) {
+        className.push(classPrefix + '--disabled');
+      }
+      if (scaleIndex === index + 1) {
+        className.push(classPrefix + '--current');
+      }
+    } else if (allowHalf && curVal - index > 0) {
+      className.push(classPrefix + '--selected-half');
+      if (scaleIndex === index + 1) {
+        className.push(classPrefix + '--current');
+      }
+      if (disabled) {
+        className.push(classPrefix + '--disabled-half');
+      }
+    } else {
+      className.push(classPrefix + '--unselected');
+    }
+    return className.join(' ');
+  },
+
+  ceil: function (value) {
+    return Math.ceil(value);
+  },
+
+  getColor: function (color) {
+    if (color.constructor === 'Array' && color.length === 2) {
+      return ';--td-rate-selected-color: ' + color[0] + '; --td-rate-unselected-color: ' + color[1];
+    }
+
+    if (typeof color === 'string') {
+      return ';--td-rate-selected-color: ' + color;
+    }
+
+    return '';
+  },
+
+  regSize: function (val) {
+    return val.indexOf('px') ? val : val + 'px';
+  },
+};

--
Gitblit v1.9.3