签到需要优化

This commit is contained in:
bobobobo
2025-12-29 22:38:25 +08:00
parent 417bfe235f
commit 8fe2079446
7 changed files with 412 additions and 272 deletions

View File

@@ -14,3 +14,7 @@ unaipp多端im+会议+积分商城
```https://ext.dcloud.net.cn/plugin?id=3935``` ```https://ext.dcloud.net.cn/plugin?id=3935```
```https://z-paging.zxlee.cn/start/use.html#%E5%BB%B6%E8%BF%9F%E5%8A%A0%E8%BD%BD%E5%88%97%E8%A1%A8%E7%A4%BA%E4%BE%8B``` ```https://z-paging.zxlee.cn/start/use.html#%E5%BB%B6%E8%BF%9F%E5%8A%A0%E8%BD%BD%E5%88%97%E8%A1%A8%E7%A4%BA%E4%BE%8B```
### TUILiveKit 文档地址
```https://trtc.io/zh/document/60034?platform=ios&product=live```

View File

@@ -52,15 +52,28 @@
return styles return styles
}) })
/** 上传 */
const uploadFile = async file => {
const url = await uploadSingleFile(file, {
url: '/api/common/admin/upload/up/single'
})
imageValue.value.push(url)
}
const onSelect = async e => { const onSelect = async e => {
e.tempFiles.forEach(v => {
uploadFile(v.path)
})
return
const upData = e.tempFiles.map(v => v.path)[0] const upData = e.tempFiles.map(v => v.path)[0]
imageValue.value = await uploadSingleFile(upData, { imageValue.value = await uploadSingleFile(upData, {
url: '/api/common/admin/upload/up/single' url: '/api/common/admin/upload/up/single'
}) })
} }
const onDelete = () => { const onDelete = e => {
imageValue.value = '' imageValue.value.splice(e.index, 1)
} }
</script> </script>

View File

@@ -1,269 +1,276 @@
{ {
"pages": [ "pages": [
//pages数组中第一项表示应用启动页参考https://uniapp.dcloud.io/collocation/pages //pages数组中第一项表示应用启动页参考https://uniapp.dcloud.io/collocation/pages
{ {
"path": "pages/index/index", "path": "pages/index/index",
"style": { "style": {
"navigationBarTitleText": "首页" "navigationBarTitleText": "首页"
} }
}, },
{ {
"path": "pages/login/login", "path": "pages/login/login",
"style": { "style": {
"navigationBarTitleText": "登录", "navigationBarTitleText": "登录",
"navigationStyle": "custom" "navigationStyle": "custom"
} }
}, },
{ {
"path": "pages/login/phone-register/phone-register", "path": "pages/login/phone-register/phone-register",
"style": { "style": {
"navigationBarTitleText": "手机注册", "navigationBarTitleText": "手机注册",
"navigationStyle": "custom" "navigationStyle": "custom"
} }
}, },
{ {
"path": "pages/login/email-register/email-register", "path": "pages/login/email-register/email-register",
"style": { "style": {
"navigationBarTitleText": "邮箱注册", "navigationBarTitleText": "邮箱注册",
"navigationStyle": "custom" "navigationStyle": "custom"
} }
}, },
{ {
"path": "pages/login/forgot-password/forgot-password", "path": "pages/login/forgot-password/forgot-password",
"style": { "style": {
"navigationBarTitleText": "忘记密码", "navigationBarTitleText": "忘记密码",
"navigationStyle": "custom" "navigationStyle": "custom"
} }
}, },
{ {
"path": "pages/news-list/news-list", "path": "pages/news-list/news-list",
"style": { "style": {
"navigationBarTitleText": "消息" "navigationBarTitleText": "消息"
} }
}, },
{ {
"path": "pages/contacts/contacts", "path": "pages/contacts/contacts",
"style": { "style": {
"navigationBarTitleText": "通讯录" "navigationBarTitleText": "通讯录"
} }
}, },
{ {
"path": "pages/discover/discover", "path": "pages/discover/discover",
"style": { "style": {
"navigationBarTitleText": "发现" "navigationBarTitleText": "发现"
} }
}, },
{ {
"path": "pages/my-index/my-index", "path": "pages/my-index/my-index",
"style": { "style": {
"navigationBarTitleText": "我的", "navigationBarTitleText": "我的",
"backgroundColor": "#f7f7f7" "backgroundColor": "#f7f7f7"
} }
}, },
{ {
"path": "pages/my-index/personal-center/index", "path": "pages/my-index/personal-center/index",
"style": { "style": {
"navigationBarTitleText": "个人中心", "navigationBarTitleText": "个人中心",
"navigationBarBackgroundColor": "#ffffff" "navigationBarBackgroundColor": "#ffffff"
} }
}, },
{ {
"path": "pages/my-index/wallet/index", "path": "pages/my-index/wallet/index",
"style": { "style": {
"navigationBarTitleText": "钱包", "navigationBarTitleText": "钱包",
"navigationBarBackgroundColor": "#ffffff" "navigationBarBackgroundColor": "#ffffff"
} }
}, },
{ {
"path": "pages/my-index/wallet/edit-password", "path": "pages/my-index/wallet/edit-password",
"style": { "style": {
"navigationBarTitleText": "修改钱包密码", "navigationBarTitleText": "修改钱包密码",
"navigationStyle": "custom" "navigationStyle": "custom"
} }
}, },
{ {
"path": "pages/my-index/wallet/bank-card/index", "path": "pages/my-index/wallet/bank-card/index",
"style": { "style": {
"navigationBarTitleText": "提现卡", "navigationBarTitleText": "提现卡",
"navigationBarBackgroundColor": "#ffffff" "navigationBarBackgroundColor": "#ffffff"
} }
}, },
{ {
"path": "pages/my-index/wallet/real-id", "path": "pages/my-index/wallet/real-id",
"style": { "style": {
"navigationBarTitleText": "实名认证", "navigationBarTitleText": "实名认证",
"navigationBarBackgroundColor": "#ffffff" "navigationBarBackgroundColor": "#ffffff"
} }
}, },
{ {
"path": "pages/my-index/my-team", "path": "pages/my-index/my-team",
"style": { "style": {
"navigationBarTitleText": "我的团队", "navigationBarTitleText": "我的团队",
"navigationBarBackgroundColor": "#ffffff" "navigationBarBackgroundColor": "#ffffff"
} }
}, },
{ {
"path": "pages/my-index/collection/index", "path": "pages/my-index/collection/index",
"style": { "style": {
"navigationBarTitleText": "收藏", "navigationBarTitleText": "收藏",
"navigationBarBackgroundColor": "#ffffff" "navigationBarBackgroundColor": "#ffffff"
} }
}, },
{ {
"path": "pages/my-index/meeting-record/index", "path": "pages/my-index/meeting-record/index",
"style": { "style": {
"navigationBarTitleText": "会议记录", "navigationBarTitleText": "会议记录",
"navigationBarBackgroundColor": "#ffffff" "navigationBarBackgroundColor": "#ffffff"
} }
}, },
{ {
"path": "pages/my-index/meeting-record/details", "path": "pages/my-index/meeting-record/details",
"style": { "style": {
"navigationBarTitleText": "会议详情", "navigationBarTitleText": "会议详情",
"navigationBarBackgroundColor": "#ffffff" "navigationBarBackgroundColor": "#ffffff"
} }
}, },
{ {
"path": "pages/my-index/customer-service/index", "path": "pages/my-index/customer-service/index",
"style": { "style": {
"navigationBarTitleText": "客服" "navigationBarTitleText": "客服"
} }
}, },
{ {
"path": "pages/my-index/set-up/index", "path": "pages/my-index/set-up/index",
"style": { "style": {
"navigationBarTitleText": "设置", "navigationBarTitleText": "设置",
"navigationBarBackgroundColor": "#ffffff" "navigationBarBackgroundColor": "#ffffff"
} }
}, },
{ {
"path": "pages/my-index/wallet/bank-card/card-details", "path": "pages/my-index/wallet/bank-card/card-details",
"style": { "style": {
"navigationBarTitleText": "卡信息增删改查", "navigationBarTitleText": "卡信息增删改查",
"navigationStyle": "custom" "navigationStyle": "custom"
} }
}, },
{ {
"path": "pages/mall/list", "path": "pages/mall/list",
"style": { "style": {
"navigationBarTitleText": "商城" "navigationBarTitleText": "商城"
} }
}, },
{ {
"path": "pages/mall/detail", "path": "pages/mall/detail",
"style": { "style": {
"navigationBarTitleText": "商品详情", "navigationBarTitleText": "商品详情",
"navigationStyle": "custom" "navigationStyle": "custom"
} }
}, },
{ {
"path": "pages/mall/comment", "path": "pages/mall/comment",
"style": { "style": {
"navigationBarTitleText": "评价" "navigationBarTitleText": "评价"
} }
}, },
{ {
"path": "pages/mall/confirm-order", "path": "pages/mall/confirm-order",
"style": { "style": {
"navigationBarTitleText": "确认订单" "navigationBarTitleText": "确认订单"
} }
}, },
{ {
"path": "pages/address/index", "path": "pages/address/index",
"style": { "style": {
"navigationBarTitleText": "我的地址", "navigationBarTitleText": "我的地址",
"navigationStyle": "custom" "navigationStyle": "custom"
} }
}, },
{ {
"path": "pages/address/add", "path": "pages/address/add",
"style": { "style": {
"navigationBarTitleText": "添加地址" "navigationBarTitleText": "添加地址"
} }
}, },
{ {
"path": "pages/address/edit", "path": "pages/address/edit",
"style": { "style": {
"navigationBarTitleText": "修改地址" "navigationBarTitleText": "修改地址"
} }
}, },
{ {
"path": "pages/shop-together/index", "path": "pages/shop-together/index",
"style": { "style": {
"navigationBarTitleText": "我的拼团" "navigationBarTitleText": "我的拼团"
} }
}, },
{ {
"path": "pages/shop-together/detail", "path": "pages/shop-together/detail",
"style": { "style": {
"navigationBarTitleText": "拼团记录" "navigationBarTitleText": "拼团记录"
} }
}, },
{ {
"path": "pages/discover/ranking-list", "path": "pages/discover/ranking-list",
"style": { "style": {
"navigationBarTitleText": "排行榜", "navigationBarTitleText": "排行榜",
"navigationStyle": "custom" "navigationStyle": "custom"
} }
}, },
{ {
"path": "pages/discover/punch", "path": "pages/discover/punch",
"style": { "style": {
"navigationBarTitleText": "签到", "navigationBarTitleText": "签到",
"navigationStyle": "custom" "navigationStyle": "custom"
} }
}, },
{ {
"path": "pages/discover/dynamic/dynamic", "path": "pages/discover/dynamic/dynamic",
"style": { "style": {
"navigationBarTitleText": "朋友圈", "navigationBarTitleText": "朋友圈",
"navigationStyle": "custom" "navigationStyle": "custom"
} }
}, },
{ {
"path": "pages/discover/company", "path": "pages/discover/dynamic/release",
"style": { "style": {
"navigationBarTitleText": "公司介绍" "navigationBarTitleText": "发布朋友圈",
} "navigationStyle": "custom"
} }
], },
"globalStyle": { {
"navigationBarTextStyle": "black", "path": "pages/discover/company",
"navigationBarTitleText": "uni-app", "style": {
"navigationBarBackgroundColor": "#F8F8F8", "navigationBarTitleText": "公司介绍"
"backgroundColor": "#F8F8F8" }
}, }
"uniIdRouter": {}, ],
"tabBar": { "globalStyle": {
"color": "#333333", "navigationBarTextStyle": "black",
"selectedColor": "#00D993", "navigationBarTitleText": "uni-app",
"borderStyle": "black", "navigationBarBackgroundColor": "#F8F8F8",
"backgroundColor": "#ffffff", "backgroundColor": "#F8F8F8"
"list": [ },
{ "uniIdRouter": {},
"pagePath": "pages/news-list/news-list", "tabBar": {
"iconPath": "static/images/tabBar/news.png", "color": "#333333",
"selectedIconPath": "static/images/tabBar/newsHL.png", "selectedColor": "#00D993",
"text": "消息" "borderStyle": "black",
}, "backgroundColor": "#ffffff",
{ "list": [
"pagePath": "pages/contacts/contacts", {
"iconPath": "static/images/tabBar/contacts.png", "pagePath": "pages/news-list/news-list",
"selectedIconPath": "static/images/tabBar/contactsHL.png", "iconPath": "static/images/tabBar/news.png",
"text": "通讯录" "selectedIconPath": "static/images/tabBar/newsHL.png",
}, "text": "消息"
{ },
"pagePath": "pages/discover/discover", {
"iconPath": "static/images/tabBar/discover.png", "pagePath": "pages/contacts/contacts",
"selectedIconPath": "static/images/tabBar/discoverHL.png", "iconPath": "static/images/tabBar/contacts.png",
"text": "发现" "selectedIconPath": "static/images/tabBar/contactsHL.png",
}, "text": "通讯录"
{ },
"pagePath": "pages/my-index/my-index", {
"iconPath": "static/images/tabBar/my.png", "pagePath": "pages/discover/discover",
"selectedIconPath": "static/images/tabBar/myHL.png", "iconPath": "static/images/tabBar/discover.png",
"text": "我的" "selectedIconPath": "static/images/tabBar/discoverHL.png",
} "text": "发现"
] },
} {
} "pagePath": "pages/my-index/my-index",
"iconPath": "static/images/tabBar/my.png",
"selectedIconPath": "static/images/tabBar/myHL.png",
"text": "我的"
}
]
}
}

View File

@@ -1,6 +1,7 @@
<script setup> <script setup>
import { reactive, ref } from 'vue' import { reactive, ref } from 'vue'
import { onPageScroll } from '@dcloudio/uni-app' import { onPageScroll } from '@dcloudio/uni-app'
import { navigateTo } from '@/utils/router'
const MAX_SCROLL = 446 const MAX_SCROLL = 446
@@ -42,6 +43,7 @@
:color="topIcon.rightColor" :color="topIcon.rightColor"
type="camera" type="camera"
size="24" size="24"
@click="navigateTo('/pages/discover/dynamic/release')"
></uni-icons> ></uni-icons>
</template> </template>
</nav-bar> </nav-bar>

View File

@@ -0,0 +1,77 @@
<script setup>
import { reactive } from 'vue'
const placeholderStyle = `font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 28rpx;
color: #999999;
line-height: 40rpx;
font-style: normal;
text-transform: none;`
const formData = reactive({
txt: '',
listImg: []
})
const onUpData = () => {
console.log(formData)
}
</script>
<template>
<view class="release-box">
<nav-bar isPlaceholder>
<template #right>
<text class="right-btn" @click="onUpData">发布</text>
</template>
</nav-bar>
<view class="content">
<textarea
v-model="formData.txt"
focus
:placeholder-style="placeholderStyle"
placeholder="请输入朋友圈文字..."
class="textarea"
></textarea>
<view class="upload-box">
<cb-file-picker
v-model="formData.listImg"
limit="9"
></cb-file-picker>
</view>
</view>
</view>
</template>
<style lang="scss" scoped>
.right-btn {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 28rpx;
color: #ffffff;
font-style: normal;
text-transform: none;
background: linear-gradient(0deg, #00d993 0%, #00d9c5 100%);
padding: 12rpx 36rpx;
border-radius: 8rpx;
}
.content {
padding: 32rpx 58rpx;
.textarea {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 28rpx;
color: #333333;
line-height: 40rpx;
font-style: normal;
text-transform: none;
}
.upload-box {
margin-top: 20rpx;
}
}
</style>

View File

@@ -1,6 +1,8 @@
<script setup> <script setup>
import { ref } from 'vue' import { ref } from 'vue'
const weekList = ['一', '二', '三', '四', '五', '六', '日']
const indexData = ref([1, 2, 3, 4]) const indexData = ref([1, 2, 3, 4])
const onItem = item => { const onItem = item => {
@@ -43,8 +45,20 @@
<text></text> <text></text>
</view> </view>
</view> </view>
<!-- 切换 -->
<view class="switch-box">
<text class="date">2025年12月</text>
<view class="btn">
<uni-icons type="left" size="22" color="#666666"></uni-icons>
<uni-icons type="right" size="22" color="#666666"></uni-icons>
</view>
</view>
<!-- 签到列表 --> <!-- 签到列表 -->
<view class="list-box"> <view class="list-box">
<view v-for="(item, index) in weekList" :key="index" class="item">
<text class="bottom-name">{{ item }}</text>
</view>
<view <view
v-for="item in 30" v-for="item in 30"
:key="item" :key="item"
@@ -69,15 +83,18 @@
<style lang="scss" scoped> <style lang="scss" scoped>
@import './styles/index.scss'; @import './styles/index.scss';
.right-icon {
right: -86rpx !important;
}
.punch-box { .punch-box {
padding: 0 24rpx; padding: 0 24rpx;
.top-title { .top-title {
font-family: PingFang SC, PingFang SC; font-family: PingFang SC, PingFang SC;
font-style: normal; font-style: normal;
text-transform: none; text-transform: none;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between;
.title { .title {
font-weight: bold; font-weight: bold;
font-size: 32rpx; font-size: 32rpx;
@@ -99,6 +116,26 @@
} }
} }
.switch-box {
margin: 50rpx 0 40rpx;
display: flex;
justify-content: space-between;
align-items: center;
.date {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 32rpx;
color: #666666;
font-style: normal;
text-transform: none;
}
.btn {
width: 180rpx;
display: flex;
justify-content: space-between;
}
}
.list-box { .list-box {
margin-top: 38rpx; margin-top: 38rpx;
font-family: PingFang SC, PingFang SC; font-family: PingFang SC, PingFang SC;

View File

@@ -104,7 +104,7 @@ export const uploadSingleFile = (filePath, config = {}) => {
console.log('总大小:', res.totalBytesExpectedToSend, '字节') console.log('总大小:', res.totalBytesExpectedToSend, '字节')
if (res.progress !== 100) { if (res.progress !== 100) {
uni.showLoading({ uni.showLoading({
title: `업로드 진행: ${res.progress}`, title: `上传进度: ${res.progress}`,
mask: true // 防止触摸穿透 mask: true // 防止触摸穿透
}) })
} }