初始化代码

This commit is contained in:
2025-12-22 17:13:05 +08:00
parent ed0de08e3a
commit 1f7e9d401b
2947 changed files with 526137 additions and 0 deletions

1
front/pages/claim.js Normal file

File diff suppressed because one or more lines are too long

5
front/pages/claim.json Normal file
View File

@@ -0,0 +1,5 @@
{
"navigationBarTitleText": "认养",
"enablePullDownRefresh": true,
"usingComponents": {}
}

1
front/pages/claim.wxml Normal file
View File

@@ -0,0 +1 @@
<block wx:if="{{isLoad}}"><view class="pages-claim"><fixed vue-id="8043845a-1" refresh="{{refresh}}" bind:__l="__l" vue-slots="{{['default']}}"><view class="fill-base"><block wx:if="{{$root.g0>0}}"><banner vue-id="{{('8043845a-2')+','+('8043845a-1')}}" list="{{banner}}" margin="{{0}}" autoplay="{{true}}" borderRadius="{{0}}" height="{{420}}" indicatorActiveColor="{{primaryColor}}" bind:__l="__l"></banner></block><view class="fill-base flex-between b-1px-b"><view style="width:650rpx;"><tab vue-id="{{('8043845a-3')+','+('8043845a-1')}}" list="{{tabList}}" activeIndex="{{activeIndex}}" activeColor="{{primaryColor}}" height="100rpx" data-event-opts="{{[['^change',[['handerTabChange',['$event','activeIndex']]]]]}}" bind:change="__e" bind:__l="__l"></tab></view><view data-event-opts="{{[['tap',[['toShowRank',['$event']]]]]}}" class="flex-center c-caption b-1px-l" style="width:100rpx;" catchtap="__e"><view class="{{['iconfont','icon-down-bold','_i',[(show_rank_item)?'rotate-180':'']]}}"></view></view></view></view></fixed><uni-popup class="vue-ref" vue-id="8043845a-4" type="top" custom="{{true}}" data-ref="rank_item" data-event-opts="{{[['^change',[['popupChange']]]]}}" bind:change="__e" bind:__l="__l" vue-slots="{{['default']}}"><view style="{{'height:'+($root.g1>0?'520rpx':'100rpx')+';'}}"></view><view class="pd-lg fill-base"><block wx:for="{{rankList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view data-event-opts="{{[['tap',[['handerTabChange',[index,'rankInd']]]]]}}" class="{{['f-paragraph','c-title',[(index!=0)?'mt-md':'']]}}" style="{{'color:'+(index==rankInd?primaryColor:'')+';'}}" catchtap="__e">{{''+item.title+''}}</view></block></view></uni-popup><block wx:for="{{list.data}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view data-event-opts="{{[['tap',[['goDetail',[index]]]]]}}" class="claim-item fill-base mt-md ml-md mr-md box-shadow radius-24" catchtap="__e"><view class="flex-between pt-lg pl-lg pr-lg"><view class="flex-y-center"><image class="avatar mini radius" mode="aspectFill" lazy-load="{{true}}" src="{{item.farmer_info.cover}}"></image><view class="ml-lg max-446 ellipsis">{{item.farmer_info.title}}</view></view><view class="iconfont icon-right c-caption _i" style="font-size:28rpx;"></view></view><view class="flex-center pd-lg"><image class="cover fill-body radius-24" mode="aspectFill" lazy-load="{{true}}" src="{{item.cover}}"></image><view class="flex-1 ml-lg max-380"><view class="f-title c-title ellipsis-2">{{item.title}}</view><view class="f-paragraph c-title">{{item.start_time+' '+item.end_time}}</view><view class="flex-between mt-sm mb-md"><view class="line-item rel"><view class="cur abs" style="{{'width:'+(item.precent)+';'}}"></view></view><view class="c-caption" style="font-size:20rpx;">{{"已认养"+item.precent}}</view></view><view class="count-list flex-warp"><view class="count-item"><view class="flex-y-center f-caption c-caption"><view class="dot radius"></view>品种</view><view class="f-paragraph c-title ellipsis">{{item.breed}}</view></view><view class="count-item"><view class="flex-y-center f-caption c-caption"><view class="dot radius"></view>周期</view><view class="f-paragraph c-title ellipsis">{{item.cycle+"天"}}</view></view><view class="count-item"><view class="flex-y-center f-caption c-caption"><view class="dot radius"></view>产量</view><view class="f-paragraph c-title">{{item.output+"kg"}}</view></view></view></view></view><view class="flex-between ml-lg mr-lg pt-lg pb-sm b-1px-t"><view class="flex-y-baseline"><view class="f-lg-title c-warning">{{"¥"+item.price}}</view><view class="f-caption c-caption ml-sm">{{"/"+item.unit}}</view></view><view class="common-btn flex-center f-paragraph c-base radius-4" style="{{'background:'+(primaryColor)+';'}}">立即认养</view></view><view class="flex-y-center pl-lg pr-lg pb-lg"><view class="flex-warp"><block wx:for="{{item.count.user_list}}" wx:for-item="item" wx:for-index="index" wx:key="index"><block><block wx:if="{{index<6}}"><view class="avatar-group"><image class="abs avatar fill-body radius" mode="aspectFill" lazy-load="{{true}}" src="{{item.avatarUrl}}"></image></view></block></block></block></view><view class="{{['flex-y-center','f-caption','c-title','pr-lg',[(item.count.user_count>0)?'ml-lg':'']]}}" style="height:48rpx;">{{'已有'+item.count.user_count+"人参与"}}</view></view></view></block><block wx:if="{{loading}}"><load-more vue-id="8043845a-5" noMore="{{$root.g2}}" loading="{{loading}}" bind:__l="__l"></load-more></block><block wx:if="{{$root.g3}}"><abnor vue-id="8043845a-6" bind:__l="__l"></abnor></block><view class="space-footer"></view></view></block>

1
front/pages/claim.wxss Normal file
View File

@@ -0,0 +1 @@
.pages-claim .claim-item .cover{width:240rpx;height:240rpx}.pages-claim .claim-item .line-item{width:230rpx;height:15rpx;background:rgba(112,152,64,.2);border-radius:8rpx}.pages-claim .claim-item .line-item .cur{top:0;left:0;height:15rpx;background:linear-gradient(0deg,#709840,#91c84e);border-radius:8rpx}.pages-claim .claim-item .count-list .count-item{width:33.33%}.pages-claim .claim-item .count-list .count-item .dot{width:10rpx;height:10rpx;background:#b3d465;margin-right:10rpx}

1
front/pages/home.js Normal file

File diff suppressed because one or more lines are too long

8
front/pages/home.json Normal file
View File

@@ -0,0 +1,8 @@
{
"navigationBarTitleText": "首页",
"enablePullDownRefresh": true,
"navigationStyle": "custom",
"usingComponents": {
"uni-segmented-control": "/components/uni-segmented-control"
}
}

1
front/pages/home.wxml Normal file

File diff suppressed because one or more lines are too long

1
front/pages/home.wxss Normal file
View File

@@ -0,0 +1 @@
.pages-home .icon-right{font-size:24rpx}.pages-home .menu-item{width:20%}.pages-home .menu-item .menu-img{width:96rpx;height:96rpx}.pages-home .notice-info{height:110rpx}.pages-home .notice-info .notice-img{width:128rpx;height:48rpx}.pages-home .notice-info .infomation-left{height:48rpx;border-right:.03125rem solid #e1e6ec}.pages-home .notice-info .roller-box{height:40rpx}.pages-home .notice-info .roller-box .roller-item{height:40rpx;line-height:1}.pages-home .weather-info{height:168rpx;background:#fff}.pages-home .weather-info .number{font-size:48rpx;color:#feb23a}.pages-home .weather-info .weather{color:#feb23a}.pages-home .weather-info .weather-img{width:50rpx;height:50rpx}.pages-home .weather-info .about-info{right:0rpx;width:84rpx;height:84rpx;border-radius:5000rpx;margin-right:30rpx}.pages-home .weather-info .about-info .about-img{width:102rpx;height:25rpx;margin:0 8rpx}.pages-home .weather-info .about-info .about-right-img{width:34rpx;height:25rpx}.pages-home .advertisement-info .coupon-img{width:100%;height:180rpx}.pages-home .goods-item .cover{width:180rpx;height:170rpx}.pages-home .goods-item .add-car-img{width:70rpx;height:70rpx}.pages-home .hot-shop-list{white-space:nowrap;width:calc(100% - 30rpx)}.pages-home .hot-shop-list .hot-shop-item{width:281rpx;height:353rpx;background:#f9faf9;display:inline-block}.pages-home .hot-shop-list .hot-shop-item .cover{width:281rpx;height:175rpx;border-radius:15rpx 15rpx 0 0}.pages-home .hot-shop-list .hot-shop-item .business-tag{width:86rpx;height:34rpx;background:rgba(52,162,99,.1)}.pages-home .home-index-bg{background:#39b54a;height:15.625rem;width:100%;top:0;border-radius:0 0 5% 5%;z-index:-1}.pages-home .welfare-item .cover{width:180rpx;height:160rpx}.pages-home .welfare-item .ellipsis{max-width:480rpx}

1
front/pages/land.js Normal file

File diff suppressed because one or more lines are too long

5
front/pages/land.json Normal file
View File

@@ -0,0 +1,5 @@
{
"navigationBarTitleText": "租地",
"enablePullDownRefresh": true,
"usingComponents": {}
}

1
front/pages/land.wxml Normal file
View File

@@ -0,0 +1 @@
<block wx:if="{{isLoad}}"><view class="pages-land"><fixed vue-id="a863b9bc-1" bind:__l="__l" vue-slots="{{['default']}}"><view class="fill-base flex-between b-1px-b"><view style="width:650rpx;"><tab vue-id="{{('a863b9bc-2')+','+('a863b9bc-1')}}" list="{{tabList}}" activeIndex="{{activeIndex}}" activeColor="{{primaryColor}}" height="100rpx" data-event-opts="{{[['^change',[['handerTabChange',['$event','activeIndex']]]]]}}" bind:change="__e" bind:__l="__l"></tab></view><view data-event-opts="{{[['tap',[['toShowRank',['$event']]]]]}}" class="flex-center c-caption b-1px-l" style="width:100rpx;" catchtap="__e"><view class="{{['iconfont','icon-down-bold','_i',[(show_rank_item)?'rotate-180':'']]}}"></view></view></view></fixed><uni-popup class="vue-ref" vue-id="a863b9bc-3" type="top" custom="{{true}}" data-ref="rank_item" data-event-opts="{{[['^change',[['popupChange']]]]}}" bind:change="__e" bind:__l="__l" vue-slots="{{['default']}}"><view style="height:100rpx;"></view><view class="pd-lg fill-base"><block wx:for="{{rankList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view data-event-opts="{{[['tap',[['handerTabChange',[index,'rankInd']]]]]}}" class="{{['f-paragraph','c-title',[(index!=0)?'mt-md':'']]}}" style="{{'color:'+(index==rankInd?primaryColor:'')+';'}}" catchtap="__e">{{''+item.title+''}}</view></block></view></uni-popup><block wx:for="{{list.data}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view data-event-opts="{{[['tap',[['goDetail',[index]]]]]}}" class="land-item fill-base mt-md ml-md mr-md box-shadow radius-16" catchtap="__e"><image class="cover" mode="aspectFill" lazy-load="{{true}}" src="{{item.cover}}"></image><view class="pd-lg"><view class="f-title c-title">{{item.title}}</view><view class="f-caption c-caption ellipsis-2"><text style="word-break:break-all;" decode="emsp">{{item.desc}}</text></view><view class="flex-between mt-md"><view class="flex-y-baseline"><view class="f-lg-title c-warning">{{"¥"+item.min_price}}</view><view class="f-caption c-caption ml-sm">起</view></view><view class="common-btn flex-center f-paragraph c-base radius" style="{{'background:'+(primaryColor)+';'}}">选择土地</view></view></view></view></block><block wx:if="{{loading}}"><load-more vue-id="a863b9bc-4" noMore="{{$root.g0}}" loading="{{loading}}" bind:__l="__l"></load-more></block><block wx:if="{{$root.g1}}"><abnor vue-id="a863b9bc-5" bind:__l="__l"></abnor></block><view class="space-footer"></view></view></block>

1
front/pages/land.wxss Normal file
View File

@@ -0,0 +1 @@
.pages-land .land-item .cover{width:710rpx;height:345rpx;border-radius:15rpx 15rpx 0 0}

1
front/pages/mine.js Normal file

File diff suppressed because one or more lines are too long

6
front/pages/mine.json Normal file
View File

@@ -0,0 +1,6 @@
{
"navigationBarTitleText": "我的",
"enablePullDownRefresh": true,
"navigationStyle": "custom",
"usingComponents": {}
}

1
front/pages/mine.wxml Normal file

File diff suppressed because one or more lines are too long

2
front/pages/mine.wxss Normal file
View File

@@ -0,0 +1,2 @@
.pages-mine .avatar{width:120rpx;height:120rpx;border:4rpx solid #eff3fd;-webkit-transform:rotate(1turn);transform:rotate(1turn)}.pages-mine .icon-shuaxin,
.pages-mine .icon-erweima{font-size:40rpx}.pages-mine .member-item{width:150rpx;height:38rpx;margin-top:-20rpx;padding:0 2rpx;border-radius:6rpx;z-index:1}.pages-mine .member-item .vip-icon{width:28rpx;height:24rpx;-webkit-transform:scale(.8);transform:scale(.8)}.pages-mine .member-item .ellipsis{max-width:120rpx;-webkit-transform:scale(.8);transform:scale(.8)}.pages-mine .notice-item .iconfont{font-size:46rpx}.pages-mine .notice-item .fill-warning{top:6rpx;right:6rpx;width:10rpx;height:10rpx}.pages-mine .stored-list .stored-item{width:33.33%}.pages-mine .mine-count-list .cash-btn{width:138rpx;height:52rpx}.pages-mine .mine-count-list .icon-right{font-size:28rpx}.pages-mine .mine-index-bg{background:#39b54a;height:14.625rem;width:100%;top:0;border-radius:0 0 5% 5%;z-index:-1}.pages-mine .mine-menu-list .cancel-auth{width:110rpx;height:100rpx;font-size:100rpx;top:10rpx;right:20rpx;z-index:1}.pages-mine .mine-menu-list .cancel-auth .text-bold{height:26rpx;-webkit-transform:rotate(-32deg);transform:rotate(-32deg)}.pages-mine .mine-menu-list .menu-title{height:90rpx}.pages-mine .mine-menu-list .menu-title .iconfont{font-size:24rpx}.pages-mine .mine-menu-list .item-child{width:20%;margin:10rpx 0}.pages-mine .mine-menu-list .item-child .item-img{width:88rpx;height:88rpx;margin-bottom:15rpx}

1
front/pages/shop.js Normal file

File diff suppressed because one or more lines are too long

6
front/pages/shop.json Normal file
View File

@@ -0,0 +1,6 @@
{
"navigationBarTitleText": "商城",
"enablePullDownRefresh": true,
"navigationStyle": "custom",
"usingComponents": {}
}

1
front/pages/shop.wxml Normal file
View File

@@ -0,0 +1 @@
<view class="pages-shop"><fixed vue-id="4b946e12-1" zIndex="{{99}}" bind:__l="__l" vue-slots="{{['default']}}"><uni-nav-bar vue-id="{{('4b946e12-2')+','+('4b946e12-1')}}" fixed="{{false}}" shadow="{{false}}" statusBar="{{true}}" title="商城" color="#fff" backgroundColor="none" bind:__l="__l"></uni-nav-bar><view class="shop-search-info space-shop abs"><view class="breed-index-bg abs" mode="aspectFill" lazy-load="{{true}}"></view><view class="search-item flex-between abs"><view style="width:604rpx;"><search vue-id="{{('4b946e12-3')+','+('4b946e12-1')}}" type="input" padding="{{0}}" radius="{{70}}" backgroundColor="rgba(240,240,240,0.2)" searchColor="rgba(240,240,240,0.2)" frontColor="#fff" placeholder="搜索商品名称" data-event-opts="{{[['^input',[['toSearch']]]]}}" bind:input="__e" bind:__l="__l"></search></view><image class="car-img" mode="aspectFill" lazy-load="{{true}}" src="/static/image/shop/car-img.png" data-event-opts="{{[['tap',[['e0',['$event']]]]]}}" catchtap="__e"></image><block wx:if="{{shopCarList.car_count}}"><view class="car-count flex-center c-base f-icontext abs" style="{{'width:'+(shopCarList.car_count<10?'30rpx':'50rpx')+';'}}">{{''+(shopCarList.car_count<100?shopCarList.car_count:'99+')+''}}</view></block></view><block wx:if="{{$root.g0>0}}"><view class="cate-item abs fill-base flex-between b-1px-b"><view style="width:calc(100% - 132rpx);"><tab vue-id="{{('4b946e12-4')+','+('4b946e12-1')}}" list="{{tabList}}" activeIndex="{{activeIndex}}" activeColor="{{primaryColor}}" haveLine="{{false}}" fontSize="28rpx" height="80rpx" data-event-opts="{{[['^change',[['handerTabChange',['$event','activeIndex']]]]]}}" bind:change="__e" bind:__l="__l"></tab></view><view data-event-opts="{{[['tap',[['toShowRank',['$event']]]]]}}" class="flex-center f-caption c-desc b-1px-l" style="width:132rpx;" catchtap="__e">更多<view class="iconfont icon-gengduo ml-sm _i"></view></view></view></block></view></fixed><uni-popup class="vue-ref" vue-id="4b946e12-5" type="top" custom="{{true}}" data-ref="rank_item" data-event-opts="{{[['^change',[['popupChange']]]]}}" bind:change="__e" bind:__l="__l" vue-slots="{{['default']}}"><view style="{{'height:'+(shopHeight+'px')+';'}}"></view><view class="pd-lg fill-base"><view class="f-title c-title text-bold pb-md">类别</view><view class="rank-list flex-warp"><block wx:for="{{tabList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view data-event-opts="{{[['tap',[['handerTabChange',[index,'activeIndex']]]]]}}" class="{{['rank-item','flex-center','mt-md','f-paragraph','c-desc',[(index==activeIndex)?'cur':'']]}}" style="{{'color:'+(index==activeIndex?primaryColor:'')+';'}}" catchtap="__e">{{''+item.title+''}}</view></block></view></view></uni-popup><view class="space-shop rel" style="{{'height:'+(180-configInfo.navBarHeight+'px')+';'}}"></view><view class="flex-warp"><block wx:for="{{list.data}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view data-event-opts="{{[['tap',[['goDetail',[index]]]]]}}" class="goods-item fill-base mt-md ml-md box-shadow radius-16" catchtap="__e"><image class="cover" mode="aspectFill" lazy-load="{{true}}" src="{{item.cover}}"></image><view class="pd-md"><view class="f-desc c-title text-bold ellipsis">{{item.goods_name}}</view><view class="flex-y-center f-caption ellipsis"><view class="flex-y-center c-warning">¥<view class="f-md-title ellipsis">{{item.show_price+''}}</view></view><view class="c-caption ml-sm">{{"¥"+item.show_init_price}}</view></view><view class="f-caption c-caption">{{"销量 "+item.all_sale_count}}</view><view class="flex-center f-caption c-caption"><image class="store-img radius" mode="aspectFill" lazy-load="{{true}}" src="{{item.store_cover}}"></image><view class="flex-1 ml-sm ellipsis">{{item.store_name}}</view></view></view></view></block></view><block wx:if="{{loading}}"><load-more vue-id="4b946e12-6" noMore="{{$root.g1}}" loading="{{loading}}" bind:__l="__l"></load-more></block><block wx:if="{{$root.g2}}"><abnor vue-id="4b946e12-7" bind:__l="__l"></abnor></block><view class="space-footer"></view></view>

1
front/pages/shop.wxss Normal file
View File

@@ -0,0 +1 @@
.pages-shop .shop-search-info{z-index:-1}.pages-shop .shop-search-info .search-item{width:100%;padding:0 25rpx;top:180rpx}.pages-shop .shop-search-info .search-item .car-img{width:64rpx;height:64rpx}.pages-shop .shop-search-info .search-item .car-count{width:30rpx;height:30rpx;line-height:30rpx;border-radius:15rpx;background:#f12c20;top:-10rpx;right:10rpx}.pages-shop .shop-search-info .cate-item{width:100%;bottom:0}.pages-shop .shop-search-info .cate-item .iconfont{font-size:24rpx}.pages-shop .space-shop{width:100%;height:360rpx;top:0;left:0;height:360rpx}.pages-shop .goods-item{width:345rpx;height:550rpx;overflow:hidden}.pages-shop .goods-item .cover{width:345rpx;height:350rpx}.pages-shop .goods-item .store-img{width:26rpx;height:26rpx}.pages-shop .breed-index-bg{background:#39b54a;height:10rem;width:140%;left:-20%;top:0;z-index:-1}.pages-shop .rank-list .rank-item{width:215rpx;height:78rpx;background:#f5f5f5;border-radius:8rpx;margin-right:22rpx}.pages-shop .rank-list .rank-item:nth-child(3n){margin-right:0}.pages-shop .rank-list .cur{background:rgba(0,146,84,.1)}