From 56bcc8b672fb0db2c2b8cc69c7ce59dfc46e39a2 Mon Sep 17 00:00:00 2001 From: fanshuai Date: Tue, 29 Apr 2025 16:46:25 +0800 Subject: [PATCH] 2025/4/29/(1) --- app/api/base.js | 8 ++- app/api/index.js | 10 ++- app/components/back-to-top/back-to-top.js | 22 +++++++ app/components/back-to-top/back-to-top.json | 4 ++ app/components/back-to-top/back-to-top.wxml | 3 + app/components/back-to-top/back-to-top.wxss | 18 ++++++ app/components/goods-list/goods-list.js | 5 +- app/components/goods-list/goods-list.wxml | 66 +++---------------- app/components/goods-list/goods-list.wxss | 16 ++++- app/images/arrow-up.png | Bin 0 -> 2093 bytes app/images/gouwuche2.png | Bin 0 -> 3174 bytes app/pages/index/index.js | 67 ++++++++++++++++++-- app/pages/index/index.json | 5 +- app/pages/index/index.wxml | 19 +++++- app/pages/index/index.wxss | 10 +-- app/pages/search/search.js | 4 ++ app/pages/search/search.json | 3 +- app/pages/search/search.wxml | 2 + app/utils/request.js | 6 +- 19 files changed, 179 insertions(+), 89 deletions(-) create mode 100644 app/components/back-to-top/back-to-top.js create mode 100644 app/components/back-to-top/back-to-top.json create mode 100644 app/components/back-to-top/back-to-top.wxml create mode 100644 app/components/back-to-top/back-to-top.wxss create mode 100644 app/images/arrow-up.png create mode 100644 app/images/gouwuche2.png diff --git a/app/api/base.js b/app/api/base.js index ac9e069..43c1115 100644 --- a/app/api/base.js +++ b/app/api/base.js @@ -1,5 +1,7 @@ module.exports = { - bauseUrl:"http://192.168.2.123:8084", - banner:"/api/banner", - goods:/api/front/pageList/suggest + // bauseUrl:"http://iwenwiki.com:3001",//公共地址 + bauseUrl:"http://192.168.2.192:8084", + // goods:"/api/goods", //商品列表 + goods:"/api/front/pagelist/product/0? page=1&limit=10", + } \ No newline at end of file diff --git a/app/api/index.js b/app/api/index.js index 1563d7a..717bba7 100644 --- a/app/api/index.js +++ b/app/api/index.js @@ -1,7 +1,11 @@ -const {require} = require("../utils/request") -const { goods} = require("./base") +const {request} = require("../utils/request") +const { goods, bauseUrl} = require("./base") function getGoods(data){ - return request() + return request(bauseUrl + goods,"GET",data) +} + +module.exports = { + getGoods } \ No newline at end of file diff --git a/app/components/back-to-top/back-to-top.js b/app/components/back-to-top/back-to-top.js new file mode 100644 index 0000000..cf3927c --- /dev/null +++ b/app/components/back-to-top/back-to-top.js @@ -0,0 +1,22 @@ +Component({ + properties: { + // 是否显示返回顶部按钮 + show: { + type: Boolean, + value: false, + observer: function(newVal) { + this.setData({ isVisible: newVal }); + } + } + }, + data: { + isVisible: false + }, + methods: { + // 触发父页面的返回顶部方法 + scrollToTop() { + // 使用 triggerEvent 触发父页面的事件 + this.triggerEvent('scrolltomain'); + } + } +}); \ No newline at end of file diff --git a/app/components/back-to-top/back-to-top.json b/app/components/back-to-top/back-to-top.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/app/components/back-to-top/back-to-top.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/app/components/back-to-top/back-to-top.wxml b/app/components/back-to-top/back-to-top.wxml new file mode 100644 index 0000000..a665762 --- /dev/null +++ b/app/components/back-to-top/back-to-top.wxml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/app/components/back-to-top/back-to-top.wxss b/app/components/back-to-top/back-to-top.wxss new file mode 100644 index 0000000..74dbac5 --- /dev/null +++ b/app/components/back-to-top/back-to-top.wxss @@ -0,0 +1,18 @@ +.back-to-top { + position: fixed; + bottom: 50px; + right: 20px; + width: 50px; + height: 50px; + background-color: rgba(85, 84, 84, 0.5); + border-radius: 50%; + display: flex; + justify-content: center; + align-items: center; + z-index: 1000; +} + +.back-to-top image { + width: 35px; + height: 35px; +} diff --git a/app/components/goods-list/goods-list.js b/app/components/goods-list/goods-list.js index bac4bc5..f3f9df6 100644 --- a/app/components/goods-list/goods-list.js +++ b/app/components/goods-list/goods-list.js @@ -5,7 +5,10 @@ Component({ * 组件的属性列表 */ properties: { - + goodsData: { + type: Array, + value: [] + } }, /** diff --git a/app/components/goods-list/goods-list.wxml b/app/components/goods-list/goods-list.wxml index 197dd4e..4c0fcae 100644 --- a/app/components/goods-list/goods-list.wxml +++ b/app/components/goods-list/goods-list.wxml @@ -1,67 +1,17 @@ - + - + - 松下(Panasonic)DC-BS1HGK微单相机 数码相机 模块化摄影机 视频 直播多机位 电影 + {{item.storeName}} + 规格:{{item.size}} - ¥21298.00 - - + {{item.price}} + + + - - - - - - 松下(Panasonic)DC-BS1HGK微单相机 数码相机 模块化摄影机 视频 直播多机位 电影 - - ¥21298.00 - - - - - - - - - 松下(Panasonic)DC-BS1HGK微单相机 数码相机 模块化摄影机 视频 直播多机位 电影 - - ¥21298.00 - - - - - - - - - 松下(Panasonic)DC-BS1HGK微单相机 数码相机 模块化摄影机 视频 直播多机位 电影 - - ¥21298.00 - - - - - - - - - 松下(Panasonic)DC-BS1HGK微单相机 数码相机 模块化摄影机 视频 直播多机位 电影 - - ¥21298.00 - - - - - - - - - 松下(Panasonic)DC-BS1HGK微单相机 数码相机 模块化摄影机 视频 直播多机位 电影 - - ¥21298.00 diff --git a/app/components/goods-list/goods-list.wxss b/app/components/goods-list/goods-list.wxss index 9a902d2..15de161 100644 --- a/app/components/goods-list/goods-list.wxss +++ b/app/components/goods-list/goods-list.wxss @@ -18,7 +18,7 @@ font-size: 14px; text-align: left; line-height:1.05rem; - height: 4.8rem; + height: 2rem; font-family: -apple-system,'Helvetica Neue', sans-serif; overflow: hidden; display: -webkit-box; @@ -33,4 +33,18 @@ } .list .item .goods_info .goods_price text{ font-size: 1rem; +} +.goods_weight{ + color: rgb(107, 107, 107); + font-size: 15px; +} +.cart-icon{ + height: 25px; + width: 25px; + margin-right: 10px; +} +.list .item .goods_info .goods_price{ + display: flex; + align-items:center; + justify-content:space-between; } \ No newline at end of file diff --git a/app/images/arrow-up.png b/app/images/arrow-up.png new file mode 100644 index 0000000000000000000000000000000000000000..a67c56d5730b2329056348938a7cde9605ab66b7 GIT binary patch literal 2093 zcmd5;YgCfi8b$;`QiIG;14L!;R9;d`%p^fS5zKTnP0d@PHZ$cV4ZAQ}p=%PSQbAEu zNl#u{<}LF!nYTG!DNWMKGBuBK63pzVI36#>`I?#k=ijXJV_(+$ywCHzd#}CM-s#_Z zx@n^fQ4k13o5citz;WPfLu!D1O+f7(2n3;I0d(I>MIR@RCE)yabS))OshH`Z?>+a= zz)If)pzIEq>F?_+u;|sy^17CkVr_QrvV|A3sEh5w9DiK|iHA!2(7bO2dlC`Q(uLaL zwa`@+R`Aa`y_)Kc(#+h)sgPf=Jctfd4F`kTBVp&z$Y~B6|j}7Wn-<;N~#! zw!E*tn2RG9(smI#%n7V-g1AMR3FrSFUerbr%;t1fx9)pPyJn2}Uz@M_AgrglR%T0$ z^>g5QPsv4(kfJvG$$eh1=kg|+$4Z{j&LDjhGs9-_D4-Q z=0E8NY#gEKWenUlV22tHkP(@G<$6SLHm=zgd`d6UL{6#+6vOreVBka%-6%L`d%rruXiBT&R1 z_#66QHiu7h$f4m{_8vN-ihERL)(8;sEON%7O^fLUttpaiA{}AzrfRse{Z_@+q_m)t&O2Q3t{JlmDHtlnfJl>mMunvOU+F_DGu3m=EEV+pzfrKS8- z`p3N9mHR?x!;J`BMGWyea|6qnmYeE~x_+JOan5CS%| zoAg(s##=6V8-JX<9~1F>W8oqkKk?j7XVp3Gy>qVI6zxKqL^ z>{c3pnXxc&6NQ7T_(anZG-5fg#(xX150eb-etp32u#PPNW{+z+oUKarKN+_(&0sI6 zGz1qn?X=agjRdg*5WAO%6D6%o*V&w189(lV0PE{0X*l7-@9shNpjlM-su`VJcIIaJfGS^tr3PZlnS9Tv(^kW!bD?FsK%0wjvA4unCz}l> zTmiWZ%lLd>b!%X`u*4R1s5jh4rw1*mDamf1nAu+m)(aSQdcI1y*)2o!1J{@-p3N6B zejfVpcJ7cJ$M7~kDXG=}&Old!W>58b65T9_o8A7(shMLK_}jQ&@<{&`liM(MD<7b~ z%$%j!>_}9^G=A0-=EvtxK&?Z7yIvhvq+{82$@~swMf3I>v+lBY+-i#pIC4MD10jf9 z4J4(PQ@qzSf|$lS$JdrV91{&ToiUL3Z`2QxbS38PwXKwV);E7bFPhF^G(0g7-i$@q2}3sSEAItviUxT6tz&bwM?XJ2<5X@{ zwP<*pc={)%aLeeW4a+Lo??U{Q)?BxZwt*q26I--mE7d?<$ ZsHm81_?fxbOW-#E!gBQlYMoD|{1?4_Z|492 literal 0 HcmV?d00001 diff --git a/app/images/gouwuche2.png b/app/images/gouwuche2.png new file mode 100644 index 0000000000000000000000000000000000000000..33cd82b33cc1ce5b1c997417fc096d1abee3fa1a GIT binary patch literal 3174 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 Jovw4tzX10B=Rg1e literal 0 HcmV?d00001 diff --git a/app/pages/index/index.js b/app/pages/index/index.js index 242a0d8..5794ad5 100644 --- a/app/pages/index/index.js +++ b/app/pages/index/index.js @@ -1,6 +1,10 @@ +const { + getGoods +} = require("../../api/index.js") Page({ data: { value: "", + showBackToTop: false, navData: [{ id: "1", text: "即将开团", @@ -19,14 +23,65 @@ Page({ icon: "stop-circle-o", color: "#36ab60" } - ] + ], + page: 1, + goodsData: [] }, + onLoad() { + this.http(this.data.page) + }, + /* 点击搜索框获取焦点 - */ - clickSearch(){ -wx.navigateTo({ - url: '/pages/search/search', -}) + */ + clickSearch() { + wx.navigateTo({ + url: '/pages/search/search', + }) + }, + onScroll(event) { + // 获取滚动位置 + const scrollTop = event.detail.scrollTop; + // 当滚动到一定位置时显示返回顶部按钮 + this.setData({ + showBackToTop: scrollTop > 300 + }); + + }, + handleScrollToTop() { + // console.log("尝试返回顶部"); + wx.pageScrollTo({ + scrollTop: 0, + duration: 300, + // success: () => console.log("返回顶部成功"), + // fail: (err) => console.error("返回顶部失败", err) + }); + }, + + http(page) { + getGoods({ + page + }).then(res => { + if (!res.data.msg) { + this.setData({ + // 老数据合并新数据,做累加操作 + goodsData: this.data.goodsData.concat(res.data.data) + }) + } else { + //给出用户提示 + wx.showToast({ + title: res.data.msg, + icon: "success", + duration: 2000 + }) + } + }) + }, + onScrollToLower() { + // 更改页面 + this.setData({ + page: this.data.page += 1 + }) + this.http(this.data.page) } }) \ No newline at end of file diff --git a/app/pages/index/index.json b/app/pages/index/index.json index fa29c04..614852e 100644 --- a/app/pages/index/index.json +++ b/app/pages/index/index.json @@ -4,7 +4,8 @@ "van-search": "@vant/weapp/search/index", "van-grid": "@vant/weapp/grid/index", "van-grid-item": "@vant/weapp/grid-item/index", - "goods-list":"/components/goods-list/goods-list" + "goods-list":"/components/goods-list/goods-list", + "back-to-top":"/components/back-to-top/back-to-top" } - + } \ No newline at end of file diff --git a/app/pages/index/index.wxml b/app/pages/index/index.wxml index bad0cfc..c9aa913 100644 --- a/app/pages/index/index.wxml +++ b/app/pages/index/index.wxml @@ -1,4 +1,7 @@ + + + + + 已经到底啦,往上看看吧 + + + + diff --git a/app/pages/index/index.wxss b/app/pages/index/index.wxss index f485303..83765b2 100644 --- a/app/pages/index/index.wxss +++ b/app/pages/index/index.wxss @@ -19,13 +19,7 @@ display: flex; flex-direction: column; } -/* .head_c{ - position: relative; - bottom: 10px; - display: flex; - align-items:center; - justify-content:space-between; -} */ + .van-search{ width: 360px; } @@ -46,4 +40,4 @@ right: 85px; margin-top: 60px; padding: 10px; overflow-y: auto; -} \ No newline at end of file +} diff --git a/app/pages/search/search.js b/app/pages/search/search.js index dfb045f..a65e11e 100644 --- a/app/pages/search/search.js +++ b/app/pages/search/search.js @@ -1,3 +1,6 @@ +const { + getGoods +} = require("../../api/index.js") Page({ /** @@ -5,6 +8,7 @@ Page({ */ data: { searchText: "" + }, /** diff --git a/app/pages/search/search.json b/app/pages/search/search.json index b640ba8..0741097 100644 --- a/app/pages/search/search.json +++ b/app/pages/search/search.json @@ -1,6 +1,7 @@ { "usingComponents": { "van-search": "@vant/weapp/search/index", - "van-button": "@vant/weapp/button/index" + "van-button": "@vant/weapp/button/index", + "goods-list":"/components/goods-list/goods-list" } } \ No newline at end of file diff --git a/app/pages/search/search.wxml b/app/pages/search/search.wxml index 18b1d04..3168361 100644 --- a/app/pages/search/search.wxml +++ b/app/pages/search/search.wxml @@ -9,4 +9,6 @@ 搜索 + + diff --git a/app/utils/request.js b/app/utils/request.js index dd34843..46af07b 100644 --- a/app/utils/request.js +++ b/app/utils/request.js @@ -9,13 +9,13 @@ function request(url, method, data) { mask: true }); - const promise = new Promise((resolve, reject) => { // 修正:Pomise → Promise + const promise = new Promise((resolve, reject) => { // 修正:Pomise → Promise wx.request({ url: url, - method: method.toUpperCase(), // 确保 method 是大写(GET/POST) + method: method.toUpperCase(), // 确保 method 是大写(GET/POST) data: data, header: { - 'Content-Type': 'application/x-www-form-urlencoded' // 默认表单格式 + 'Content-Type': 'application/x-www-form-urlencoded' // 默认表单格式 }, success(res) { resolve(res);