fengjiajia há 2 semanas atrás
pai
commit
1847527248
51 ficheiros alterados com 1462 adições e 77 exclusões
  1. 3 0
      BossPower/.gitignore
  2. 70 0
      BossPower/App.vue
  3. 9 0
      BossPower/README.md
  4. 31 0
      BossPower/main.js
  5. 89 0
      BossPower/manifest.json
  6. 28 0
      BossPower/package-lock.json
  7. 9 0
      BossPower/package.json
  8. 492 0
      BossPower/pages.json
  9. 77 0
      BossPower/uni.scss
  10. 68 7
      pages.json
  11. 242 28
      pages/login/index.vue
  12. 0 22
      pages/shouYe/index.vue
  13. BIN
      static/tabbar/find.png
  14. BIN
      static/tabbar/find1.png
  15. BIN
      static/tabbar/me.png
  16. BIN
      static/tabbar/me1.png
  17. BIN
      static/tabbar/message.png
  18. BIN
      static/tabbar/message1.png
  19. BIN
      static/tabbar/shouye.png
  20. BIN
      static/tabbar/shouye1.png
  21. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/app.js.map
  22. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/index.js.map
  23. 4 0
      unpackage/dist/dev/mp-weixin/app.js
  24. 35 1
      unpackage/dist/dev/mp-weixin/app.json
  25. 1 1
      unpackage/dist/dev/mp-weixin/common/vendor.js
  26. 14 0
      unpackage/dist/dev/mp-weixin/pages/find/index.js
  27. 4 0
      unpackage/dist/dev/mp-weixin/pages/find/index.json
  28. 1 0
      unpackage/dist/dev/mp-weixin/pages/find/index.wxml
  29. 0 0
      unpackage/dist/dev/mp-weixin/pages/find/index.wxss
  30. 22 0
      unpackage/dist/dev/mp-weixin/pages/index/index.js
  31. 4 0
      unpackage/dist/dev/mp-weixin/pages/index/index.json
  32. 1 0
      unpackage/dist/dev/mp-weixin/pages/index/index.wxml
  33. 23 0
      unpackage/dist/dev/mp-weixin/pages/index/index.wxss
  34. 195 16
      unpackage/dist/dev/mp-weixin/pages/login/index.js
  35. 0 0
      unpackage/dist/dev/mp-weixin/pages/login/index.wxml
  36. 14 0
      unpackage/dist/dev/mp-weixin/pages/message/index.js
  37. 4 0
      unpackage/dist/dev/mp-weixin/pages/message/index.json
  38. 1 0
      unpackage/dist/dev/mp-weixin/pages/message/index.wxml
  39. 0 0
      unpackage/dist/dev/mp-weixin/pages/message/index.wxss
  40. 14 0
      unpackage/dist/dev/mp-weixin/pages/mine/index.js
  41. 4 0
      unpackage/dist/dev/mp-weixin/pages/mine/index.json
  42. 1 0
      unpackage/dist/dev/mp-weixin/pages/mine/index.wxml
  43. 0 0
      unpackage/dist/dev/mp-weixin/pages/mine/index.wxss
  44. BIN
      unpackage/dist/dev/mp-weixin/static/tabbar/find.png
  45. BIN
      unpackage/dist/dev/mp-weixin/static/tabbar/find1.png
  46. BIN
      unpackage/dist/dev/mp-weixin/static/tabbar/me.png
  47. BIN
      unpackage/dist/dev/mp-weixin/static/tabbar/me1.png
  48. BIN
      unpackage/dist/dev/mp-weixin/static/tabbar/message.png
  49. BIN
      unpackage/dist/dev/mp-weixin/static/tabbar/message1.png
  50. BIN
      unpackage/dist/dev/mp-weixin/static/tabbar/shouye.png
  51. BIN
      unpackage/dist/dev/mp-weixin/static/tabbar/shouye1.png

+ 3 - 0
BossPower/.gitignore

@@ -0,0 +1,3 @@
+unpackage/
+unpackage/*
+/unpackage

+ 70 - 0
BossPower/App.vue

@@ -0,0 +1,70 @@
+<script>
+	export default {
+		onLaunch: function() {
+			console.log('App Launch')
+		},
+		onShow: function() {
+			const updateManager = uni.getUpdateManager();
+			updateManager.onCheckForUpdate(function(res) {
+				if (!res.hasUpdate) {
+					console.log("暂无可用更新");
+				}
+			});
+			updateManager.onUpdateReady(function(res) {
+				uni.showModal({
+					title: '更新提示',
+					content: '新版本已经准备好,是否重启应用?',
+					success(res) {
+						if (res.confirm) {
+							// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
+							updateManager.applyUpdate();
+						}
+					}
+				});
+			});
+			updateManager.onUpdateFailed(function(res) {});
+		},
+		onHide: function() {
+			console.log('App Hide')
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		// -webkit-filter: grayscale(100%);
+		background-color: #f3f4f6;
+		font-size: 28rpx;
+		color: #606266;
+	}
+
+	img {
+		width: 100%;
+		height: 100%;
+	}
+
+
+	/* #ifdef MP-WEIXIN */
+	wx-swiper .wx-swiper-dot {
+		width: 6rpx;
+		height: 6rpx;
+		border-radius: 50rpx;
+
+	}
+
+	wx-swiper .wx-swiper-dot-active {
+		background-color: #000;
+		// width: 22rpx;
+		width: 8rpx;
+		height: 8rpx;
+		// border-radius: 5rpx;
+	}
+
+	.goodslist {
+		swiper-item{
+			height: 90% !important;
+		}
+	}
+	/* #endif */
+	@import "@/uview-ui/index.scss";
+</style>

+ 9 - 0
BossPower/README.md

@@ -0,0 +1,9 @@
+  小程序分包配置:
+"subpackages": [
+    {
+      "root": "packageA",
+      "pages": [
+        "pages/index/goodslist"
+      ]
+    } 
+  ],

+ 31 - 0
BossPower/main.js

@@ -0,0 +1,31 @@
+import App from './App'
+import Vue from 'vue'
+import uView from 'uview-ui'
+import $api from 'common/api.js'
+import $http from 'common/http.js'
+import $store from 'common/store';
+import $helper from 'common/helper.js';
+
+Vue.use(uView)
+
+Vue.prototype.api = $api
+
+Vue.prototype.http = $http
+
+Vue.prototype.help = $helper
+
+// uni.$u.config.unit = 'rpx'
+
+Vue.config.productionTip = false
+
+App.mpType = 'app'
+
+const app = new Vue({
+	store: $store,
+	...App
+})
+
+Vue.mixin(require("@/common/store/mixin.js"))
+// Vue.mixin(require('uview-ui/libs/mixin/mpShare.js'))
+require('common/request.js')(app)
+app.$mount()

+ 89 - 0
BossPower/manifest.json

@@ -0,0 +1,89 @@
+{
+    "name" : "BossPower",
+    "appid" : "__UNI__DAA38E9",
+    "description" : "",
+    "versionName" : "1.0.0",
+    "versionCode" : "100",
+    "transformPx" : false,
+    /* 5+App特有相关 */
+    "app-plus" : {
+        "usingComponents" : true,
+        "nvueStyleCompiler" : "uni-app",
+        "compilerVersion" : 3,
+        "splashscreen" : {
+            "alwaysShowBeforeRender" : true,
+            "waiting" : true,
+            "autoclose" : true,
+            "delay" : 0
+        },
+        /* 模块配置 */
+        "modules" : {},
+        /* 应用发布信息 */
+        "distribute" : {
+            /* android打包配置 */
+            "android" : {
+                "permissions" : [
+                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
+                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
+                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
+                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
+                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
+                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
+                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
+                    "<uses-feature android:name=\"android.hardware.camera\"/>",
+                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
+                ]
+            },
+            /* ios打包配置 */
+            "ios" : {},
+            /* SDK配置 */
+            "sdkConfigs" : {}
+        }
+    },
+    /* 快应用特有相关 */
+    "quickapp" : {},
+    /* 小程序特有相关 */
+    "mp-weixin" : {
+        "appid" : "wx28259a006c4eb246",
+        "plugins" : {
+            "live-player-plugin" : {
+                "version" : "1.3.5",
+                "provider" : "wx2b03c6e691cd7370"
+            }
+        },
+        "usingComponents" : true,
+        "setting" : {
+            "urlCheck" : false,
+            "minified" : true
+        },
+        "permission" : {},
+        "requiredPrivateInfos" : [
+            "chooseAddress",
+            "chooseLocation",
+            "choosePoi",
+            "getLocation",
+            "onLocationChange",
+            "startLocationUpdateBackground",
+            "startLocationUpdate"
+        ]
+    },
+    "mp-alipay" : {
+        "usingComponents" : true
+    },
+    "mp-baidu" : {
+        "usingComponents" : true
+    },
+    "mp-toutiao" : {
+        "usingComponents" : true
+    },
+    "uniStatistics" : {
+        "enable" : false
+    },
+    "vueVersion" : "2"
+}

+ 28 - 0
BossPower/package-lock.json

@@ -0,0 +1,28 @@
+{
+    "name": "@types/json5",
+    "version": "0.0.29",
+    "lockfileVersion": 2,
+    "requires": true,
+    "packages": {
+        "": {
+            "name": "@types/json5",
+            "version": "0.0.29",
+            "license": "MIT",
+            "dependencies": {
+                "js-md5": "^0.7.3"
+            }
+        },
+        "node_modules/js-md5": {
+            "version": "0.7.3",
+            "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz",
+            "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ=="
+        }
+    },
+    "dependencies": {
+        "js-md5": {
+            "version": "0.7.3",
+            "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz",
+            "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ=="
+        }
+    }
+}

+ 9 - 0
BossPower/package.json

@@ -0,0 +1,9 @@
+{
+    "id": "dl-product-class",
+    "name": "商品分类-左右联动型",
+    "version": "1.0.0",
+    "description": "用于商品分类左右两边联动",
+    "keywords": [
+        "分类,商品分类,商城"
+    ]
+}

+ 492 - 0
BossPower/pages.json

@@ -0,0 +1,492 @@
+{
+	"easycom": {
+		"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
+	},
+	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
+		{
+
+			"path": "pages/index/index",
+			"style": {
+				"navigationBarTitleText": "老板给利",
+				"enablePullDownRefresh": true,
+				"navigationStyle": "custom",
+				"mp-weixin": {
+					"usingComponents": {
+						"pendant": "plugin-private://wx2b03c6e691cd7370/components/pendant/pendant"
+					}
+				}
+			}
+
+		},
+		{
+
+			"path": "pages/index/live",
+			"style": {
+				"navigationBarTitleText": "直播",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom",
+				"mp-weixin": {
+					"usingComponents": {
+						"pendant": "plugin-private://wx2b03c6e691cd7370/components/pendant/pendant"
+					}
+				}
+			}
+
+		},
+		{
+			"path": "pages/classify/classifyindex",
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom",
+				"backgroundColorTop": "#FFFFFF"
+			}
+
+		},
+
+		{
+			"path": "pages/cart/cart",
+			"style": {
+				"navigationBarTitleText": "购物车",
+				"navigationBarBackgroundColor": "#fff",
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/cart/cartbutie",
+			"style": {
+				"navigationBarTitleText": "帮抢清单",
+				"navigationBarBackgroundColor": "#fff"
+			}
+		},
+		{
+			"path": "pages/cart/sub-cart",
+			"style": {
+				"navigationBarTitleText": "购物车",
+				"navigationBarBackgroundColor": "#fff",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/index/good",
+			"style": {
+				"navigationBarTitleText": "商品详情",
+				"navigationStyle": "custom",
+				"navigationBarTextStyle": "white",
+				"mp-weixin": {
+
+					"usingComponents": {
+						"pendant": "plugin-private://wx2b03c6e691cd7370/components/pendant/pendant"
+					}
+				}
+			}
+		},
+		{
+			"path": "pages/index/share",
+			"style": {
+				"navigationBarTitleText": "商品分享",
+				"enablePullDownRefresh": false
+			}
+		},
+		{
+			"path": "pages/index/search",
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false
+			}
+		},
+		{
+			"path": "pages/index/indexsearch",
+			"style": {
+				"navigationBarTitleText": "商品搜索",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/my/my",
+			"style": {
+				"navigationBarTitleText": "狐狸内购",
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/fox/coup",
+			"style": {
+				"navigationBarTitleText": "平台津贴",
+				"navigationStyle": "default",
+				"backgroundColorTop": "#FFFFFF"
+			}
+		},
+		{
+			"path": "pages/index/placeorder",
+			"style": {
+				"navigationBarTitleText": "提交订单",
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/index/door",
+			"style": {
+				"navigationBarTitleText": "狐狸内购",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/my/personinfo",
+			"style": {
+				"navigationBarTitleText": "个人信息",
+				"navigationStyle": "default"
+			}
+		},
+		{
+			"path": "pages/my/address/address",
+			"style": {
+				"navigationBarTitleText": "收货地址",
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/my/address/add",
+			"style": {
+				"navigationBarTitleText": "新增收货地址",
+				"navigationStyle": "default"
+			}
+		},
+		{
+			"path": "pages/my/mybutielist",
+			"style": {
+				"navigationBarTitleText": "抢购列表",
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/my/address/edit",
+			"style": {
+				"navigationBarTitleText": "编辑收货地址",
+				"navigationStyle": "default"
+			}
+		},
+		{
+			"path": "pages/fox/foxmoney",
+			"style": {
+				"navigationBarTitleText": "我的狐狸金",
+				"navigationStyle": "default"
+			}
+		},
+		{
+			"path": "pages/my/order/list",
+			"style": {
+				"navigationBarTitleText": "订单列表",
+				"navigationStyle": "default",
+				"backgroundColorTop": "#FFFFFF"
+			}
+		},
+		{
+			"path": "pages/my/order/detail",
+			"style": {
+				"navigationBarTitleText": "订单详情",
+				"navigationStyle": "default"
+			}
+		},
+		{
+			"path": "pages/my/order/tkdetail",
+			"style": {
+				"navigationBarTitleText": "退货/退款详情",
+				"navigationStyle": "default"
+			}
+		},
+		{
+			"path": "pages/my/order/aftersale",
+			"style": {
+				"navigationBarTitleText": "售后服务",
+				"navigationStyle": "default"
+			}
+		},
+		{
+			"path": "pages/my/login",
+			"style": {
+				"navigationBarTitleText": "登录",
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/my/order/wuliu",
+			"style": {
+				"navigationBarTitleText": "物流信息",
+				"navigationStyle": "default"
+			}
+		},
+		{
+			"path": "pages/index/moments",
+			"style": {
+				"navigationBarTitleText": "分享内容",
+				"enablePullDownRefresh": false
+			}
+
+		},
+		{
+			"path": "pages/my/pouch",
+			"style": {
+				"navigationBarTitleText": "我的荷包",
+				"enablePullDownRefresh": false
+			}
+
+		},
+		{
+			"path": "pages/fox/coupunuser",
+			"style": {
+				"navigationBarTitleText": "选择平台津贴",
+				"navigationStyle": "default",
+				"app-plus": {
+					"titleView": false,
+					"bounce": "none"
+
+				}
+			}
+		},
+		{
+			"path": "pages/fox/couplistunuser",
+			"style": {
+				"navigationBarTitleText": "购物金",
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/fox/gwj",
+			"style": {
+				"navigationBarTitleText": "购物金",
+				"navigationStyle": "default"
+			}
+		},
+		{
+			"path": "pages/index/shop",
+			"style": {
+				"navigationBarTitleText": "品牌专场",
+				"enablePullDownRefresh": false
+			}
+
+		}
+
+		, {
+			"path": "pages/classify/classgood",
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+
+		}, {
+			"path": "pages/classify/classpp",
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false
+			}
+
+		}
+
+		, {
+			"path": "pages/classify/classdoor",
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false
+			}
+
+		}
+	],
+
+	"subPackages": [{
+		"root": "packageA",
+		"pages": [{
+			"path": "pages/index/goodslist",
+			"style": {
+				"navigationBarTitleText": "商品列表",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+
+		}, {
+			"path": "pages/my/finishpay",
+			"style": {
+				"navigationBarTitleText": "支付成功",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		}, {
+			"path": "pages/my/getfox",
+			"style": {
+				"navigationBarTitleText": "领取狐狸金",
+				"enablePullDownRefresh": false
+			}
+		}, {
+			"path": "pages/my/comgetfox",
+			"style": {
+				"navigationBarTitleText": "领取狐狸金",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		}, {
+			"path": "pages/my/WelfareGroup",
+			"style": {
+				"navigationBarTitleText": "内购福利群",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		}, {
+			"path": "pages/my/newvip",
+			"style": {
+				"navigationBarTitleText": "会员中心",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		}, {
+			"path": "pages/my/getvip",
+			"style": {
+				"navigationBarTitleText": "会员中心",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		}, {
+			"path": "pages/my/getvipt",
+			"style": {
+				"navigationBarTitleText": "会员中心",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		}, {
+			"path": "pages/my/vip",
+			"style": {
+				"navigationBarTitleText": "会员中心",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		}, {
+			"path": "pages/my/bindmobile",
+			"style": {
+				"navigationBarTitleText": "绑定手机号",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		}, {
+			"path": "pages/global/web/web",
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		}, {
+			"path": "xy",
+			"style": {
+				"navigationBarTitleText": "用户隐私协议",
+				"enablePullDownRefresh": false
+			}
+
+		}, {
+			"path": "pages/activy/index",
+			"style": {
+				"navigationBarTitleText": "FUN肆五一,补贴来袭",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+
+		}, {
+			"path": "pages/activy/ewm",
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+
+		}, {
+			"path": "pages/activy/activyCoup",
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+
+		}, {
+			"path": "pages/activy/coup",
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+
+		}, {
+			"path": "pages/activy/commonactive",
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		}, {
+			"path": "pages/lottery/lottery",
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		}, {
+			"path": "pages/global/intro",
+			"style": {
+				"navigationBarTitleText": "公告",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+
+		}]
+	}],
+	"preloadRule": {
+		"pages/index/index": {
+			"network": "all",
+			"packages": ["packageA"]
+		}
+	},
+	"globalStyle": {
+		"backgroundColorTop": "#f3f4f6",
+		"backgroundColorBottom": "#f3f4f6",
+		"navigationBarTextStyle": "black",
+		"navigationBarTitleText": "老板给利",
+		"navigationBarBackgroundColor": "#ffffff",
+		"backgroundColor": "#ffffff"
+	},
+	"tabBar": {
+		"color": "#000000",
+		"selectedColor": "#FF5100",
+		"fontSize": "10px",
+		"list": [{
+				"pagePath": "pages/index/index",
+				"iconPath": "static/index/index.png",
+				"selectedIconPath": "static/index/index-checked.png",
+				"text": "首页"
+			},
+			{
+				"pagePath": "pages/classify/classifyindex",
+				"iconPath": "static/index/classify.png",
+				"selectedIconPath": "static/index/classify-checked.png",
+				"text": "分类"
+			},
+			{
+				"pagePath": "pages/index/live",
+				"iconPath": "static/index/live.png",
+				"selectedIconPath": "static/index/live-checked.png",
+				"text": "直播"
+			},
+			{
+				"pagePath": "pages/cart/cart",
+				"iconPath": "static/index/cart.png",
+				"selectedIconPath": "static/index/cart-checked.png",
+				"text": "购物车"
+			},
+			{
+				"pagePath": "pages/my/my",
+				"iconPath": "static/index/my.png",
+				"selectedIconPath": "static/index/my-checked.png",
+				"text": "我的"
+			}
+		]
+	}
+}

+ 77 - 0
BossPower/uni.scss

@@ -0,0 +1,77 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+
+/* 颜色变量 */
+@import '@/uview-ui/theme.scss';
+
+/* 行为相关颜色 */
+$uni-color-primary: #007aff;
+$uni-color-success: #4cd964;
+$uni-color-warning: #f0ad4e;
+$uni-color-error: #dd524d;
+
+/* 文字基本颜色 */
+$uni-text-color:#333;//基本色
+$uni-text-color-inverse:#fff;//反色
+$uni-text-color-grey:#999;//辅助灰色,如加载更多的提示信息
+$uni-text-color-placeholder: #808080;
+$uni-text-color-disable:#c0c0c0;
+
+/* 背景颜色 */
+$uni-bg-color:#ffffff;
+$uni-bg-color-grey:#f8f8f8;
+$uni-bg-color-hover:#f1f1f1;//点击状态颜色
+$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色
+
+/* 边框颜色 */
+$uni-border-color:#c8c7cc;
+
+/* 尺寸变量 */
+
+/* 文字尺寸 */
+$uni-font-size-sm:12px;
+$uni-font-size-base:14px;
+$uni-font-size-lg:16px;
+
+/* 图片尺寸 */
+$uni-img-size-sm:20px;
+$uni-img-size-base:26px;
+$uni-img-size-lg:40px;
+
+/* Border Radius */
+$uni-border-radius-sm: 2px;
+$uni-border-radius-base: 3px;
+$uni-border-radius-lg: 6px;
+$uni-border-radius-circle: 50%;
+
+/* 水平间距 */
+$uni-spacing-row-sm: 5px;
+$uni-spacing-row-base: 10px;
+$uni-spacing-row-lg: 15px;
+
+/* 垂直间距 */
+$uni-spacing-col-sm: 4px;
+$uni-spacing-col-base: 8px;
+$uni-spacing-col-lg: 12px;
+
+/* 透明度 */
+$uni-opacity-disabled: 0.3; // 组件禁用态的透明度
+
+/* 文章场景相关 */
+$uni-color-title: #2C405A; // 文章标题颜色
+$uni-font-size-title:20px;
+$uni-color-subtitle: #555555; // 二级标题颜色
+$uni-font-size-subtitle:26px;
+$uni-color-paragraph: #3F536E; // 文章段落颜色
+$uni-font-size-paragraph:15px;

+ 68 - 7
pages.json

@@ -1,11 +1,9 @@
 {
-	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
-		// {
-		// 	"path": "pages/index/index",
-		// 	"style": {
-		// 		"navigationBarTitleText": "uni-app"
-		// 	}
-		// },
+	"easycom": {
+		"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
+	},
+	"pages": [ 
+
 		{
 			"path": "pages/login/index",
 			"style": {
@@ -13,6 +11,14 @@
 				"navigationStyle": "custom"
 			}
 		},
+		
+		{
+			"path": "pages/index/index",
+			"style": {
+				"navigationBarTitleText": "首页"
+			}
+		},
+		
 		{
 			"path": "pages/protocol/service",
 			"style": {
@@ -24,6 +30,30 @@
 			"style": {
 				"navigationBarTitleText": "隐私政策"
 			}
+		},
+		// {
+		// 	"path": "pages/index/index",
+		// 	"style": {
+		// 		"navigationBarTitleText": "首页"
+		// 	}
+		// },
+		{
+			"path": "pages/find/index",
+			"style": {
+				"navigationBarTitleText": "发现"
+			}
+		},
+		{
+			"path": "pages/message/index",
+			"style":{
+				"navigationBarTitleText": "消息"
+			}
+		},
+		{
+			"path": "pages/mine/index",
+			"style":{
+				"navigationBarTitleText": "我的"
+			}
 		}
 	],
 	"globalStyle": {
@@ -32,5 +62,36 @@
 		"navigationBarBackgroundColor": "#F8F8F8",
 		"backgroundColor": "#F8F8F8"
 	},
+	"tabBar": {
+		"color": "#000000",
+		"selectedColor": "#FF5100",
+		"fontSize": "10px",
+		"list": [
+		  {
+			"pagePath": "pages/index/index",
+			"iconPath": "/static/tabbar/shouye.png",
+			"text": "首页",
+			"selectedIconPath": "/static/tabbar/shouye1.png"
+		  },
+		  {
+			"pagePath": "pages/find/index",
+			"iconPath": "/static/tabbar/find.png",
+			"selectedIconPath": "/static/tabbar/find1.png",
+			"text": "发现"
+		  },
+		  {
+			"pagePath": "pages/message/index",
+			"iconPath": "/static/tabbar/message.png",
+			"selectedIconPath": "/static/tabbar/message1.png",
+			"text": "消息"
+		  },
+		  {
+			"pagePath": "pages/mine/index",
+			"iconPath": "/static/tabbar/me.png",
+			"selectedIconPath": "/static/tabbar/me1.png",
+			"text": "我的"
+		  }
+		]
+	  },
 	"uniIdRouter": {}
 }

+ 242 - 28
pages/login/index.vue

@@ -28,8 +28,8 @@
       <text class="other-title">其他方式登录</text>
       <view class="other-icons">
         <view  @tap="showLoginPopup = true">
-		 <image class="icon" src="/static/phone.png" />
-		</view>
+	 <image class="icon" src="/static/phone.png" />
+	</view>
         <view >
           <image class="icon" src="/static/qq.png" />
         </view>
@@ -61,7 +61,7 @@
             <input v-model="loginAccount" placeholder="请输入账号" />
           </view>
           <view class="input-row">
-            <input v-model="loginPassword" type="password" placeholder="请输入密码" />
+            <input v-model="loginPassword" type="password" password placeholder="请输入密码" />
           </view>
         </view>
         <button class="main-btn popup-login-btn" @tap="handlePopupLogin">登录</button>
@@ -99,6 +99,7 @@
 
 <script setup>
 import { ref, onUnmounted } from 'vue'
+
 const agreed = ref(false)
 const showLoginPopup = ref(false)
 const showRegisterPopup = ref(false)
@@ -143,6 +144,7 @@ function getLoginCode() {
     uni.showToast({ title: '请输入正确手机号', icon: 'none' });
     return;
   }
+  
   // 先启动倒计时
   loginCodeCountdown.value = 60;
   loginCodeTimer = setInterval(() => {
@@ -154,36 +156,61 @@ function getLoginCode() {
     }
   }, 1000);
 
+  console.log('开始获取验证码...');
   uni.request({
     url: 'http://localhost:9500/user/code',
     method: 'POST',
     data: { phone: loginPhone.value },
     success(res) {
-      console.log('验证码接口返回', res);
-      if (res.data && (res.data.code === 0 || res.data.success)) {
+      console.log('验证码响应:', res.data);
+      if (res.statusCode === 200) {
         uni.showToast({ title: '验证码已发送', icon: 'none' });
       } else {
         uni.showToast({ title: res.data.msg || '发送失败', icon: 'none' });
       }
     },
     fail(err) {
-      console.log('验证码接口失败', err);
+      console.error('获取验证码失败:', err);
       uni.showToast({ title: '网络错误', icon: 'none' });
     }
   });
 }
 function getRegCode() {
-  if (regCodeCountdown.value > 0) return
-  regCodeCountdown.value = 60
-  uni.showToast({ title: '验证码已发送', icon: 'none' })
+  if (regCodeCountdown.value > 0) return;
+  if (!/^1[3-9]\d{9}$/.test(regPhone.value)) {
+    uni.showToast({ title: '请输入正确手机号', icon: 'none' });
+    return;
+  }
+  
+  // 先启动倒计时
+  regCodeCountdown.value = 60;
   regCodeTimer = setInterval(() => {
     if (regCodeCountdown.value > 0) {
-      regCodeCountdown.value--
+      regCodeCountdown.value--;
     } else {
-      clearInterval(regCodeTimer)
-      regCodeTimer = null
+      clearInterval(regCodeTimer);
+      regCodeTimer = null;
+    }
+  }, 1000);
+
+  console.log('开始获取注册验证码...');
+  uni.request({
+    url: 'http://localhost:9500/user/code',
+    method: 'POST',
+    data: { phone: regPhone.value },
+    success(res) {
+      console.log('验证码响应:', res.data);
+      if (res.statusCode === 200) {
+        uni.showToast({ title: '验证码已发送', icon: 'none' });
+      } else {
+        uni.showToast({ title: res.data.msg || '发送失败', icon: 'none' });
+      }
+    },
+    fail(err) {
+      console.error('获取验证码失败:', err);
+      uni.showToast({ title: '网络错误', icon: 'none' });
     }
-  }, 1000)
+  });
 }
 function handlePopupLogin() {
   if (loginTab.value === 'phone') {
@@ -195,36 +222,223 @@ function handlePopupLogin() {
       uni.showToast({ title: '请输入验证码', icon: 'none' });
       return;
     }
+    
+    console.log('开始登录请求...');
     uni.request({
       url: 'http://localhost:9500/user/login',
       method: 'POST',
-      data: { phone: loginPhone.value, code: loginCode.value },
+      data: {
+        phone: loginPhone.value,
+        code: loginCode.value
+      },
       success(res) {
-        console.log('登录接口返回', res);
-        if (res.data && (res.data.code === 0 || res.data.success)) {
-          uni.showToast({ title: '登录成功', icon: 'success' });
+        console.log('登录响应数据:', res.data);
+        console.log('响应状态码:', res.statusCode);
+        
+        // 检查响应状态码和数据结构
+        if (res.statusCode === 200) {
+          // 存储登录信息
           uni.setStorageSync('userPhone', loginPhone.value);
-          // 跳转首页
-          uni.switchTab({ url: '/pages/index/index' });
+          uni.setStorageSync('isLoggedIn', true);
+          
+          // 关闭弹窗
+          showLoginPopup.value = false;
+          
+          // 显示成功提示
+          uni.showToast({
+            title: '登录成功',
+            icon: 'success',
+            duration: 1500
+          });
+          
+          // 直接使用 reLaunch 跳转
+          console.log('开始跳转到首页...');
+          uni.reLaunch({
+            url: '/pages/index/index',
+            success: () => {
+              console.log('跳转成功');
+            },
+            fail: (err) => {
+              console.error('reLaunch 跳转失败:', err);
+              // 如果 reLaunch 失败,尝试使用 switchTab
+              console.log('尝试使用 switchTab 跳转...');
+              uni.switchTab({
+                url: '/pages/index/index',
+                success: () => {
+                  console.log('switchTab 跳转成功');
+                },
+                fail: (err) => {
+                  console.error('switchTab 跳转失败:', err);
+                  uni.showToast({
+                    title: '页面跳转失败,请重试',
+                    icon: 'none'
+                  });
+                }
+              });
+            }
+          });
         } else {
-          uni.showToast({ title: res.data.msg || '登录失败', icon: 'none' });
+          console.log('登录失败,状态码:', res.statusCode);
+          uni.showToast({ 
+            title: res.data.msg || '登录失败,请重试', 
+            icon: 'none' 
+          });
         }
       },
       fail(err) {
-        console.log('登录接口失败', err);
+        console.error('登录请求失败:', err);
         uni.showToast({ title: '网络错误', icon: 'none' });
       }
     });
   } else {
-    if (loginAccount.value === '零零' && loginPassword.value === '666') {
-      uni.setStorageSync('userPhone', loginAccount.value)
-      uni.switchTab({ url: '/pages/index/index' })
-    } else {
-      uni.showToast({ title: '账号或密码错误', icon: 'none' })
+    if (!loginAccount.value) {
+      uni.showToast({ title: '请输入账号', icon: 'none' });
+      return;
+    }
+    if (!loginPassword.value) {
+      uni.showToast({ title: '请输入密码', icon: 'none' });
+      return;
     }
+    
+    console.log('开始登录请求...');
+    uni.request({
+      url: 'http://localhost:9500/user/loginup',
+      method: 'POST',
+      data: { 
+        username: loginAccount.value, 
+        password: loginPassword.value 
+      },
+      success(res) {
+        console.log('登录响应数据:', res.data);
+        console.log('响应状态码:', res.statusCode);
+        
+        // 检查响应状态码和数据结构
+        if (res.statusCode === 200 && res.data.code === 200) {
+          // 存储登录信息
+          uni.setStorageSync('userPhone', loginAccount.value);
+          uni.setStorageSync('isLoggedIn', true);
+          
+          // 关闭弹窗
+          showLoginPopup.value = false;
+          
+          // 显示成功提示
+          uni.showToast({
+            title: '登录成功',
+            icon: 'success',
+            duration: 1500
+          });
+          
+          // 直接使用 reLaunch 跳转
+          console.log('开始跳转到首页...');
+          uni.reLaunch({
+            url: '/pages/index/index',
+            success: () => {
+              console.log('跳转成功');
+            },
+            fail: (err) => {
+              console.error('reLaunch 跳转失败:', err);
+              // 如果 reLaunch 失败,尝试使用 switchTab
+              console.log('尝试使用 switchTab 跳转...');
+              uni.switchTab({
+                url: '/pages/index/index',
+                success: () => {
+                  console.log('switchTab 跳转成功');
+                },
+                fail: (err) => {
+                  console.error('switchTab 跳转失败:', err);
+                  uni.showToast({
+                    title: '页面跳转失败,请重试',
+                    icon: 'none'
+                  });
+                }
+              });
+            }
+          });
+        } else {
+          console.log('登录失败,状态码:', res.statusCode);
+          console.log('登录失败,错误信息:', res.data.msg);
+          uni.showToast({ 
+            title: res.data.msg || '账号或密码错误', 
+            icon: 'none',
+            duration: 2000
+          });
+        }
+      },
+      fail(err) {
+        console.error('登录请求失败:', err);
+        uni.showToast({ 
+          title: '网络错误,请稍后重试', 
+          icon: 'none',
+          duration: 2000
+        });
+      }
+    });
+  }
+}
+function handleRegister() {
+  if (!/^1[3-9]\d{9}$/.test(regPhone.value)) {
+    uni.showToast({ title: '请输入正确手机号', icon: 'none' });
+    return;
+  }
+  if (!regCode.value) {
+    uni.showToast({ title: '请输入验证码', icon: 'none' });
+    return;
+  }
+  if (!regAccount.value) {
+    uni.showToast({ title: '请输入账号', icon: 'none' });
+    return;
+  }
+  if (!regPassword.value) {
+    uni.showToast({ title: '请输入密码', icon: 'none' });
+    return;
   }
+  
+  console.log('开始注册请求...');
+  uni.request({
+    url: 'http://localhost:9500/user/register',
+    method: 'POST',
+    data: {
+      phone: regPhone.value,
+      code: regCode.value,
+      username: regAccount.value,
+      password: regPassword.value
+    },
+    success(res) {
+      console.log('注册响应数据:', res.data);
+      console.log('响应状态码:', res.statusCode);
+      
+      if (res.statusCode === 200) {
+        // 显示成功提示
+        uni.showToast({
+          title: '注册成功',
+          icon: 'success',
+          duration: 1500
+        });
+        
+        // 关闭注册弹窗
+        showRegisterPopup.value = false;
+        
+        // 延迟后打开登录弹窗
+        setTimeout(() => {
+          showLoginPopup.value = true;
+          loginTab.value = 'phone';
+          // 自动填充手机号
+          loginPhone.value = regPhone.value;
+        }, 1500);
+      } else {
+        console.log('注册失败,状态码:', res.statusCode);
+        uni.showToast({ 
+          title: res.data.msg || '注册失败,请重试', 
+          icon: 'none' 
+        });
+      }
+    },
+    fail(err) {
+      console.error('注册请求失败:', err);
+      uni.showToast({ title: '网络错误', icon: 'none' });
+    }
+  });
 }
-function handleRegister() { /* 注册逻辑 */ }
 
 onUnmounted(() => {
   if (loginCodeTimer) clearInterval(loginCodeTimer)
@@ -475,4 +689,4 @@ onUnmounted(() => {
   font-weight: 500;
   letter-spacing: 1rpx;
 }
-</style> 
+</style>

+ 0 - 22
pages/shouYe/index.vue

@@ -1,22 +0,0 @@
-<template>
-	<view>
-		
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				
-			}
-		},
-		methods: {
-			
-		}
-	}
-</script>
-
-<style>
-
-</style>

BIN
static/tabbar/find.png


BIN
static/tabbar/find1.png


BIN
static/tabbar/me.png


BIN
static/tabbar/me1.png


BIN
static/tabbar/message.png


BIN
static/tabbar/message1.png


BIN
static/tabbar/shouye.png


BIN
static/tabbar/shouye1.png


+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/app.js.map

@@ -1 +1 @@
-{"version":3,"file":"app.js","sources":["App.vue"],"sourcesContent":["<script>\r\n\texport default {\r\n\t\tonLaunch: function() {\r\n\t\t\tconsole.log('App Launch')\r\n\t\t},\r\n\t\tonShow: function() {\r\n\t\t\tconsole.log('App Show')\r\n\t\t},\r\n\t\tonHide: function() {\r\n\t\t\tconsole.log('App Hide')\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style>\r\n\t/*每个页面公共css */\r\n</style>\n"],"names":["uni"],"mappings":";;;;;;;;AACC,MAAK,YAAU;AAAA,EACd,UAAU,WAAW;AACpBA,kBAAAA,MAAA,MAAA,OAAA,gBAAY,YAAY;AAAA,EACxB;AAAA,EACD,QAAQ,WAAW;AAClBA,kBAAAA,MAAY,MAAA,OAAA,gBAAA,UAAU;AAAA,EACtB;AAAA,EACD,QAAQ,WAAW;AAClBA,kBAAAA,MAAY,MAAA,OAAA,iBAAA,UAAU;AAAA,EACvB;AACD;;;;;;;;;"}
+{"version":3,"file":"app.js","sources":["App.vue"],"sourcesContent":["<script>\r\n\texport default {\r\n\t\tonLaunch: function() {\r\n\t\t\tconsole.log('App Launch')\r\n\t\t},\r\n\t\tonShow: function() {\r\n\t\t\tconsole.log('App Show')\r\n\t\t},\r\n\t\tonHide: function() {\r\n\t\t\tconsole.log('App Hide')\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style>\r\n\t/*每个页面公共css */\r\n</style>\n"],"names":["uni"],"mappings":";;;;;;;;;;;;AACC,MAAK,YAAU;AAAA,EACd,UAAU,WAAW;AACpBA,kBAAAA,MAAA,MAAA,OAAA,gBAAY,YAAY;AAAA,EACxB;AAAA,EACD,QAAQ,WAAW;AAClBA,kBAAAA,MAAY,MAAA,OAAA,gBAAA,UAAU;AAAA,EACtB;AAAA,EACD,QAAQ,WAAW;AAClBA,kBAAAA,MAAY,MAAA,OAAA,iBAAA,UAAU;AAAA,EACvB;AACD;;;;;;;;;"}

+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/index.js.map

@@ -1 +1 @@
-{"version":3,"file":"index.js","sources":["../../../../../HBuilder/HBuilderX.4.55.2025030718/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbG9naW4vaW5kZXgudnVl"],"sourcesContent":["import MiniProgramPage from 'D:/zhentao/项目/code/小鹅通/XiaoETongApp/pages/login/index.vue'\nwx.createPage(MiniProgramPage)"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,GAAG,WAAW,eAAe;"}
+{"version":3,"file":"index.js","sources":["../../../../../HBuilder/HBuilderX.4.55.2025030718/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbG9naW4vaW5kZXgudnVl"],"sourcesContent":["import MiniProgramPage from 'D:/zhentao/项目/code/小鹅通/XiaoETongApp/pages/login/index.vue'\nwx.createPage(MiniProgramPage)"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,GAAG,WAAW,eAAe;"}

+ 4 - 0
unpackage/dist/dev/mp-weixin/app.js

@@ -3,8 +3,12 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
 const common_vendor = require("./common/vendor.js");
 if (!Math) {
   "./pages/login/index.js";
+  "./pages/index/index.js";
   "./pages/protocol/service.js";
   "./pages/protocol/privacy.js";
+  "./pages/find/index.js";
+  "./pages/message/index.js";
+  "./pages/mine/index.js";
 }
 const _sfc_main = {
   onLaunch: function() {

+ 35 - 1
unpackage/dist/dev/mp-weixin/app.json

@@ -1,8 +1,12 @@
 {
   "pages": [
     "pages/login/index",
+    "pages/index/index",
     "pages/protocol/service",
-    "pages/protocol/privacy"
+    "pages/protocol/privacy",
+    "pages/find/index",
+    "pages/message/index",
+    "pages/mine/index"
   ],
   "window": {
     "navigationBarTextStyle": "black",
@@ -10,5 +14,35 @@
     "navigationBarBackgroundColor": "#F8F8F8",
     "backgroundColor": "#F8F8F8"
   },
+  "tabBar": {
+    "color": "#000000",
+    "selectedColor": "#FF5100",
+    "list": [
+      {
+        "pagePath": "pages/index/index",
+        "iconPath": "/static/tabbar/shouye.png",
+        "text": "首页",
+        "selectedIconPath": "/static/tabbar/shouye1.png"
+      },
+      {
+        "pagePath": "pages/find/index",
+        "iconPath": "/static/tabbar/find.png",
+        "selectedIconPath": "/static/tabbar/find1.png",
+        "text": "发现"
+      },
+      {
+        "pagePath": "pages/message/index",
+        "iconPath": "/static/tabbar/message.png",
+        "selectedIconPath": "/static/tabbar/message1.png",
+        "text": "消息"
+      },
+      {
+        "pagePath": "pages/mine/index",
+        "iconPath": "/static/tabbar/me.png",
+        "selectedIconPath": "/static/tabbar/me1.png",
+        "text": "我的"
+      }
+    ]
+  },
   "usingComponents": {}
 }

+ 1 - 1
unpackage/dist/dev/mp-weixin/common/vendor.js

@@ -6822,7 +6822,7 @@ function initOnError() {
 function initRuntimeSocketService() {
   const hosts = "192.168.190.1,192.168.192.1,192.168.180.179,127.0.0.1";
   const port = "8090";
-  const id = "mp-weixin_TY-O_-";
+  const id = "mp-weixin_0GDgXm";
   const lazy = typeof swan !== "undefined";
   let restoreError = lazy ? () => {
   } : initOnError();

+ 14 - 0
unpackage/dist/dev/mp-weixin/pages/find/index.js

@@ -0,0 +1,14 @@
+"use strict";
+const common_vendor = require("../../common/vendor.js");
+const _sfc_main = {
+  data() {
+    return {};
+  },
+  methods: {}
+};
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return {};
+}
+const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
+wx.createPage(MiniProgramPage);
+//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/find/index.js.map

+ 4 - 0
unpackage/dist/dev/mp-weixin/pages/find/index.json

@@ -0,0 +1,4 @@
+{
+  "navigationBarTitleText": "发现",
+  "usingComponents": {}
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/find/index.wxml

@@ -0,0 +1 @@
+<view></view>

+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/find/index.wxss


+ 22 - 0
unpackage/dist/dev/mp-weixin/pages/index/index.js

@@ -0,0 +1,22 @@
+"use strict";
+const common_vendor = require("../../common/vendor.js");
+const common_assets = require("../../common/assets.js");
+const _sfc_main = {
+  data() {
+    return {
+      title: "小鹅通"
+    };
+  },
+  onLoad() {
+  },
+  methods: {}
+};
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return {
+    a: common_assets._imports_0,
+    b: common_vendor.t($data.title)
+  };
+}
+const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
+wx.createPage(MiniProgramPage);
+//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/index/index.js.map

+ 4 - 0
unpackage/dist/dev/mp-weixin/pages/index/index.json

@@ -0,0 +1,4 @@
+{
+  "navigationBarTitleText": "首页",
+  "usingComponents": {}
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/index/index.wxml

@@ -0,0 +1 @@
+<view class="content"><image class="logo" src="{{a}}"></image><view class="text-area"><text class="title">{{b}}</text></view></view>

+ 23 - 0
unpackage/dist/dev/mp-weixin/pages/index/index.wxss

@@ -0,0 +1,23 @@
+
+.content {
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center;
+}
+.logo {
+		height: 200rpx;
+		width: 200rpx;
+		margin-top: 200rpx;
+		margin-left: auto;
+		margin-right: auto;
+		margin-bottom: 50rpx;
+}
+.text-area {
+		display: flex;
+		justify-content: center;
+}
+.title {
+		font-size: 36rpx;
+		color: #8f8f94;
+}

+ 195 - 16
unpackage/dist/dev/mp-weixin/pages/login/index.js

@@ -55,20 +55,21 @@ const _sfc_main = {
           loginCodeTimer = null;
         }
       }, 1e3);
+      common_vendor.index.__f__("log", "at pages/login/index.vue:159", "开始获取验证码...");
       common_vendor.index.request({
         url: "http://localhost:9500/user/code",
         method: "POST",
         data: { phone: loginPhone.value },
         success(res) {
-          common_vendor.index.__f__("log", "at pages/login/index.vue:162", "验证码接口返回", res);
-          if (res.data && (res.data.code === 0 || res.data.success)) {
+          common_vendor.index.__f__("log", "at pages/login/index.vue:165", "验证码响应:", res.data);
+          if (res.statusCode === 200) {
             common_vendor.index.showToast({ title: "验证码已发送", icon: "none" });
           } else {
             common_vendor.index.showToast({ title: res.data.msg || "发送失败", icon: "none" });
           }
         },
         fail(err) {
-          common_vendor.index.__f__("log", "at pages/login/index.vue:170", "验证码接口失败", err);
+          common_vendor.index.__f__("error", "at pages/login/index.vue:173", "获取验证码失败:", err);
           common_vendor.index.showToast({ title: "网络错误", icon: "none" });
         }
       });
@@ -76,8 +77,11 @@ const _sfc_main = {
     function getRegCode() {
       if (regCodeCountdown.value > 0)
         return;
+      if (!/^1[3-9]\d{9}$/.test(regPhone.value)) {
+        common_vendor.index.showToast({ title: "请输入正确手机号", icon: "none" });
+        return;
+      }
       regCodeCountdown.value = 60;
-      common_vendor.index.showToast({ title: "验证码已发送", icon: "none" });
       regCodeTimer = setInterval(() => {
         if (regCodeCountdown.value > 0) {
           regCodeCountdown.value--;
@@ -86,6 +90,24 @@ const _sfc_main = {
           regCodeTimer = null;
         }
       }, 1e3);
+      common_vendor.index.__f__("log", "at pages/login/index.vue:196", "开始获取注册验证码...");
+      common_vendor.index.request({
+        url: "http://localhost:9500/user/code",
+        method: "POST",
+        data: { phone: regPhone.value },
+        success(res) {
+          common_vendor.index.__f__("log", "at pages/login/index.vue:202", "验证码响应:", res.data);
+          if (res.statusCode === 200) {
+            common_vendor.index.showToast({ title: "验证码已发送", icon: "none" });
+          } else {
+            common_vendor.index.showToast({ title: res.data.msg || "发送失败", icon: "none" });
+          }
+        },
+        fail(err) {
+          common_vendor.index.__f__("error", "at pages/login/index.vue:210", "获取验证码失败:", err);
+          common_vendor.index.showToast({ title: "网络错误", icon: "none" });
+        }
+      });
     }
     function handlePopupLogin() {
       if (loginTab.value === "phone") {
@@ -97,35 +119,192 @@ const _sfc_main = {
           common_vendor.index.showToast({ title: "请输入验证码", icon: "none" });
           return;
         }
+        common_vendor.index.__f__("log", "at pages/login/index.vue:226", "开始登录请求...");
         common_vendor.index.request({
           url: "http://localhost:9500/user/login",
           method: "POST",
-          data: { phone: loginPhone.value, code: loginCode.value },
+          data: {
+            phone: loginPhone.value,
+            code: loginCode.value
+          },
           success(res) {
-            common_vendor.index.__f__("log", "at pages/login/index.vue:203", "登录接口返回", res);
-            if (res.data && (res.data.code === 0 || res.data.success)) {
-              common_vendor.index.showToast({ title: "登录成功", icon: "success" });
+            common_vendor.index.__f__("log", "at pages/login/index.vue:235", "登录响应数据:", res.data);
+            common_vendor.index.__f__("log", "at pages/login/index.vue:236", "响应状态码:", res.statusCode);
+            if (res.statusCode === 200) {
               common_vendor.index.setStorageSync("userPhone", loginPhone.value);
-              common_vendor.index.switchTab({ url: "/pages/index/index" });
+              common_vendor.index.setStorageSync("isLoggedIn", true);
+              showLoginPopup.value = false;
+              common_vendor.index.showToast({
+                title: "登录成功",
+                icon: "success",
+                duration: 1500
+              });
+              common_vendor.index.__f__("log", "at pages/login/index.vue:255", "开始跳转到首页...");
+              common_vendor.index.reLaunch({
+                url: "/pages/index/index",
+                success: () => {
+                  common_vendor.index.__f__("log", "at pages/login/index.vue:259", "跳转成功");
+                },
+                fail: (err) => {
+                  common_vendor.index.__f__("error", "at pages/login/index.vue:262", "reLaunch 跳转失败:", err);
+                  common_vendor.index.__f__("log", "at pages/login/index.vue:264", "尝试使用 switchTab 跳转...");
+                  common_vendor.index.switchTab({
+                    url: "/pages/index/index",
+                    success: () => {
+                      common_vendor.index.__f__("log", "at pages/login/index.vue:268", "switchTab 跳转成功");
+                    },
+                    fail: (err2) => {
+                      common_vendor.index.__f__("error", "at pages/login/index.vue:271", "switchTab 跳转失败:", err2);
+                      common_vendor.index.showToast({
+                        title: "页面跳转失败,请重试",
+                        icon: "none"
+                      });
+                    }
+                  });
+                }
+              });
             } else {
-              common_vendor.index.showToast({ title: res.data.msg || "登录失败", icon: "none" });
+              common_vendor.index.__f__("log", "at pages/login/index.vue:281", "登录失败,状态码:", res.statusCode);
+              common_vendor.index.showToast({
+                title: res.data.msg || "登录失败,请重试",
+                icon: "none"
+              });
             }
           },
           fail(err) {
-            common_vendor.index.__f__("log", "at pages/login/index.vue:214", "登录接口失败", err);
+            common_vendor.index.__f__("error", "at pages/login/index.vue:289", "登录请求失败:", err);
             common_vendor.index.showToast({ title: "网络错误", icon: "none" });
           }
         });
       } else {
-        if (loginAccount.value === "零零" && loginPassword.value === "666") {
-          common_vendor.index.setStorageSync("userPhone", loginAccount.value);
-          common_vendor.index.switchTab({ url: "/pages/index/index" });
-        } else {
-          common_vendor.index.showToast({ title: "账号或密码错误", icon: "none" });
+        if (!loginAccount.value) {
+          common_vendor.index.showToast({ title: "请输入账号", icon: "none" });
+          return;
         }
+        if (!loginPassword.value) {
+          common_vendor.index.showToast({ title: "请输入密码", icon: "none" });
+          return;
+        }
+        common_vendor.index.__f__("log", "at pages/login/index.vue:303", "开始登录请求...");
+        common_vendor.index.request({
+          url: "http://localhost:9500/user/loginup",
+          method: "POST",
+          data: {
+            username: loginAccount.value,
+            password: loginPassword.value
+          },
+          success(res) {
+            common_vendor.index.__f__("log", "at pages/login/index.vue:312", "登录响应数据:", res.data);
+            common_vendor.index.__f__("log", "at pages/login/index.vue:313", "响应状态码:", res.statusCode);
+            if (res.statusCode === 200 && res.data.code === 200) {
+              common_vendor.index.setStorageSync("userPhone", loginAccount.value);
+              common_vendor.index.setStorageSync("isLoggedIn", true);
+              showLoginPopup.value = false;
+              common_vendor.index.showToast({
+                title: "登录成功",
+                icon: "success",
+                duration: 1500
+              });
+              common_vendor.index.__f__("log", "at pages/login/index.vue:332", "开始跳转到首页...");
+              common_vendor.index.reLaunch({
+                url: "/pages/index/index",
+                success: () => {
+                  common_vendor.index.__f__("log", "at pages/login/index.vue:336", "跳转成功");
+                },
+                fail: (err) => {
+                  common_vendor.index.__f__("error", "at pages/login/index.vue:339", "reLaunch 跳转失败:", err);
+                  common_vendor.index.__f__("log", "at pages/login/index.vue:341", "尝试使用 switchTab 跳转...");
+                  common_vendor.index.switchTab({
+                    url: "/pages/index/index",
+                    success: () => {
+                      common_vendor.index.__f__("log", "at pages/login/index.vue:345", "switchTab 跳转成功");
+                    },
+                    fail: (err2) => {
+                      common_vendor.index.__f__("error", "at pages/login/index.vue:348", "switchTab 跳转失败:", err2);
+                      common_vendor.index.showToast({
+                        title: "页面跳转失败,请重试",
+                        icon: "none"
+                      });
+                    }
+                  });
+                }
+              });
+            } else {
+              common_vendor.index.__f__("log", "at pages/login/index.vue:358", "登录失败,状态码:", res.statusCode);
+              common_vendor.index.__f__("log", "at pages/login/index.vue:359", "登录失败,错误信息:", res.data.msg);
+              common_vendor.index.showToast({
+                title: res.data.msg || "账号或密码错误",
+                icon: "none",
+                duration: 2e3
+              });
+            }
+          },
+          fail(err) {
+            common_vendor.index.__f__("error", "at pages/login/index.vue:368", "登录请求失败:", err);
+            common_vendor.index.showToast({
+              title: "网络错误,请稍后重试",
+              icon: "none",
+              duration: 2e3
+            });
+          }
+        });
       }
     }
     function handleRegister() {
+      if (!/^1[3-9]\d{9}$/.test(regPhone.value)) {
+        common_vendor.index.showToast({ title: "请输入正确手机号", icon: "none" });
+        return;
+      }
+      if (!regCode.value) {
+        common_vendor.index.showToast({ title: "请输入验证码", icon: "none" });
+        return;
+      }
+      if (!regAccount.value) {
+        common_vendor.index.showToast({ title: "请输入账号", icon: "none" });
+        return;
+      }
+      if (!regPassword.value) {
+        common_vendor.index.showToast({ title: "请输入密码", icon: "none" });
+        return;
+      }
+      common_vendor.index.__f__("log", "at pages/login/index.vue:396", "开始注册请求...");
+      common_vendor.index.request({
+        url: "http://localhost:9500/user/register",
+        method: "POST",
+        data: {
+          phone: regPhone.value,
+          code: regCode.value,
+          username: regAccount.value,
+          password: regPassword.value
+        },
+        success(res) {
+          common_vendor.index.__f__("log", "at pages/login/index.vue:407", "注册响应数据:", res.data);
+          common_vendor.index.__f__("log", "at pages/login/index.vue:408", "响应状态码:", res.statusCode);
+          if (res.statusCode === 200) {
+            common_vendor.index.showToast({
+              title: "注册成功",
+              icon: "success",
+              duration: 1500
+            });
+            showRegisterPopup.value = false;
+            setTimeout(() => {
+              showLoginPopup.value = true;
+              loginTab.value = "phone";
+              loginPhone.value = regPhone.value;
+            }, 1500);
+          } else {
+            common_vendor.index.__f__("log", "at pages/login/index.vue:429", "注册失败,状态码:", res.statusCode);
+            common_vendor.index.showToast({
+              title: res.data.msg || "注册失败,请重试",
+              icon: "none"
+            });
+          }
+        },
+        fail(err) {
+          common_vendor.index.__f__("error", "at pages/login/index.vue:437", "注册请求失败:", err);
+          common_vendor.index.showToast({ title: "网络错误", icon: "none" });
+        }
+      });
     }
     common_vendor.onUnmounted(() => {
       if (loginCodeTimer)

Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/login/index.wxml


+ 14 - 0
unpackage/dist/dev/mp-weixin/pages/message/index.js

@@ -0,0 +1,14 @@
+"use strict";
+const common_vendor = require("../../common/vendor.js");
+const _sfc_main = {
+  data() {
+    return {};
+  },
+  methods: {}
+};
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return {};
+}
+const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
+wx.createPage(MiniProgramPage);
+//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/message/index.js.map

+ 4 - 0
unpackage/dist/dev/mp-weixin/pages/message/index.json

@@ -0,0 +1,4 @@
+{
+  "navigationBarTitleText": "消息",
+  "usingComponents": {}
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/message/index.wxml

@@ -0,0 +1 @@
+<view></view>

+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/message/index.wxss


+ 14 - 0
unpackage/dist/dev/mp-weixin/pages/mine/index.js

@@ -0,0 +1,14 @@
+"use strict";
+const common_vendor = require("../../common/vendor.js");
+const _sfc_main = {
+  data() {
+    return {};
+  },
+  methods: {}
+};
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return {};
+}
+const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
+wx.createPage(MiniProgramPage);
+//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/mine/index.js.map

+ 4 - 0
unpackage/dist/dev/mp-weixin/pages/mine/index.json

@@ -0,0 +1,4 @@
+{
+  "navigationBarTitleText": "我的",
+  "usingComponents": {}
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/mine/index.wxml

@@ -0,0 +1 @@
+<view></view>

+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/mine/index.wxss


BIN
unpackage/dist/dev/mp-weixin/static/tabbar/find.png


BIN
unpackage/dist/dev/mp-weixin/static/tabbar/find1.png


BIN
unpackage/dist/dev/mp-weixin/static/tabbar/me.png


BIN
unpackage/dist/dev/mp-weixin/static/tabbar/me1.png


BIN
unpackage/dist/dev/mp-weixin/static/tabbar/message.png


BIN
unpackage/dist/dev/mp-weixin/static/tabbar/message1.png


BIN
unpackage/dist/dev/mp-weixin/static/tabbar/shouye.png


BIN
unpackage/dist/dev/mp-weixin/static/tabbar/shouye1.png


Alguns ficheiros não foram mostrados porque muitos ficheiros mudaram neste diff