diff --git a/App.vue b/App.vue
index 52dd89d..dcd3768 100644
--- a/App.vue
+++ b/App.vue
@@ -14,4 +14,5 @@ export default {
diff --git a/components/banner-swiper/banner-swiper.vue b/components/banner-swiper/banner-swiper.vue
index 0c02b0c..9b20e85 100644
--- a/components/banner-swiper/banner-swiper.vue
+++ b/components/banner-swiper/banner-swiper.vue
@@ -7,8 +7,8 @@
:interval="interval"
circular
class="swiper"
- indicator-active-color="#FFFFFF"
- indicator-color="rgba(255, 255, 255, 0.5)"
+ indicator-active-color="#F15A04"
+ indicator-color="#D8D8D8"
>
-
-
+
@@ -57,7 +51,6 @@ export default {
AnnouncementBar,
BannerSwiper,
EquipmentList,
- BottomNav,
},
data() {
return {
@@ -82,14 +75,14 @@ export default {
image: commonEnum.TEMP1,
},
{
- image: commonEnum.TEMP2,
- },
- {
- image: commonEnum.TEMP3,
+ image: commonEnum.TEMP1,
},
{
image: commonEnum.TEMP2,
},
+ {
+ image: commonEnum.TEMP1,
+ },
],
// 设备列表数据
@@ -176,7 +169,7 @@ export default {
\ No newline at end of file
diff --git a/pages/profile/profile.vue b/pages/profile/profile.vue
new file mode 100644
index 0000000..61d76bf
--- /dev/null
+++ b/pages/profile/profile.vue
@@ -0,0 +1,364 @@
+
+
+
+
+ 9:41
+
+ 📶
+ 📶
+ 🔋
+
+
+
+
+
+
+
+
+
+ 2
+ 租赁设备
+
+
+ ¥200.20
+ 累计租金
+
+
+ 365
+ 租赁天数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/static/css/tabbar.css b/static/css/tabbar.css
new file mode 100644
index 0000000..36d4f5f
--- /dev/null
+++ b/static/css/tabbar.css
@@ -0,0 +1,55 @@
+/* 自定义TabBar样式 */
+.uni-tabbar {
+ padding: 8px 0 4px 0;
+ box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05);
+}
+
+.uni-tabbar-item {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ padding: 4px 0;
+ min-height: 50px;
+}
+
+.uni-tabbar-item__icon {
+ margin-bottom: 4px;
+ width: 24px;
+ height: 24px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.uni-tabbar-item__text {
+ font-size: 12px;
+ line-height: 1.2;
+ text-align: center;
+ margin-top: 2px;
+}
+
+/* 选中状态优化 */
+.uni-tabbar-item--selected .uni-tabbar-item__text {
+ font-weight: 500;
+}
+
+/* 图标和文字间距 */
+.uni-tabbar-item__icon + .uni-tabbar-item__text {
+ margin-top: 4px;
+}
+
+/* 整体间距优化 */
+.uni-tabbar__list {
+ display: flex;
+ justify-content: space-around;
+ align-items: center;
+ padding: 0 20px;
+}
+
+/* 安全区域适配 */
+@supports (padding-bottom: env(safe-area-inset-bottom)) {
+ .uni-tabbar {
+ padding-bottom: calc(4px + env(safe-area-inset-bottom));
+ }
+}
\ No newline at end of file
diff --git a/static/icons/README.md b/static/icons/README.md
new file mode 100644
index 0000000..a959f63
--- /dev/null
+++ b/static/icons/README.md
@@ -0,0 +1,37 @@
+# 图标文件说明
+
+当前使用的图标已下载到本地,原始资源来自 `enum/commonEnum.js` 中定义的远程资源:
+
+## 首页图标
+- 未选中:`home.png` (原URL: https://api.ccttiot.com/image-1754981938495.png)
+- 选中:`home-active.png` (原URL: https://api.ccttiot.com/image-1754981895711.png)
+
+## 租赁图标
+- 未选中:`rent.png` (原URL: https://api.ccttiot.com/image-1754981988082.png)
+- 选中:`rent-active.png` (原URL: https://api.ccttiot.com/image-1754986634575.png)
+
+## 个人中心图标
+- 未选中:`profile.png` (原URL: https://api.ccttiot.com/image-1754986718771.png)
+- 选中:`profile-active.png` (原URL: https://api.ccttiot.com/image-1754986763842.png)
+
+## 图标配置
+- 未选中颜色:`#999999`
+- 选中颜色:`#ff6b6b`
+- 背景色:`#ffffff`
+- 边框样式:`white`
+- 高度:`60px`
+- 字体大小:`12px`
+- 图标尺寸:`24px x 24px`
+- 间距:`4px`
+
+## 相关文件
+- `pages.json` - tabBar配置
+- `enum/commonEnum.js` - 图标资源定义
+- `download-icons.js` - 图标下载脚本
+- `static/css/tabbar.css` - 自定义tabBar样式
+- `App.vue` - 全局样式引入
+
+## 注意事项
+- 微信小程序不支持在tabBar中使用网络图片
+- 图标已下载到本地 `static/icons/` 目录
+- 如需更新图标,请重新运行 `download-icons.js` 脚本
\ No newline at end of file
diff --git a/static/icons/home-active.png b/static/icons/home-active.png
new file mode 100644
index 0000000..3858c54
Binary files /dev/null and b/static/icons/home-active.png differ
diff --git a/static/icons/home.png b/static/icons/home.png
new file mode 100644
index 0000000..4987020
Binary files /dev/null and b/static/icons/home.png differ
diff --git a/static/icons/profile-active.png b/static/icons/profile-active.png
new file mode 100644
index 0000000..dd8eb4b
Binary files /dev/null and b/static/icons/profile-active.png differ
diff --git a/static/icons/profile.png b/static/icons/profile.png
new file mode 100644
index 0000000..c0d7a5b
Binary files /dev/null and b/static/icons/profile.png differ
diff --git a/static/icons/rent-active.png b/static/icons/rent-active.png
new file mode 100644
index 0000000..a36d2c4
Binary files /dev/null and b/static/icons/rent-active.png differ
diff --git a/static/icons/rent.png b/static/icons/rent.png
new file mode 100644
index 0000000..6fd368f
Binary files /dev/null and b/static/icons/rent.png differ
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/app.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/app.js.map
index a435879..c3a971f 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/app.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/app.js.map
@@ -1 +1 @@
-{"version":3,"file":"app.js","sources":["App.vue","main.js"],"sourcesContent":["\n\n\n","import App from './App'\n\n// #ifndef VUE3\nimport Vue from 'vue'\nimport './uni.promisify.adaptor'\nVue.config.productionTip = false\nApp.mpType = 'app'\nconst app = new Vue({\n ...App,\n})\napp.$mount()\n// #endif\n\n// #ifdef VUE3\nimport { createSSRApp } from 'vue'\nimport PageScrollMixin from './mixins/page-scroll-mixin.js'\n\nexport function createApp() {\n const app = createSSRApp(App)\n\n // 注册全局 mixin (Vue3 方式)\n app.mixin(PageScrollMixin)\n\n return {\n app,\n }\n}\n// #endif\n"],"names":["uni","createSSRApp","App","PageScrollMixin"],"mappings":";;;;;;;;AACA,MAAK,YAAU;AAAA,EACb,UAAU,WAAY;AACpBA,kBAAAA,MAAY,MAAA,OAAA,gBAAA,YAAY;AAAA,EACzB;AAAA,EACD,QAAQ,WAAY;AAClBA,kBAAAA,MAAA,MAAA,OAAA,gBAAY,UAAU;AAAA,EACvB;AAAA,EACD,QAAQ,WAAY;AAClBA,kBAAAA,MAAA,MAAA,OAAA,iBAAY,UAAU;AAAA,EACvB;AACH;ACMO,SAAS,YAAY;AAC1B,QAAM,MAAMC,cAAY,aAACC,SAAG;AAG5B,MAAI,MAAMC,sCAAe;AAEzB,SAAO;AAAA,IACL;AAAA,EACD;AACH;;;"}
\ No newline at end of file
+{"version":3,"file":"app.js","sources":["App.vue","main.js"],"sourcesContent":["\n\n\n","import App from './App'\n\n// #ifndef VUE3\nimport Vue from 'vue'\nimport './uni.promisify.adaptor'\nVue.config.productionTip = false\nApp.mpType = 'app'\nconst app = new Vue({\n ...App,\n})\napp.$mount()\n// #endif\n\n// #ifdef VUE3\nimport { createSSRApp } from 'vue'\nimport PageScrollMixin from './mixins/page-scroll-mixin.js'\n\nexport function createApp() {\n const app = createSSRApp(App)\n\n // 注册全局 mixin (Vue3 方式)\n app.mixin(PageScrollMixin)\n\n return {\n app,\n }\n}\n// #endif\n"],"names":["uni","createSSRApp","App","PageScrollMixin"],"mappings":";;;;;;;;;;AACA,MAAK,YAAU;AAAA,EACb,UAAU,WAAY;AACpBA,kBAAAA,MAAY,MAAA,OAAA,gBAAA,YAAY;AAAA,EACzB;AAAA,EACD,QAAQ,WAAY;AAClBA,kBAAAA,MAAA,MAAA,OAAA,gBAAY,UAAU;AAAA,EACvB;AAAA,EACD,QAAQ,WAAY;AAClBA,kBAAAA,MAAA,MAAA,OAAA,iBAAY,UAAU;AAAA,EACvB;AACH;ACMO,SAAS,YAAY;AAC1B,QAAM,MAAMC,cAAY,aAACC,SAAG;AAG5B,MAAI,MAAMC,sCAAe;AAEzB,SAAO;AAAA,IACL;AAAA,EACD;AACH;;;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/components/banner-swiper/banner-swiper.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/components/banner-swiper/banner-swiper.js.map
index 89ea9cb..6fa7222 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/components/banner-swiper/banner-swiper.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/components/banner-swiper/banner-swiper.js.map
@@ -1 +1 @@
-{"version":3,"file":"banner-swiper.js","sources":["components/banner-swiper/banner-swiper.vue","C:/Users/Administrator/Downloads/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDovd29yay9IQnVpbGRlclByb2plY3RzL0hvbWVMZWFzZS9jb21wb25lbnRzL2Jhbm5lci1zd2lwZXIvYmFubmVyLXN3aXBlci52dWU"],"sourcesContent":["\n \n \n \n \n \n \n \n\n\n\n\n\n","import Component from 'D:/work/HBuilderProjects/HomeLease/components/banner-swiper/banner-swiper.vue'\nwx.createComponent(Component)"],"names":[],"mappings":";;AAwBA,MAAK,YAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS,MAAM,CAAE;AAAA,IAClB;AAAA,IACD,eAAe;AAAA,MACb,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,eAAe,GAAG;AAChB,WAAK,MAAM,UAAU,EAAE,OAAO,OAAO;AAAA,IACtC;AAAA,IACD,cAAc,MAAM,OAAO;AACzB,WAAK,MAAM,gBAAgB,EAAE,MAAM,OAAO;AAAA,IAC3C;AAAA,EACF;AACH;;;;;;;;;;;;;;;;;ACvDA,GAAG,gBAAgB,SAAS;"}
\ No newline at end of file
+{"version":3,"file":"banner-swiper.js","sources":["components/banner-swiper/banner-swiper.vue","C:/Users/Administrator/Downloads/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDovd29yay9IQnVpbGRlclByb2plY3RzL0hvbWVMZWFzZS9jb21wb25lbnRzL2Jhbm5lci1zd2lwZXIvYmFubmVyLXN3aXBlci52dWU"],"sourcesContent":["\n \n \n \n \n \n \n \n\n\n\n\n\n","import Component from 'D:/work/HBuilderProjects/HomeLease/components/banner-swiper/banner-swiper.vue'\nwx.createComponent(Component)"],"names":[],"mappings":";;AAwBA,MAAK,YAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS,MAAM,CAAE;AAAA,IAClB;AAAA,IACD,eAAe;AAAA,MACb,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,eAAe,GAAG;AAChB,WAAK,MAAM,UAAU,EAAE,OAAO,OAAO;AAAA,IACtC;AAAA,IACD,cAAc,MAAM,OAAO;AACzB,WAAK,MAAM,gBAAgB,EAAE,MAAM,OAAO;AAAA,IAC3C;AAAA,EACF;AACH;;;;;;;;;;;;;;;;;ACvDA,GAAG,gBAAgB,SAAS;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
index dbb24a4..47fed04 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.js","sources":["pages/index/index.vue","C:/Users/Administrator/Downloads/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaW5kZXgvaW5kZXgudnVl"],"sourcesContent":["\n \n \n \n\n \n \n\n \n \n\n \n \n\n \n \n \n\n\n\n\n\n","import MiniProgramPage from 'D:/work/HBuilderProjects/HomeLease/pages/index/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["commonEnum","uni"],"mappings":";;;AA+CA,MAAO,aAAY,MAAW;AAC9B,MAAK,kBAAmB,MAAW;AACnC,qBAAqB,MAAW;AAChC,sBAAsB,MAAW;AACjC,MAAO,YAAW,MAAW;AAE7B,MAAK,YAAU;AAAA,EACb,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,OAAO;AACL,WAAO;AAAA;AAAA,MAEL,eAAe;AAAA,MACf,UAAU;AAAA,MACV,UAAU;AAAA,MACV,UAAU;AAAA,MACV,YAAYA,gBAAU;AAAA;AAAA,MAGtB,aAAa;AAAA,MACb,kBAAkB;AAAA,MAClB,gBAAgB;AAAA,MAChB,UAAU,CAAC,MAAM,QAAQ,MAAM;AAAA,MAC/B,gBAAgB;AAAA;AAAA,MAGhB,oBAAoB;AAAA,MACpB,YAAY;AAAA,QACV;AAAA,UACE,OAAOA,gBAAU,WAAC;AAAA,QACnB;AAAA,QACD;AAAA,UACE,OAAOA,gBAAU,WAAC;AAAA,QACnB;AAAA,QACD;AAAA,UACE,OAAOA,gBAAU,WAAC;AAAA,QACnB;AAAA,QACD;AAAA,UACE,OAAOA,gBAAU,WAAC;AAAA,QACnB;AAAA,MACF;AAAA;AAAA,MAGD,eAAe;AAAA,QACb;AAAA,UACE,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,WAAW;AAAA,UACX,SAAS;AAAA,UACT,OAAOA,gBAAU,WAAC;AAAA,QACnB;AAAA,QACD;AAAA,UACE,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,WAAW;AAAA,UACX,SAAS;AAAA,UACT,OAAOA,gBAAU,WAAC;AAAA,QACnB;AAAA,MACF;AAAA,IACH;AAAA,EACD;AAAA,EAED,SAAS;AAAA;AAAA,IAEP,kBAAkB;AAChBC,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO;AAAA,QACP,MAAM;AAAA,OACP;AAAA,IACF;AAAA;AAAA,IAGD,sBAAsB;AACpBA,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO;AAAA,QACP,MAAM;AAAA,OACP;AAAA,IACF;AAAA;AAAA,IAGD,eAAe,OAAO;AACpB,WAAK,qBAAqB;AAAA,IAC3B;AAAA;AAAA,IAGD,cAAc,EAAE,MAAM,SAAS;AAC7BA,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO,KAAK,KAAK,IAAI;AAAA,QACrB,MAAM;AAAA,OACP;AAAA,IACF;AAAA;AAAA,IAGD,iBAAiB,WAAW;AAC1BA,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO,KAAK,UAAU,IAAI;AAAA,QAC1B,MAAM;AAAA,OACP;AAAA,IACF;AAAA;AAAA,IAGD,QAAQ,WAAW;AACjBA,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO,OAAO,UAAU,IAAI;AAAA,QAC5B,MAAM;AAAA,OACP;AAAA,IACF;AAAA;AAAA,IAGD,WAAW,OAAO;AAChB,WAAK,iBAAiB;AACtB,YAAM,WAAW,CAAC,MAAM,QAAQ,MAAM;AACtCA,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO,MAAM,SAAS,KAAK,CAAC;AAAA,QAC5B,MAAM;AAAA,OACP;AAAA,IACF;AAAA,EACF;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3KA,GAAG,WAAW,eAAe;"}
\ No newline at end of file
+{"version":3,"file":"index.js","sources":["pages/index/index.vue","C:/Users/Administrator/Downloads/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaW5kZXgvaW5kZXgudnVl"],"sourcesContent":["\n \n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n\n\n\n\n","import MiniProgramPage from 'D:/work/HBuilderProjects/HomeLease/pages/index/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["commonEnum","uni"],"mappings":";;;AAyCA,MAAO,aAAY,MAAW;AAC9B,MAAK,kBAAmB,MAAW;AACnC,qBAAqB,MAAW;AAChC,sBAAsB,MAAW;AAGjC,MAAK,YAAU;AAAA,EACb,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,OAAO;AACL,WAAO;AAAA;AAAA,MAEL,eAAe;AAAA,MACf,UAAU;AAAA,MACV,UAAU;AAAA,MACV,UAAU;AAAA,MACV,YAAYA,gBAAU;AAAA;AAAA,MAGtB,aAAa;AAAA,MACb,kBAAkB;AAAA,MAClB,gBAAgB;AAAA,MAChB,UAAU,CAAC,MAAM,QAAQ,MAAM;AAAA,MAC/B,gBAAgB;AAAA;AAAA,MAGhB,oBAAoB;AAAA,MACpB,YAAY;AAAA,QACV;AAAA,UACE,OAAOA,gBAAU,WAAC;AAAA,QACnB;AAAA,QACD;AAAA,UACE,OAAOA,gBAAU,WAAC;AAAA,QACnB;AAAA,QACD;AAAA,UACE,OAAOA,gBAAU,WAAC;AAAA,QACnB;AAAA,QACD;AAAA,UACE,OAAOA,gBAAU,WAAC;AAAA,QACnB;AAAA,MACF;AAAA;AAAA,MAGD,eAAe;AAAA,QACb;AAAA,UACE,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,WAAW;AAAA,UACX,SAAS;AAAA,UACT,OAAOA,gBAAU,WAAC;AAAA,QACnB;AAAA,QACD;AAAA,UACE,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,WAAW;AAAA,UACX,SAAS;AAAA,UACT,OAAOA,gBAAU,WAAC;AAAA,QACnB;AAAA,MACF;AAAA,IACH;AAAA,EACD;AAAA,EAED,SAAS;AAAA;AAAA,IAEP,kBAAkB;AAChBC,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO;AAAA,QACP,MAAM;AAAA,OACP;AAAA,IACF;AAAA;AAAA,IAGD,sBAAsB;AACpBA,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO;AAAA,QACP,MAAM;AAAA,OACP;AAAA,IACF;AAAA;AAAA,IAGD,eAAe,OAAO;AACpB,WAAK,qBAAqB;AAAA,IAC3B;AAAA;AAAA,IAGD,cAAc,EAAE,MAAM,SAAS;AAC7BA,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO,KAAK,KAAK,IAAI;AAAA,QACrB,MAAM;AAAA,OACP;AAAA,IACF;AAAA;AAAA,IAGD,iBAAiB,WAAW;AAC1BA,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO,KAAK,UAAU,IAAI;AAAA,QAC1B,MAAM;AAAA,OACP;AAAA,IACF;AAAA;AAAA,IAGD,QAAQ,WAAW;AACjBA,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO,OAAO,UAAU,IAAI;AAAA,QAC5B,MAAM;AAAA,OACP;AAAA,IACF;AAAA;AAAA,IAGD,WAAW,OAAO;AAChB,WAAK,iBAAiB;AACtB,YAAM,WAAW,CAAC,MAAM,QAAQ,MAAM;AACtCA,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO,MAAM,SAAS,KAAK,CAAC;AAAA,QAC5B,MAAM;AAAA,OACP;AAAA,IACF;AAAA,EACF;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpKA,GAAG,WAAW,eAAe;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/lease/lease.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/lease/lease.js.map
new file mode 100644
index 0000000..9fd2063
--- /dev/null
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/lease/lease.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"lease.js","sources":["pages/lease/lease.vue","C:/Users/Administrator/Downloads/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbGVhc2UvbGVhc2UudnVl"],"sourcesContent":["\r\n \r\n \r\n \r\n 9:41\r\n \r\n 📶\r\n 📶\r\n 🔋\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n 姓名\r\n \r\n \r\n\r\n \r\n \r\n 手机号\r\n \r\n \r\n\r\n \r\n \r\n 地址\r\n \r\n {{ formData.address || '选择收货地址' }}\r\n 📍\r\n \r\n \r\n\r\n \r\n \r\n \r\n 当前定位:{{ currentLocation.company }}\r\n {{ currentLocation.address }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n 详细位置\r\n \r\n \r\n\r\n \r\n \r\n 租赁设备\r\n \r\n {{ formData.equipment || '选择设备类型' }}\r\n >\r\n \r\n \r\n\r\n \r\n \r\n 租赁周期\r\n \r\n {{ formData.period || '1年' }}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 租金\r\n ¥{{ totalAmount }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n\r\n\r\n\r\n ","import MiniProgramPage from 'D:/work/HBuilderProjects/HomeLease/pages/lease/lease.vue'\nwx.createPage(MiniProgramPage)"],"names":["uni"],"mappings":";;AA6HA,MAAK,YAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AACL,WAAO;AAAA,MACL,UAAU;AAAA,QACR,MAAM;AAAA,QACN,OAAO;AAAA,QACP,SAAS;AAAA,QACT,eAAe;AAAA,QACf,WAAW;AAAA,QACX,QAAQ;AAAA,MACT;AAAA,MACD,iBAAiB;AAAA,QACf,SAAS;AAAA,QACT,SAAS;AAAA,MACV;AAAA,MACD,aAAa;AAAA,MACb,aAAa;AAAA,IACf;AAAA,EACD;AAAA,EACD,SAAS;AAAA,IACP,gBAAgB;AAEdA,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO;AAAA,QACP,MAAM;AAAA,OACP;AAAA,IACF;AAAA,IACD,qBAAqB;AACnB,WAAK,SAAS,UAAU,KAAK,gBAAgB,UAAU,MAAM,KAAK,gBAAgB;AAClFA,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO;AAAA,QACP,MAAM;AAAA,OACP;AAAA,IACF;AAAA,IACD,kBAAkB;AAEhBA,oBAAAA,MAAI,gBAAgB;AAAA,QAClB,UAAU,CAAC,OAAO,OAAO,OAAO,KAAK;AAAA,QACrC,SAAS,CAAC,QAAQ;AAChB,gBAAM,gBAAgB,CAAC,OAAO,OAAO,OAAO,KAAK;AACjD,eAAK,SAAS,YAAY,cAAc,IAAI,QAAQ;AAAA,QACtD;AAAA,OACD;AAAA,IACF;AAAA,IACD,eAAe;AAEbA,oBAAAA,MAAI,gBAAgB;AAAA,QAClB,UAAU,CAAC,OAAO,OAAO,OAAO,MAAM,IAAI;AAAA,QAC1C,SAAS,CAAC,QAAQ;AAChB,gBAAM,aAAa,CAAC,OAAO,OAAO,OAAO,MAAM,IAAI;AACnD,eAAK,SAAS,SAAS,WAAW,IAAI,QAAQ;AAAA,QAChD;AAAA,OACD;AAAA,IACF;AAAA,IACD,gBAAgB;AACd,WAAK,cAAc,CAAC,KAAK;AAAA,IAC1B;AAAA,IACD,gBAAgB;AAEdA,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO;AAAA,QACP,SAAS,SAAS,KAAK,WAAW;AAAA,QAClC,SAAS,CAAC,QAAQ;AAChB,cAAI,IAAI,SAAS;AACfA,0BAAAA,MAAI,UAAU;AAAA,cACZ,OAAO;AAAA,cACP,MAAM;AAAA,aACP;AAAA,UACH;AAAA,QACF;AAAA,OACD;AAAA,IACF;AAAA;AAAA,IAED,WAAW;AACTA,oBAAAA,MAAI,UAAU;AAAA,QACZ,KAAK;AAAA,OACN;AAAA,IACF;AAAA,IACD,cAAc;AACZA,oBAAAA,MAAI,UAAU;AAAA,QACZ,KAAK;AAAA,OACN;AAAA,IACH;AAAA,EACF;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjNA,GAAG,WAAW,eAAe;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/profile/profile.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/profile/profile.js.map
new file mode 100644
index 0000000..a061899
--- /dev/null
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/profile/profile.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"profile.js","sources":["pages/profile/profile.vue","C:/Users/Administrator/Downloads/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvcHJvZmlsZS9wcm9maWxlLnZ1ZQ"],"sourcesContent":["\r\n \r\n \r\n \r\n 9:41\r\n \r\n 📶\r\n 📶\r\n 🔋\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n 2\r\n 租赁设备\r\n \r\n \r\n ¥200.20\r\n 累计租金\r\n \r\n \r\n 365\r\n 租赁天数\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n ","import MiniProgramPage from 'D:/work/HBuilderProjects/HomeLease/pages/profile/profile.vue'\nwx.createPage(MiniProgramPage)"],"names":["uni"],"mappings":";;AA2GA,MAAK,YAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AACL,WAAO;AAAA,MACL,UAAU;AAAA,QACR,MAAM;AAAA,QACN,OAAO;AAAA,QACP,QAAQ;AAAA,MACT;AAAA,MACD,OAAO;AAAA,QACL,YAAY;AAAA,QACZ,WAAW;AAAA,QACX,WAAW;AAAA,MACb;AAAA,IACF;AAAA,EACD;AAAA,EACD,SAAS;AAAA,IACP,eAAe;AACbA,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO;AAAA,QACP,MAAM;AAAA,OACP;AAAA,IACF;AAAA,IACD,eAAe;AACbA,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO;AAAA,QACP,MAAM;AAAA,OACP;AAAA,IACF;AAAA,IACD,cAAc;AACZA,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO;AAAA,QACP,MAAM;AAAA,OACP;AAAA,IACF;AAAA,IACD,eAAe;AACbA,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO;AAAA,QACP,MAAM;AAAA,OACP;AAAA,IACF;AAAA,IACD,WAAW;AACTA,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO;AAAA,QACP,MAAM;AAAA,OACP;AAAA,IACF;AAAA,IACD,YAAY;AACVA,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO;AAAA,QACP,MAAM;AAAA,OACP;AAAA,IACF;AAAA,IACD,eAAe;AACbA,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO;AAAA,QACP,SAAS;AAAA,QACT,SAAS,CAAC,QAAQ;AAChB,cAAI,IAAI,SAAS;AACfA,0BAAAA,MAAI,UAAU;AAAA,cACZ,OAAO;AAAA,cACP,MAAM;AAAA,aACP;AAED,uBAAW,MAAM;AACfA,4BAAAA,MAAI,SAAS;AAAA,gBACX,KAAK;AAAA,eACN;AAAA,YACF,GAAE,IAAI;AAAA,UACT;AAAA,QACF;AAAA,OACD;AAAA,IACH;AAAA,EACF;AACF;;;;;;;;;;;;;ACpLA,GAAG,WAAW,eAAe;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/app.js b/unpackage/dist/dev/mp-weixin/app.js
index 2a36802..be7311c 100644
--- a/unpackage/dist/dev/mp-weixin/app.js
+++ b/unpackage/dist/dev/mp-weixin/app.js
@@ -5,6 +5,8 @@ const mixins_pageScrollMixin = require("./mixins/page-scroll-mixin.js");
if (!Math) {
"./pages/index/index.js";
"./pages/login/login.js";
+ "./pages/lease/lease.js";
+ "./pages/profile/profile.js";
}
const _sfc_main = {
onLaunch: function() {
diff --git a/unpackage/dist/dev/mp-weixin/app.json b/unpackage/dist/dev/mp-weixin/app.json
index 1e44aae..e43b757 100644
--- a/unpackage/dist/dev/mp-weixin/app.json
+++ b/unpackage/dist/dev/mp-weixin/app.json
@@ -1,10 +1,42 @@
{
- "pages": ["pages/index/index", "pages/login/login"],
+ "pages": [
+ "pages/index/index",
+ "pages/login/login",
+ "pages/lease/lease",
+ "pages/profile/profile"
+ ],
"window": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "设备租赁",
"navigationBarBackgroundColor": "#F8F8F8",
"backgroundColor": "#F8F8F8"
},
+ "tabBar": {
+ "color": "#999999",
+ "selectedColor": "#ff6b6b",
+ "backgroundColor": "#ffffff",
+ "borderStyle": "white",
+ "iconHeight": "24px",
+ "list": [
+ {
+ "pagePath": "pages/index/index",
+ "text": "首页",
+ "iconPath": "static/icons/home.png",
+ "selectedIconPath": "static/icons/home-active.png"
+ },
+ {
+ "pagePath": "pages/lease/lease",
+ "text": "申请租赁",
+ "iconPath": "static/icons/rent.png",
+ "selectedIconPath": "static/icons/rent-active.png"
+ },
+ {
+ "pagePath": "pages/profile/profile",
+ "text": "个人中心",
+ "iconPath": "static/icons/profile.png",
+ "selectedIconPath": "static/icons/profile-active.png"
+ }
+ ]
+ },
"usingComponents": {}
-}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/app.wxss b/unpackage/dist/dev/mp-weixin/app.wxss
index b2d1056..fbd5526 100644
--- a/unpackage/dist/dev/mp-weixin/app.wxss
+++ b/unpackage/dist/dev/mp-weixin/app.wxss
@@ -1,3 +1,51 @@
/*每个页面公共css */
+/* 自定义TabBar样式 */
+.uni-tabbar {
+ padding: 8px 0 4px 0;
+ box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05);
+}
+.uni-tabbar-item {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ padding: 4px 0;
+ min-height: 50px;
+}
+.uni-tabbar-item__icon {
+ margin-bottom: 4px;
+ width: 24px;
+ height: 24px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+.uni-tabbar-item__text {
+ font-size: 12px;
+ line-height: 1.2;
+ text-align: center;
+ margin-top: 2px;
+}
+/* 选中状态优化 */
+.uni-tabbar-item--selected .uni-tabbar-item__text {
+ font-weight: 500;
+}
+/* 图标和文字间距 */
+.uni-tabbar-item__icon + .uni-tabbar-item__text {
+ margin-top: 4px;
+}
+/* 整体间距优化 */
+.uni-tabbar__list {
+ display: flex;
+ justify-content: space-around;
+ align-items: center;
+ padding: 0 20px;
+}
+/* 安全区域适配 */
+@supports (padding-bottom: env(safe-area-inset-bottom)) {
+.uni-tabbar {
+ padding-bottom: calc(4px + env(safe-area-inset-bottom));
+}
+}
page{--status-bar-height:25px;--top-window-height:0px;--window-top:0px;--window-bottom:0px;--window-left:0px;--window-right:0px;--window-magin:0px}[data-c-h="true"]{display: none !important;}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/components/banner-swiper/banner-swiper.wxml b/unpackage/dist/dev/mp-weixin/components/banner-swiper/banner-swiper.wxml
index 414b9d5..bb63679 100644
--- a/unpackage/dist/dev/mp-weixin/components/banner-swiper/banner-swiper.wxml
+++ b/unpackage/dist/dev/mp-weixin/components/banner-swiper/banner-swiper.wxml
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/components/banner-swiper/banner-swiper.wxss b/unpackage/dist/dev/mp-weixin/components/banner-swiper/banner-swiper.wxss
index 80470f2..f709666 100644
--- a/unpackage/dist/dev/mp-weixin/components/banner-swiper/banner-swiper.wxss
+++ b/unpackage/dist/dev/mp-weixin/components/banner-swiper/banner-swiper.wxss
@@ -34,11 +34,6 @@
border-radius: 50% !important;
transition: all 0.3s ease !important;
}
-.swiper.data-v-f6b62634 [class*="swiper-dot-active"] {
- width: 82rpx !important;
- height: 14rpx;
- /* 选中时稍大 */
-}
.swiper .swiper-item.data-v-f6b62634 {
display: block;
height: 300rpx;
diff --git a/unpackage/dist/dev/mp-weixin/pages/index/index.js b/unpackage/dist/dev/mp-weixin/pages/index/index.js
index 17ffb33..6593e11 100644
--- a/unpackage/dist/dev/mp-weixin/pages/index/index.js
+++ b/unpackage/dist/dev/mp-weixin/pages/index/index.js
@@ -5,14 +5,12 @@ const HomeHeader = () => "../../components/home-header/home-header.js";
const AnnouncementBar = () => "../../components/announcement-bar/announcement-bar.js";
const BannerSwiper = () => "../../components/banner-swiper/banner-swiper.js";
const EquipmentList = () => "../../components/equipment-list/equipment-list.js";
-const BottomNav = () => "../../components/bottom-nav/bottom-nav.js";
const _sfc_main = {
components: {
HomeHeader,
AnnouncementBar,
BannerSwiper,
- EquipmentList,
- BottomNav
+ EquipmentList
},
data() {
return {
@@ -35,13 +33,13 @@ const _sfc_main = {
image: enum_commonEnum.commonEnum.TEMP1
},
{
- image: enum_commonEnum.commonEnum.TEMP2
- },
- {
- image: enum_commonEnum.commonEnum.TEMP3
+ image: enum_commonEnum.commonEnum.TEMP1
},
{
image: enum_commonEnum.commonEnum.TEMP2
+ },
+ {
+ image: enum_commonEnum.commonEnum.TEMP1
}
],
// 设备列表数据
@@ -121,16 +119,14 @@ if (!Array) {
const _easycom_announcement_bar2 = common_vendor.resolveComponent("announcement-bar");
const _easycom_banner_swiper2 = common_vendor.resolveComponent("banner-swiper");
const _easycom_equipment_list2 = common_vendor.resolveComponent("equipment-list");
- const _easycom_bottom_nav2 = common_vendor.resolveComponent("bottom-nav");
- (_easycom_home_header2 + _easycom_announcement_bar2 + _easycom_banner_swiper2 + _easycom_equipment_list2 + _easycom_bottom_nav2)();
+ (_easycom_home_header2 + _easycom_announcement_bar2 + _easycom_banner_swiper2 + _easycom_equipment_list2)();
}
const _easycom_home_header = () => "../../components/home-header/home-header.js";
const _easycom_announcement_bar = () => "../../components/announcement-bar/announcement-bar.js";
const _easycom_banner_swiper = () => "../../components/banner-swiper/banner-swiper.js";
const _easycom_equipment_list = () => "../../components/equipment-list/equipment-list.js";
-const _easycom_bottom_nav = () => "../../components/bottom-nav/bottom-nav.js";
if (!Math) {
- (_easycom_home_header + _easycom_announcement_bar + _easycom_banner_swiper + _easycom_equipment_list + _easycom_bottom_nav)();
+ (_easycom_home_header + _easycom_announcement_bar + _easycom_banner_swiper + _easycom_equipment_list)();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {
@@ -158,12 +154,6 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
j: common_vendor.p({
["equipment-list"]: $data.equipmentList,
title: $data.equipmentTitle
- }),
- k: common_vendor.o($options.onNavClick),
- l: common_vendor.p({
- ["active-index"]: $data.activeNavIndex,
- ["icon-config"]: $data.commonEnum,
- ["nav-items"]: $data.navItems
})
};
}
diff --git a/unpackage/dist/dev/mp-weixin/pages/index/index.json b/unpackage/dist/dev/mp-weixin/pages/index/index.json
index fe1a3e3..8360cb0 100644
--- a/unpackage/dist/dev/mp-weixin/pages/index/index.json
+++ b/unpackage/dist/dev/mp-weixin/pages/index/index.json
@@ -5,7 +5,6 @@
"home-header": "../../components/home-header/home-header",
"announcement-bar": "../../components/announcement-bar/announcement-bar",
"banner-swiper": "../../components/banner-swiper/banner-swiper",
- "equipment-list": "../../components/equipment-list/equipment-list",
- "bottom-nav": "../../components/bottom-nav/bottom-nav"
+ "equipment-list": "../../components/equipment-list/equipment-list"
}
-}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/index/index.wxml b/unpackage/dist/dev/mp-weixin/pages/index/index.wxml
index 39f6fe0..90f55ec 100644
--- a/unpackage/dist/dev/mp-weixin/pages/index/index.wxml
+++ b/unpackage/dist/dev/mp-weixin/pages/index/index.wxml
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/index/index.wxss b/unpackage/dist/dev/mp-weixin/pages/index/index.wxss
index 2001c6b..8ca2143 100644
--- a/unpackage/dist/dev/mp-weixin/pages/index/index.wxss
+++ b/unpackage/dist/dev/mp-weixin/pages/index/index.wxss
@@ -25,6 +25,7 @@
/* 文章场景相关 */
.home-container.data-v-1cf27b2a {
background: linear-gradient(to bottom, #ffddca 0px, #ffddca 450rpx, #f5f5f5 450rpx, #f5f5f5 100%);
+ min-height: 100vh;
padding-bottom: 120rpx;
/* 为底部导航留出空间 */
max-width: 750rpx;
diff --git a/unpackage/dist/dev/mp-weixin/pages/lease/lease.js b/unpackage/dist/dev/mp-weixin/pages/lease/lease.js
new file mode 100644
index 0000000..29574cf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/pages/lease/lease.js
@@ -0,0 +1,116 @@
+"use strict";
+const common_vendor = require("../../common/vendor.js");
+const _sfc_main = {
+ name: "LeasePage",
+ data() {
+ return {
+ formData: {
+ name: "张珊珊",
+ phone: "",
+ address: "",
+ detailAddress: "",
+ equipment: "",
+ period: "1年"
+ },
+ currentLocation: {
+ company: "福鼎创特物联科技有限公司",
+ address: "福建宁德市福鼎市"
+ },
+ showDetails: false,
+ totalAmount: "100.10"
+ };
+ },
+ methods: {
+ selectAddress() {
+ common_vendor.index.showToast({
+ title: "选择地址功能",
+ icon: "none"
+ });
+ },
+ useCurrentLocation() {
+ this.formData.address = this.currentLocation.company + " " + this.currentLocation.address;
+ common_vendor.index.showToast({
+ title: "已使用当前定位",
+ icon: "success"
+ });
+ },
+ selectEquipment() {
+ common_vendor.index.showActionSheet({
+ itemList: ["节能灶", "燃烧器", "燃气灶", "电磁炉"],
+ success: (res) => {
+ const equipmentList = ["节能灶", "燃烧器", "燃气灶", "电磁炉"];
+ this.formData.equipment = equipmentList[res.tapIndex];
+ }
+ });
+ },
+ selectPeriod() {
+ common_vendor.index.showActionSheet({
+ itemList: ["1个月", "3个月", "6个月", "1年", "2年"],
+ success: (res) => {
+ const periodList = ["1个月", "3个月", "6个月", "1年", "2年"];
+ this.formData.period = periodList[res.tapIndex];
+ }
+ });
+ },
+ toggleDetails() {
+ this.showDetails = !this.showDetails;
+ },
+ handlePayment() {
+ common_vendor.index.showModal({
+ title: "确认支付",
+ content: `确认支付 ¥${this.totalAmount} 吗?`,
+ success: (res) => {
+ if (res.confirm) {
+ common_vendor.index.showToast({
+ title: "支付成功",
+ icon: "success"
+ });
+ }
+ }
+ });
+ },
+ // 页面跳转现在由系统tabBar处理
+ goToHome() {
+ common_vendor.index.switchTab({
+ url: "/pages/index/index"
+ });
+ },
+ goToProfile() {
+ common_vendor.index.switchTab({
+ url: "/pages/profile/profile"
+ });
+ }
+ }
+};
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+ return common_vendor.e({
+ a: $data.formData.name,
+ b: common_vendor.o(($event) => $data.formData.name = $event.detail.value),
+ c: $data.formData.phone,
+ d: common_vendor.o(($event) => $data.formData.phone = $event.detail.value),
+ e: common_vendor.t($data.formData.address || "选择收货地址"),
+ f: common_vendor.o((...args) => $options.selectAddress && $options.selectAddress(...args)),
+ g: $data.currentLocation
+ }, $data.currentLocation ? {
+ h: common_vendor.t($data.currentLocation.company),
+ i: common_vendor.t($data.currentLocation.address),
+ j: common_vendor.o((...args) => $options.useCurrentLocation && $options.useCurrentLocation(...args))
+ } : {}, {
+ k: $data.formData.detailAddress,
+ l: common_vendor.o(($event) => $data.formData.detailAddress = $event.detail.value),
+ m: common_vendor.t($data.formData.equipment || "选择设备类型"),
+ n: common_vendor.o((...args) => $options.selectEquipment && $options.selectEquipment(...args)),
+ o: common_vendor.t($data.formData.period || "1年"),
+ p: common_vendor.o((...args) => $options.selectPeriod && $options.selectPeriod(...args)),
+ q: common_vendor.t($data.totalAmount),
+ r: common_vendor.o((...args) => $options.handlePayment && $options.handlePayment(...args)),
+ s: $data.showDetails ? 1 : "",
+ t: common_vendor.o((...args) => $options.toggleDetails && $options.toggleDetails(...args)),
+ v: $data.showDetails
+ }, $data.showDetails ? {
+ w: common_vendor.t($data.totalAmount)
+ } : {});
+}
+const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-45bce28e"]]);
+wx.createPage(MiniProgramPage);
+//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/lease/lease.js.map
diff --git a/unpackage/dist/dev/mp-weixin/pages/lease/lease.json b/unpackage/dist/dev/mp-weixin/pages/lease/lease.json
new file mode 100644
index 0000000..c3ed554
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/pages/lease/lease.json
@@ -0,0 +1,5 @@
+{
+ "navigationBarTitleText": "租赁申请",
+ "navigationStyle": "custom",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/lease/lease.wxml b/unpackage/dist/dev/mp-weixin/pages/lease/lease.wxml
new file mode 100644
index 0000000..f15260f
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/pages/lease/lease.wxml
@@ -0,0 +1 @@
+9:41📶📶🔋姓名手机号地址{{e}}📍当前定位:{{h}}{{i}}详细位置租赁设备{{m}}>租赁周期{{o}}>租金¥{{w}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/lease/lease.wxss b/unpackage/dist/dev/mp-weixin/pages/lease/lease.wxss
new file mode 100644
index 0000000..d43cc80
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/pages/lease/lease.wxss
@@ -0,0 +1,277 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.lease-page.data-v-45bce28e {
+ min-height: 100vh;
+ background: linear-gradient(135deg, #ff9a9e 0%, #fecfef 100%);
+ position: relative;
+}
+.status-bar.data-v-45bce28e {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 20rpx 40rpx;
+ color: #fff;
+ font-size: 28rpx;
+}
+.status-bar .status-icons.data-v-45bce28e {
+ display: flex;
+ gap: 10rpx;
+}
+.header.data-v-45bce28e {
+ padding: 40rpx;
+ color: #fff;
+}
+.header .header-content.data-v-45bce28e {
+ position: relative;
+}
+.header .title-section.data-v-45bce28e {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-bottom: 40rpx;
+}
+.header .title-section .page-title.data-v-45bce28e {
+ font-size: 36rpx;
+ font-weight: bold;
+}
+.header .title-section .header-actions.data-v-45bce28e {
+ display: flex;
+ gap: 20rpx;
+}
+.header .title-section .header-actions .action-icon.data-v-45bce28e {
+ font-size: 32rpx;
+ width: 60rpx;
+ height: 60rpx;
+ background: rgba(255, 255, 255, 0.2);
+ border-radius: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+.header .product-info.data-v-45bce28e {
+ margin-bottom: 40rpx;
+}
+.header .product-info .product-name.data-v-45bce28e {
+ display: block;
+ font-size: 48rpx;
+ font-weight: bold;
+ margin-bottom: 20rpx;
+}
+.header .product-info .product-slogan.data-v-45bce28e {
+ font-size: 28rpx;
+ color: #ff6b35;
+}
+.header .header-graphic.data-v-45bce28e {
+ position: absolute;
+ right: 0;
+ top: 0;
+}
+.header .header-graphic .flame-graphic.data-v-45bce28e {
+ width: 120rpx;
+ height: 120rpx;
+ background: radial-gradient(circle, #ff6b35 0%, #ff9a9e 100%);
+ border-radius: 50%;
+ box-shadow: 0 0 40rpx rgba(255, 107, 53, 0.6);
+ animation: pulse-45bce28e 2s infinite;
+}
+.main-content.data-v-45bce28e {
+ background: #fff;
+ border-radius: 40rpx 40rpx 0 0;
+ margin-top: -20rpx;
+ padding: 40rpx;
+ min-height: 60vh;
+}
+.form-section.data-v-45bce28e {
+ margin-bottom: 60rpx;
+}
+.form-section .section-header.data-v-45bce28e {
+ display: flex;
+ align-items: center;
+ margin-bottom: 40rpx;
+}
+.form-section .section-header .section-indicator.data-v-45bce28e {
+ width: 8rpx;
+ height: 40rpx;
+ background: #ff4757;
+ border-radius: 4rpx;
+ margin-right: 20rpx;
+}
+.form-section .section-header .section-title.data-v-45bce28e {
+ font-size: 32rpx;
+ font-weight: bold;
+ color: #333;
+}
+.form-fields .form-item.data-v-45bce28e {
+ margin-bottom: 40rpx;
+}
+.form-fields .form-item .field-label.data-v-45bce28e {
+ display: block;
+ font-size: 28rpx;
+ color: #333;
+ margin-bottom: 20rpx;
+ font-weight: 500;
+}
+.form-fields .form-item .field-input.data-v-45bce28e {
+ width: 100%;
+ height: 80rpx;
+ border: 2rpx solid #e0e0e0;
+ border-radius: 12rpx;
+ padding: 0 20rpx;
+ font-size: 28rpx;
+ background: #f8f9fa;
+}
+.form-fields .form-item .field-input.data-v-45bce28e:focus {
+ border-color: #ff9a9e;
+ background: #fff;
+}
+.address-selector.data-v-45bce28e {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ height: 80rpx;
+ border: 2rpx solid #e0e0e0;
+ border-radius: 12rpx;
+ padding: 0 20rpx;
+ background: #f8f9fa;
+}
+.address-selector .address-text.data-v-45bce28e {
+ font-size: 28rpx;
+ color: #666;
+}
+.address-selector .map-icon.data-v-45bce28e {
+ font-size: 32rpx;
+}
+.location-info.data-v-45bce28e {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ background: #f5f5f5;
+ border-radius: 12rpx;
+ padding: 20rpx;
+ margin-bottom: 40rpx;
+}
+.location-info .location-details.data-v-45bce28e {
+ flex: 1;
+}
+.location-info .location-details .location-title.data-v-45bce28e {
+ display: block;
+ font-size: 26rpx;
+ color: #333;
+ margin-bottom: 10rpx;
+}
+.location-info .location-details .location-address.data-v-45bce28e {
+ font-size: 24rpx;
+ color: #666;
+}
+.location-info .use-location-btn.data-v-45bce28e {
+ background: #ff9a9e;
+ color: #fff;
+ border: none;
+ border-radius: 20rpx;
+ padding: 10rpx 30rpx;
+ font-size: 24rpx;
+}
+.selector.data-v-45bce28e {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ height: 80rpx;
+ border: 2rpx solid #e0e0e0;
+ border-radius: 12rpx;
+ padding: 0 20rpx;
+ background: #f8f9fa;
+}
+.selector .selector-text.data-v-45bce28e {
+ font-size: 28rpx;
+ color: #666;
+}
+.selector .arrow-icon.data-v-45bce28e {
+ font-size: 24rpx;
+ color: #999;
+}
+.payment-section .pay-button.data-v-45bce28e {
+ width: 100%;
+ height: 100rpx;
+ background: linear-gradient(135deg, #ff9a9e 0%, #fecfef 100%);
+ color: #fff;
+ border: none;
+ border-radius: 50rpx;
+ font-size: 32rpx;
+ font-weight: bold;
+ margin-bottom: 40rpx;
+ box-shadow: 0 10rpx 30rpx rgba(255, 154, 158, 0.3);
+}
+.payment-section .payment-details .details-header.data-v-45bce28e {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 20rpx 0;
+ border-bottom: 2rpx solid #f0f0f0;
+}
+.payment-section .payment-details .details-header .details-title.data-v-45bce28e {
+ font-size: 28rpx;
+ color: #333;
+}
+.payment-section .payment-details .details-header .details-arrow.data-v-45bce28e {
+ font-size: 24rpx;
+ color: #999;
+ transition: transform 0.3s;
+}
+.payment-section .payment-details .details-header .details-arrow.expanded.data-v-45bce28e {
+ transform: rotate(180deg);
+}
+.payment-section .payment-details .details-content.data-v-45bce28e {
+ padding: 20rpx 0;
+}
+.payment-section .payment-details .details-content .detail-item.data-v-45bce28e {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-bottom: 20rpx;
+}
+.payment-section .payment-details .details-content .detail-item .detail-label.data-v-45bce28e {
+ font-size: 28rpx;
+ color: #333;
+}
+.payment-section .payment-details .details-content .detail-item .detail-value.data-v-45bce28e {
+ font-size: 28rpx;
+ color: #ff4757;
+ font-weight: bold;
+}
+@keyframes pulse-45bce28e {
+0% {
+ transform: scale(1);
+ opacity: 1;
+}
+50% {
+ transform: scale(1.1);
+ opacity: 0.8;
+}
+100% {
+ transform: scale(1);
+ opacity: 1;
+}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/profile/profile.js b/unpackage/dist/dev/mp-weixin/pages/profile/profile.js
new file mode 100644
index 0000000..f77ad94
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/pages/profile/profile.js
@@ -0,0 +1,90 @@
+"use strict";
+const common_vendor = require("../../common/vendor.js");
+const _sfc_main = {
+ name: "ProfilePage",
+ data() {
+ return {
+ userInfo: {
+ name: "张珊珊",
+ phone: "138****8888",
+ avatar: "张"
+ },
+ stats: {
+ leaseCount: 2,
+ totalRent: "¥200.20",
+ leaseDays: 365
+ }
+ };
+ },
+ methods: {
+ goToMyLeases() {
+ common_vendor.index.showToast({
+ title: "我的租赁",
+ icon: "none"
+ });
+ },
+ goToPayments() {
+ common_vendor.index.showToast({
+ title: "支付记录",
+ icon: "none"
+ });
+ },
+ goToAddress() {
+ common_vendor.index.showToast({
+ title: "收货地址",
+ icon: "none"
+ });
+ },
+ goToSettings() {
+ common_vendor.index.showToast({
+ title: "设置",
+ icon: "none"
+ });
+ },
+ goToHelp() {
+ common_vendor.index.showToast({
+ title: "帮助中心",
+ icon: "none"
+ });
+ },
+ goToAbout() {
+ common_vendor.index.showToast({
+ title: "关于我们",
+ icon: "none"
+ });
+ },
+ handleLogout() {
+ common_vendor.index.showModal({
+ title: "确认退出",
+ content: "确定要退出登录吗?",
+ success: (res) => {
+ if (res.confirm) {
+ common_vendor.index.showToast({
+ title: "已退出登录",
+ icon: "success"
+ });
+ setTimeout(() => {
+ common_vendor.index.reLaunch({
+ url: "/pages/login/login"
+ });
+ }, 1500);
+ }
+ }
+ });
+ }
+ }
+};
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+ return {
+ a: common_vendor.o((...args) => $options.goToMyLeases && $options.goToMyLeases(...args)),
+ b: common_vendor.o((...args) => $options.goToPayments && $options.goToPayments(...args)),
+ c: common_vendor.o((...args) => $options.goToAddress && $options.goToAddress(...args)),
+ d: common_vendor.o((...args) => $options.goToSettings && $options.goToSettings(...args)),
+ e: common_vendor.o((...args) => $options.goToHelp && $options.goToHelp(...args)),
+ f: common_vendor.o((...args) => $options.goToAbout && $options.goToAbout(...args)),
+ g: common_vendor.o((...args) => $options.handleLogout && $options.handleLogout(...args))
+ };
+}
+const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-dd383ca2"]]);
+wx.createPage(MiniProgramPage);
+//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/profile/profile.js.map
diff --git a/unpackage/dist/dev/mp-weixin/pages/profile/profile.json b/unpackage/dist/dev/mp-weixin/pages/profile/profile.json
new file mode 100644
index 0000000..1ef5014
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/pages/profile/profile.json
@@ -0,0 +1,5 @@
+{
+ "navigationBarTitleText": "个人中心",
+ "navigationStyle": "custom",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/profile/profile.wxml b/unpackage/dist/dev/mp-weixin/pages/profile/profile.wxml
new file mode 100644
index 0000000..aece3cd
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/pages/profile/profile.wxml
@@ -0,0 +1 @@
+9:41📶📶🔋2租赁设备¥200.20累计租金365租赁天数
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/profile/profile.wxss b/unpackage/dist/dev/mp-weixin/pages/profile/profile.wxss
new file mode 100644
index 0000000..45fae11
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/pages/profile/profile.wxss
@@ -0,0 +1,171 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.profile-page.data-v-dd383ca2 {
+ min-height: 100vh;
+ background: linear-gradient(135deg, #ff9a9e 0%, #fecfef 100%);
+ padding-bottom: 120rpx;
+ /* 为tabBar留出空间 */
+}
+.status-bar.data-v-dd383ca2 {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 20rpx 40rpx;
+ color: #fff;
+ font-size: 28rpx;
+}
+.status-bar .status-icons.data-v-dd383ca2 {
+ display: flex;
+ gap: 10rpx;
+}
+.user-header.data-v-dd383ca2 {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 40rpx;
+ color: #fff;
+}
+.user-header .user-info.data-v-dd383ca2 {
+ display: flex;
+ align-items: center;
+}
+.user-header .user-info .avatar.data-v-dd383ca2 {
+ width: 120rpx;
+ height: 120rpx;
+ background: rgba(255, 255, 255, 0.2);
+ border-radius: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-right: 30rpx;
+}
+.user-header .user-info .avatar .avatar-text.data-v-dd383ca2 {
+ font-size: 48rpx;
+ font-weight: bold;
+ color: #fff;
+}
+.user-header .user-info .user-details .user-name.data-v-dd383ca2 {
+ display: block;
+ font-size: 36rpx;
+ font-weight: bold;
+ margin-bottom: 10rpx;
+}
+.user-header .user-info .user-details .user-phone.data-v-dd383ca2 {
+ font-size: 28rpx;
+ opacity: 0.8;
+}
+.user-header .edit-btn.data-v-dd383ca2 {
+ width: 60rpx;
+ height: 60rpx;
+ background: rgba(255, 255, 255, 0.2);
+ border-radius: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+.user-header .edit-btn .edit-icon.data-v-dd383ca2 {
+ font-size: 32rpx;
+}
+.stats-section.data-v-dd383ca2 {
+ background: #fff;
+ margin: 0 40rpx;
+ border-radius: 20rpx;
+ padding: 40rpx;
+ display: flex;
+ justify-content: space-around;
+ box-shadow: 0 10rpx 30rpx rgba(0, 0, 0, 0.1);
+}
+.stats-section .stat-item.data-v-dd383ca2 {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+.stats-section .stat-item .stat-number.data-v-dd383ca2 {
+ font-size: 36rpx;
+ font-weight: bold;
+ color: #ff9a9e;
+ margin-bottom: 10rpx;
+}
+.stats-section .stat-item .stat-label.data-v-dd383ca2 {
+ font-size: 24rpx;
+ color: #666;
+}
+.menu-section.data-v-dd383ca2 {
+ margin: 40rpx;
+}
+.menu-section .menu-group.data-v-dd383ca2 {
+ background: #fff;
+ border-radius: 20rpx;
+ margin-bottom: 30rpx;
+ overflow: hidden;
+ box-shadow: 0 5rpx 20rpx rgba(0, 0, 0, 0.05);
+}
+.menu-section .menu-group .menu-item.data-v-dd383ca2 {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 30rpx 40rpx;
+ border-bottom: 2rpx solid #f5f5f5;
+}
+.menu-section .menu-group .menu-item.data-v-dd383ca2:last-child {
+ border-bottom: none;
+}
+.menu-section .menu-group .menu-item .menu-left.data-v-dd383ca2 {
+ display: flex;
+ align-items: center;
+}
+.menu-section .menu-group .menu-item .menu-left .menu-icon.data-v-dd383ca2 {
+ font-size: 40rpx;
+ margin-right: 30rpx;
+}
+.menu-section .menu-group .menu-item .menu-left .menu-title.data-v-dd383ca2 {
+ font-size: 32rpx;
+ color: #333;
+}
+.menu-section .menu-group .menu-item .menu-arrow.data-v-dd383ca2 {
+ font-size: 28rpx;
+ color: #999;
+}
+.menu-section .menu-group .menu-item.data-v-dd383ca2:active {
+ background: #f8f9fa;
+}
+.logout-section.data-v-dd383ca2 {
+ margin: 40rpx;
+}
+.logout-section .logout-btn.data-v-dd383ca2 {
+ width: 100%;
+ height: 100rpx;
+ background: #fff;
+ color: #ff4757;
+ border: 2rpx solid #ff4757;
+ border-radius: 50rpx;
+ font-size: 32rpx;
+ font-weight: bold;
+}
+.logout-section .logout-btn.data-v-dd383ca2:active {
+ background: #ff4757;
+ color: #fff;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/project.private.config.json b/unpackage/dist/dev/mp-weixin/project.private.config.json
index a6683ac..0e2d4c1 100644
--- a/unpackage/dist/dev/mp-weixin/project.private.config.json
+++ b/unpackage/dist/dev/mp-weixin/project.private.config.json
@@ -3,12 +3,19 @@
"miniprogram": {
"list": [
{
- "name": "pages/login/login",
- "pathName": "pages/login/login",
+ "name": "pages/lease/lease",
+ "pathName": "pages/lease/lease",
"query": "",
"scene": null,
"launchMode": "default"
},
+ {
+ "name": "pages/login/login",
+ "pathName": "pages/login/login",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
{
"name": "pages/index/index",
"pathName": "pages/index/index",
@@ -19,4 +26,4 @@
]
}
}
-}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/static/css/tabbar.css b/unpackage/dist/dev/mp-weixin/static/css/tabbar.css
new file mode 100644
index 0000000..36d4f5f
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/static/css/tabbar.css
@@ -0,0 +1,55 @@
+/* 自定义TabBar样式 */
+.uni-tabbar {
+ padding: 8px 0 4px 0;
+ box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05);
+}
+
+.uni-tabbar-item {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ padding: 4px 0;
+ min-height: 50px;
+}
+
+.uni-tabbar-item__icon {
+ margin-bottom: 4px;
+ width: 24px;
+ height: 24px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.uni-tabbar-item__text {
+ font-size: 12px;
+ line-height: 1.2;
+ text-align: center;
+ margin-top: 2px;
+}
+
+/* 选中状态优化 */
+.uni-tabbar-item--selected .uni-tabbar-item__text {
+ font-weight: 500;
+}
+
+/* 图标和文字间距 */
+.uni-tabbar-item__icon + .uni-tabbar-item__text {
+ margin-top: 4px;
+}
+
+/* 整体间距优化 */
+.uni-tabbar__list {
+ display: flex;
+ justify-content: space-around;
+ align-items: center;
+ padding: 0 20px;
+}
+
+/* 安全区域适配 */
+@supports (padding-bottom: env(safe-area-inset-bottom)) {
+ .uni-tabbar {
+ padding-bottom: calc(4px + env(safe-area-inset-bottom));
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/static/icons/README.md b/unpackage/dist/dev/mp-weixin/static/icons/README.md
new file mode 100644
index 0000000..a959f63
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/static/icons/README.md
@@ -0,0 +1,37 @@
+# 图标文件说明
+
+当前使用的图标已下载到本地,原始资源来自 `enum/commonEnum.js` 中定义的远程资源:
+
+## 首页图标
+- 未选中:`home.png` (原URL: https://api.ccttiot.com/image-1754981938495.png)
+- 选中:`home-active.png` (原URL: https://api.ccttiot.com/image-1754981895711.png)
+
+## 租赁图标
+- 未选中:`rent.png` (原URL: https://api.ccttiot.com/image-1754981988082.png)
+- 选中:`rent-active.png` (原URL: https://api.ccttiot.com/image-1754986634575.png)
+
+## 个人中心图标
+- 未选中:`profile.png` (原URL: https://api.ccttiot.com/image-1754986718771.png)
+- 选中:`profile-active.png` (原URL: https://api.ccttiot.com/image-1754986763842.png)
+
+## 图标配置
+- 未选中颜色:`#999999`
+- 选中颜色:`#ff6b6b`
+- 背景色:`#ffffff`
+- 边框样式:`white`
+- 高度:`60px`
+- 字体大小:`12px`
+- 图标尺寸:`24px x 24px`
+- 间距:`4px`
+
+## 相关文件
+- `pages.json` - tabBar配置
+- `enum/commonEnum.js` - 图标资源定义
+- `download-icons.js` - 图标下载脚本
+- `static/css/tabbar.css` - 自定义tabBar样式
+- `App.vue` - 全局样式引入
+
+## 注意事项
+- 微信小程序不支持在tabBar中使用网络图片
+- 图标已下载到本地 `static/icons/` 目录
+- 如需更新图标,请重新运行 `download-icons.js` 脚本
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/static/icons/home-active.png b/unpackage/dist/dev/mp-weixin/static/icons/home-active.png
new file mode 100644
index 0000000..3858c54
Binary files /dev/null and b/unpackage/dist/dev/mp-weixin/static/icons/home-active.png differ
diff --git a/unpackage/dist/dev/mp-weixin/static/icons/home.png b/unpackage/dist/dev/mp-weixin/static/icons/home.png
new file mode 100644
index 0000000..4987020
Binary files /dev/null and b/unpackage/dist/dev/mp-weixin/static/icons/home.png differ
diff --git a/unpackage/dist/dev/mp-weixin/static/icons/profile-active.png b/unpackage/dist/dev/mp-weixin/static/icons/profile-active.png
new file mode 100644
index 0000000..dd8eb4b
Binary files /dev/null and b/unpackage/dist/dev/mp-weixin/static/icons/profile-active.png differ
diff --git a/unpackage/dist/dev/mp-weixin/static/icons/profile.png b/unpackage/dist/dev/mp-weixin/static/icons/profile.png
new file mode 100644
index 0000000..c0d7a5b
Binary files /dev/null and b/unpackage/dist/dev/mp-weixin/static/icons/profile.png differ
diff --git a/unpackage/dist/dev/mp-weixin/static/icons/rent-active.png b/unpackage/dist/dev/mp-weixin/static/icons/rent-active.png
new file mode 100644
index 0000000..a36d2c4
Binary files /dev/null and b/unpackage/dist/dev/mp-weixin/static/icons/rent-active.png differ
diff --git a/unpackage/dist/dev/mp-weixin/static/icons/rent.png b/unpackage/dist/dev/mp-weixin/static/icons/rent.png
new file mode 100644
index 0000000..6fd368f
Binary files /dev/null and b/unpackage/dist/dev/mp-weixin/static/icons/rent.png differ