Sfoglia il codice sorgente

风格统一,砍价样式修改

落日晚风 1 anno fa
parent
commit
9d7b9c6f44

+ 229 - 214
manifest.json

@@ -1,225 +1,240 @@
 {
-    "name" : "星品",
-    "appid" : "__UNI__082C0BA",
-    "description" : "Shopro是由SheepJS团队开发,使用Uniapp+Vue3技术驱动的在线商城系统,内含诸多功能与丰富的活动,期待您的使用和反馈。",
-    "versionName" : "1.8.3",
-    "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.VIBRATE\"/>",
-                    "<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"
-                    }
-                }
-            }
-        }
+  "name": "星品",
+  "appid": "__UNI__082C0BA",
+  "description": "Shopro是由SheepJS团队开发,使用Uniapp+Vue3技术驱动的在线商城系统,内含诸多功能与丰富的活动,期待您的使用和反馈。",
+  "versionName": "1.8.3",
+  "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
     },
-    "quickapp" : {},
-    "quickapp-native" : {
-        "icon" : "/static/logo.png",
-        "package" : "com.example.demo",
-        "features" : [
-            {
-                "name" : "system.clipboard"
-            }
-        ]
+    "safearea": {
+      "bottom": {
+        "offset": "none"
+      }
     },
-    "quickapp-webview" : {
-        "icon" : "/static/logo.png",
-        "package" : "com.example.demo",
-        "minPlatformVersion" : 1070,
-        "versionName" : "1.0.0",
-        "versionCode" : 100
+    "modules": {
+      "Payment": {},
+      "Share": {},
+      "VideoPlayer": {},
+      "OAuth": {}
     },
-    "mp-weixin" : {
-        "appid" : "wx63c280fe3248a3e7",
-        "setting" : {
-            "urlCheck" : false,
-            "minified" : true,
-            "postcss" : true
+    "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.VIBRATE\"/>",
+          "<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": "开启追踪并不会获取您在其它站点的隐私信息,该行为仅用于标识设备,保障服务安全和提升浏览体验"
         },
-        "optimization" : {
-            "subPackages" : true
+        "urltypes": "shopro",
+        "capabilities": {
+          "entitlements": {
+            "com.apple.developer.associated-domains": [
+              "applinks:shopro.sheepjs.com"
+            ]
+          }
         },
-        "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" : "hash",
-            "base" : "./"
+        "idfa": true
+      },
+      "sdkConfigs": {
+        "speech": {
+          "ifly": {}
+        },
+        "ad": {},
+        "oauth": {
+          "apple": {},
+          "weixin": {
+            "appid": "wxae7a0c156da9383b",
+            "UniversalLinks": "https://shopro.sheepjs.com/uni-universallinks/__UNI__082C0BA/"
+          }
         },
-        "sdkConfigs" : {
-            "maps" : {}
+        "payment": {
+          "weixin": {
+            "__platform__": [
+              "ios",
+              "android"
+            ],
+            "appid": "wxae7a0c156da9383b",
+            "UniversalLinks": "https://shopro.sheepjs.com/uni-universallinks/__UNI__082C0BA/"
+          },
+          "alipay": {
+            "__platform__": [
+              "ios",
+              "android"
+            ]
+          }
         },
-        "async" : {
-            "timeout" : 20000
+        "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"
         },
-        "title" : "星品购",
-        "optimization" : {
-            "treeShaking" : {
-                "enable" : true
-            }
+        "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": "wx63c280fe3248a3e7",
+    "setting": {
+      "urlCheck": false,
+      "minified": true,
+      "postcss": 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": "hash",
+      "base": "./"
+    },
+    "sdkConfigs": {
+      "maps": {}
+    },
+    "async": {
+      "timeout": 20000
     },
-    "vueVersion" : "3",
-    "_spaceID" : "192b4892-5452-4e1d-9f09-eee1ece40639",
-    "locale" : "zh-Hans",
-    "fallbackLocale" : "zh-Hans"
-}
+    "title": "星品购",
+    "optimization": {
+      "treeShaking": {
+        "enable": true
+      }
+    }
+  },
+  "vueVersion": "3",
+  "_spaceID": "192b4892-5452-4e1d-9f09-eee1ece40639",
+  "locale": "zh-Hans",
+  "fallbackLocale": "zh-Hans"
+}

+ 14 - 14
pages.json

@@ -337,18 +337,18 @@
 						"group": "分销商城"
 					}
 				},
-                {
-                  "path": "wallet",
-                  "style": {
-                    "navigationBarTitleText": "我的佣金"
-                  },
-                  "meta": {
-                    "auth": true,
-                    "sync": true,
-                    "title": "用户佣金",
-                    "group": "分销中心"
-                  }
-                },
+				{
+					"path": "wallet",
+					"style": {
+						"navigationBarTitleText": "我的佣金"
+					},
+					"meta": {
+						"auth": true,
+						"sync": true,
+						"title": "用户佣金",
+						"group": "分销中心"
+					}
+				},
 				{
 					"path": "goods",
 					"style": {
@@ -622,7 +622,7 @@
 					}
 				},
 				{
-					"path": "bargainingList",
+					"path": "bargain/list",
 					"style": {
 						"navigationBarTitleText": "砍价列表"
 					},
@@ -633,7 +633,7 @@
 					}
 				},
 				{
-					"path": "bargainingDetail",
+					"path": "bargain/detail",
 					"style": {
 						"navigationBarTitleText": "砍价详情"
 					},

+ 0 - 0
pages/activity/bargainingDetail.vue → pages/activity/bargain/detail.vue


+ 44 - 33
pages/activity/bargainingList.vue → pages/activity/bargain/list.vue

@@ -1,6 +1,5 @@
-<!-- 砍价列表 TODO @科举:新建一个 bargain 包,然后这个页面挪进去,改成 list.vue。写的时候,要思考怎么更好的融入到当前项目 -->
 <template>
-  <!-- TODO @科举:参考 groupon/list.vue 和 seckill/list.vue 界面,调整下头部,就是从 5 到 11 行的  -->
+	<!-- TODO @科举:参考 groupon/list.vue 和 seckill/list.vue 界面,调整下头部,就是从 5 到 11 行的  -->
 	<s-layout navbar="inner" title='砍价列表'>
 		<view style='background-color: red;height:100vh;'>
 			<view class='bargain-list'>
@@ -14,8 +13,8 @@
 				<view class='header'>
 					<view class="pic">
 						<view class='swipers'>
-							<swiper indicator-dots="true" autoplay="true" interval="2500"
-								duration="500" vertical="true" circular="true">
+							<swiper indicator-dots="true" autoplay="true" interval="2500" duration="500" vertical="true"
+								circular="true">
 								<block v-for="(item,index) in state.bargainSuccessList" :key='index'>
 									<swiper-item>
 										<view class="acea-row row-middle" style='display:flex'>
@@ -36,7 +35,7 @@
 				<view class='list'>
 					<block v-for="(item,index) in state.bargainList" :key="index">
 						<view style='display:flex' class='item acea-row row-between-wrapper'
-							@tap="openSubscribe('/pages/activity/bargainingDetail?id='+ item.id)">
+							@tap="openSubscribe('/pages/activity/bargain/detail?id='+ item.id)">
 							<view class='pictrue'>
 								<image :src='item.picUrl'></image>
 							</view>
@@ -71,12 +70,19 @@
 </template>
 
 <script setup>
-	import { reactive } from 'vue';
+	import {
+		reactive
+	} from 'vue';
 	import sheep from '@/sheep';
 	import _ from 'lodash';
-	import { onLoad, onReachBottom } from '@dcloudio/uni-app';
-  import { fen2yuan } from '@/sheep/hooks/useGoods';
-
+	import {
+		onLoad,
+		onReachBottom
+	} from '@dcloudio/uni-app';
+	import {
+		fen2yuan
+	} from '@/sheep/hooks/useGoods';
+	import BargainApi from '@/sheep/api/activity'
 	const state = reactive({
 		navH: '',
 		returnShow: true,
@@ -101,53 +107,58 @@
 		loadTitle: '加载更多',
 	});
 
-	function getBargainHeader() {
-    // TODO @科举:这个改成 BargainApi.getBargainRecordSummary,使用 await 操作;代码风格要统一
-		sheep.$api.activity.getBargainRecordSummary().then(res => {
-			state.bargainTotal = res.data.successUserCount;
-			state.bargainSuccessList = res.data.successList;
-		}).catch(err => {
-			return state.$util.Tips({
-				title: err
+	async function getBargainHeader() {
+		let {
+			code,
+			data
+		} = await BargainApi.getBargainRecordSummary()
+		if (code == 0) {
+			state.bargainTotal = data.successUserCount;
+			state.bargainSuccessList = data.successList;
+		} else {
+			state.$util.Tips({
+				title: data
 			});
-		})
+		}
 	}
 
-	function getBargainList() {
-    // TODO @科举:loading 和 loadTitle 改成现在这个项目的风格,包括组件使用 uni-load-more
-    if (state.loadend || state.loading) {
+	async function getBargainList() {
+		// TODO @科举:loading 和 loadTitle 改成现在这个项目的风格,包括组件使用 uni-load-more
+		if (state.loadend || state.loading) {
 			return;
 		}
 		state.loading = true;
 		state.loadTitle = '';
-    // TODO @科举:这个改成 BargainApi.getBargainRecordSummary,使用 await 操作;代码风格要统一
-    sheep.$api.activity.getBargainActivityPage({
+		let {
+			data,
+			code
+		} = await BargainApi.getBargainActivityPage({
 			pageNo: state.page,
 			pageSize: state.limit
-		}).then(res => {
-			const list = res.data.list;
+		})
+		if (code == 0) {
+			const list = data.list;
 			const bargainList = _.concat(state.bargainList, list);
 			const loadend = list.length < state.limit;
 			state.loadend = loadend;
 			state.loading = false;
 			state.loadTitle = loadend ? '已全部加载' : '加载更多';
 			// this.$set(this, 'bargainList', bargainList);
-			state.bargainList = res.data.list
+			state.bargainList = data.list
 			// this.$set(this, 'page', this.page + 1);
 			state.page = state.page + 1;
-		}).catch(res => {
+
+		} else {
 			state.loading = false;
 			state.loadTitle = '加载更多';
-		});
+		}
 	}
 
 	function openSubscribe(e) {
+		console.log('跳转')
 		console.log(e)
-    // TODO @科举:参考 pages/pay/result.vue 页面的 subscribeMessage 方法,写订阅逻辑。
-    // TODO @科举:navigateTo 在项目里,应该是 sheep.$router.go,参考写下
-		uni.navigateTo({
-			url: page,
-		});
+		// TODO @科举:参考 pages/pay/result.vue 页面的 subscribeMessage 方法,写订阅逻辑。
+		sheep.$router.go(e)
 		return;
 		let page = e;
 		// #ifndef MP

File diff suppressed because it is too large
+ 152 - 151
pages/commission/commission-ranking.vue


+ 260 - 8
pages/commission/team.vue

@@ -1,13 +1,106 @@
 <!-- 页面 TODO 芋艿:检查未开发 -->
 <template>
 	<s-layout title="我的团队" :class="state.scrollTop ? 'team-wrap' : ''" navbar="inner">
-		<view class="header-box" :style="[
+		<view class="promoter-list">
+			<view class='promoterHeader bg-color' style='backgroundColor:#e93323!important;height:218rpx;color:#fff'>
+				<view class='headerCon acea-row row-between' style='padding: 28px 29px 0 29px;'>
+					<view>
+						<view class='name' style="color:#fff">推广人数</view>
+						<view><text class='num'
+								style="color:#fff">{{(state.getSummary.firstBrokerageUserCount+ state.getSummary.secondBrokerageUserCount)|| 0 }}</text>人
+						</view>
+					</view>
+					<view class='iconfont icon-tuandui'></view>
+				</view>
+			</view>
+			<view style='padding: 0 30rpx;'>
+				<view class='nav acea-row row-around l1'>
+					<view :class="state.level === 1 ? 'item on' : 'item'" @click='setType(1)'>
+						一级({{state.getSummary.firstBrokerageUserCount || 0 }})</view>
+					<view :class="state.level === 2 ? 'item on' : 'item'" @click='setType(2)'>
+						二级({{state.getSummary.secondBrokerageUserCount || 0 }})
+					</view>
+				</view>
+				<view class='search acea-row row-between-wrapper'
+					style="display: flex;height: 100rpx;align-items: center;">
+					<view class='input'>
+						<!-- placeholder-class='placeholder' -->
+						<input placeholder='点击搜索会员名称' v-model="state.nickname" confirm-type='search' name="search" />
+						<!-- @confirm="submitForm" -->
+					</view>
+					<button class='iconfont icon-sousuo2'></button>
+					<!-- @click="submitForm" -->
+				</view>
+				<view class='list'>
+					<view class="sortNav acea-row row-middle" style="display: flex;align-items: center;">
+						<view class="sortItem" @click='setSort("userCount","asc")' v-if="sort === 'userCountDESC'">
+							团队排序
+							<image src='/static/images/sort1.png'></image>
+						</view>
+						<view class="sortItem" @click='setSort("userCount", "desc")'
+							v-else-if="sort === 'userCountASC'">团队排序
+							<image src='/static/images/sort3.png'></image>
+						</view>
+						<view class="sortItem" @click='setSort("userCount","desc")' v-else>团队排序
+							<image src='/static/images/sort2.png'></image>
+						</view>
+						<view class="sortItem" @click='setSort("price","asc")' v-if="sort === 'priceDESC'">
+							金额排序
+							<image src='/static/images/sort1.png'></image>
+						</view>
+						<view class="sortItem" @click='setSort("price", "desc")' v-else-if="sort === 'priceASC'">
+							金额排序
+							<image src='/static/images/sort3.png'></image>
+						</view>
+						<view class="sortItem" @click='setSort("price","desc")' v-else>金额排序
+							<image src='/static/images/sort2.png'></image>
+						</view>
+						<view class="sortItem" @click='setSort("orderCount","asc")' v-if="sort === 'orderCountDESC'">
+							订单排序
+							<image src='/static/images/sort1.png'></image>
+						</view>
+						<view class="sortItem" @click='setSort("orderCount", "desc")'
+							v-else-if="sort === 'orderCountASC'">订单排序
+							<image src='/static/images/sort3.png'></image>
+						</view>
+						<view class="sortItem" @click='setSort("orderCount","desc")' v-else>订单排序
+							<image src='/static/images/sort2.png'></image>
+						</view>
+					</view>
+					<!-- 			<block v-for="(item,index) in recordList" :key="index">
+						<view class='item acea-row row-between-wrapper'>
+							<view class="picTxt acea-row row-between-wrapper">
+								<view class='pictrue'>
+									<image :src='item.avatar'></image>
+								</view>
+								<view class='text'>
+									<view class='name line1'>{{item.nickname}}</view>
+									<view>加入时间: {{ formatDate(item.brokerageTime) }}</view>
+								</view>
+							</view>
+							<view class="right">
+								<view><text class='num font-color'>{{ item.brokerageUserCount || 0}}</text>人
+								</view>
+								<view><text class="num">{{ item.orderCount|| 0}}</text>单</view>
+								<view><text class="num">{{ fen2yuan(item.brokeragePrice || 0) }}</text>元</view>
+							</view>
+						</view>
+					</block>
+					<Loading :loaded="status" :loading="loadingList"></Loading>
+					<block v-if="recordList.length === 0 && isShow">
+						<emptyPage title="暂无推广人数~"></emptyPage>
+					</block> -->
+				</view>
+			</view>
+		</view>
+		<!-- <home></home> -->
+
+		<!-- 		<view class="header-box" :style="[
         {
           marginTop: '-' + Number(statusBarHeight + 88) + 'rpx',
           paddingTop: Number(statusBarHeight + 108) + 'rpx',
         },
       ]">
-			<!-- 推荐人 -->
 			<view v-if="userInfo.parent_user" class="referrer-box ss-flex ss-col-center">
 				推荐人:
 				<image class="referrer-avatar ss-m-r-10" :src="sheep.$url.cdn(userInfo.parent_user.avatar)"
@@ -15,7 +108,6 @@
 				</image>
 				{{ userInfo.parent_user.nickname }}
 			</view>
-			<!-- 团队数据总览 -->
 			<view class="team-data-box ss-flex ss-col-center ss-row-between">
 				<view class="data-card">
 					<view class="total-item">
@@ -38,16 +130,16 @@
 				<view class="data-card">
 					<view class="total-item">
 						<view class="item-title">团队分销商人数(人)</view>
-						<view class="total-num">{{ agentInfo.child_agent_count_all || 0 }}</view>
+						<view class="total-num">{{ agentInfo?.child_agent_count_all || 0 }}</view>
 					</view>
 					<view class="category-item ss-flex">
 						<view class="ss-flex-1">
 							<view class="item-title">一级分销商</view>
-							<view class="category-num">{{ agentInfo.child_agent_count_1 || 0 }}</view>
+							<view class="category-num">{{ agentInfo?.child_agent_count_1 || 0 }}</view>
 						</view>
 						<view class="ss-flex-1">
 							<view class="item-title">二级分销商</view>
-							<view class="category-num">{{ agentInfo.child_agent_count_2 || 0 }}</view>
+							<view class="category-num">{{ agentInfo?.child_agent_count_2 || 0 }}</view>
 						</view>
 					</view>
 				</view>
@@ -71,7 +163,7 @@
 			</uni-list>
 		</view>
 		<s-empty v-if="state.pagination.total === 0" icon="/static/data-empty.png" text="暂无团队信息">
-		</s-empty>
+		</s-empty> -->
 	</s-layout>
 </template>
 
@@ -83,13 +175,18 @@
 	} from '@dcloudio/uni-app';
 	import {
 		computed,
-		reactive
+		reactive,
+		ref
 	} from 'vue';
 	import _ from 'lodash';
 	import {
 		onPageScroll
 	} from '@dcloudio/uni-app';
 
+
+
+
+
 	const statusBarHeight = sheep.$platform.device.statusBarHeight * 2;
 	const agentInfo = computed(() => sheep.$store('user').agentInfo);
 	const userInfo = computed(() => sheep.$store('user').userInfo);
@@ -111,8 +208,12 @@
 			last_page: 1,
 		},
 		loadStatus: '',
+		// ↓新ui逻辑
+		level: 1,
+		nickname: ref('')
 	});
 
+
 	function filterUserNum(num) {
 		if (_.isNil(num)) {
 			return '';
@@ -168,6 +269,19 @@
 </script>
 
 <style lang="scss" scoped>
+	.l1 {
+		background-color: #fff;
+		height: 86rpx;
+		line-height: 86rpx;
+		font-size: 28rpx;
+		color: #282828;
+		border-bottom: 1rpx solid #eee;
+		border-top-left-radius: 14rpx;
+		border-top-right-radius: 14rpx;
+		display: flex;
+		justify-content: space-around;
+	}
+
 	.header-box {
 		box-sizing: border-box;
 		padding: 0 20rpx 20rpx 20rpx;
@@ -263,4 +377,142 @@
 			border-radius: 50%;
 		}
 	}
+
+	.promoter-list .nav {
+		background-color: #fff;
+		height: 86rpx;
+		line-height: 86rpx;
+		font-size: 28rpx;
+		color: #282828;
+		border-bottom: 1rpx solid #eee;
+		border-top-left-radius: 14rpx;
+		border-top-right-radius: 14rpx;
+		margin-top: -30rpx;
+	}
+
+	.promoter-list .nav .item.on {
+		border-bottom: 5rpx solid;
+		// $theme-color
+		color: red;
+		// $theme-color
+	}
+
+	.promoter-list .search {
+		width: 100%;
+		background-color: #fff;
+		height: 100rpx;
+		padding: 0 24rpx;
+		box-sizing: border-box;
+		border-bottom-left-radius: 14rpx;
+		border-bottom-right-radius: 14rpx;
+	}
+
+	.promoter-list .search .input {
+		width: 592rpx;
+		height: 60rpx;
+		border-radius: 50rpx;
+		background-color: #f5f5f5;
+		text-align: center;
+		position: relative;
+	}
+
+	.promoter-list .search .input input {
+		height: 100%;
+		font-size: 26rpx;
+		width: 610rpx;
+		text-align: center;
+	}
+
+	.promoter-list .search .input .placeholder {
+		color: #bbb;
+	}
+
+	.promoter-list .search .input .iconfont {
+		position: absolute;
+		right: 28rpx;
+		color: #999;
+		font-size: 28rpx;
+		top: 50%;
+		transform: translateY(-50%);
+	}
+
+	.promoter-list .search .iconfont {
+		font-size: 32rpx;
+		color: #515151;
+		height: 60rpx;
+		line-height: 60rpx;
+	}
+
+	.promoter-list .list {
+		margin-top: 20rpx;
+	}
+
+	.promoter-list .list .sortNav {
+		background-color: #fff;
+		height: 76rpx;
+		border-bottom: 1rpx solid #eee;
+		color: #333;
+		font-size: 28rpx;
+		border-top-left-radius: 14rpx;
+		border-top-right-radius: 14rpx;
+	}
+
+	.promoter-list .list .sortNav .sortItem {
+		text-align: center;
+		flex: 1;
+	}
+
+	.promoter-list .list .sortNav .sortItem image {
+		width: 24rpx;
+		height: 24rpx;
+		margin-left: 6rpx;
+		vertical-align: -3rpx;
+	}
+
+	.promoter-list .list .item {
+		background-color: #fff;
+		border-bottom: 1rpx solid #eee;
+		height: 152rpx;
+		padding: 0 24rpx;
+		font-size: 24rpx;
+		color: #666;
+	}
+
+	.promoter-list .list .item .picTxt .pictrue {
+		width: 106rpx;
+		height: 106rpx;
+		border-radius: 50%;
+	}
+
+	.promoter-list .list .item .picTxt .pictrue image {
+		width: 100%;
+		height: 100%;
+		border-radius: 50%;
+		border: 3rpx solid #fff;
+		box-shadow: 0 0 10rpx #aaa;
+		box-sizing: border-box;
+	}
+
+	.promoter-list .list .item .picTxt .text {
+		// width: 304rpx;
+		font-size: 24rpx;
+		color: #666;
+		margin-left: 14rpx;
+	}
+
+	.promoter-list .list .item .picTxt .text .name {
+		font-size: 28rpx;
+		color: #333;
+		margin-bottom: 13rpx;
+	}
+
+	.promoter-list .list .item .right {
+		text-align: right;
+		font-size: 22rpx;
+		color: #333;
+	}
+
+	.promoter-list .list .item .right .num {
+		margin-right: 7rpx;
+	}
 </style>

+ 6 - 6
sheep/api/promotion/diy/template.js

@@ -1,12 +1,12 @@
 import request from '@/sheep/request';
 
 const DiyTemplateApi = {
-	getUsedDiyTemplate: () => {
-	    return request({
-	        url: '/app-api/promotion/diy-template/used',
-	        method: 'GET',
-	    });
-	},
+	// getUsedDiyTemplate: () => {
+	//     return request({
+	//         url: '/app-api/promotion/diy-template/used',
+	//         method: 'GET',
+	//     });
+	// },
 	getDiyTemplate: (id) => {
 		return request({
 			url: '/app-api/promotion/diy-template/get',

+ 9 - 9
sheep/request/index.js

@@ -94,7 +94,7 @@ http.interceptors.request.use(
 		if (config.url.indexOf('/app-api/') !== -1) {
 			config.header['Accept'] = '*/*'
 			config.header['tenant-id'] = '1';
-      config.header['terminal'] = '20';
+			config.header['terminal'] = '20';
 			config.header['Authorization'] = 'Bearer test247';
 		}
 		return config;
@@ -113,10 +113,10 @@ http.interceptors.response.use(
 		if (response.header.authorization || response.header.Authorization) {
 			$store('user').setToken(response.header.authorization || response.header.Authorization);
 		}
-    // TODO 芋艿:如果是登录的 API,则自动设置 token
-    if (response.data?.data?.accessToken) {
-      $store('user').setToken(response.data.data.accessToken);
-    }
+		// TODO 芋艿:如果是登录的 API,则自动设置 token
+		if (response.data?.data?.accessToken) {
+			$store('user').setToken(response.data.data.accessToken);
+		}
 
 		response.config.custom.showLoading && closeLoading();
 		if (response.data.error !== 0 && response.data.code !== 0) {
@@ -128,10 +128,10 @@ http.interceptors.response.use(
 				});
 			return Promise.resolve(response.data);
 		}
-    // 成功时的提示
+		// 成功时的提示
 		if (
 			(response.data.error === 0 || response.data.code === 0) &&
-      ( response.data.msg !== '' || response.config.custom.successMsg !== '' ) &&
+			(response.data.msg !== '' || response.config.custom.successMsg !== '') &&
 			response.config.custom.showSuccess
 		) {
 			uni.showToast({
@@ -218,8 +218,8 @@ const request = (config) => {
 	}
 	// TODO 芋艿:额外拼接
 	if (config.url.indexOf('/app-api/') >= 0) {
-		// config.url = 'http://api-dashboard.yudao.iocoder.cn' + config.url; // 调用【云端】
-		config.url = 'http://127.0.0.1:48080' + config.url; // 调用【本地】
+		config.url = 'http://api-dashboard.yudao.iocoder.cn' + config.url; // 调用【云端】
+		// config.url = 'http://127.0.0.1:48080' + config.url; // 调用【本地】
 		// config.url = 'http://yunai.natapp1.cc' + config.url; // 调用【natapp】
 	}
 	return http.middleware(config);

Some files were not shown because too many files changed in this diff