diff --git a/scripts/fix-longpress-syntax.js b/scripts/fix-longpress-syntax.js
new file mode 100644
index 0000000..37d0ee5
--- /dev/null
+++ b/scripts/fix-longpress-syntax.js
@@ -0,0 +1,119 @@
+/**
+ * 修复 show-menu-by-longpress 的错误用法
+ * 将 :show-menu-by-longpress="true" 替换为 show-menu-by-longpress
+ * 使用方法:node scripts/fix-longpress-syntax.js
+ */
+
+const fs = require('fs')
+const path = require('path')
+
+// 需要处理的目录
+const dirs = [
+ 'components',
+ 'components-diy',
+ 'pages',
+ 'pages_goods',
+ 'pages_order',
+ 'pages_promotion',
+ 'pages_tool',
+ 'uni_modules'
+]
+
+// 排除的目录
+const excludeDirs = [
+ 'node_modules',
+ '.git',
+ 'unpackage',
+ 'dist'
+]
+
+/**
+ * 检查是否应该排除
+ */
+function shouldExclude(filePath) {
+ return excludeDirs.some(dir => filePath.includes(dir))
+}
+
+/**
+ * 修复单个文件
+ */
+function fixFile(filePath) {
+ let content = fs.readFileSync(filePath, 'utf-8')
+ let modified = false
+
+ // 错误的写法1: :show-menu-by-longpress="true"
+ // 错误的写法2: :show-menu-by-longpress='true'
+ const wrongPatterns = [
+ /:show-menu-by-longpress\s*=\s*["']true["']/gi,
+ /:show-menu-by-longpress\s*=\s*\{true\}/gi
+ ]
+
+ wrongPatterns.forEach(pattern => {
+ if (pattern.test(content)) {
+ content = content.replace(pattern, 'show-menu-by-longpress')
+ modified = true
+ }
+ })
+
+ // 确保属性后有空格或结束符
+ content = content.replace(/show-menu-by-longpress\/>/g, 'show-menu-by-longpress />')
+ content = content.replace(/show-menu-by-longpress>/g, 'show-menu-by-longpress >')
+
+ if (modified) {
+ fs.writeFileSync(filePath, content, 'utf-8')
+ console.log(`✓ 已修复: ${filePath}`)
+ return 1
+ }
+
+ return 0
+}
+
+/**
+ * 递归遍历目录
+ */
+function walkDir(dir, callback) {
+ if (shouldExclude(dir)) return
+
+ try {
+ const files = fs.readdirSync(dir)
+
+ files.forEach(file => {
+ const filePath = path.join(dir, file)
+
+ if (shouldExclude(filePath)) return
+
+ const stat = fs.statSync(filePath)
+
+ if (stat.isDirectory()) {
+ walkDir(filePath, callback)
+ } else if (file.endsWith('.vue')) {
+ callback(filePath)
+ }
+ })
+ } catch (err) {
+ console.error(`✗ 无法读取目录: ${dir}`)
+ }
+}
+
+// 主程序
+let totalFiles = 0
+let fixedFiles = 0
+
+console.log('开始修复 show-menu-by-longpress 语法...\n')
+
+dirs.forEach(dir => {
+ const fullPath = path.join(__dirname, '..', dir)
+ if (fs.existsSync(fullPath)) {
+ walkDir(fullPath, (filePath) => {
+ totalFiles++
+ fixedFiles += fixFile(filePath)
+ })
+ }
+})
+
+console.log(`\n修复完成!`)
+console.log(`总共扫描: ${totalFiles} 个文件`)
+console.log(`成功修复: ${fixedFiles} 个文件`)
+console.log(`\n正确的用法:`);
+console.log(` `);
+console.log(` (如果需要动态控制)`);