feat: move project

This commit is contained in:
ckaaaa 2025-09-16 13:41:49 +08:00
commit 4a940f28ba
97 changed files with 5047 additions and 0 deletions

105
pages/paylist/paylist.js Normal file
View file

@ -0,0 +1,105 @@
import R from '../../utils/request';
import C from '../../utils/constant';
import * as F from '../../utils/func';
Page({
data: {
cdnHost: C.cdnHost,
list: [],
page: 1,
status: '',
// money_flag: 'send',
listEndText: '',
},
onLoad(options) {
const {from} = options;
if(from == 'sharebuy') {
R.post('/index.php/api/v1/configs',{ks:['payed_tip','payed_vip_link']}).then(({model})=>{
if(model.payed_tip && model.payed_vip_link) {
wx.showModal({
title: '提示',
content: model.payed_tip,
complete: (res) => {
if (res.confirm) {
wx.navigateTo({
url: '/pages/webview/webview?url=' + encodeURIComponent(model.payed_vip_link),
})
}
}
})
}
})
}
this.fetchList(1);
},
goDetail(e) {
const { detail } = e.currentTarget.dataset;
if (!detail.phone && detail.status == 'payed') {
wx.navigateTo({
url: `/pages/sharebuy/sharebuy?id=${detail.share_id}&orderNo=${detail.order_no}`,
});
}
},
fetchList(page) {
const { status } = this.data;
// money_flag
R.get('/index.php/api/v1/order_list', { page }).then(({ model }) => {
const list = [];
model.forEach(item => {
list.push({
...item,
price: F.formatePrice(item.price),
});
});
if (list.length == 0) {
this.setData({ listEndText: '没有更多了' });
} else {
this.setData({ listEndText: '点击加载更多。。。' });
}
if (page == 1) {
this.setData({ list,page });
} else {
const list2 = this.data.list.concat(list);
this.setData({ list: list2,page });
}
});
// for (let i = 0; i < 20; i++) {
// list.push({
// id: i,
// title: '自动热重载] 已开启代码文件保存后自动热重载自动热重载] 已开启代码文件保存后自动热重载',
// image: `${imageCdn}/swiper2.png`,
// createTime: '09-12 12:21',
// viewCnt: 1922 + i,
// });
// }
// this.setData({
// list
// })
},
loadMore() {
const { page, listEndText } = this.data;
if (listEndText == '点击加载更多。。。') {
this.fetchList(page + 1);
}
},
onTabsChange(event) {
const v = event.detail.value;
this.data.status = v;
this.fetchList(1);
},
// handleSwitchChange(e) {
// const { value } = e.detail;
// if (value) {
// this.data.money_flag = 'send';
// } else {
// this.data.money_flag = '';
// }
// this.fetchList(1);
// },
onReachBottom() {
this.loadMore();
},
onShareAppMessage() {
}
})

View file

@ -0,0 +1,12 @@
{
"navigationBarTitleText": "我的订单",
"backgroundTextStyle": "light",
"usingComponents": {
"t-tabs": "tdesign-miniprogram/tabs/tabs",
"t-tab-panel": "tdesign-miniprogram/tab-panel/tab-panel",
"t-image": "tdesign-miniprogram/image/image",
"t-sticky": "tdesign-miniprogram/sticky/sticky",
"t-divider": "tdesign-miniprogram/divider/divider",
"t-footer": "tdesign-miniprogram/footer/footer"
}
}

View file

@ -0,0 +1,31 @@
<view>
<view class="list">
<view class="item" wx:for="{{list}}" wx:key="id">
<view class="item-main" data-detail="{{item}}" bind:tap="goDetail">
<view class="right">
<view class="text">
<view>订单号: {{item.order_no || '-'}}</view>
<view>{{item.price}}元</view>
</view>
<view class="info" wx:if="{{!item.phone}}">
<view>{{item.buy_type}}</view>
<view style="text-align: right;color:coral">补充信息{{' >'}}</view>
</view>
<view class="info" wx:if="{{item.phone}}">
<view>信息: {{item.name || '暂无'}} {{item.phone}}</view>
<view style="text-align: right;">{{item.buy_type}}</view>
</view>
<view class="info">
<view wx:if="{{item.pay_time}}">支付时间: {{item.pay_time}}</view>
<view wx:else>订单时间: {{item.create_time}}</view>
<!-- <view class="viewcnt init">{{item.buy_type}}</view> -->
<!-- <view class="viewcnt init" wx:if="{{item.status == 'init'}}">待审核</view> -->
<view class="viewcnt resolve" wx:if="{{item.status == 'payed'}}">已支付</view>
<view class="viewcnt reject" wx:if="{{item.status == 'wait_pay'}}">待支付</view>
</view>
</view>
</view>
</view>
<t-footer wx:if="{{listEndText}}" text="{{listEndText}}" bind:tap="loadMore"></t-footer>
</view>
</view>

View file

@ -0,0 +1,76 @@
page {
padding: 0 20rpx;
background-color: rgb(245, 246, 247);
}
.sw {
width: 240rpx;
display: flex;
align-items: center;
font-size: 32rpx;
}
.sw .txt {
padding-left: 16rpx;
}
.list {
margin-top: 20rpx;
padding-bottom: 60rpx;
}
.list .item {
border-radius: 16rpx;
background-color: #fff;
margin-bottom: 20rpx;
width: 710rpx;
padding-top: 20rpx;
}
.list .item .item-main {
display: flex;
padding-left: 20rpx;
}
.list .item .item-main .right {
flex: 1;
padding: 0 32rpx;
padding-bottom: 20rpx;
}
.list .item .item-main .right .text {
display: flex;
font-size: 28rpx;
justify-content: space-between;
color: #333;
}
.list .item .item-main .right .info {
display: flex;
font-size: 24rpx;
justify-content: space-between;
color: #8f9197;
line-height: 36rpx;
}
.list .item .item-main .right .info .viewcnt {
display: flex;
align-items: center;
padding: 0 20rpx;
}
.list .item .item-main .right .info .viewcnt.init {
color: blue;
}
.list .item .item-main .right .info .viewcnt.resolve {
color: green;
}
.list .item .item-main .right .info .viewcnt.reject {
color: gray;
}
.list .item .h20 {
height: 20rpx;
}