diff --git a/app.json b/app.json index 8b5c5c9..d6658cb 100644 --- a/app.json +++ b/app.json @@ -20,7 +20,9 @@ "pages/store/info", "pages/order/index", "pages/knowlage/index", - "pages/knowlage/info" + "pages/knowlage/info", + "pages/badge/more", + "pages/badge/info" ], "window": { "navigationBarTextStyle": "black", diff --git a/pages/badge/index.js b/pages/badge/index.js index 015f4bb..a3c7d36 100644 --- a/pages/badge/index.js +++ b/pages/badge/index.js @@ -1,3 +1,5 @@ +const { api } = require("../../utils/api") + // pages/badge/index.js Page({ @@ -5,44 +7,15 @@ Page({ * 页面的初始数据 */ data: { - pics: [ - 'https://tdesign.gtimg.com/mobile/demos/avatar1.png', - 'https://tdesign.gtimg.com/mobile/demos/avatar2.png', - 'https://tdesign.gtimg.com/mobile/demos/avatar3.png', - 'https://tdesign.gtimg.com/mobile/demos/avatar4.png', - 'https://tdesign.gtimg.com/mobile/demos/avatar5.png', - 'https://tdesign.gtimg.com/mobile/demos/avatar1.png', - ], - - list:[ - { - title:'养护徽章', - badge:'勤劳小园丁', - tips:'累计浇水 10 次' - }, - { - title:'成长徽章', - badge:'花开有时', - tips:'第一次开花' - }, - { - title:'收藏徽章', - badge:'花园掌柜', - tips:'添加 20 株' - }, - { - title:'挑战徽章', - badge:'人气花匠', - tips:'帖子获得 10 个赞' - } - ] + myList: [], + list:[] }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { - + }, /** @@ -56,9 +29,31 @@ Page({ * 生命周期函数--监听页面显示 */ onShow() { + this.fetchList() + }, + fetchList(){ + api('/badge/my/list','POST',{current:0, pageSize:999},'json').then(res => { + if (res.code === 200) { + const tmps = res.data.list + this.setData({myList:tmps}) + } + }) + api('/badge/all','GET',{current:0, pageSize:999},'json').then(res => { + if (res.code === 200) { + const tmps = res.data + this.setData({list:tmps}) + } + }) }, + goMore(e){ + const list = e.currentTarget.dataset.list + wx.setStorageSync('badges', JSON.stringify(list)) + wx.navigateTo({ + url: '../badge/more', + }) + }, /** * 生命周期函数--监听页面隐藏 */ diff --git a/pages/badge/index.wxml b/pages/badge/index.wxml index 373d51a..1d1ea23 100644 --- a/pages/badge/index.wxml +++ b/pages/badge/index.wxml @@ -1,62 +1,51 @@ - - - - - Nov - - - 1 - - - - - - - + + 我的徽章 + + + + {{myList[0].name}} + {{myList[0].desc}} + {{myList[0].createdAtStr}} + + + + + 已经获取{{myList.length}} 个 + 查看全部 + - 已有100名参与月度挑战 - - - - - - - - 多肉收割者挑战赛 - - 我的徽章 - + + 全部徽章 {{item.title}} - + - {{item.badge}} + {{item.categoryName}} {{item.tips}} - - - - + + + - 查看更多 + 查看更多 diff --git a/pages/badge/index.wxss b/pages/badge/index.wxss index 025e744..93d72e7 100644 --- a/pages/badge/index.wxss +++ b/pages/badge/index.wxss @@ -3,7 +3,7 @@ height: 380rpx; width: 100%; border-radius: 16rpx; - background-image: url("https://res.catter.cn/pub/2025/11/18/20251118170102998.jpeg"); + background-repeat: no-repeat; background-position: center center; diff --git a/pages/badge/info.js b/pages/badge/info.js new file mode 100644 index 0000000..8b865d7 --- /dev/null +++ b/pages/badge/info.js @@ -0,0 +1,77 @@ +const { api } = require("../../utils/api") + +// pages/badge/info.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + id:'', + info:null + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + this.data.id = options.id + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + this.fetchInfo() + }, + + fetchInfo(){ + api("/badge/detail",'GET',{id:this.data.id}).then(res => { + if (res.code === 200){ + this.setData({info:res.data}) + } + }) + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/pages/badge/info.json b/pages/badge/info.json new file mode 100644 index 0000000..8bb90cf --- /dev/null +++ b/pages/badge/info.json @@ -0,0 +1,6 @@ +{ + "navigationBarBackgroundColor": "#000", + "navigationBarTextStyle":"white", + "navigationBarTitleText": "徽章", + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/badge/info.wxml b/pages/badge/info.wxml new file mode 100644 index 0000000..fc98f3c --- /dev/null +++ b/pages/badge/info.wxml @@ -0,0 +1,15 @@ + + + + + + {{info.name}} + + + {{info.desc}} + + + 返回 + + + \ No newline at end of file diff --git a/pages/badge/info.wxss b/pages/badge/info.wxss new file mode 100644 index 0000000..cc92cd9 --- /dev/null +++ b/pages/badge/info.wxss @@ -0,0 +1,9 @@ +/* pages/badge/info.wxss */ +page { + background-color: black; +} + +.pic { + width: 320rpx; + height: 320rpx; +} \ No newline at end of file diff --git a/pages/badge/more.js b/pages/badge/more.js new file mode 100644 index 0000000..799e8f3 --- /dev/null +++ b/pages/badge/more.js @@ -0,0 +1,81 @@ +// pages/badge/more.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + list:[] + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + this.init() + }, + init(){ + const tmps = wx.getStorageSync('badges') + if (tmps){ + this.setData({list: JSON.parse(tmps)}) + } + }, + + goInfo(e){ + const id = e.currentTarget.dataset.id + wx.navigateTo({ + url: '../badge/info?id='+ id, + }) + }, + + + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/pages/badge/more.json b/pages/badge/more.json new file mode 100644 index 0000000..8bb90cf --- /dev/null +++ b/pages/badge/more.json @@ -0,0 +1,6 @@ +{ + "navigationBarBackgroundColor": "#000", + "navigationBarTextStyle":"white", + "navigationBarTitleText": "徽章", + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/badge/more.wxml b/pages/badge/more.wxml new file mode 100644 index 0000000..9e8ed30 --- /dev/null +++ b/pages/badge/more.wxml @@ -0,0 +1,9 @@ + + + + + + {{item.name}} + + + \ No newline at end of file diff --git a/pages/badge/more.wxss b/pages/badge/more.wxss new file mode 100644 index 0000000..9c7504f --- /dev/null +++ b/pages/badge/more.wxss @@ -0,0 +1,16 @@ +/* pages/badge/more.wxss */ +page { + background-color: black; +} +.grid { + display: grid; + grid-template-columns: auto auto auto; + grid-row-gap: 38px; + grid-column-gap: 38px; +} + +.badge { + width: 150rpx; + height: 150rpx; + border-radius: 150rpx; +} \ No newline at end of file diff --git a/pages/community/index.wxml b/pages/community/index.wxml index 8281b83..1d95ac8 100644 --- a/pages/community/index.wxml +++ b/pages/community/index.wxml @@ -12,7 +12,7 @@ {{item.user.name}} - {{item.createdAt}} + {{item.createdAtStr}} diff --git a/pages/community/info.wxml b/pages/community/info.wxml index 0be6586..dd1cd87 100644 --- a/pages/community/info.wxml +++ b/pages/community/info.wxml @@ -6,7 +6,7 @@ {{info.user.name}} - {{info.createdAt}} + {{info.createdAtStr}} @@ -45,7 +45,7 @@ {{item.user.name}} - {{item.createdAt}} + {{item.createdAtStr}} diff --git a/pages/garden/components/growth.js b/pages/garden/components/growth.js new file mode 100644 index 0000000..883975b --- /dev/null +++ b/pages/garden/components/growth.js @@ -0,0 +1,28 @@ +// pages/garden/components/growth.js +Component({ + + /** + * 组件的属性列表 + */ + properties: { + + }, + + /** + * 组件的初始数据 + */ + data: { + visible:false + }, + + /** + * 组件的方法列表 + */ + methods: { + change(){ + const tmp = !this.data.visible + console.log(tmp); + this.setData({visible:tmp}) + } + } +}) \ No newline at end of file diff --git a/pages/garden/components/growth.json b/pages/garden/components/growth.json new file mode 100644 index 0000000..f070a60 --- /dev/null +++ b/pages/garden/components/growth.json @@ -0,0 +1,8 @@ +{ + "component": true, + "styleIsolation": "apply-shared", + "usingComponents": { + "t-popup": "tdesign-miniprogram/popup/popup", + "t-textarea": "tdesign-miniprogram/textarea/textarea" + } +} \ No newline at end of file diff --git a/pages/garden/components/growth.wxml b/pages/garden/components/growth.wxml new file mode 100644 index 0000000..27f9df3 --- /dev/null +++ b/pages/garden/components/growth.wxml @@ -0,0 +1,32 @@ + + + + + + 记录生长瞬间 + + + + + + 点击上传或拍摄植物照片 + 支持JPG、PNG 格式,最大 5MB + + + + + 日常 + 发芽 + 开花 + 结果 + + + + + + + 保存记录 + + + + \ No newline at end of file diff --git a/pages/garden/components/growth.wxss b/pages/garden/components/growth.wxss new file mode 100644 index 0000000..d8bfb1a --- /dev/null +++ b/pages/garden/components/growth.wxss @@ -0,0 +1,24 @@ +/* pages/garden/components/growth.wxss */ +.camera{ + background-color: #4fab5e3d; + width: 100rpx; + height: 100rpx; + border-radius: 50rpx; +} + +.border { + border: #4fab5e 1rpx dotted; + border-radius: 16rpx; + height: 400rpx; +} + +.custom-label { + display: inline-flex; +} + +.custom-label::after { + content: '*'; + color: red; + font-size: 32rpx; + margin-left: 4rpx; +} \ No newline at end of file diff --git a/pages/garden/info.js b/pages/garden/info.js index 8a87aa1..050bf73 100644 --- a/pages/garden/info.js +++ b/pages/garden/info.js @@ -38,16 +38,18 @@ Page({ } tmp.todayCares.map(e => e.period = tmp.carePlans.find(sub => sub.name === e.name).period) this.setData({info:res.data}) - console.log(this.data.info.todayCares); } }) }, goPreview(e){ - const url = e.currentTarget.dataset.url - wx.navigateTo({ - url: '../preview/index?url=' + url, + const index = e.detail.index + const currentUrl = this.data.info.picList[index] + const list = this.data.info.picList + wx.previewImage({ + current: currentUrl, // 当前显示图片的http链接 + urls: list// 需要预览的图片http链接列表 }) }, diff --git a/pages/garden/info.json b/pages/garden/info.json index a89b33f..82b5170 100644 --- a/pages/garden/info.json +++ b/pages/garden/info.json @@ -2,6 +2,7 @@ "navigationStyle": "custom", "usingComponents": { "t-swiper": "tdesign-miniprogram/swiper/swiper", - "t-swiper-nav": "tdesign-miniprogram/swiper-nav/swiper-nav" + "t-swiper-nav": "tdesign-miniprogram/swiper-nav/swiper-nav", + "growth":"./components/growth" } } \ No newline at end of file diff --git a/pages/garden/info.wxml b/pages/garden/info.wxml index 8b317a6..0e14c5f 100644 --- a/pages/garden/info.wxml +++ b/pages/garden/info.wxml @@ -2,7 +2,7 @@ - + @@ -20,7 +20,7 @@ {{info.name}} - 陪伴你第 {{info.plantDays}} 天 · 种植于 {{info.plantTimeStr}} + 陪伴你第 {{info.plantDays}} 日夜 · 种植于 {{info.plantTimeStr}} @@ -40,7 +40,7 @@ - 记录此刻 + @@ -75,7 +75,12 @@ - + + 成长日记 + + + + 养护记录 @@ -106,4 +111,6 @@ + + \ No newline at end of file diff --git a/pages/user/index.wxml b/pages/user/index.wxml index 076426a..3f4f1e5 100644 --- a/pages/user/index.wxml +++ b/pages/user/index.wxml @@ -19,12 +19,6 @@ 我的徽章 已解锁 {{badgeList.length}} 个 - - - - - - diff --git a/project.private.config.json b/project.private.config.json index ef914ba..2feefa4 100644 --- a/project.private.config.json +++ b/project.private.config.json @@ -24,23 +24,16 @@ "miniprogram": { "list": [ { - "name": "pages/order/index", - "pathName": "pages/order/index", - "query": "id=355fad80-d403-11f0-883c-bc2411e64a23", + "name": "pages/badge/info", + "pathName": "pages/badge/info", + "query": "id=49a35d4a-d70c-11f0-b37c-bc2411e64a23", "scene": null, "launchMode": "default" }, { - "name": "pages/store/info", - "pathName": "pages/store/info", - "query": "id=355fad80-d403-11f0-883c-bc2411e64a23", - "launchMode": "default", - "scene": null - }, - { - "name": "pages/knowlage/info", - "pathName": "pages/knowlage/info", - "query": "id=8e3af6f8-ce61-11f0-bb28-bc2411e64a23", + "name": "pages/badge/more", + "pathName": "pages/badge/more", + "query": "", "launchMode": "default", "scene": null }