zhangyaowen 4 miesięcy temu
rodzic
commit
3184f06232

+ 6 - 7
README.md

@@ -9,13 +9,13 @@
 
 ## 🐶 新手必读
 
-* 演示地址:<https://doc.iocoder.cn/mall-preview/>
-* 启动文档:<https://doc.iocoder.cn/quick-start/>
-* 视频教程:<https://doc.iocoder.cn/video/>
+- 演示地址:<https://doc.iocoder.cn/mall-preview/>
+- 启动文档:<https://doc.iocoder.cn/quick-start/>
+- 视频教程:<https://doc.iocoder.cn/video/>
 
 ## 🐯 商城简介
 
-**芋道商城**,基于 [芋道开发平台](https://github.com/YunaiV/ruoyi-vue-pro) 构建,以开发者为中心,打造中国第一流的 Java 开源商城系统,全部开源,个人与企业可 100% 免费使用。
+**江苏赢伟达资产管理有限公司**,基于 [芋道开发平台](https://github.com/YunaiV/ruoyi-vue-pro) 构建,以开发者为中心,打造中国第一流的 Java 开源商城系统,全部开源,个人与企业可 100% 免费使用。
 
 > 有任何问题,或者想要的功能,可以在 Issues 中提给艿艿。
 >
@@ -23,8 +23,8 @@
 
 ![功能图](/.image/common/mall-feature.png)
 
-* 基于 uni-app + Vue3 开发,支持微信小程序、微信公众号、H5 移动端,未来会支持支付宝小程序、抖音小程序等
-* 支持 SaaS 多租户,可满足商品、订单、支付、会员、优惠券、秒杀、拼团、砍价、分销、积分等多种经营需求
+- 基于 uni-app + Vue3 开发,支持微信小程序、微信公众号、H5 移动端,未来会支持支付宝小程序、抖音小程序等
+- 支持 SaaS 多租户,可满足商品、订单、支付、会员、优惠券、秒杀、拼团、砍价、分销、积分等多种经营需求
 
 ## 🔥 后端架构
 
@@ -53,4 +53,3 @@
 ![订单详情](/.image/mall/订单详情.png)
 
 ![营销中心](/.image/mall/营销中心.png)
-

+ 222 - 224
manifest.json

@@ -1,225 +1,223 @@
 {
-    "name" : "芋道商城",
-    "appid" : "__UNI__F082C69",
-    "description" : "基于 uni-app + Vue3 技术驱动的在线商城系统,内含诸多功能与丰富的活动,期待您的使用和反馈。",
-    "versionName" : "2.1.0",
-    "versionCode" : "183",
-    "transformPx" : false,
-    "app-plus" : {
-        "usingComponents" : true,
-        "nvueCompiler" : "uni-app",
-        "nvueStyleCompiler" : "uni-app",
-        "compilerVersion" : 3,
-        "nvueLaunchMode" : "fast",
-        "splashscreen" : {
-            "alwaysShowBeforeRender" : true,
-            "waiting" : true,
-            "autoclose" : true,
-            "delay" : 0
-        },
-        "safearea" : {
-            "bottom" : {
-                "offset" : "none"
-            }
-        },
-        "modules" : {
-            "Payment" : {},
-            "Share" : {},
-            "VideoPlayer" : {},
-            "OAuth" : {}
-        },
-        "distribute" : {
-            "android" : {
-                "permissions" : [
-                    "<uses-feature android:name=\"android.hardware.camera\"/>",
-                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
-                    "<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
-                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
-                    "<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
-                    "<uses-permission android:name=\"android.permission.ACCESS_MOCK_LOCATION\"/>",
-                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.CALL_PHONE\"/>",
-                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
-                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
-                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
-                    "<uses-permission android:name=\"android.permission.GET_TASKS\"/>",
-                    "<uses-permission android:name=\"android.permission.INTERNET\"/>",
-                    "<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
-                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
-                    "<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>",
-                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
-                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.READ_SMS\"/>",
-                    "<uses-permission android:name=\"android.permission.RECEIVE_BOOT_COMPLETED\"/>",
-                    "<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>",
-                    "<uses-permission android:name=\"android.permission.SEND_SMS\"/>",
-                    "<uses-permission android:name=\"android.permission.SYSTEM_ALERT_WINDOW\"/>",
-                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
-                    "<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>",
-                    "<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
-                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>",
-                    "<uses-permission android:name=\"android.permission.WRITE_SMS\"/>",
-                    "<uses-permission android:name=\"android.permission.RECEIVE_USER_PRESENT\"/>"
-                ],
-                "minSdkVersion" : 21,
-                "schemes" : "shopro"
-            },
-            "ios" : {
-                "urlschemewhitelist" : [ "baidumap", "iosamap" ],
-                "dSYMs" : false,
-                "privacyDescription" : {
-                    "NSPhotoLibraryUsageDescription" : "需要同意访问您的相册选取图片才能完善该条目",
-                    "NSPhotoLibraryAddUsageDescription" : "需要同意访问您的相册才能保存该图片",
-                    "NSCameraUsageDescription" : "需要同意访问您的摄像头拍摄照片才能完善该条目",
-                    "NSUserTrackingUsageDescription" : "开启追踪并不会获取您在其它站点的隐私信息,该行为仅用于标识设备,保障服务安全和提升浏览体验"
-                },
-                "urltypes" : "shopro",
-                "capabilities" : {
-                    "entitlements" : {
-                        "com.apple.developer.associated-domains" : [ "applinks:shopro.sheepjs.com" ]
-                    }
-                },
-                "idfa" : true
-            },
-            "sdkConfigs" : {
-                "speech" : {
-                    "ifly" : {}
-                },
-                "ad" : {},
-                "oauth" : {
-                    "apple" : {},
-                    "weixin" : {
-                        "appid" : "wxae7a0c156da9383b",
-                        "UniversalLinks" : "https://shopro.sheepjs.com/uni-universallinks/__UNI__082C0BA/"
-                    }
-                },
-                "payment" : {
-                    "weixin" : {
-                        "__platform__" : [ "ios", "android" ],
-                        "appid" : "wxae7a0c156da9383b",
-                        "UniversalLinks" : "https://shopro.sheepjs.com/uni-universallinks/__UNI__082C0BA/"
-                    },
-                    "alipay" : {
-                        "__platform__" : [ "ios", "android" ]
-                    }
-                },
-                "share" : {
-                    "weixin" : {
-                        "appid" : "wxae7a0c156da9383b",
-                        "UniversalLinks" : "https://shopro.sheepjs.com/uni-universallinks/__UNI__082C0BA/"
-                    }
-                }
-            },
-            "orientation" : [ "portrait-primary" ],
-            "splashscreen" : {
-                "androidStyle" : "common",
-                "iosStyle" : "common",
-                "useOriginalMsgbox" : true
-            },
-            "icons" : {
-                "android" : {
-                    "hdpi" : "unpackage/res/icons/72x72.png",
-                    "xhdpi" : "unpackage/res/icons/96x96.png",
-                    "xxhdpi" : "unpackage/res/icons/144x144.png",
-                    "xxxhdpi" : "unpackage/res/icons/192x192.png"
-                },
-                "ios" : {
-                    "appstore" : "unpackage/res/icons/1024x1024.png",
-                    "ipad" : {
-                        "app" : "unpackage/res/icons/76x76.png",
-                        "app@2x" : "unpackage/res/icons/152x152.png",
-                        "notification" : "unpackage/res/icons/20x20.png",
-                        "notification@2x" : "unpackage/res/icons/40x40.png",
-                        "proapp@2x" : "unpackage/res/icons/167x167.png",
-                        "settings" : "unpackage/res/icons/29x29.png",
-                        "settings@2x" : "unpackage/res/icons/58x58.png",
-                        "spotlight" : "unpackage/res/icons/40x40.png",
-                        "spotlight@2x" : "unpackage/res/icons/80x80.png"
-                    },
-                    "iphone" : {
-                        "app@2x" : "unpackage/res/icons/120x120.png",
-                        "app@3x" : "unpackage/res/icons/180x180.png",
-                        "notification@2x" : "unpackage/res/icons/40x40.png",
-                        "notification@3x" : "unpackage/res/icons/60x60.png",
-                        "settings@2x" : "unpackage/res/icons/58x58.png",
-                        "settings@3x" : "unpackage/res/icons/87x87.png",
-                        "spotlight@2x" : "unpackage/res/icons/80x80.png",
-                        "spotlight@3x" : "unpackage/res/icons/120x120.png"
-                    }
-                }
-            }
-        }
-    },
-    "quickapp" : {},
-    "quickapp-native" : {
-        "icon" : "/static/logo.png",
-        "package" : "com.example.demo",
-        "features" : [
-            {
-                "name" : "system.clipboard"
-            }
-        ]
-    },
-    "quickapp-webview" : {
-        "icon" : "/static/logo.png",
-        "package" : "com.example.demo",
-        "minPlatformVersion" : 1070,
-        "versionName" : "1.0.0",
-        "versionCode" : 100
-    },
-    "mp-weixin" : {
-        "appid" : "wx66186af0759f47c9",
-        "setting" : {
-            "urlCheck" : false,
-            "minified" : true,
-            "postcss" : false,
-            "es6" : false
-        },
-        "optimization" : {
-            "subPackages" : true
-        },
-        "plugins" : {},
-        "lazyCodeLoading" : "requiredComponents",
-        "usingComponents" : {},
-        "permission" : {},
-        "requiredPrivateInfos" : [ "chooseAddress" ]
-    },
-    "mp-alipay" : {
-        "usingComponents" : true
-    },
-    "mp-baidu" : {
-        "usingComponents" : true
-    },
-    "mp-toutiao" : {
-        "usingComponents" : true
-    },
-    "mp-jd" : {
-        "usingComponents" : true
-    },
-    "h5" : {
-        "template" : "index.html",
-        "router" : {
-            "mode" : "history",
-            "base" : "/mail"
-        },
-        "sdkConfigs" : {
-            "maps" : {}
-        },
-        "async" : {
-            "timeout" : 20000
-        },
-        "title" : "芋道商城",
-        "optimization" : {
-            "treeShaking" : {
-                "enable" : true
-            }
-        }
-    },
-    "vueVersion" : "3",
-    "_spaceID" : "192b4892-5452-4e1d-9f09-eee1ece40639",
-    "locale" : "zh-Hans",
-    "fallbackLocale" : "zh-Hans"
-}
+	"name": "江苏赢伟达资产管理有限公司",
+	"appid": "__UNI__F082C69",
+	"description": "基于 uni-app + Vue3 技术驱动的在线商城系统,内含诸多功能与丰富的活动,期待您的使用和反馈。",
+	"versionName": "2.1.0",
+	"versionCode": "183",
+	"transformPx": false,
+	"app-plus": {
+		"usingComponents": true,
+		"nvueCompiler": "uni-app",
+		"nvueStyleCompiler": "uni-app",
+		"compilerVersion": 3,
+		"nvueLaunchMode": "fast",
+		"splashscreen": {
+			"alwaysShowBeforeRender": true,
+			"waiting": true,
+			"autoclose": true,
+			"delay": 0
+		},
+		"safearea": {
+			"bottom": {
+				"offset": "none"
+			}
+		},
+		"modules": {
+			"Payment": {},
+			"Share": {},
+			"VideoPlayer": {},
+			"OAuth": {}
+		},
+		"distribute": {
+			"android": {
+				"permissions": [
+					"<uses-feature android:name=\"android.hardware.camera\"/>",
+					"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
+					"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
+					"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
+					"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
+					"<uses-permission android:name=\"android.permission.ACCESS_MOCK_LOCATION\"/>",
+					"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.CALL_PHONE\"/>",
+					"<uses-permission android:name=\"android.permission.CAMERA\"/>",
+					"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
+					"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
+					"<uses-permission android:name=\"android.permission.GET_TASKS\"/>",
+					"<uses-permission android:name=\"android.permission.INTERNET\"/>",
+					"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
+					"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
+					"<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>",
+					"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
+					"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.READ_SMS\"/>",
+					"<uses-permission android:name=\"android.permission.RECEIVE_BOOT_COMPLETED\"/>",
+					"<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>",
+					"<uses-permission android:name=\"android.permission.SEND_SMS\"/>",
+					"<uses-permission android:name=\"android.permission.SYSTEM_ALERT_WINDOW\"/>",
+					"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
+					"<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>",
+					"<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
+					"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>",
+					"<uses-permission android:name=\"android.permission.WRITE_SMS\"/>",
+					"<uses-permission android:name=\"android.permission.RECEIVE_USER_PRESENT\"/>"
+				],
+				"minSdkVersion": 21,
+				"schemes": "shopro"
+			},
+			"ios": {
+				"urlschemewhitelist": ["baidumap", "iosamap"],
+				"dSYMs": false,
+				"privacyDescription": {
+					"NSPhotoLibraryUsageDescription": "需要同意访问您的相册选取图片才能完善该条目",
+					"NSPhotoLibraryAddUsageDescription": "需要同意访问您的相册才能保存该图片",
+					"NSCameraUsageDescription": "需要同意访问您的摄像头拍摄照片才能完善该条目",
+					"NSUserTrackingUsageDescription": "开启追踪并不会获取您在其它站点的隐私信息,该行为仅用于标识设备,保障服务安全和提升浏览体验"
+				},
+				"urltypes": "shopro",
+				"capabilities": {
+					"entitlements": {
+						"com.apple.developer.associated-domains": ["applinks:shopro.sheepjs.com"]
+					}
+				},
+				"idfa": true
+			},
+			"sdkConfigs": {
+				"speech": {
+					"ifly": {}
+				},
+				"ad": {},
+				"oauth": {
+					"apple": {},
+					"weixin": {
+						"appid": "wxae7a0c156da9383b",
+						"UniversalLinks": "https://shopro.sheepjs.com/uni-universallinks/__UNI__082C0BA/"
+					}
+				},
+				"payment": {
+					"weixin": {
+						"__platform__": ["ios", "android"],
+						"appid": "wxae7a0c156da9383b",
+						"UniversalLinks": "https://shopro.sheepjs.com/uni-universallinks/__UNI__082C0BA/"
+					},
+					"alipay": {
+						"__platform__": ["ios", "android"]
+					}
+				},
+				"share": {
+					"weixin": {
+						"appid": "wxae7a0c156da9383b",
+						"UniversalLinks": "https://shopro.sheepjs.com/uni-universallinks/__UNI__082C0BA/"
+					}
+				}
+			},
+			"orientation": ["portrait-primary"],
+			"splashscreen": {
+				"androidStyle": "common",
+				"iosStyle": "common",
+				"useOriginalMsgbox": true
+			},
+			"icons": {
+				"android": {
+					"hdpi": "unpackage/res/icons/72x72.png",
+					"xhdpi": "unpackage/res/icons/96x96.png",
+					"xxhdpi": "unpackage/res/icons/144x144.png",
+					"xxxhdpi": "unpackage/res/icons/192x192.png"
+				},
+				"ios": {
+					"appstore": "unpackage/res/icons/1024x1024.png",
+					"ipad": {
+						"app": "unpackage/res/icons/76x76.png",
+						"app@2x": "unpackage/res/icons/152x152.png",
+						"notification": "unpackage/res/icons/20x20.png",
+						"notification@2x": "unpackage/res/icons/40x40.png",
+						"proapp@2x": "unpackage/res/icons/167x167.png",
+						"settings": "unpackage/res/icons/29x29.png",
+						"settings@2x": "unpackage/res/icons/58x58.png",
+						"spotlight": "unpackage/res/icons/40x40.png",
+						"spotlight@2x": "unpackage/res/icons/80x80.png"
+					},
+					"iphone": {
+						"app@2x": "unpackage/res/icons/120x120.png",
+						"app@3x": "unpackage/res/icons/180x180.png",
+						"notification@2x": "unpackage/res/icons/40x40.png",
+						"notification@3x": "unpackage/res/icons/60x60.png",
+						"settings@2x": "unpackage/res/icons/58x58.png",
+						"settings@3x": "unpackage/res/icons/87x87.png",
+						"spotlight@2x": "unpackage/res/icons/80x80.png",
+						"spotlight@3x": "unpackage/res/icons/120x120.png"
+					}
+				}
+			}
+		}
+	},
+	"quickapp": {},
+	"quickapp-native": {
+		"icon": "/static/logo.png",
+		"package": "com.example.demo",
+		"features": [{
+			"name": "system.clipboard"
+		}]
+	},
+	"quickapp-webview": {
+		"icon": "/static/logo.png",
+		"package": "com.example.demo",
+		"minPlatformVersion": 1070,
+		"versionName": "1.0.0",
+		"versionCode": 100
+	},
+	"mp-weixin": {
+		"appid": "wx66186af0759f47c9",
+		"setting": {
+			"urlCheck": false,
+			"minified": true,
+			"postcss": false,
+			"es6": true
+		},
+		"optimization": {
+			"subPackages": true
+		},
+		"plugins": {},
+		"lazyCodeLoading": "requiredComponents",
+		"usingComponents": {},
+		"permission": {},
+		"requiredPrivateInfos": ["chooseAddress"]
+	},
+	"mp-alipay": {
+		"usingComponents": true
+	},
+	"mp-baidu": {
+		"usingComponents": true
+	},
+	"mp-toutiao": {
+		"usingComponents": true
+	},
+	"mp-jd": {
+		"usingComponents": true
+	},
+	"h5": {
+		"template": "index.html",
+		"router": {
+			"mode": "history",
+			"base": "/mail"
+		},
+		"sdkConfigs": {
+			"maps": {}
+		},
+		"async": {
+			"timeout": 20000
+		},
+		"title": "江苏赢伟达资产管理有限公司",
+		"optimization": {
+			"treeShaking": {
+				"enable": true
+			}
+		}
+	},
+	"vueVersion": "3",
+	"_spaceID": "192b4892-5452-4e1d-9f09-eee1ece40639",
+	"locale": "zh-Hans",
+	"fallbackLocale": "zh-Hans"
+}

+ 3 - 2
package.json

@@ -1,9 +1,9 @@
 {
   "id": "shopro",
   "name": "shopro",
-  "displayName": "芋道商城",
+  "displayName": "江苏赢伟达资产管理有限公司",
   "version": "2.4.1",
-  "description": "芋道商城,一套代码,同时发行到iOS、Android、H5、微信小程序多个平台,请使用手机扫码快速体验强大功能",
+  "description": "江苏赢伟达资产管理有限公司,一套代码,同时发行到iOS、Android、H5、微信小程序多个平台,请使用手机扫码快速体验强大功能",
   "scripts": {
     "prettier": "prettier --write  \"{pages,sheep}/**/*.{js,json,tsx,css,less,scss,vue,html,md}\""
   },
@@ -88,6 +88,7 @@
     }
   },
   "dependencies": {
+    "vue": "3.5.12",
     "dayjs": "^1.11.7",
     "lodash": "^4.17.21",
     "lodash-es": "^4.17.21",

+ 716 - 686
pages.json

@@ -1,689 +1,719 @@
 {
-	"easycom": {
-		"autoscan": true,
-		"custom": {
-			"^s-(.*)": "@/sheep/components/s-$1/s-$1.vue",
-			"^su-(.*)": "@/sheep/ui/su-$1/su-$1.vue"
-		}
-	},
-	"pages": [{
-			"path": "pages/index/index",
-			"aliasPath": "/",
-			"style": {
-				"navigationBarTitleText": "首页",
-				"enablePullDownRefresh": true
-			},
-			"meta": {
-				"auth": false,
-				"sync": true,
-				"title": "首页",
-				"group": "商城"
-			}
-		},
-		{
-			"path": "pages/index/user",
-			"style": {
-				"navigationBarTitleText": "个人中心",
-				"enablePullDownRefresh": true
-			},
-			"meta": {
-				"sync": true,
-				"title": "个人中心",
-				"group": "商城"
-			}
-		},
-		{
-			"path": "pages/index/category",
-			"style": {
-				"navigationBarTitleText": "商品分类"
-			},
-			"meta": {
-				"sync": true,
-				"title": "商品分类",
-				"group": "商城"
-			}
-		},
-		{
-			"path": "pages/index/cart",
-			"style": {
-				"navigationBarTitleText": "购物车"
-			},
-			"meta": {
-				"sync": true,
-				"title": "购物车",
-				"group": "商城"
-			}
-		},
-		{
-			"path": "pages/index/login",
-			"style": {
-				"navigationBarTitleText": "登录"
-			}
-		},
-		{
-			"path": "pages/index/search",
-			"style": {
-				"navigationBarTitleText": "搜索"
-			},
-			"meta": {
-				"sync": true,
-				"title": "搜索",
-				"group": "商城"
-			}
-		},
-		{
-			"path": "pages/index/page",
-			"style": {
-				"navigationBarTitleText": ""
-			},
-			"meta": {
-				"auth": false,
-				"sync": true,
-				"title": "自定义页面",
-				"group": "商城"
-			}
-		}
-	],
-	"subPackages": [{
-			"root": "pages/goods",
-			"pages": [{
-					"path": "index",
-					"style": {
-						"navigationBarTitleText": "商品详情"
-					},
-					"meta": {
-						"sync": true,
-						"title": "普通商品",
-						"group": "商品"
-					}
-				},
-				{
-					"path": "groupon",
-					"style": {
-						"navigationBarTitleText": "拼团商品"
-					},
-					"meta": {
-						"sync": true,
-						"title": "拼团商品",
-						"group": "商品"
-					}
-				},
+  "easycom": {
+    "autoscan": true,
+    "custom": {
+      "^s-(.*)": "@/sheep/components/s-$1/s-$1.vue",
+      "^su-(.*)": "@/sheep/ui/su-$1/su-$1.vue"
+    }
+  },
+  "pages": [
+    {
+      "path": "pages/index/index",
+      "aliasPath": "/",
+      "style": {
+        "navigationBarTitleText": "首页",
+        "enablePullDownRefresh": true
+      },
+      "meta": {
+        "auth": false,
+        "sync": true,
+        "title": "首页",
+        "group": "商城"
+      }
+    },
+    {
+      "path": "pages/index/user",
+      "style": {
+        "navigationBarTitleText": "个人中心",
+        "enablePullDownRefresh": true
+      },
+      "meta": {
+        "sync": true,
+        "title": "个人中心",
+        "group": "商城"
+      }
+    },
+    {
+      "path": "pages/index/category",
+      "style": {
+        "navigationBarTitleText": "商品分类"
+      },
+      "meta": {
+        "sync": true,
+        "title": "商品分类",
+        "group": "商城"
+      }
+    },
+    // {
+    // 	"path": "pages/index/cart",
+    // 	"style": {
+    // 		"navigationBarTitleText": "购物车"
+    // 	},
+    // 	"meta": {
+    // 		"sync": true,
+    // 		"title": "购物车",
+    // 		"group": "商城"
+    // 	}
+    // },
+    {
+      "path": "pages/index/login",
+      "style": {
+        "navigationBarTitleText": "登录"
+      }
+    },
+    {
+      "path": "pages/ai/index",
+      "style": {
+        "navigationBarTitleText": "ai"
+      },
+      "meta": {
+        "sync": true,
+        "title": "搜索",
+        "group": "商城"
+      }
+    },
+    {
+      "path": "pages/index/search",
+      "style": {
+        "navigationBarTitleText": "搜索"
+      },
+      "meta": {
+        "sync": true,
+        "title": "搜索",
+        "group": "商城"
+      }
+    },
+    {
+      "path": "pages/index/page",
+      "style": {
+        "navigationBarTitleText": ""
+      },
+      "meta": {
+        "auth": false,
+        "sync": true,
+        "title": "自定义页面",
+        "group": "商城"
+      }
+    }
+  ],
+  "subPackages": [
+    {
+      "root": "pages/goods",
+      "pages": [
+        {
+          "path": "index",
+          "style": {
+            "navigationBarTitleText": "商品详情"
+          },
+          "meta": {
+            "sync": true,
+            "title": "普通商品",
+            "group": "商品"
+          }
+        },
+        {
+          "path": "groupon",
+          "style": {
+            "navigationBarTitleText": "拼团商品"
+          },
+          "meta": {
+            "sync": true,
+            "title": "拼团商品",
+            "group": "商品"
+          }
+        },
 
-				{
-					"path": "seckill",
-					"style": {
-						"navigationBarTitleText": "秒杀商品"
-					},
-					"meta": {
-						"sync": true,
-						"title": "秒杀商品",
-						"group": "商品"
-					}
-				},
-                {
-                    "path": "point",
-                    "style": {
-                      "navigationBarTitleText": "积分商品"
-                    },
-                    "meta": {
-                      "sync": true,
-                      "title": "积分商品",
-                      "group": "商品"
-                    }
-                },
-				{
-					"path": "list",
-					"style": {
-						"navigationBarTitleText": "商品列表"
-					},
-					"meta": {
-						"sync": true,
-						"title": "商品列表",
-						"group": "商品"
-					}
-				},
-				{
-					"path": "comment/add",
-					"style": {
-						"navigationBarTitleText": "评价商品"
-					},
-					"meta": {
-						"auth": true
-					}
-				},
-				{
-					"path": "comment/list",
-					"style": {
-						"navigationBarTitleText": "商品评价"
-					}
-				}
-			]
-		},
-		{
-			"root": "pages/order",
-			"pages": [{
-					"path": "detail",
-					"style": {
-						"navigationBarTitleText": "订单详情"
-					},
-					"meta": {
-						"auth": true,
-						"title": "订单详情"
-					}
-				},
-				{
-					"path": "confirm",
-					"style": {
-						"navigationBarTitleText": "确认订单"
-					},
-					"meta": {
-						"auth": true,
-						"title": "确认订单"
-					}
-				},
-				{
-					"path": "list",
-					"style": {
-						"navigationBarTitleText": "我的订单",
-						"enablePullDownRefresh": true
-					},
-					"meta": {
-						"auth": true,
-						"sync": true,
-						"title": "用户订单",
-						"group": "订单中心"
-					}
-				},
-				{
-					"path": "aftersale/apply",
-					"style": {
-						"navigationBarTitleText": "申请售后"
-					},
-					"meta": {
-						"auth": true,
-						"title": "申请售后"
-					}
-				},
-                {
-                  "path": "aftersale/return-delivery",
-                  "style": {
-                    "navigationBarTitleText": "退货物流"
-                  },
-                  "meta": {
-                    "auth": true,
-                    "title": "退货物流"
-                  }
-                },
-				{
-					"path": "aftersale/list",
-					"style": {
-						"navigationBarTitleText": "售后列表"
-					},
-					"meta": {
-						"auth": true,
-						"sync": true,
-						"title": "售后订单",
-						"group": "订单中心"
-					}
-				},
-				{
-					"path": "aftersale/detail",
-					"style": {
-						"navigationBarTitleText": "售后详情"
-					},
-					"meta": {
-						"auth": true,
-						"title": "售后详情"
-					}
-				},
-				{
-					"path": "aftersale/log",
-					"style": {
-						"navigationBarTitleText": "售后进度"
-					},
-					"meta": {
-						"auth": true,
-						"title": "售后进度"
-					}
-				},
-				{
-					"path": "express/log",
-					"style": {
-						"navigationBarTitleText": "物流轨迹"
-					},
-					"meta": {
-						"auth": true,
-						"title": "物流轨迹"
-					}
-				}
-			]
-		},
-		{
-			"root": "pages/user",
-			"pages": [{
-					"path": "info",
-					"style": {
-						"navigationBarTitleText": "我的信息"
-					},
-					"meta": {
-						"auth": true,
-						"sync": true,
-						"title": "用户信息",
-						"group": "用户中心"
-					}
-				},
-				{
-					"path": "goods-collect",
-					"style": {
-						"navigationBarTitleText": "我的收藏"
-					},
-					"meta": {
-						"auth": true,
-						"sync": true,
-						"title": "商品收藏",
-						"group": "用户中心"
-					}
-				},
-				{
-					"path": "goods-log",
-					"style": {
-						"navigationBarTitleText": "我的足迹"
-					},
-					"meta": {
-						"auth": true,
-						"sync": true,
-						"title": "浏览记录",
-						"group": "用户中心"
-					}
-				},
-				{
-					"path": "address/list",
-					"style": {
-						"navigationBarTitleText": "收货地址"
-					},
-					"meta": {
-						"auth": true,
-						"sync": true,
-						"title": "地址管理",
-						"group": "用户中心"
-					}
-				},
-				{
-					"path": "address/edit",
-					"style": {
-						"navigationBarTitleText": "编辑地址"
-					},
-					"meta": {
-						"auth": true,
-						"title": "编辑地址"
-					}
-				},
-                {
-                  "path": "goods_details_store/index",
-                  "style": {
-                    "navigationBarTitleText": "自提门店"
-                  },
-                  "meta": {
-                    "auth": true,
-                    "sync": true,
-                    "title": "地址管理",
-                    "group": "用户中心"
-                  }
-                },
-				{
-					"path": "wallet/money",
-					"style": {
-						"navigationBarTitleText": "我的余额"
-					},
-					"meta": {
-						"auth": true,
-						"sync": true,
-						"title": "用户余额",
-						"group": "用户中心"
-					}
-				},
-				{
-					"path": "wallet/score",
-					"style": {
-						"navigationBarTitleText": "我的积分"
-					},
-					"meta": {
-						"auth": true,
-						"sync": true,
-						"title": "用户积分",
-						"group": "用户中心"
-					}
-				}
-			]
-		},
-		{
-			"root": "pages/commission",
-			"pages": [{
-					"path": "index",
-					"style": {
-						"navigationBarTitleText": "分销"
-					},
-					"meta": {
-						"auth": true,
-						"sync": true,
-						"title": "分销中心",
-						"group": "分销商城"
-					}
-				},
-				{
-					"path": "wallet",
-					"style": {
-						"navigationBarTitleText": "我的佣金"
-					},
-					"meta": {
-						"auth": true,
-						"sync": true,
-						"title": "用户佣金",
-						"group": "分销中心"
-					}
-				},
-				{
-					"path": "goods",
-					"style": {
-						"navigationBarTitleText": "推广商品"
-					},
-					"meta": {
-						"auth": true,
-						"sync": true,
-						"title": "推广商品",
-						"group": "分销商城"
-					}
-				},
-				{
-					"path": "order",
-					"style": {
-						"navigationBarTitleText": "分销订单"
-					},
-					"meta": {
-						"auth": true,
-						"sync": true,
-						"title": "分销订单",
-						"group": "分销商城"
-					}
-				},
-				{
-					"path": "team",
-					"style": {
-						"navigationBarTitleText": "我的团队"
-					},
-					"meta": {
-						"auth": true,
-						"sync": true,
-						"title": "我的团队",
-						"group": "分销商城"
-					}
-				}, {
-					"path": "promoter",
-					"style": {
-						"navigationBarTitleText": "推广人排行榜"
-					},
-					"meta": {
-						"auth": true,
-						"sync": true,
-						"title": "推广人排行榜",
-						"group": "分销商城"
-					}
-				}, {
-					"path": "commission-ranking",
-					"style": {
-						"navigationBarTitleText": "佣金排行榜"
-					},
-					"meta": {
-						"auth": true,
-						"sync": true,
-						"title": "佣金排行榜",
-						"group": "分销商城"
-					}
-				}, {
-                "path": "withdraw",
-                "style": {
-                  "navigationBarTitleText": "申请提现"
-                },
-                "meta": {
-                  "auth": true,
-                  "sync": true,
-                  "title": "申请提现",
-                  "group": "分销商城"
-                }
-              }
-			]
-		},
-		{
-			"root": "pages/app",
-			"pages": [{
-				"path": "sign",
-				"style": {
-					"navigationBarTitleText": "签到中心"
-				},
-				"meta": {
-					"auth": true,
-					"sync": true,
-					"title": "签到中心",
-					"group": "应用"
-				}
-			}]
-		},
-		{
-			"root": "pages/public",
-			"pages": [{
-					"path": "setting",
-					"style": {
-						"navigationBarTitleText": "系统设置"
-					},
-					"meta": {
-						"sync": true,
-						"title": "系统设置",
-						"group": "通用"
-					}
-				},
-				{
-					"path": "richtext",
-					"style": {
-						"navigationBarTitleText": "富文本"
-					},
-					"meta": {
-						"sync": true,
-						"title": "富文本",
-						"group": "通用"
-					}
-				},
-				{
-					"path": "faq",
-					"style": {
-						"navigationBarTitleText": "常见问题"
-					},
-					"meta": {
-						"sync": true,
-						"title": "常见问题",
-						"group": "通用"
-					}
-				},
-				{
-					"path": "error",
-					"style": {
-						"navigationBarTitleText": "错误页面"
-					}
-				},
-				{
-					"path": "webview",
-					"style": {
-						"navigationBarTitleText": ""
-					}
-				}
-			]
-		},
-		{
-			"root": "pages/coupon",
-			"pages": [{
-					"path": "list",
-					"style": {
-						"navigationBarTitleText": "领券中心"
-					},
-					"meta": {
-						"sync": true,
-						"title": "领券中心",
-						"group": "优惠券"
-					}
-				},
-				{
-					"path": "detail",
-					"style": {
-						"navigationBarTitleText": "优惠券"
-					},
-					"meta": {
-						"auth": false,
-						"sync": true,
-						"title": "优惠券详情",
-						"group": "优惠券"
-					}
-				}
-			]
-		},
-		{
-			"root": "pages/chat",
-			"pages": [{
-				"path": "index",
-				"style": {
-					"navigationBarTitleText": "客服"
-				},
-				"meta": {
-					"auth": true,
-					"sync": true,
-					"title": "客服",
-					"group": "客服"
-				}
-			}]
-		},
-		{
-			"root": "pages/pay",
-			"pages": [{
-					"path": "index",
-					"style": {
-						"navigationBarTitleText": "收银台"
-					}
-				},
-				{
-					"path": "result",
-					"style": {
-						"navigationBarTitleText": "支付结果"
-					}
-				},
-				{
-					"path": "recharge",
-					"style": {
-						"navigationBarTitleText": "充值余额"
-					},
-					"meta": {
-						"auth": true,
-						"sync": true,
-						"title": "充值余额",
-						"group": "支付"
-					}
-				},
-				{
-					"path": "recharge-log",
-					"style": {
-						"navigationBarTitleText": "充值记录"
-					},
-					"meta": {
-						"auth": true,
-						"sync": true,
-						"title": "充值记录",
-						"group": "支付"
-					}
-				}
-			]
-		},
-		{
-			"root": "pages/activity",
-			"pages": [{
-					"path": "groupon/detail",
-					"style": {
-						"navigationBarTitleText": "拼团详情"
-					}
-				},
-				{
-					"path": "groupon/order",
-					"style": {
-						"navigationBarTitleText": "我的拼团",
-						"enablePullDownRefresh": true
-					},
-					"meta": {
-						"auth": true,
-						"sync": true,
-						"title": "拼团订单",
-						"group": "营销活动"
-					}
-				},
-				{
-					"path": "index",
-					"style": {
-						"navigationBarTitleText": "营销商品"
-					},
-					"meta": {
-						"sync": true,
-						"title": "营销商品",
-						"group": "营销活动"
-					}
-				},
-				{
-					"path": "groupon/list",
-					"style": {
-						"navigationBarTitleText": "拼团活动"
-					},
-					"meta": {
-						"sync": true,
-						"title": "拼团活动",
-						"group": "营销活动"
-					}
-				},
-				{
-					"path": "seckill/list",
-					"style": {
-						"navigationBarTitleText": "秒杀活动"
-					},
-					"meta": {
-						"sync": true,
-						"title": "秒杀活动",
-						"group": "营销活动"
-					}
-				},
-                {
-                  "path": "point/list",
-                  "style": {
-                    "navigationBarTitleText": "积分商城"
-                  },
-                  "meta": {
-                    "sync": true,
-                    "title": "积分商城",
-                    "group": "营销活动"
-                  }
-                }
-			]
-		}
-	],
-	"globalStyle": {
-		"navigationBarTextStyle": "black",
-		"navigationBarTitleText": "芋道商城",
-		"navigationBarBackgroundColor": "#FFFFFF",
-		"backgroundColor": "#FFFFFF",
-		"navigationStyle": "custom"
-	},
-	"tabBar": {
-		"list": [{
-				"pagePath": "pages/index/index"
-			},
-			{
-				"pagePath": "pages/index/cart"
-			},
-			{
-				"pagePath": "pages/index/user"
-			}
-		]
-	}
+        {
+          "path": "seckill",
+          "style": {
+            "navigationBarTitleText": "秒杀商品"
+          },
+          "meta": {
+            "sync": true,
+            "title": "秒杀商品",
+            "group": "商品"
+          }
+        },
+        {
+          "path": "point",
+          "style": {
+            "navigationBarTitleText": "积分商品"
+          },
+          "meta": {
+            "sync": true,
+            "title": "积分商品",
+            "group": "商品"
+          }
+        },
+        {
+          "path": "list",
+          "style": {
+            "navigationBarTitleText": "商品列表"
+          },
+          "meta": {
+            "sync": true,
+            "title": "商品列表",
+            "group": "商品"
+          }
+        },
+        {
+          "path": "comment/add",
+          "style": {
+            "navigationBarTitleText": "评价商品"
+          },
+          "meta": {
+            "auth": true
+          }
+        },
+        {
+          "path": "comment/list",
+          "style": {
+            "navigationBarTitleText": "商品评价"
+          }
+        }
+      ]
+    },
+    {
+      "root": "pages/order",
+      "pages": [
+        {
+          "path": "detail",
+          "style": {
+            "navigationBarTitleText": "订单详情"
+          },
+          "meta": {
+            "auth": true,
+            "title": "订单详情"
+          }
+        },
+        {
+          "path": "confirm",
+          "style": {
+            "navigationBarTitleText": "确认订单"
+          },
+          "meta": {
+            "auth": true,
+            "title": "确认订单"
+          }
+        },
+        {
+          "path": "list",
+          "style": {
+            "navigationBarTitleText": "我的订单",
+            "enablePullDownRefresh": true
+          },
+          "meta": {
+            "auth": true,
+            "sync": true,
+            "title": "用户订单",
+            "group": "订单中心"
+          }
+        },
+        {
+          "path": "aftersale/apply",
+          "style": {
+            "navigationBarTitleText": "申请售后"
+          },
+          "meta": {
+            "auth": true,
+            "title": "申请售后"
+          }
+        },
+        {
+          "path": "aftersale/return-delivery",
+          "style": {
+            "navigationBarTitleText": "退货物流"
+          },
+          "meta": {
+            "auth": true,
+            "title": "退货物流"
+          }
+        },
+        {
+          "path": "aftersale/list",
+          "style": {
+            "navigationBarTitleText": "售后列表"
+          },
+          "meta": {
+            "auth": true,
+            "sync": true,
+            "title": "售后订单",
+            "group": "订单中心"
+          }
+        },
+        {
+          "path": "aftersale/detail",
+          "style": {
+            "navigationBarTitleText": "售后详情"
+          },
+          "meta": {
+            "auth": true,
+            "title": "售后详情"
+          }
+        },
+        {
+          "path": "aftersale/log",
+          "style": {
+            "navigationBarTitleText": "售后进度"
+          },
+          "meta": {
+            "auth": true,
+            "title": "售后进度"
+          }
+        },
+        {
+          "path": "express/log",
+          "style": {
+            "navigationBarTitleText": "物流轨迹"
+          },
+          "meta": {
+            "auth": true,
+            "title": "物流轨迹"
+          }
+        }
+      ]
+    },
+    {
+      "root": "pages/user",
+      "pages": [
+        {
+          "path": "info",
+          "style": {
+            "navigationBarTitleText": "我的信息"
+          },
+          "meta": {
+            "auth": true,
+            "sync": true,
+            "title": "用户信息",
+            "group": "用户中心"
+          }
+        },
+        {
+          "path": "goods-collect",
+          "style": {
+            "navigationBarTitleText": "我的收藏"
+          },
+          "meta": {
+            "auth": true,
+            "sync": true,
+            "title": "商品收藏",
+            "group": "用户中心"
+          }
+        },
+        {
+          "path": "goods-log",
+          "style": {
+            "navigationBarTitleText": "我的足迹"
+          },
+          "meta": {
+            "auth": true,
+            "sync": true,
+            "title": "浏览记录",
+            "group": "用户中心"
+          }
+        },
+        {
+          "path": "address/list",
+          "style": {
+            "navigationBarTitleText": "收货地址"
+          },
+          "meta": {
+            "auth": true,
+            "sync": true,
+            "title": "地址管理",
+            "group": "用户中心"
+          }
+        },
+        {
+          "path": "address/edit",
+          "style": {
+            "navigationBarTitleText": "编辑地址"
+          },
+          "meta": {
+            "auth": true,
+            "title": "编辑地址"
+          }
+        },
+        {
+          "path": "goods_details_store/index",
+          "style": {
+            "navigationBarTitleText": "自提门店"
+          },
+          "meta": {
+            "auth": true,
+            "sync": true,
+            "title": "地址管理",
+            "group": "用户中心"
+          }
+        },
+        {
+          "path": "wallet/money",
+          "style": {
+            "navigationBarTitleText": "我的余额"
+          },
+          "meta": {
+            "auth": true,
+            "sync": true,
+            "title": "用户余额",
+            "group": "用户中心"
+          }
+        },
+        {
+          "path": "wallet/score",
+          "style": {
+            "navigationBarTitleText": "我的积分"
+          },
+          "meta": {
+            "auth": true,
+            "sync": true,
+            "title": "用户积分",
+            "group": "用户中心"
+          }
+        }
+      ]
+    },
+    {
+      "root": "pages/commission",
+      "pages": [
+        {
+          "path": "index",
+          "style": {
+            "navigationBarTitleText": "分销"
+          },
+          "meta": {
+            "auth": true,
+            "sync": true,
+            "title": "分销中心",
+            "group": "分销商城"
+          }
+        },
+        {
+          "path": "wallet",
+          "style": {
+            "navigationBarTitleText": "我的佣金"
+          },
+          "meta": {
+            "auth": true,
+            "sync": true,
+            "title": "用户佣金",
+            "group": "分销中心"
+          }
+        },
+        {
+          "path": "goods",
+          "style": {
+            "navigationBarTitleText": "推广商品"
+          },
+          "meta": {
+            "auth": true,
+            "sync": true,
+            "title": "推广商品",
+            "group": "分销商城"
+          }
+        },
+        {
+          "path": "order",
+          "style": {
+            "navigationBarTitleText": "分销订单"
+          },
+          "meta": {
+            "auth": true,
+            "sync": true,
+            "title": "分销订单",
+            "group": "分销商城"
+          }
+        },
+        {
+          "path": "team",
+          "style": {
+            "navigationBarTitleText": "我的团队"
+          },
+          "meta": {
+            "auth": true,
+            "sync": true,
+            "title": "我的团队",
+            "group": "分销商城"
+          }
+        },
+        {
+          "path": "promoter",
+          "style": {
+            "navigationBarTitleText": "推广人排行榜"
+          },
+          "meta": {
+            "auth": true,
+            "sync": true,
+            "title": "推广人排行榜",
+            "group": "分销商城"
+          }
+        },
+        {
+          "path": "commission-ranking",
+          "style": {
+            "navigationBarTitleText": "佣金排行榜"
+          },
+          "meta": {
+            "auth": true,
+            "sync": true,
+            "title": "佣金排行榜",
+            "group": "分销商城"
+          }
+        },
+        {
+          "path": "withdraw",
+          "style": {
+            "navigationBarTitleText": "申请提现"
+          },
+          "meta": {
+            "auth": true,
+            "sync": true,
+            "title": "申请提现",
+            "group": "分销商城"
+          }
+        }
+      ]
+    },
+    {
+      "root": "pages/app",
+      "pages": [
+        {
+          "path": "sign",
+          "style": {
+            "navigationBarTitleText": "签到中心"
+          },
+          "meta": {
+            "auth": true,
+            "sync": true,
+            "title": "签到中心",
+            "group": "应用"
+          }
+        }
+      ]
+    },
+    {
+      "root": "pages/public",
+      "pages": [
+        {
+          "path": "setting",
+          "style": {
+            "navigationBarTitleText": "系统设置"
+          },
+          "meta": {
+            "sync": true,
+            "title": "系统设置",
+            "group": "通用"
+          }
+        },
+        {
+          "path": "richtext",
+          "style": {
+            "navigationBarTitleText": "富文本"
+          },
+          "meta": {
+            "sync": true,
+            "title": "富文本",
+            "group": "通用"
+          }
+        },
+        {
+          "path": "faq",
+          "style": {
+            "navigationBarTitleText": "常见问题"
+          },
+          "meta": {
+            "sync": true,
+            "title": "常见问题",
+            "group": "通用"
+          }
+        },
+        {
+          "path": "error",
+          "style": {
+            "navigationBarTitleText": "错误页面"
+          }
+        },
+        {
+          "path": "webview",
+          "style": {
+            "navigationBarTitleText": ""
+          }
+        }
+      ]
+    },
+    {
+      "root": "pages/coupon",
+      "pages": [
+        {
+          "path": "list",
+          "style": {
+            "navigationBarTitleText": "领券中心"
+          },
+          "meta": {
+            "sync": true,
+            "title": "领券中心",
+            "group": "优惠券"
+          }
+        },
+        {
+          "path": "detail",
+          "style": {
+            "navigationBarTitleText": "优惠券"
+          },
+          "meta": {
+            "auth": false,
+            "sync": true,
+            "title": "优惠券详情",
+            "group": "优惠券"
+          }
+        }
+      ]
+    },
+    {
+      "root": "pages/chat",
+      "pages": [
+        {
+          "path": "index",
+          "style": {
+            "navigationBarTitleText": "客服"
+          },
+          "meta": {
+            "auth": true,
+            "sync": true,
+            "title": "客服",
+            "group": "客服"
+          }
+        }
+      ]
+    },
+
+    {
+      "root": "pages/pay",
+      "pages": [
+        {
+          "path": "index",
+          "style": {
+            "navigationBarTitleText": "收银台"
+          }
+        },
+        {
+          "path": "result",
+          "style": {
+            "navigationBarTitleText": "支付结果"
+          }
+        },
+        {
+          "path": "recharge",
+          "style": {
+            "navigationBarTitleText": "充值余额"
+          },
+          "meta": {
+            "auth": true,
+            "sync": true,
+            "title": "充值余额",
+            "group": "支付"
+          }
+        },
+        {
+          "path": "recharge-log",
+          "style": {
+            "navigationBarTitleText": "充值记录"
+          },
+          "meta": {
+            "auth": true,
+            "sync": true,
+            "title": "充值记录",
+            "group": "支付"
+          }
+        }
+      ]
+    },
+    {
+      "root": "pages/activity",
+      "pages": [
+        {
+          "path": "groupon/detail",
+          "style": {
+            "navigationBarTitleText": "拼团详情"
+          }
+        },
+        {
+          "path": "groupon/order",
+          "style": {
+            "navigationBarTitleText": "我的拼团",
+            "enablePullDownRefresh": true
+          },
+          "meta": {
+            "auth": true,
+            "sync": true,
+            "title": "拼团订单",
+            "group": "营销活动"
+          }
+        },
+        {
+          "path": "index",
+          "style": {
+            "navigationBarTitleText": "营销商品"
+          },
+          "meta": {
+            "sync": true,
+            "title": "营销商品",
+            "group": "营销活动"
+          }
+        },
+        {
+          "path": "groupon/list",
+          "style": {
+            "navigationBarTitleText": "拼团活动"
+          },
+          "meta": {
+            "sync": true,
+            "title": "拼团活动",
+            "group": "营销活动"
+          }
+        },
+        {
+          "path": "seckill/list",
+          "style": {
+            "navigationBarTitleText": "秒杀活动"
+          },
+          "meta": {
+            "sync": true,
+            "title": "秒杀活动",
+            "group": "营销活动"
+          }
+        },
+        {
+          "path": "point/list",
+          "style": {
+            "navigationBarTitleText": "积分商城"
+          },
+          "meta": {
+            "sync": true,
+            "title": "积分商城",
+            "group": "营销活动"
+          }
+        }
+      ]
+    }
+  ],
+  "globalStyle": {
+    "navigationBarTextStyle": "black",
+    "navigationBarTitleText": "江苏赢伟达资产管理有限公司",
+    "navigationBarBackgroundColor": "#FFFFFF",
+    "backgroundColor": "#FFFFFF",
+    "navigationStyle": "custom"
+  },
+  "tabBar": {
+    "list": [
+      {
+        "pagePath": "pages/index/index"
+      },
+      // {
+      //   "pagePath": "pages/index/cart"
+      // },
+      {
+        "pagePath": "pages/index/user"
+      }
+    ]
+  }
 }

+ 71 - 0
pages/ai/index.vue

@@ -0,0 +1,71 @@
+<!-- 文章展示 -->
+<template>
+  <s-layout :bgStyle="{ color: 'transparent' }" :title="state.title" class="set-wrap">
+    <view>
+      <!-- #ifdef H5 -->
+      <iframe src="http://42.194.163.46:9005/chatbot/Daahm2N28l24ECJx"
+        style="width: 100%; height: calc(100vh - 50px);"></iframe>
+      <!-- #endif -->
+
+      <!-- #ifdef MP-WEIXIN -->
+      <web-view src="http://42.194.163.46:9005/chatbot/Daahm2N28l24ECJx"
+        style="width: 100vw; height: 100vh;"></web-view>
+      <!-- #endif -->
+    </view>
+  </s-layout>
+  <view>
+  </view>
+</template>
+
+<script setup>
+import { onLoad } from '@dcloudio/uni-app';
+import { reactive, ref } from 'vue';
+import ArticleApi from '@/sheep/api/promotion/article';
+const webviewstyle = ref({
+  width: "100%",
+  height: "100%",
+  top: "100px",
+});
+const state = reactive({
+  title: '',
+  content: '',
+});
+
+async function getRichTextContent(id, title) {
+  const { code, data } = await ArticleApi.getArticle(id, title);
+  if (code !== 0) {
+    return;
+  }
+  state.content = data.content;
+  // 标题不一致时,修改标题
+  if (state.title !== data.title) {
+    state.title = data.title;
+    uni.setNavigationBarTitle({
+      title: state.title,
+    });
+  }
+}
+
+onLoad((options) => {
+  if (options.title) {
+    state.title = options.title;
+    uni.setNavigationBarTitle({
+      title: state.title,
+    });
+  }
+  getRichTextContent(options.id, options.title);
+});
+
+</script>
+
+<style lang="scss" scoped>
+.set-title {
+  margin: 0 30rpx;
+}
+
+iframe {
+  border: none;
+}
+
+.richtext {}
+</style>

+ 20 - 25
pages/index/user.vue

@@ -1,13 +1,7 @@
 <!-- 个人中心:支持装修 -->
 <template>
-  <s-layout
-    title="我的"
-    tabbar="/pages/index/user"
-    navbar="custom"
-    :bgStyle="template.page"
-    :navbarStyle="template.navigationBar"
-    onShareAppMessage
-  >
+  <s-layout title="我的" tabbar="/pages/index/user" navbar="custom" :bgStyle="template.page"
+    :navbarStyle="template.navigationBar" onShareAppMessage>
     <s-block v-for="(item, index) in template.components" :key="index" :styles="item.property.style">
       <s-block-item :type="item.id" :data="item.property" :styles="item.property.style" />
     </s-block>
@@ -15,28 +9,29 @@
 </template>
 
 <script setup>
-  import { computed } from 'vue';
-  import { onShow, onPageScroll, onPullDownRefresh } from '@dcloudio/uni-app';
-  import sheep from '@/sheep';
+import { computed } from 'vue';
+import { onShow, onPageScroll, onPullDownRefresh } from '@dcloudio/uni-app';
+import sheep from '@/sheep';
 
-  // 隐藏原生tabBar
-  uni.hideTabBar();
+// 隐藏原生tabBar
+uni.hideTabBar();
 
-  const template = computed(() => sheep.$store('app').template.user);
-  const isLogin = computed(() => sheep.$store('user').isLogin);
+const template = computed(() => sheep.$store('app').template.user);
+console.log(template, 555222333)
+const isLogin = computed(() => sheep.$store('user').isLogin);
 
-  onShow(() => {
-    sheep.$store('user').updateUserData();
-  });
+onShow(() => {
+  sheep.$store('user').updateUserData();
+});
 
-  onPullDownRefresh(() => {
-    sheep.$store('user').updateUserData();
-    setTimeout(function () {
-      uni.stopPullDownRefresh();
-    }, 800);
-  });
+onPullDownRefresh(() => {
+  sheep.$store('user').updateUserData();
+  setTimeout(function () {
+    uni.stopPullDownRefresh();
+  }, 800);
+});
 
-  onPageScroll(() => {});
+onPageScroll(() => { });
 </script>
 
 <style></style>

+ 49 - 60
sheep/components/s-auth-modal/components/account-login.vue

@@ -7,20 +7,14 @@
         <view class="head-title-active head-title-line" @tap="showAuthModal('smsLogin')">
           短信登录
         </view>
-        <view class="head-title ss-m-r-40 head-title-animation">账号登录</view>
+        <!-- <view class="head-title ss-m-r-40 head-title-animation">账号登录</view> -->
       </view>
       <view class="head-subtitle">如果未设置过密码,请点击忘记密码</view>
     </view>
 
     <!-- 表单项 -->
-    <uni-forms
-      ref="accountLoginRef"
-      v-model="state.model"
-      :rules="state.rules"
-      validateTrigger="bind"
-      labelWidth="140"
-      labelAlign="center"
-    >
+    <uni-forms ref="accountLoginRef" v-model="state.model" :rules="state.rules" validateTrigger="bind" labelWidth="140"
+      labelAlign="center">
       <uni-forms-item name="mobile" label="账号">
         <uni-easyinput placeholder="请输入账号" v-model="state.model.mobile" :inputBorder="false">
           <template v-slot:right>
@@ -32,12 +26,7 @@
       </uni-forms-item>
 
       <uni-forms-item name="password" label="密码">
-        <uni-easyinput
-          type="password"
-          placeholder="请输入密码"
-          v-model="state.model.password"
-          :inputBorder="false"
-        >
+        <uni-easyinput type="password" placeholder="请输入密码" v-model="state.model.password" :inputBorder="false">
           <template v-slot:right>
             <button class="ss-reset-button login-btn-start" @tap="accountLoginSubmit">登录</button>
           </template>
@@ -48,60 +37,60 @@
 </template>
 
 <script setup>
-  import { ref, reactive, unref } from 'vue';
-  import sheep from '@/sheep';
-  import { mobile, password } from '@/sheep/validate/form';
-  import { showAuthModal, closeAuthModal } from '@/sheep/hooks/useModal';
-  import AuthUtil from '@/sheep/api/member/auth';
+import { ref, reactive, unref } from 'vue';
+import sheep from '@/sheep';
+import { mobile, password } from '@/sheep/validate/form';
+import { showAuthModal, closeAuthModal } from '@/sheep/hooks/useModal';
+import AuthUtil from '@/sheep/api/member/auth';
 
-  const accountLoginRef = ref(null);
+const accountLoginRef = ref(null);
 
-  const emits = defineEmits(['onConfirm']);
+const emits = defineEmits(['onConfirm']);
 
-  const props = defineProps({
-    agreeStatus: {
-      type: Boolean,
-      default: false,
-    },
-  });
+const props = defineProps({
+  agreeStatus: {
+    type: Boolean,
+    default: false,
+  },
+});
 
-  // 数据
-  const state = reactive({
-    model: {
-      mobile: '', // 账号
-      password: '', // 密码
-    },
-    rules: {
-      mobile,
-      password,
-    },
-  });
+// 数据
+const state = reactive({
+  model: {
+    mobile: '', // 账号
+    password: '', // 密码
+  },
+  rules: {
+    mobile,
+    password,
+  },
+});
 
-  // 账号登录
-  async function accountLoginSubmit() {
-    // 表单验证
-    const validate = await unref(accountLoginRef)
-      .validate()
-      .catch((error) => {
-        console.log('error: ', error);
-      });
-    if (!validate) return;
+// 账号登录
+async function accountLoginSubmit() {
+  // 表单验证
+  const validate = await unref(accountLoginRef)
+    .validate()
+    .catch((error) => {
+      console.log('error: ', error);
+    });
+  if (!validate) return;
 
-    // 同意协议
-    if (!props.agreeStatus) {
-      emits('onConfirm', true)
-      sheep.$helper.toast('请勾选同意');
-      return;
-    }
+  // 同意协议
+  if (!props.agreeStatus) {
+    emits('onConfirm', true)
+    sheep.$helper.toast('请勾选同意');
+    return;
+  }
 
-    // 提交数据
-    const { code, data } = await AuthUtil.login(state.model);
-    if (code === 0) {
-      closeAuthModal();
-    }
+  // 提交数据
+  const { code, data } = await AuthUtil.login(state.model);
+  if (code === 0) {
+    closeAuthModal();
   }
+}
 </script>
 
 <style lang="scss" scoped>
-  @import '../index.scss';
+@import '../index.scss';
 </style>

+ 56 - 77
sheep/components/s-auth-modal/components/sms-login.vue

@@ -5,36 +5,21 @@
     <view class="head-box ss-m-b-60">
       <view class="ss-flex ss-m-b-20">
         <view class="head-title head-title-line head-title-animation">短信登录</view>
-        <view class="head-title-active ss-m-r-40" @tap="showAuthModal('accountLogin')">
+        <!-- <view class="head-title-active ss-m-r-40" @tap="showAuthModal('accountLogin')">
           账号登录
-        </view>
+        </view> -->
       </view>
       <view class="head-subtitle">未注册的手机号,验证后自动注册账号</view>
     </view>
 
     <!-- 表单项 -->
-    <uni-forms
-      ref="smsLoginRef"
-      v-model="state.model"
-      :rules="state.rules"
-      validateTrigger="bind"
-      labelWidth="140"
-      labelAlign="center"
-    >
+    <uni-forms ref="smsLoginRef" v-model="state.model" :rules="state.rules" validateTrigger="bind" labelWidth="140"
+      labelAlign="center">
       <uni-forms-item name="mobile" label="手机号">
-        <uni-easyinput
-          placeholder="请输入手机号"
-          v-model="state.model.mobile"
-          :inputBorder="false"
-          type="number"
-        >
+        <uni-easyinput placeholder="请输入手机号" v-model="state.model.mobile" :inputBorder="false" type="number">
           <template v-slot:right>
-            <button
-              class="ss-reset-button code-btn code-btn-start"
-              :disabled="state.isMobileEnd"
-              :class="{ 'code-btn-end': state.isMobileEnd }"
-              @tap="getSmsCode('smsLogin', state.model.mobile)"
-            >
+            <button class="ss-reset-button code-btn code-btn-start" :disabled="state.isMobileEnd"
+              :class="{ 'code-btn-end': state.isMobileEnd }" @tap="getSmsCode('smsLogin', state.model.mobile)">
               {{ getSmsTimer('smsLogin') }}
             </button>
           </template>
@@ -42,13 +27,7 @@
       </uni-forms-item>
 
       <uni-forms-item name="code" label="验证码">
-        <uni-easyinput
-          placeholder="请输入验证码"
-          v-model="state.model.code"
-          :inputBorder="false"
-          type="number"
-          maxlength="4"
-        >
+        <uni-easyinput placeholder="请输入验证码" v-model="state.model.code" :inputBorder="false" type="number" maxlength="4">
           <template v-slot:right>
             <button class="ss-reset-button login-btn-start" @tap="smsLoginSubmit"> 登录 </button>
           </template>
@@ -59,61 +38,61 @@
 </template>
 
 <script setup>
-  import { ref, reactive, unref } from 'vue';
-  import sheep from '@/sheep';
-  import { code, mobile } from '@/sheep/validate/form';
-  import { showAuthModal, closeAuthModal, getSmsCode, getSmsTimer } from '@/sheep/hooks/useModal';
-  import AuthUtil from '@/sheep/api/member/auth';
+import { ref, reactive, unref } from 'vue';
+import sheep from '@/sheep';
+import { code, mobile } from '@/sheep/validate/form';
+import { showAuthModal, closeAuthModal, getSmsCode, getSmsTimer } from '@/sheep/hooks/useModal';
+import AuthUtil from '@/sheep/api/member/auth';
 
-  const smsLoginRef = ref(null);
+const smsLoginRef = ref(null);
 
-  const emits = defineEmits(['onConfirm']);
+const emits = defineEmits(['onConfirm']);
 
-  const props = defineProps({
-    agreeStatus: {
-      type: Boolean,
-      default: false,
-    },
-  });
+const props = defineProps({
+  agreeStatus: {
+    type: Boolean,
+    default: false,
+  },
+});
 
-  // 数据
-  const state = reactive({
-    isMobileEnd: false, // 手机号输入完毕
-    codeText: '获取验证码',
-    model: {
-      mobile: '', // 手机号
-      code: '', // 验证码
-    },
-    rules: {
-      code,
-      mobile,
-    },
-  });
+// 数据
+const state = reactive({
+  isMobileEnd: false, // 手机号输入完毕
+  codeText: '获取验证码',
+  model: {
+    mobile: '', // 手机号
+    code: '', // 验证码
+  },
+  rules: {
+    code,
+    mobile,
+  },
+});
 
-  // 短信登录
-  async function smsLoginSubmit() {
-    // 参数校验
-    const validate = await unref(smsLoginRef)
-      .validate()
-      .catch((error) => {
-        console.log('error: ', error);
-      });
-    if (!validate) {
-      return;
-    }
-    if (!props.agreeStatus) {
-      emits('onConfirm', true)
-      sheep.$helper.toast('请勾选同意');
-      return;
-    }
-    // 提交数据
-    const { code } = await AuthUtil.smsLogin(state.model);
-    if (code === 0) {
-      closeAuthModal();
-    }
+// 短信登录
+async function smsLoginSubmit() {
+  // 参数校验
+  const validate = await unref(smsLoginRef)
+    .validate()
+    .catch((error) => {
+      console.log('error: ', error);
+    });
+  if (!validate) {
+    return;
   }
+  if (!props.agreeStatus) {
+    emits('onConfirm', true)
+    sheep.$helper.toast('请勾选同意');
+    return;
+  }
+  // 提交数据
+  const { code } = await AuthUtil.smsLogin(state.model);
+  if (code === 0) {
+    closeAuthModal();
+  }
+}
 </script>
 
 <style lang="scss" scoped>
-  @import '../index.scss';
+@import '../index.scss';
 </style>

+ 64 - 70
sheep/components/s-float-menu/s-float-menu.vue

@@ -3,86 +3,80 @@
   <!-- 模态背景:展开时显示,点击后折叠 -->
   <view class="modal-bg" v-if="fabRef?.isShow" @click="handleCollapseFab"></view>
   <!-- 悬浮按钮 -->
-  <uni-fab
-    ref="fabRef"
-    horizontal="right"
-    vertical="bottom"
-    :direction="state.direction"
-    :pattern="state.pattern"
-    :content="state.content"
-    @trigger="handleOpenLink"
-  />
+  <uni-fab ref="fabRef" horizontal="right" vertical="bottom" :direction="state.direction" :pattern="state.pattern"
+    :content="state.content" @trigger="handleOpenLink" />
 </template>
 <script setup>
-  /**
-   * 悬浮按钮
-   */
+/**
+ * 悬浮按钮
+ */
 
-  import sheep from '@/sheep';
-  import { reactive, ref, unref } from 'vue';
-  import { onBackPress } from '@dcloudio/uni-app';
+import sheep from '@/sheep';
+import { reactive, ref, unref } from 'vue';
+import { onBackPress } from '@dcloudio/uni-app';
 
-  // 定义属性
-  const props = defineProps({
-    data: {
-      type: Object,
-      default() {},
-    }
-  })
+// 定义属性
+const props = defineProps({
+  data: {
+    type: Object,
+    default() { },
+  }
+})
 
-  // 悬浮按钮配置: https://uniapp.dcloud.net.cn/component/uniui/uni-fab.html#fab-props
-  const state = reactive({
-    // 可选样式配置项
-    pattern: [],
-    // 展开菜单内容配置项
-    content: [],
-    // 展开菜单显示方式:horizontal-水平显示,vertical-垂直显示
-    direction: '',
-  });
+// 悬浮按钮配置: https://uniapp.dcloud.net.cn/component/uniui/uni-fab.html#fab-props
+const state = reactive({
+  // 可选样式配置项
+  pattern: [],
+  // 展开菜单内容配置项
+  content: [],
+  // 展开菜单显示方式:horizontal-水平显示,vertical-垂直显示
+  direction: '',
+});
 
-  // 悬浮按钮引用
-  const fabRef = ref(null);
-  // 按钮方向
-  state.direction = props.data.direction;
-  props.data?.list.forEach((item) => {
-    // 按钮文字
-    const text = props.data?.showText ? item.text : ''
-    // 生成内容配置项
-    state.content.push({ iconPath: sheep.$url.cdn(item.imgUrl), url: item.url, text });
-    // 生成样式配置项
-    state.pattern.push({ color: item.textColor });
-  });
+// 悬浮按钮引用
+const fabRef = ref(null);
+// 按钮方向
+state.direction = props.data.direction;
+props.data?.list.forEach((item) => {
+  // 按钮文字
+  const text = props.data?.showText ? item.text : ''
+  // 生成内容配置项
+  state.content.push({ iconPath: sheep.$url.cdn(item.imgUrl), url: item.url, text });
+  // 生成样式配置项
+  state.pattern.push({ color: item.textColor });
+});
 
-  // 处理链接跳转
-  function handleOpenLink(e) {
-    sheep.$router.go(e.item.url);
-  }
+// 处理链接跳转
+function handleOpenLink(e) {
+  console.log(e, 55555)
+  sheep.$router.go(e.item.url);
+}
 
-  // 折叠
-  function handleCollapseFab() {
-    if (unref(fabRef)?.isShow) {
-      unref(fabRef)?.close();
-    }
+// 折叠
+function handleCollapseFab() {
+  if (unref(fabRef)?.isShow) {
+    unref(fabRef)?.close();
   }
+}
 
-  // 按返回值后,折叠悬浮按钮
-  onBackPress(() => {
-    if (unref(fabRef)?.isShow) {
-      unref(fabRef)?.close();
-      return true;
-    }
-    return false;
-  });
+// 按返回值后,折叠悬浮按钮
+onBackPress(() => {
+  if (unref(fabRef)?.isShow) {
+    unref(fabRef)?.close();
+    return true;
+  }
+  return false;
+});
 </script>
 <style lang="scss" scoped>
-  /* 模态背景 */
-  .modal-bg {
-    position: fixed;
-    left: 0;
-    top: 0;
-    z-index: 11;
-    width: 100%;
-    height: 100%;
-    background-color: rgba(#000000, 0.4);
-  }
+/* 模态背景 */
+.modal-bg {
+  position: fixed;
+  left: 0;
+  top: 0;
+  z-index: 11;
+  width: 100%;
+  height: 100%;
+  background-color: rgba(#000000, 0.4);
+}
 </style>

+ 1 - 1
sheep/config/index.js

@@ -7,7 +7,7 @@ if (process.env.NODE_ENV === 'development') {
   baseUrl = import.meta.env.SHOPRO_BASE_URL;
 }
 version = import.meta.env.SHOPRO_VERSION;
-console.log(`[芋道商城 ${version}]  http://doc.iocoder.cn`);
+console.log(`[江苏赢伟达资产管理有限公司 ${version}]  http://doc.iocoder.cn`);
 
 export const apiPath = import.meta.env.SHOPRO_API_PATH;
 export const staticUrl = import.meta.env.SHOPRO_STATIC_URL;

+ 1 - 1
sheep/store/app.js

@@ -60,7 +60,7 @@ const app = defineStore({
       // TODO 芋艿:未来支持管理后台可配;对应 https://api.shopro.sheepjs.com/shop/api/init
       if (true) {
         this.info = {
-          name: '芋道商城',
+          name: '江苏赢伟达资产管理有限公司',
           logo: 'https://static.iocoder.cn/ruoyi-vue-pro-logo.png',
           version: '2.4.0',
           copyright: '全部开源,个人与企业可 100% 免费使用',