Browse Source

feat: 批量更新资源路径与优化活动相关功能

1. 修复图片资源加载问题,统一使用带时间戳的cdn图片路径
2. 优化活动详情页点赞逻辑,防止重复点赞
3. 调整活动列表页的分类图标与分页参数
4. 重构活动发布页的签到选择样式与提示文案
5. 新增一批活动相关的图标资源
master
kola-web 1 week ago
parent
commit
e2d57a28af
  1. 2
      src/app.ts
  2. 2
      src/components/pagination/index.wxml
  3. 2
      src/components/popup/index.wxml
  4. 2
      src/custom-tab-bar/index.wxml
  5. BIN
      src/images/icon10.png
  6. BIN
      src/images/icon11.png
  7. BIN
      src/images/icon12.png
  8. BIN
      src/images/icon13.png
  9. BIN
      src/images/icon14.png
  10. BIN
      src/images/icon5.png
  11. BIN
      src/images/icon6.png
  12. BIN
      src/images/icon7.png
  13. BIN
      src/images/icon76.png
  14. BIN
      src/images/icon77.png
  15. BIN
      src/images/icon78.png
  16. BIN
      src/images/icon79.png
  17. BIN
      src/images/icon8.png
  18. BIN
      src/images/icon80.png
  19. BIN
      src/images/icon81.png
  20. BIN
      src/images/icon82.png
  21. BIN
      src/images/icon83.png
  22. BIN
      src/images/icon84.png
  23. BIN
      src/images/icon85.png
  24. BIN
      src/images/icon86.png
  25. BIN
      src/images/icon87.png
  26. BIN
      src/images/icon88.png
  27. BIN
      src/images/icon9.png
  28. 10
      src/pages/act/index.scss
  29. 61
      src/pages/act/index.ts
  30. 18
      src/pages/act/index.wxml
  31. 122
      src/pages/actAdd/index.scss
  32. 84
      src/pages/actAdd/index.wxml
  33. 2
      src/pages/actAddResult/index.wxml
  34. 5
      src/pages/actDetail/index.scss
  35. 4
      src/pages/actDetail/index.ts
  36. 35
      src/pages/actDetail/index.wxml
  37. 12
      src/pages/actResult/index.wxml
  38. 26
      src/pages/agent/index.wxml
  39. 10
      src/pages/agentEva/index.wxml
  40. 14
      src/pages/buses/index.wxml
  41. 10
      src/pages/chat/index.wxml
  42. 17
      src/pages/index/index.wxml
  43. 4
      src/pages/login/index.wxml
  44. 14
      src/pages/my/index.wxml
  45. 6
      src/pages/myAct/index.wxml
  46. 2
      src/pages/myAgent/index.wxml
  47. 8
      src/pages/myComment/index.wxml
  48. 8
      src/pages/noticeDetail/index.wxml
  49. 18
      src/pages/schedule/index.wxml

2
src/app.ts

@ -14,7 +14,7 @@ App<IAppOption>({
globalData: { globalData: {
url: 'https://app.gohighedu.cn', url: 'https://app.gohighedu.cn',
upFileUrl: 'https://app.gohighedu.cn/upload/index', upFileUrl: 'https://app.gohighedu.cn/upload/index',
imageUrl: 'https://app.gohighedu.cn/images', imageUrl: 'https://app.gohighedu.cn/images/',
Timestamp: new Date().getTime(), Timestamp: new Date().getTime(),

2
src/components/pagination/index.wxml

@ -1,6 +1,6 @@
<block wx:if="{{pagination.count==0}}"> <block wx:if="{{pagination.count==0}}">
<slot wx:if="{{customEmpty}}"></slot> <slot wx:if="{{customEmpty}}"></slot>
<image wx:else class="none external-class" src="{{imageUrl}}/none.png?t={{Timestamp}}"></image> <image wx:else class="none external-class" src="{{imageUrl}}none.png?t={{Timestamp}}"></image>
</block> </block>
<van-divider contentPosition="center" wx:elif="{{pagination.page<pagination.pages}}"> <van-divider contentPosition="center" wx:elif="{{pagination.page<pagination.pages}}">
<van-loading /> <van-loading />

2
src/components/popup/index.wxml

@ -10,7 +10,7 @@
root-portal root-portal
> >
<view class="popup1" wx:if="{{type==='popup1'}}"> <view class="popup1" wx:if="{{type==='popup1'}}">
<image class="icon" src="/images/icon41.png"></image> <image class="icon" src="{{imageUrl}}icon41.png?t={{Timestamp}}"></image>
<view class="container"> <view class="container">
<view class="title">签到成功</view> <view class="title">签到成功</view>
<view class="content">活动即将开始,请有序进场</view> <view class="content">活动即将开始,请有序进场</view>

2
src/custom-tab-bar/index.wxml

@ -5,7 +5,7 @@
wx:if="{{ index != 3 || !anyWhere}}" wx:if="{{ index != 3 || !anyWhere}}"
bind:tap="handleNav" bind:tap="handleNav"
data-index="{{index}}" data-index="{{index}}"
icon="/images/{{active==index ? item.iconActive : item.icon}}.png" icon="{{imageUrl}}{{active==index ? item.iconActive : item.icon}}.png"
> >
<view class="name {{index==active && 'active'}}">{{item.text}}</view> <view class="name {{index==active && 'active'}}">{{item.text}}</view>
<view class="hot"></view> <view class="hot"></view>

BIN
src/images/icon10.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
src/images/icon11.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

BIN
src/images/icon12.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
src/images/icon13.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

BIN
src/images/icon14.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
src/images/icon5.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 632 B

After

Width:  |  Height:  |  Size: 1008 B

BIN
src/images/icon6.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 571 B

After

Width:  |  Height:  |  Size: 911 B

BIN
src/images/icon7.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

BIN
src/images/icon76.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

BIN
src/images/icon77.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

BIN
src/images/icon78.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
src/images/icon79.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
src/images/icon8.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
src/images/icon80.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

BIN
src/images/icon81.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
src/images/icon82.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
src/images/icon83.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
src/images/icon84.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
src/images/icon85.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
src/images/icon86.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

BIN
src/images/icon87.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

BIN
src/images/icon88.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

BIN
src/images/icon9.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

10
src/pages/act/index.scss

@ -94,8 +94,8 @@ page {
.icon { .icon {
display: block; display: block;
margin: 0 auto; margin: 0 auto;
width: 32rpx; width: 46rpx;
height: 32rpx; height: 46rpx;
padding: 30rpx; padding: 30rpx;
background-color: rgba(255, 255, 255, 1); background-color: rgba(255, 255, 255, 1);
border-radius: 16rpx; border-radius: 16rpx;
@ -103,8 +103,8 @@ page {
.icon-active { .icon-active {
display: none; display: none;
margin: 0 auto; margin: 0 auto;
width: 32rpx; width: 46rpx;
height: 32rpx; height: 46rpx;
padding: 30rpx; padding: 30rpx;
background: linear-gradient(90deg, #9ddffd 0%, #4ab8fd 100%); background: linear-gradient(90deg, #9ddffd 0%, #4ab8fd 100%);
border-radius: 16rpx; border-radius: 16rpx;
@ -275,7 +275,7 @@ page {
background: #f7f8fa; background: #f7f8fa;
border-radius: 15rpx 15rpx 15rpx 15rpx; border-radius: 15rpx 15rpx 15rpx 15rpx;
border: 1px solid #f7f8fa; border: 1px solid #f7f8fa;
&.active{ &.active {
background-color: rgba(157, 223, 253, 0.16); background-color: rgba(157, 223, 253, 0.16);
border: 1px solid rgba(74, 184, 253, 0.32); border: 1px solid rgba(74, 184, 253, 0.32);
color: rgba(74, 184, 253, 1); color: rgba(74, 184, 253, 1);

61
src/pages/act/index.ts

@ -1,3 +1,4 @@
/* eslint-disable prefer-template */
const app = getApp<IAppOption>() const app = getApp<IAppOption>()
interface ILevelItem { interface ILevelItem {
@ -62,11 +63,43 @@ Page({
{ {
id: 0, id: 0,
name: '全部分类', name: '全部分类',
icon: '/images/icon5.png',
iconActive: '/images/icon6.png',
isSelected: true, isSelected: true,
}, },
] as Array<{ id: number; name: string; icon: string; iconActive: string; isSelected: boolean }>, ] as Array<{ id: number; name: string; icon: string; iconActive: string; isSelected: boolean }>,
typeIcon: {
0: {
icon: app.globalData.imageUrl + '/icon5.png',
iconActive: app.globalData.imageUrl + '/icon6.png',
},
1: {
icon: app.globalData.imageUrl + '/icon7.png',
iconActive: app.globalData.imageUrl + '/icon8.png',
},
2: {
icon: app.globalData.imageUrl + '/icon9.png',
iconActive: app.globalData.imageUrl + '/icon10.png',
},
3: {
icon: app.globalData.imageUrl + '/icon11.png',
iconActive: app.globalData.imageUrl + '/icon12.png',
},
4: {
icon: app.globalData.imageUrl + '/icon13.png',
iconActive: app.globalData.imageUrl + '/icon14.png',
},
5: {
icon: app.globalData.imageUrl + '/icon76.png',
iconActive: app.globalData.imageUrl + '/icon77.png',
},
6: {
icon: app.globalData.imageUrl + '/icon78.png',
iconActive: app.globalData.imageUrl + '/icon79.png',
},
7: {
icon: app.globalData.imageUrl + '/icon80.png',
iconActive: app.globalData.imageUrl + '/icon81.png',
},
},
// 当前选中的分类 ID 数组(支持多选) // 当前选中的分类 ID 数组(支持多选)
selectedCategoryIds: [] as number[], selectedCategoryIds: [] as number[],
// 活动列表 // 活动列表
@ -152,21 +185,21 @@ Page({
data: {}, data: {},
}) })
if (res && res.list) { if (res && res.list) {
const { selectedCategoryIds } = this.data const { selectedCategoryIds, typeIcon } = this.data
// 构建 typeList,在开头添加"全部分类",并计算选中状态 // 构建 typeList,在开头添加"全部分类",并计算选中状态
const typeList = [ const typeList = [
{ {
id: 0, id: 0,
name: '全部分类', name: '全部分类',
icon: '/images/icon5.png', icon: typeIcon[0].icon,
iconActive: '/images/icon6.png', iconActive: typeIcon[0].iconActive,
isSelected: selectedCategoryIds.length === 0, isSelected: selectedCategoryIds.length === 0,
}, },
...res.list.map((item: ICategoryItem) => ({ ...res.list.map((item: ICategoryItem) => ({
id: item.id, id: item.id,
name: item.name, name: item.name,
icon: item.icon || '/images/icon5.png', icon: typeIcon[item.id]?.icon,
iconActive: item.icon || '/images/icon6.png', iconActive: typeIcon[item.id]?.iconActive,
isSelected: selectedCategoryIds.includes(item.id), isSelected: selectedCategoryIds.includes(item.id),
})), })),
] ]
@ -223,10 +256,10 @@ Page({
this.setData({ this.setData({
activityList: newList, activityList: newList,
pagination: { pagination: {
page: res.page || page, page: res.pagination.page || page,
pageSize: res.pageSize || pagination.pageSize, pageSize: res.pagination.pageSize || pagination.pageSize,
pages: res.pages || 0, pages: res.pagination.totalPages || 0,
count: res.count || 0, count: res.pagination.total || 0,
}, },
}) })
} }
@ -367,7 +400,8 @@ Page({
startTime = formatDate(today) startTime = formatDate(today)
endTime = formatDate(today) endTime = formatDate(today)
break break
case 2: { // 本周 case 2: {
// 本周
const weekStart = new Date(today) const weekStart = new Date(today)
weekStart.setDate(today.getDate() - today.getDay() + 1) weekStart.setDate(today.getDate() - today.getDay() + 1)
const weekEnd = new Date(weekStart) const weekEnd = new Date(weekStart)
@ -376,7 +410,8 @@ Page({
endTime = formatDate(weekEnd) endTime = formatDate(weekEnd)
break break
} }
case 3: { // 本月 case 3: {
// 本月
const monthStart = new Date(today.getFullYear(), today.getMonth(), 1) const monthStart = new Date(today.getFullYear(), today.getMonth(), 1)
const monthEnd = new Date(today.getFullYear(), today.getMonth() + 1, 0) const monthEnd = new Date(today.getFullYear(), today.getMonth() + 1, 0)
startTime = formatDate(monthStart) startTime = formatDate(monthStart)

18
src/pages/act/index.wxml

@ -1,7 +1,7 @@
<view class="page"> <view class="page">
<view class="page-header"> <view class="page-header">
<view class="search"> <view class="search">
<image class="icon" src="/images/icon1.png"></image> <image class="icon" src="{{imageUrl}}icon1.png?t={{Timestamp}}"></image>
<view class="content">请搜索你想要的内容</view> <view class="content">请搜索你想要的内容</view>
</view> </view>
<view class="options"> <view class="options">
@ -17,7 +17,7 @@
</view> </view>
</view> </view>
<view class="filter-btn" bind:tap="handleFilterOpen"> <view class="filter-btn" bind:tap="handleFilterOpen">
<image class="icon" src="/images/icon4.png"></image> <image class="icon" src="{{imageUrl}}icon4.png?t={{Timestamp}}"></image>
筛选 筛选
</view> </view>
</view> </view>
@ -41,7 +41,7 @@
<!-- Banner --> <!-- Banner -->
<swiper class="banner"> <swiper class="banner">
<swiper-item> <swiper-item>
<image class="b-img" mode="aspectFill" src="/images/bg1.png"></image> <image class="b-img" mode="aspectFill" src="{{imageUrl}}bg1.png?t={{Timestamp}}"></image>
</swiper-item> </swiper-item>
</swiper> </swiper>
@ -56,17 +56,17 @@
> >
<view class="photo"> <view class="photo">
<view class="status" wx:if="{{item.activityStatusName}}">{{item.activityStatusName}}</view> <view class="status" wx:if="{{item.activityStatusName}}">{{item.activityStatusName}}</view>
<image class="p-img" src="{{item.mainImages[0] || '/images/bg1.png'}}" mode="aspectFill"></image> <image class="p-img" src="{{item.mainImages[0] || '{{imageUrl}}bg1.png?t={{Timestamp}}'}}" mode="aspectFill"></image>
<view class="user" wx:if="{{item.regCount}}">{{item.regCount}}人已报名</view> <view class="user" wx:if="{{item.regCount}}">{{item.regCount}}人已报名</view>
</view> </view>
<view class="wrap"> <view class="wrap">
<view class="title">{{item.name}}</view> <view class="title">{{item.name}}</view>
<view class="date"> <view class="date">
<image class="icon" src="/images/icon3.png"></image> <image class="icon" src="{{imageUrl}}icon3.png?t={{Timestamp}}"></image>
<view class="content">{{item.startAt}} - {{item.endAt}}</view> <view class="content">{{item.startAt}} - {{item.endAt}}</view>
</view> </view>
<view class="site"> <view class="site">
<image class="icon" src="/images/icon15.png"></image> <image class="icon" src="{{imageUrl}}icon15.png?t={{Timestamp}}"></image>
<view class="content">{{item.location}}</view> <view class="content">{{item.location}}</view>
</view> </view>
</view> </view>
@ -79,7 +79,7 @@
<!-- 活动申请按钮 --> <!-- 活动申请按钮 -->
<view class="aside-bar" bind:tap="handleApply"> <view class="aside-bar" bind:tap="handleApply">
<image class="icon" src="/images/icon16.png"></image> <image class="icon" src="{{imageUrl}}icon16.png?t={{Timestamp}}"></image>
<view class="name">活动申请</view> <view class="name">活动申请</view>
</view> </view>
@ -107,14 +107,14 @@
<picker class="date" mode="date" value="{{customStartTime}}" bindchange="handleStartTimeChange"> <picker class="date" mode="date" value="{{customStartTime}}" bindchange="handleStartTimeChange">
<view class="content"> <view class="content">
{{customStartTime || '请选择'}} {{customStartTime || '请选择'}}
<image class="icon" src="/images/icon17.png"></image> <image class="icon" src="{{imageUrl}}icon17.png?t={{Timestamp}}"></image>
</view> </view>
</picker> </picker>
<view class="line">-</view> <view class="line">-</view>
<picker class="date" mode="date" value="{{customEndTime}}" bindchange="handleEndTimeChange"> <picker class="date" mode="date" value="{{customEndTime}}" bindchange="handleEndTimeChange">
<view class="content"> <view class="content">
{{customEndTime || '请选择'}} {{customEndTime || '请选择'}}
<image class="icon" src="/images/icon17.png"></image> <image class="icon" src="{{imageUrl}}icon17.png?t={{Timestamp}}"></image>
</view> </view>
</picker> </picker>
</view> </view>

122
src/pages/actAdd/index.scss

@ -532,107 +532,52 @@ page {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
padding: 28rpx 12rpx; padding: 22rpx 12rpx;
border-radius: 16rpx; border-radius: 16rpx;
border: 2rpx solid #e5e7eb; border: 2px solid rgba(241, 245, 249, 1);
background: #fff; background: rgba(247, 248, 250, 1);
transition: all 0.2s; transition: all 0.2s;
&.is-active {
border-color: #3b82f6;
background: #eff6ff;
}
.checkin-icon-wrap {
width: 72rpx;
height: 72rpx;
border-radius: 16rpx;
background: #f3f4f6;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 12rpx;
}
.checkin-icon {
width: 40rpx;
height: 40rpx;
border-radius: 8rpx;
position: relative; position: relative;
.select {
&--dynamic {
background: #d1d5db;
&::before {
content: '';
position: absolute; position: absolute;
top: 6rpx; top: -1rpx;
left: 6rpx; right: -1rpx;
width: 12rpx; padding: 6rpx 10rpx;
height: 12rpx; background-color: rgba(74, 184, 253, 1);
background: rgba(148, 163, 184, 0.5); color: #fff;
border-radius: 2rpx; font-size: 16rpx;
border-radius: 0 15rpx 0 20rpx;
display: none;
} }
&::after { &.is-active {
content: ''; border: 2px solid rgba(74, 184, 253, 1);
position: absolute; background: rgba(238, 242, 255, 0.3);
bottom: 6rpx; .checkin-icon {
right: 6rpx; display: none;
width: 16rpx;
height: 16rpx;
border: 2rpx solid rgba(148, 163, 184, 0.5);
border-radius: 2rpx;
}
} }
.checkin-icon:last-of-type {
&--fixed { display: block;
background: #d1d5db;
&::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 24rpx;
height: 24rpx;
border: 2rpx solid rgba(148, 163, 184, 0.5);
border-radius: 2rpx;
} }
.select {
display: block;
} }
&--none {
background: transparent;
border: 2rpx solid #d1d5db;
&::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) rotate(45deg);
width: 2rpx;
height: 24rpx;
background: rgba(148, 163, 184, 0.5);
} }
&::after { .checkin-icon {
content: ''; width: 42rpx;
position: absolute; height: 42rpx;
top: 50%; border-radius: 8rpx;
left: 50%; position: relative;
transform: translate(-50%, -50%) rotate(-45deg); &:last-of-type {
width: 2rpx; display: none;
height: 24rpx;
background: rgba(148, 163, 184, 0.5);
}
} }
} }
.checkin-name { .checkin-name {
margin-top: 8rpx;
font-size: 24rpx; font-size: 24rpx;
color: #6b7280; color: rgba(71, 85, 105, 1);
} }
} }
@ -644,13 +589,12 @@ page {
background-color: rgba(241, 249, 255, 1); background-color: rgba(241, 249, 255, 1);
border: 1px solid rgba(74, 184, 253, 0.25); border: 1px solid rgba(74, 184, 253, 0.25);
border-radius: 16rpx; border-radius: 16rpx;
gap: 16rpx;
.form-tip-icon { .form-tip-icon {
font-size: 24rpx;
color: #3b82f6;
margin-right: 8rpx;
margin-top: 2rpx;
flex-shrink: 0; flex-shrink: 0;
width: 32rpx;
height: 32rpx;
} }
.form-tip-text { .form-tip-text {

84
src/pages/actAdd/index.wxml

@ -26,9 +26,16 @@
<text>活动头图</text> <text>活动头图</text>
<text class="required">*</text> <text class="required">*</text>
</view> </view>
<upload-file maxCount="{{1}}" accept="{{['image']}}" useSlot="{{true}}" fileList="{{coverImageList}}" bind:success="onCoverSuccess" bind:error="onCoverError"> <upload-file
maxCount="{{1}}"
accept="{{['image']}}"
useSlot="{{true}}"
fileList="{{coverImageList}}"
bind:success="onCoverSuccess"
bind:error="onCoverError"
>
<view slot="upload-area" class="upload-inner"> <view slot="upload-area" class="upload-inner">
<image class="upload-camera" src="/images/icon35.png"></image> <image class="upload-camera" src="{{imageUrl}}icon35.png?t={{Timestamp}}"></image>
<text class="upload-text">点击上传</text> <text class="upload-text">点击上传</text>
</view> </view>
</upload-file> </upload-file>
@ -67,13 +74,13 @@
<picker mode="date" value="{{startTime}}" end="{{endTime}}" data-field="startTime" bindchange="onPickTime"> <picker mode="date" value="{{startTime}}" end="{{endTime}}" data-field="startTime" bindchange="onPickTime">
<view class="form-picker"> <view class="form-picker">
<text class="picker-value {{startTime ? '' : 'is-placeholder'}}">{{startTime || '请选择开始时间'}}</text> <text class="picker-value {{startTime ? '' : 'is-placeholder'}}">{{startTime || '请选择开始时间'}}</text>
<image class="picker-icon" src="/images/icon17.png"></image> <image class="picker-icon" src="{{imageUrl}}icon17.png?t={{Timestamp}}"></image>
</view> </view>
</picker> </picker>
<picker mode="date" value="{{endTime}}" start="{{startTime}}" data-field="endTime" bindchange="onPickTime"> <picker mode="date" value="{{endTime}}" start="{{startTime}}" data-field="endTime" bindchange="onPickTime">
<view class="form-picker"> <view class="form-picker">
<text class="picker-value {{endTime ? '' : 'is-placeholder'}}">{{endTime || '请选择结束时间'}}</text> <text class="picker-value {{endTime ? '' : 'is-placeholder'}}">{{endTime || '请选择结束时间'}}</text>
<image class="picker-icon" src="/images/icon17.png"></image> <image class="picker-icon" src="{{imageUrl}}icon17.png?t={{Timestamp}}"></image>
</view> </view>
</picker> </picker>
</view> </view>
@ -226,7 +233,7 @@
<!-- 报名设置说明 --> <!-- 报名设置说明 -->
<view class="sub-section"> <view class="sub-section">
<view class="sub-icon-wrap"> <view class="sub-icon-wrap">
<image class="icon" src="/images/icon36.png"></image> <image class="icon" src="{{imageUrl}}icon36.png?t={{Timestamp}}"></image>
</view> </view>
<view class="sub-text-wrap"> <view class="sub-text-wrap">
<text class="sub-title">报名设置</text> <text class="sub-title">报名设置</text>
@ -239,20 +246,32 @@
<text>报名时间</text> <text>报名时间</text>
<text class="required">*</text> <text class="required">*</text>
</view> </view>
<picker mode="date" value="{{registerStartTime}}" end="{{registerEndTime}}" data-field="registerStartTime" bindchange="onPickTime"> <picker
mode="date"
value="{{registerStartTime}}"
end="{{registerEndTime}}"
data-field="registerStartTime"
bindchange="onPickTime"
>
<view class="form-picker"> <view class="form-picker">
<view class="picker-value {{registerStartTime ? '' : 'is-placeholder'}}"> <view class="picker-value {{registerStartTime ? '' : 'is-placeholder'}}">
{{registerStartTime || '请选择开始时间'}} {{registerStartTime || '请选择开始时间'}}
</view> </view>
<image class="picker-icon" src="/images/icon17.png"></image> <image class="picker-icon" src="{{imageUrl}}icon17.png?t={{Timestamp}}"></image>
</view> </view>
</picker> </picker>
<picker mode="date" value="{{registerEndTime}}" start="{{registerStartTime}}" data-field="registerEndTime" bindchange="onPickTime"> <picker
mode="date"
value="{{registerEndTime}}"
start="{{registerStartTime}}"
data-field="registerEndTime"
bindchange="onPickTime"
>
<view class="form-picker"> <view class="form-picker">
<view class="picker-value {{registerEndTime ? '' : 'is-placeholder'}}"> <view class="picker-value {{registerEndTime ? '' : 'is-placeholder'}}">
{{registerEndTime || '请选择结束时间'}} {{registerEndTime || '请选择结束时间'}}
</view> </view>
<image class="picker-icon" src="/images/icon17.png"></image> <image class="picker-icon" src="{{imageUrl}}icon17.png?t={{Timestamp}}"></image>
</view> </view>
</picker> </picker>
</view> </view>
@ -311,7 +330,7 @@
<!-- 签到设置说明 --> <!-- 签到设置说明 -->
<view class="sub-section"> <view class="sub-section">
<view class="sub-icon-wrap"> <view class="sub-icon-wrap">
<image class="icon" src="/images/icon37.png"></image> <image class="icon" src="{{imageUrl}}icon37.png?t={{Timestamp}}"></image>
</view> </view>
<view class="sub-text-wrap"> <view class="sub-text-wrap">
<text class="sub-title">签到设置</text> <text class="sub-title">签到设置</text>
@ -328,8 +347,10 @@
bindtap="onSelectCheckinWay" bindtap="onSelectCheckinWay"
data-value="dynamic" data-value="dynamic"
> >
<view class="select"><van-icon name="success" /></view>
<view class="checkin-icon-wrap"> <view class="checkin-icon-wrap">
<view class="checkin-icon checkin-icon--dynamic"></view> <image class="checkin-icon" src="{{imageUrl}}icon83.png?t={{Timestamp}}"></image>
<image class="checkin-icon" src="{{imageUrl}}icon82.png?t={{Timestamp}}"></image>
</view> </view>
<text class="checkin-name">动态二维码</text> <text class="checkin-name">动态二维码</text>
</view> </view>
@ -338,8 +359,10 @@
bindtap="onSelectCheckinWay" bindtap="onSelectCheckinWay"
data-value="fixed" data-value="fixed"
> >
<view class="select"><van-icon name="success" /></view>
<view class="checkin-icon-wrap"> <view class="checkin-icon-wrap">
<view class="checkin-icon checkin-icon--fixed"></view> <image class="checkin-icon" src="{{imageUrl}}icon85.png?t={{Timestamp}}"></image>
<image class="checkin-icon" src="{{imageUrl}}icon84.png?t={{Timestamp}}"></image>
</view> </view>
<text class="checkin-name">固定二维码</text> <text class="checkin-name">固定二维码</text>
</view> </view>
@ -348,8 +371,10 @@
bindtap="onSelectCheckinWay" bindtap="onSelectCheckinWay"
data-value="none" data-value="none"
> >
<view class="select"><van-icon name="success" /></view>
<view class="checkin-icon-wrap"> <view class="checkin-icon-wrap">
<view class="checkin-icon checkin-icon--none"></view> <image class="checkin-icon" src="{{imageUrl}}icon87.png?t={{Timestamp}}"></image>
<image class="checkin-icon" src="{{imageUrl}}icon86.png?t={{Timestamp}}"></image>
</view> </view>
<text class="checkin-name">无需签到</text> <text class="checkin-name">无需签到</text>
</view> </view>
@ -363,20 +388,32 @@
<text>签到时间</text> <text>签到时间</text>
<text class="required">*</text> <text class="required">*</text>
</view> </view>
<picker mode="date" value="{{checkinStartTime}}" end="{{checkinEndTime}}" data-field="checkinStartTime" bindchange="onPickTime"> <picker
mode="date"
value="{{checkinStartTime}}"
end="{{checkinEndTime}}"
data-field="checkinStartTime"
bindchange="onPickTime"
>
<view class="form-picker"> <view class="form-picker">
<view class="picker-value {{checkinStartTime ? '' : 'is-placeholder'}}"> <view class="picker-value {{checkinStartTime ? '' : 'is-placeholder'}}">
{{checkinStartTime || '请选择签到开始时间'}} {{checkinStartTime || '请选择签到开始时间'}}
</view> </view>
<image class="picker-icon" src="/images/icon17.png"></image> <image class="picker-icon" src="{{imageUrl}}icon17.png?t={{Timestamp}}"></image>
</view> </view>
</picker> </picker>
<picker mode="date" value="{{checkinEndTime}}" start="{{checkinStartTime}}" data-field="checkinEndTime" bindchange="onPickTime"> <picker
mode="date"
value="{{checkinEndTime}}"
start="{{checkinStartTime}}"
data-field="checkinEndTime"
bindchange="onPickTime"
>
<view class="form-picker"> <view class="form-picker">
<view class="picker-value {{checkinEndTime ? '' : 'is-placeholder'}}"> <view class="picker-value {{checkinEndTime ? '' : 'is-placeholder'}}">
{{checkinEndTime || '请选择签到结束时间'}} {{checkinEndTime || '请选择签到结束时间'}}
</view> </view>
<image class="picker-icon" src="/images/icon17.png"></image> <image class="picker-icon" src="{{imageUrl}}icon17.png?t={{Timestamp}}"></image>
</view> </view>
</picker> </picker>
</view> </view>
@ -384,8 +421,8 @@
</view> </view>
<view class="form-tip"> <view class="form-tip">
<text class="form-tip-icon">ⓘ</text> <image class="form-tip-icon" src="{{imageUrl}}icon88.png?t={{Timestamp}}"></image>
<text class="form-tip-text">报名与签到设置完成后,活动发布后需审批通过后执行</text> <text class="form-tip-text">报名与签到设置完成后,活动发布后将按此规则执行</text>
</view> </view>
<view class="bottom-safe"></view> <view class="bottom-safe"></view>
@ -404,10 +441,10 @@
<view class="section-header"> <view class="section-header">
<view class="section-title-wrap"> <view class="section-title-wrap">
<text class="section-title">议程列表</text> <text class="section-title">议程列表</text>
<image class="section-info" src="/images/icon40.png"></image> <image class="section-info" src="{{imageUrl}}icon40.png?t={{Timestamp}}"></image>
</view> </view>
<view class="add-btn" bindtap="onAddAgenda"> <view class="add-btn" bindtap="onAddAgenda">
<image class="add-icon" src="/images/icon39.png"></image> <image class="add-icon" src="{{imageUrl}}icon39.png?t={{Timestamp}}"></image>
<text class="add-text">添加议程</text> <text class="add-text">添加议程</text>
</view> </view>
</view> </view>
@ -416,7 +453,7 @@
<view class="agenda-header"> <view class="agenda-header">
<view class="agenda-name">议程 {{index + 1}}</view> <view class="agenda-name">议程 {{index + 1}}</view>
<view class="agenda-del" bindtap="onRemoveAgenda" data-index="{{index}}"> <view class="agenda-del" bindtap="onRemoveAgenda" data-index="{{index}}">
<image class="icon" src="/images/icon38.png"></image> <image class="icon" src="{{imageUrl}}icon38.png?t={{Timestamp}}"></image>
删除 删除
</view> </view>
</view> </view>
@ -437,7 +474,7 @@
<view class="picker-value {{item.agendaTime ? '' : 'is-placeholder'}}"> <view class="picker-value {{item.agendaTime ? '' : 'is-placeholder'}}">
{{item.agendaTime || '请选择时间'}} {{item.agendaTime || '请选择时间'}}
</view> </view>
<image class="picker-icon" src="/images/icon17.png"></image> <image class="picker-icon" src="{{imageUrl}}icon17.png?t={{Timestamp}}"></image>
</view> </view>
</picker> </picker>
</view> </view>
@ -486,5 +523,4 @@
<view class="btn btn-primary" bindtap="onSubmit">提交</view> <view class="btn btn-primary" bindtap="onSubmit">提交</view>
</view> </view>
</block> </block>
</view> </view>

2
src/pages/actAddResult/index.wxml

@ -1,5 +1,5 @@
<view class="page"> <view class="page">
<image class="status-icon" src="/images/icon33.png"></image> <image class="status-icon" src="{{imageUrl}}icon33.png?t={{Timestamp}}"></image>
<view class="status">申请提交成功</view> <view class="status">申请提交成功</view>
<view class="content">我们将会在 7 个工作日内完成审核,结果将通过公 众号发送给你,请注意查收~</view> <view class="content">我们将会在 7 个工作日内完成审核,结果将通过公 众号发送给你,请注意查收~</view>
<view class="btn" bind:tap="handleContinue">继续发布</view> <view class="btn" bind:tap="handleContinue">继续发布</view>

5
src/pages/actDetail/index.scss

@ -309,6 +309,11 @@ page {
font-size: 28rpx; font-size: 28rpx;
color: rgba(100, 116, 139, 1); color: rgba(100, 116, 139, 1);
} }
&.active{
.s-content{
color: rgba(254, 181, 74, 1);
}
}
} }
} }
} }

4
src/pages/actDetail/index.ts

@ -409,7 +409,9 @@ Page({
// 点赞评价 // 点赞评价
async handleLikeReview(e: WechatMiniprogram.TouchEvent) { async handleLikeReview(e: WechatMiniprogram.TouchEvent) {
const reviewId = e.currentTarget.dataset.id const { reviewId, islike } = e.currentTarget.dataset
if (islike) return
const { reviewList } = this.data const { reviewList } = this.data
// 检查登录状态 // 检查登录状态

35
src/pages/actDetail/index.wxml

@ -5,7 +5,7 @@
<view <view
class="page" class="page"
style="background: url('{{detail.mainImages[0] || '/images/bg1.png'}}') no-repeat top center/100%;padding-top: {{pageTop}}px;" style="background: url('{{detail.mainImages[0] || '{{imageUrl}}bg1.png?t={{Timestamp}}'}}') no-repeat top center/100%;padding-top: {{pageTop}}px;"
> >
<view class="info-card"> <view class="info-card">
<view class="title">{{detail.name}}</view> <view class="title">{{detail.name}}</view>
@ -22,11 +22,11 @@
<view class="content">{{detail.regCount}}人已报名</view> <view class="content">{{detail.regCount}}人已报名</view>
</view> </view>
<view class="pv"> <view class="pv">
<image class="icon" src="/images/icon21.png"></image> <image class="icon" src="{{imageUrl}}icon21.png?t={{Timestamp}}"></image>
{{detail.viewCount}}次 {{detail.viewCount}}次
</view> </view>
<view class="share"> <view class="share">
<image class="icon" src="/images/icon22.png"></image> <image class="icon" src="{{imageUrl}}icon22.png?t={{Timestamp}}"></image>
{{detail.shareCount}}次 {{detail.shareCount}}次
</view> </view>
</view> </view>
@ -35,19 +35,19 @@
</view> </view>
<view class="row-wrap"> <view class="row-wrap">
<view class="row" wx:if="{{detail.regType === 1}}"> <view class="row" wx:if="{{detail.regType === 1}}">
<image class="icon" src="/images/icon27.png"></image> <image class="icon" src="{{imageUrl}}icon27.png?t={{Timestamp}}"></image>
<view class="content">报名时间 {{detail.regStartAt}} - {{detail.regEndAt}}</view> <view class="content">报名时间 {{detail.regStartAt}} - {{detail.regEndAt}}</view>
</view> </view>
<view class="row"> <view class="row">
<image class="icon" src="/images/icon28.png"></image> <image class="icon" src="{{imageUrl}}icon28.png?t={{Timestamp}}"></image>
<view class="content">活动时间 {{detail.startAt}} - {{detail.endAt}}</view> <view class="content">活动时间 {{detail.startAt}} - {{detail.endAt}}</view>
</view> </view>
<view class="row"> <view class="row">
<image class="icon" src="/images/icon29.png"></image> <image class="icon" src="{{imageUrl}}icon29.png?t={{Timestamp}}"></image>
<view class="content">活动地点 {{detail.location}}</view> <view class="content">活动地点 {{detail.location}}</view>
</view> </view>
<view class="row" wx:if="{{detail.organizer}}"> <view class="row" wx:if="{{detail.organizer}}">
<image class="icon" src="/images/icon30.png"></image> <image class="icon" src="{{imageUrl}}icon30.png?t={{Timestamp}}"></image>
<view class="content">主办方 {{detail.organizer}}</view> <view class="content">主办方 {{detail.organizer}}</view>
</view> </view>
</view> </view>
@ -86,7 +86,10 @@
<view class="c-title">精彩评论 ({{detail.commentCount}}条)</view> <view class="c-title">精彩评论 ({{detail.commentCount}}条)</view>
<view class="c-card" wx:for="{{reviewList}}" wx:key="id"> <view class="c-card" wx:for="{{reviewList}}" wx:key="id">
<view class="user"> <view class="user">
<image class="avatar" src="{{item.isAnonymous ? '/images/avatar-default.png' : item.avatarUrl}}"></image> <image
class="avatar"
src="{{item.isAnonymous ? '{{imageUrl}}avatar-default.png?t={{Timestamp}}' : item.avatarUrl}}"
></image>
<view class="wrap"> <view class="wrap">
<view class="name">{{item.isAnonymous ? '匿名用户' : item.nickname}}</view> <view class="name">{{item.isAnonymous ? '匿名用户' : item.nickname}}</view>
<view class="rate"> <view class="rate">
@ -104,8 +107,8 @@
<view class="c-footer"> <view class="c-footer">
<view class="date">{{item.createdAt}}</view> <view class="date">{{item.createdAt}}</view>
<view class="stat"> <view class="stat">
<view class="s-item" data-id="{{item.id}}" bind:tap="handleLikeReview"> <view class="s-item {{item.isLiked && 'active'}}" data-id="{{item.id}}" data-islike="{{item.isLiked}}" bind:tap="handleLikeReview">
<image class="icon" src="{{item.isLiked ? '/images/icon53.png' : '/images/icon31.png'}}"></image> <image class="icon" src="{{imageUrl}}{{item.isLiked ? 'icon53' : 'icon31'}}.png?t={{Timestamp}}"></image>
<view class="s-content">{{item.likeCount}}</view> <view class="s-content">{{item.likeCount}}</view>
</view> </view>
</view> </view>
@ -158,7 +161,7 @@
<!-- 分享按钮 --> <!-- 分享按钮 -->
<view class="slidebar-share"> <view class="slidebar-share">
<image class="icon" src="{{detail.isFavorited ? '/images/icon42-active.png' : '/images/icon42.png'}}"></image> <image class="icon" src="{{imageUrl}}icon42.png?t={{Timestamp}}"></image>
</view> </view>
<!-- 评论控件 --> <!-- 评论控件 -->
@ -188,7 +191,13 @@
></textarea> ></textarea>
<view class="upload-list"> <view class="upload-list">
<view class="preview-list"> <view class="preview-list">
<view class="preview-item" wx:for="{{commentImages}}" wx:key="uid" data-index="{{index}}" bind:tap="onRemoveCommentImage"> <view
class="preview-item"
wx:for="{{commentImages}}"
wx:key="uid"
data-index="{{index}}"
bind:tap="onRemoveCommentImage"
>
<image class="p-img" src="{{item.url}}"></image> <image class="p-img" src="{{item.url}}"></image>
<view class="close"> <view class="close">
<van-icon name="cross" /> <van-icon name="cross" />
@ -204,7 +213,7 @@
bind:error="onCommentImageError" bind:error="onCommentImageError"
> >
<view class="upload" slot="upload-area"> <view class="upload" slot="upload-area">
<image class="icon" src="/images/icon43.png"></image> <image class="icon" src="{{imageUrl}}icon43.png?t={{Timestamp}}"></image>
</view> </view>
</uploadFile> </uploadFile>
</view> </view>

12
src/pages/actResult/index.wxml

@ -1,10 +1,10 @@
<view class="page"> <view class="page">
<view class="container"> <view class="container">
<image class="status-icon" src="/images/icon34.png"></image> <image class="status-icon" src="{{imageUrl}}icon34.png?t={{Timestamp}}"></image>
<view class="status">报名成功</view> <view class="status">报名成功</view>
<view class="content">活动将于{{detail.startAt}}开始,请记得准时参加</view> <view class="content">活动将于{{detail.startAt}}开始,请记得准时参加</view>
<view class="code-wrap" style="background: url('/images/bg2.png') no-repeat center/cover"> <view class="code-wrap" style="background: url('{{imageUrl}}bg2.png?t={{Timestamp}}') no-repeat center/cover">
<image class="code" src="{{detail.mainImages[0] || '/images/bg1.png'}}"></image> <image class="code" src="{{detail.mainImages[0] || '{{imageUrl}}bg1.png?t={{Timestamp}}'}}"></image>
</view> </view>
<view class="btn" bind:tap="handleBack">返回活动页</view> <view class="btn" bind:tap="handleBack">返回活动页</view>
</view> </view>
@ -14,17 +14,17 @@
<view class="card" wx:for="{{recommendList}}" wx:key="id" data-id="{{item.id}}" bind:tap="handleDetail"> <view class="card" wx:for="{{recommendList}}" wx:key="id" data-id="{{item.id}}" bind:tap="handleDetail">
<view class="photo"> <view class="photo">
<view class="status">{{item.status === 'registering' ? '报名中' : item.status === 'running' ? '进行中' : '已结束'}}</view> <view class="status">{{item.status === 'registering' ? '报名中' : item.status === 'running' ? '进行中' : '已结束'}}</view>
<image class="p-img" src="{{item.mainImages[0] || '/images/bg1.png'}}" mode="aspectFill"></image> <image class="p-img" src="{{item.mainImages[0] || '{{imageUrl}}bg1.png?t={{Timestamp}}'}}" mode="aspectFill"></image>
<view class="user">{{item.regCount}}人已报名</view> <view class="user">{{item.regCount}}人已报名</view>
</view> </view>
<view class="wrap"> <view class="wrap">
<view class="title">{{item.name}}</view> <view class="title">{{item.name}}</view>
<view class="date"> <view class="date">
<image class="icon" src="/images/icon3.png"></image> <image class="icon" src="{{imageUrl}}icon3.png?t={{Timestamp}}"></image>
<view class="content">{{item.startAt}} - {{item.endAt}}</view> <view class="content">{{item.startAt}} - {{item.endAt}}</view>
</view> </view>
<view class="site"> <view class="site">
<image class="icon" src="/images/icon15.png"></image> <image class="icon" src="{{imageUrl}}icon15.png?t={{Timestamp}}"></image>
<view class="content">{{item.location}}</view> <view class="content">{{item.location}}</view>
</view> </view>
</view> </view>

26
src/pages/agent/index.wxml

@ -1,7 +1,7 @@
<view class="page"> <view class="page">
<view class="page-header"> <view class="page-header">
<view class="search"> <view class="search">
<image class="icon" src="/images/icon47.png"></image> <image class="icon" src="{{imageUrl}}icon47.png?t={{Timestamp}}"></image>
<input <input
class="input" class="input"
placeholder-class="input-place" placeholder-class="input-place"
@ -20,7 +20,7 @@
indicator-active-color="rgba(74, 184, 253, 1)" indicator-active-color="rgba(74, 184, 253, 1)"
> >
<swiper-item class="swiper-item"> <swiper-item class="swiper-item">
<image class="s-img" mode="aspectFill" src="/images/bg1.png"></image> <image class="s-img" mode="aspectFill" src="{{imageUrl}}bg1.png?t={{Timestamp}}"></image>
</swiper-item> </swiper-item>
</swiper> </swiper>
</view> </view>
@ -34,7 +34,7 @@
</view> </view>
<view class="k-body"> <view class="k-body">
<view class="k-item" wx:for="{{4}}" wx:key="index"> <view class="k-item" wx:for="{{4}}" wx:key="index">
<image class="icon" src="/images/icon2.png"></image> <image class="icon" src="{{imageUrl}}icon2.png?t={{Timestamp}}"></image>
<view class="name">PPT小助手</view> <view class="name">PPT小助手</view>
</view> </view>
</view> </view>
@ -44,7 +44,7 @@
<view class="kr-header">最近使用</view> <view class="kr-header">最近使用</view>
<view class="kr-body"> <view class="kr-body">
<view class="kr-item" wx:for="{{3}}" wx:key="index"> <view class="kr-item" wx:for="{{3}}" wx:key="index">
<image class="icon" src="/images/icon2.png"></image> <image class="icon" src="{{imageUrl}}icon2.png?t={{Timestamp}}"></image>
<view class="name">PPT小助</view> <view class="name">PPT小助</view>
</view> </view>
</view> </view>
@ -53,7 +53,7 @@
<view class="kr-header">我的收藏</view> <view class="kr-header">我的收藏</view>
<view class="kr-body"> <view class="kr-body">
<view class="kr-item" wx:for="{{3}}" wx:key="index"> <view class="kr-item" wx:for="{{3}}" wx:key="index">
<image class="icon" src="/images/icon2.png"></image> <image class="icon" src="{{imageUrl}}icon2.png?t={{Timestamp}}"></image>
<view class="name">文章去</view> <view class="name">文章去</view>
</view> </view>
</view> </view>
@ -74,13 +74,13 @@
<view class="list"> <view class="list">
<view class="list-card" wx:for="{{10}}" wx:key="index"> <view class="list-card" wx:for="{{10}}" wx:key="index">
<view class="order"> <view class="order">
<image class="icon" wx:if="{{index==0}}" src="/images/icon48.png"></image> <image class="icon" wx:if="{{index==0}}" src="{{imageUrl}}icon48.png?t={{Timestamp}}"></image>
<image class="icon" wx:elif="{{index==1}}" src="/images/icon49.png"></image> <image class="icon" wx:elif="{{index==1}}" src="{{imageUrl}}icon49.png?t={{Timestamp}}"></image>
<image class="icon" wx:elif="{{index==2}}" src="/images/icon50.png"></image> <image class="icon" wx:elif="{{index==2}}" src="{{imageUrl}}icon50.png?t={{Timestamp}}"></image>
<view class="num" wx:else>{{index+1}}</view> <view class="num" wx:else>{{index+1}}</view>
</view> </view>
<view class="photo"> <view class="photo">
<image class="p-img" src="/images/icon2.png"></image> <image class="p-img" src="{{imageUrl}}icon2.png?t={{Timestamp}}"></image>
</view> </view>
<view class="wrap"> <view class="wrap">
<view class="title">应用包生成助手</view> <view class="title">应用包生成助手</view>
@ -88,13 +88,13 @@
<view class="stat">15.6w人使用</view> <view class="stat">15.6w人使用</view>
<view class="options"> <view class="options">
<view class="o-item active" bind:tap="handleEva"> <view class="o-item active" bind:tap="handleEva">
<image class="icon" src="/images/icon55.png"></image> <image class="icon" src="{{imageUrl}}icon55.png?t={{Timestamp}}"></image>
<image class="icon" src="/images/icon51.png"></image> <image class="icon" src="{{imageUrl}}icon51.png?t={{Timestamp}}"></image>
评级 评级
</view> </view>
<view class="o-item"> <view class="o-item">
<image class="icon" src="/images/icon56.png"></image> <image class="icon" src="{{imageUrl}}icon56.png?t={{Timestamp}}"></image>
<image class="icon" src="/images/icon57.png"></image> <image class="icon" src="{{imageUrl}}icon57.png?t={{Timestamp}}"></image>
收藏 收藏
</view> </view>
<view class="o-item">使用</view> <view class="o-item">使用</view>

10
src/pages/agentEva/index.wxml

@ -1,7 +1,7 @@
<view class="page"> <view class="page">
<view class="page-header"> <view class="page-header">
<view class="logo"> <view class="logo">
<image class="logo" src="/images/icon2.png"></image> <image class="logo" src="{{imageUrl}}icon2.png?t={{Timestamp}}"></image>
</view> </view>
<view class="title">应用包生成助手</view> <view class="title">应用包生成助手</view>
<view class="content">智能应用包构建工具 · 版本 2.4.0</view> <view class="content">智能应用包构建工具 · 版本 2.4.0</view>
@ -25,7 +25,7 @@
<view class="list-title">全部评价</view> <view class="list-title">全部评价</view>
<view class="list-card"> <view class="list-card">
<view class="user"> <view class="user">
<image class="avatar" src="/images/icon2.png"></image> <image class="avatar" src="{{imageUrl}}icon2.png?t={{Timestamp}}"></image>
<view class="wrap"> <view class="wrap">
<view class="w-header"> <view class="w-header">
<view class="name">张同学</view> <view class="name">张同学</view>
@ -41,12 +41,12 @@
</view> </view>
<view class="l-footer"> <view class="l-footer">
<view class="item"> <view class="item">
<image class="icon" src="/images/icon52.png"></image> <image class="icon" src="{{imageUrl}}icon52.png?t={{Timestamp}}"></image>
<image class="icon-active" src="/images/icon53.png"></image> <image class="icon-active" src="{{imageUrl}}icon53.png?t={{Timestamp}}"></image>
<view class="i-content">34</view> <view class="i-content">34</view>
</view> </view>
<view class="item"> <view class="item">
<image class="icon" src="/images/icon54.png"></image> <image class="icon" src="{{imageUrl}}icon54.png?t={{Timestamp}}"></image>
<view class="i-content">回复</view> <view class="i-content">回复</view>
</view> </view>
</view> </view>

14
src/pages/buses/index.wxml

@ -12,12 +12,12 @@
enable-rotate enable-rotate
> >
<view class="to-center"> <view class="to-center">
<image class="icon" src="/images/icon2.png"></image> <image class="icon" src="{{imageUrl}}icon2.png?t={{Timestamp}}"></image>
</view> </view>
<cover-view slot="callout"> <cover-view slot="callout">
<cover-view class="mark" marker-id="{{index+1}}" wx:for="{{2}}" wx:key="index"> <cover-view class="mark" marker-id="{{index+1}}" wx:for="{{2}}" wx:key="index">
<cover-view class="mark-container"> <cover-view class="mark-container">
<cover-image class="icon" src="/images/icon46.png"></cover-image> <cover-image class="icon" src="{{imageUrl}}icon46.png?t={{Timestamp}}"></cover-image>
<cover-view class="wrap"> <cover-view class="wrap">
<cover-view class="title">留仙洞园区</cover-view> <cover-view class="title">留仙洞园区</cover-view>
<cover-view class="content">留仙洞园区体育馆·生公寓 距离下一站2分钟</cover-view> <cover-view class="content">留仙洞园区体育馆·生公寓 距离下一站2分钟</cover-view>
@ -29,12 +29,12 @@
</map> </map>
<view class="banner"> <view class="banner">
<view class="b-header"> <view class="b-header">
<image class="icon1" src="/images/icon46.png"></image> <image class="icon1" src="{{imageUrl}}icon46.png?t={{Timestamp}}"></image>
<view class="wrap"> <view class="wrap">
<view class="w-header"> <view class="w-header">
<view class="name"> <view class="name">
西丽湖园区 西丽湖园区
<image class="icon2" src="/images/icon65.png"></image> <image class="icon2" src="{{imageUrl}}icon65.png?t={{Timestamp}}"></image>
留仙洞园区 留仙洞园区
</view> </view>
</view> </view>
@ -42,7 +42,7 @@
</view> </view>
</view> </view>
<view class="tip"> <view class="tip">
<image class="icon" src="/images/icon66.png"></image> <image class="icon" src="{{imageUrl}}icon66.png?t={{Timestamp}}"></image>
<view class="content">点击当前所在站点或点击定位即可查看到站信息</view> <view class="content">点击当前所在站点或点击定位即可查看到站信息</view>
</view> </view>
</view> </view>
@ -55,7 +55,7 @@
到站 到站
</view> </view>
<view class="tag"> <view class="tag">
<image class="icon" src="/images/icon67.png"></image> <image class="icon" src="{{imageUrl}}icon67.png?t={{Timestamp}}"></image>
发车时刻表 发车时刻表
</view> </view>
</view> </view>
@ -65,7 +65,7 @@
<view class="item {{index<=4 && 'active'}} {{index==4 && 'last-active'}}" wx:for="{{10}}" wx:key="index"> <view class="item {{index<=4 && 'active'}} {{index==4 && 'last-active'}}" wx:for="{{10}}" wx:key="index">
<view class="top"> <view class="top">
<view class="badge"> <view class="badge">
<image class="icon" src="/images/icon68.png"></image> <image class="icon" src="{{imageUrl}}icon68.png?t={{Timestamp}}"></image>
</view> </view>
<view class="line-left"></view> <view class="line-left"></view>
<view wx:if="{{index==0}}" class="center">始</view> <view wx:if="{{index==0}}" class="center">始</view>

10
src/pages/chat/index.wxml

@ -1,6 +1,6 @@
<view <view
class="chat-page" class="chat-page"
style="background: url('/images/bg3.png') no-repeat top center/100% 556rpx;padding-top: {{pageTop}}px;" style="background: url('{{imageUrl}}bg3.png?t={{Timestamp}}') no-repeat top center/100% 556rpx;padding-top: {{pageTop}}px;"
> >
<navbar fixed customStyle="background:{{background}};"> <navbar fixed customStyle="background:{{background}};">
<van-icon class="page-back" name="arrow-left" slot="left" /> <van-icon class="page-back" name="arrow-left" slot="left" />
@ -44,26 +44,26 @@
bindconfirm="onSendText" bindconfirm="onSendText"
/> />
<!-- 切换到语音模式按钮 --> <!-- 切换到语音模式按钮 -->
<image class="icon" src="/images/icon44.png" bindtap="switchToVoice" catchtap></image> <image class="icon" src="{{imageUrl}}icon44.png?t={{Timestamp}}" bindtap="switchToVoice" catchtap></image>
</view> </view>
<!-- 语音输入模式(未录音状态) --> <!-- 语音输入模式(未录音状态) -->
<view class="voice" wx:if="{{inputMode === 'voice' && !isRecording}}"> <view class="voice" wx:if="{{inputMode === 'voice' && !isRecording}}">
<view class="content">按住说话</view> <view class="content">按住说话</view>
<!-- 切换到文本模式按钮 --> <!-- 切换到文本模式按钮 -->
<image class="icon" src="/images/icon45.png" bindtap="switchToText" catchtap></image> <image class="icon" src="{{imageUrl}}icon45.png?t={{Timestamp}}" bindtap="switchToText" catchtap></image>
</view> </view>
<!-- 录音进行中状态 --> <!-- 录音进行中状态 -->
<view <view
class="voiceing" class="voiceing"
wx:if="{{isRecording}}" wx:if="{{isRecording}}"
style="background: url('/images/bg4.png') no-repeat top center/100%" style="background: url('{{imageUrl}}bg4.png?t={{Timestamp}}') no-repeat top center/100%"
bindtouchmove="onVoiceingTouchMove" bindtouchmove="onVoiceingTouchMove"
bindtouchend="onVoiceingTouchEnd" bindtouchend="onVoiceingTouchEnd"
> >
<view class="tip">{{recordingTip}}</view> <view class="tip">{{recordingTip}}</view>
<image class="ani" src="/images/gif1.gif"></image> <image class="ani" src="{{imageUrl}}gif1.gif?t={{Timestamp}}"></image>
</view> </view>
</view> </view>
</view> </view>

17
src/pages/index/index.wxml

@ -1,14 +1,13 @@
<view <view
class="page" class="page"
style="background: url('/images/bg1.png') no-repeat top center/100% 655rpx;padding-top: {{pageTop}}px;" style="background: url('{{imageUrl}}bg1.png?t={{Timestamp}}') no-repeat top center/100% 655rpx;padding-top: {{pageTop}}px;"
> >
<view class="search"> <view class="search">
<image class="icon" src="/images/icon1.png"></image> <image class="icon" src="{{imageUrl}}icon1.png?t={{Timestamp}}"></image>
<view class="content">请搜索你想要的内容</view> <view class="content">请搜索你想要的内容</view>
</view> </view>
<view class="notice"> <view class="notice">
<image class="icon" src="/images/icon2.png"></image> <image class="icon" src="{{imageUrl}}icon2.png?t={{Timestamp}}"></image>
<view class="content"> <view class="content">
<van-notice-bar <van-notice-bar
color="rgba(71, 85, 105, 1)" color="rgba(71, 85, 105, 1)"
@ -21,7 +20,7 @@
</view> </view>
<view class="kkd"> <view class="kkd">
<view class="k-item" wx:for="{{5}}" wx:key="index"> <view class="k-item" wx:for="{{5}}" wx:key="index">
<image class="icon" src="/images/icon2.png"></image> <image class="icon" src="{{imageUrl}}icon2.png?t={{Timestamp}}"></image>
<view class="name">智能课表</view> <view class="name">智能课表</view>
</view> </view>
</view> </view>
@ -35,7 +34,7 @@
</view> </view>
<view class="activity-list"> <view class="activity-list">
<view class="a-card" wx:for="{{4}}" wx:key="index"> <view class="a-card" wx:for="{{4}}" wx:key="index">
<image class="a-img" mode="aspectFill" src="/images/bg1.png"></image> <image class="a-img" mode="aspectFill" src="{{imageUrl}}bg1.png?t={{Timestamp}}"></image>
</view> </view>
</view> </view>
</view> </view>
@ -49,7 +48,7 @@
</view> </view>
<view class="agent-list"> <view class="agent-list">
<view class="a-card" wx:for="{{4}}" wx:key="index"> <view class="a-card" wx:for="{{4}}" wx:key="index">
<image class="icon" src="/images/icon2.png"></image> <image class="icon" src="{{imageUrl}}icon2.png?t={{Timestamp}}"></image>
<view class="name">PPT小助手</view> <view class="name">PPT小助手</view>
</view> </view>
</view> </view>
@ -68,13 +67,13 @@
<view class="card" wx:for="{{2}}" wx:key="index"> <view class="card" wx:for="{{2}}" wx:key="index">
<view class="photo"> <view class="photo">
<view class="status">进行中</view> <view class="status">进行中</view>
<image class="p-img" src="/images/bg1.png"></image> <image class="p-img" src="{{imageUrl}}bg1.png?t={{Timestamp}}"></image>
</view> </view>
<view class="wrap"> <view class="wrap">
<view class="title">深职大第十五届校园歌手大赛</view> <view class="title">深职大第十五届校园歌手大赛</view>
<view class="user">128人已报名</view> <view class="user">128人已报名</view>
<view class="date"> <view class="date">
<image class="icon" src="/images/icon3.png"></image> <image class="icon" src="{{imageUrl}}icon3.png?t={{Timestamp}}"></image>
<view class="content">2026.04.01-2026.05.30</view> <view class="content">2026.04.01-2026.05.30</view>
</view> </view>
</view> </view>

4
src/pages/login/index.wxml

@ -1,6 +1,6 @@
<view <view
class="page" class="page"
style="background: url('/images/bg6.png') no-repeat top center/100% 556rpx;padding-top: {{pageTop}}px;" style="background: url('{{imageUrl}}bg6.png?t={{Timestamp}}') no-repeat top center/100% 556rpx;padding-top: {{pageTop}}px;"
> >
<view class="page-title"> <view class="page-title">
<view class="t1">绑定</view> <view class="t1">绑定</view>
@ -8,7 +8,7 @@
</view> </view>
<view class="page-body"> <view class="page-body">
<view class="tip"> <view class="tip">
<image class="icon" src="/images/icon26.png"></image> <image class="icon" src="{{imageUrl}}icon26.png?t={{Timestamp}}"></image>
<view class="content"> <view class="content">
请确保您输入的密码是正确的,错误次数超过2次SIC将冻结您的账号一小时。超过一定错误次数,学校系统将冻结您的账号。忘记密码请前往 请确保您输入的密码是正确的,错误次数超过2次SIC将冻结您的账号一小时。超过一定错误次数,学校系统将冻结您的账号。忘记密码请前往
https://authserver.szpu.edu.cn进行重置 https://authserver.szpu.edu.cn进行重置

14
src/pages/my/index.wxml

@ -1,10 +1,10 @@
<view <view
class="page" class="page"
style="background: url('/images/bg5.png') no-repeat top center/100% 655rpx;padding-top: {{pageTop}}px;" style="background: url('{{imageUrl}}bg5.png?t={{Timestamp}}') no-repeat top center/100% 655rpx;padding-top: {{pageTop}}px;"
> >
<view class="user"> <view class="user">
<view class="avatar"> <view class="avatar">
<image class="a-img" src="/images/icon2.png"></image> <image class="a-img" src="{{imageUrl}}icon2.png?t={{Timestamp}}"></image>
</view> </view>
<view class="wrap"> <view class="wrap">
<view class="w-header"> <view class="w-header">
@ -16,13 +16,13 @@
</view> </view>
<view class="kkd"> <view class="kkd">
<view class="k-item" bind:tap="handleMyAct"> <view class="k-item" bind:tap="handleMyAct">
<view class="wrap" style="background: url('/images/icon58.png') no-repeat top 24rpx right 24rpx/84rpx 84rpx"> <view class="wrap" style="background: url('{{imageUrl}}icon58.png?t={{Timestamp}}') no-repeat top 24rpx right 24rpx/84rpx 84rpx">
<view class="title">我的活动</view> <view class="title">我的活动</view>
<view class="content">已参与10个活动</view> <view class="content">已参与10个活动</view>
</view> </view>
</view> </view>
<view class="k-item" bind:tap="handleMyAgent"> <view class="k-item" bind:tap="handleMyAgent">
<view class="wrap" style="background: url('/images/icon59.png') no-repeat top 24rpx right 24rpx/84rpx 84rpx"> <view class="wrap" style="background: url('{{imageUrl}}icon59.png?t={{Timestamp}}') no-repeat top 24rpx right 24rpx/84rpx 84rpx">
<view class="title">我的智能体</view> <view class="title">我的智能体</view>
<view class="content">已启用20个智能体</view> <view class="content">已启用20个智能体</view>
</view> </view>
@ -30,17 +30,17 @@
</view> </view>
<view class="list"> <view class="list">
<view class="list-item" bind:tap="handleMyCommet"> <view class="list-item" bind:tap="handleMyCommet">
<image class="icon" src="/images/icon59.png"></image> <image class="icon" src="{{imageUrl}}icon59.png?t={{Timestamp}}"></image>
<view class="name">我的评论</view> <view class="name">我的评论</view>
<van-icon name="arrow" /> <van-icon name="arrow" />
</view> </view>
<view class="list-item"> <view class="list-item">
<image class="icon" src="/images/icon60.png"></image> <image class="icon" src="{{imageUrl}}icon60.png?t={{Timestamp}}"></image>
<view class="name">我的收藏</view> <view class="name">我的收藏</view>
<van-icon name="arrow" /> <van-icon name="arrow" />
</view> </view>
<view class="list-item"> <view class="list-item">
<image class="icon" src="/images/icon61.png"></image> <image class="icon" src="{{imageUrl}}icon61.png?t={{Timestamp}}"></image>
<view class="name">我的评论</view> <view class="name">我的评论</view>
<van-icon name="arrow" /> <van-icon name="arrow" />
</view> </view>

6
src/pages/myAct/index.wxml

@ -18,17 +18,17 @@
<view class="status status4">草稿</view> <view class="status status4">草稿</view>
<view class="status status4">已取消</view> <view class="status status4">已取消</view>
<view class="status status4">已结束</view> <view class="status status4">已结束</view>
<image class="p-img" src="/images/bg1.png"></image> <image class="p-img" src="{{imageUrl}}bg1.png?t={{Timestamp}}"></image>
<view class="user">128人已报名</view> <view class="user">128人已报名</view>
</view> </view>
<view class="wrap"> <view class="wrap">
<view class="title">深职大第十五届校园歌手大赛</view> <view class="title">深职大第十五届校园歌手大赛</view>
<view class="date"> <view class="date">
<image class="icon" src="/images/icon3.png"></image> <image class="icon" src="{{imageUrl}}icon3.png?t={{Timestamp}}"></image>
<view class="content">2026.04.01-2026.05.30</view> <view class="content">2026.04.01-2026.05.30</view>
</view> </view>
<view class="site"> <view class="site">
<image class="icon" src="/images/icon15.png"></image> <image class="icon" src="{{imageUrl}}icon15.png?t={{Timestamp}}"></image>
<view class="content">留仙洞校区音乐厅</view> <view class="content">留仙洞校区音乐厅</view>
</view> </view>
</view> </view>

2
src/pages/myAgent/index.wxml

@ -11,7 +11,7 @@
<view class="page0"> <view class="page0">
<view class="card" wx:for="{{10}}" wx:key="index"> <view class="card" wx:for="{{10}}" wx:key="index">
<view class="photo"> <view class="photo">
<image class="p-img" src="/images/bg1.png"></image> <image class="p-img" src="{{imageUrl}}bg1.png?t={{Timestamp}}"></image>
</view> </view>
<view class="wrap"> <view class="wrap">
<view class="title">深职大第十五届校园歌手大赛</view> <view class="title">深职大第十五届校园歌手大赛</view>

8
src/pages/myComment/index.wxml

@ -31,22 +31,22 @@
</view> </view>
<view class="photo-wrap"> <view class="photo-wrap">
<view class="photo" wx:for="{{3}}" wx:key="index"> <view class="photo" wx:for="{{3}}" wx:key="index">
<image class="p-img" src="/images/bg1.png" mode="aspectFill"></image> <image class="p-img" src="{{imageUrl}}bg1.png?t={{Timestamp}}" mode="aspectFill"></image>
</view> </view>
</view> </view>
<view class="act-card"> <view class="act-card">
<image class="ac-photo" mode="aspectFill" src="/images/bg1.png"></image> <image class="ac-photo" mode="aspectFill" src="{{imageUrl}}bg1.png?t={{Timestamp}}"></image>
<view class="wrap"> <view class="wrap">
<view class="title">深职大第十五届校园歌手大赛</view> <view class="title">深职大第十五届校园歌手大赛</view>
<view class="content">2026年5月30日 19:00</view> <view class="content">2026年5月30日 19:00</view>
</view> </view>
</view> </view>
<view class="tip-card"> <view class="tip-card">
<image class="icon" src="/images/icon62.png"></image> <image class="icon" src="{{imageUrl}}icon62.png?t={{Timestamp}}"></image>
<view class="t-content">内容已提交,正在审核中,预计1-2个工作日内完成审核。</view> <view class="t-content">内容已提交,正在审核中,预计1-2个工作日内完成审核。</view>
</view> </view>
<view class="reject-card"> <view class="reject-card">
<image class="icon" src="/images/icon63.png"></image> <image class="icon" src="{{imageUrl}}icon63.png?t={{Timestamp}}"></image>
<view class="t-content">驳回原因:内容中包含不当言论,请修改后重新提交。</view> <view class="t-content">驳回原因:内容中包含不当言论,请修改后重新提交。</view>
</view> </view>
</view> </view>

8
src/pages/noticeDetail/index.wxml

@ -2,7 +2,7 @@
<view class="info"> <view class="info">
<view class="row"> <view class="row">
<view class="type"> <view class="type">
<image class="icon" src="/images/icon23.png"></image> <image class="icon" src="{{imageUrl}}icon23.png?t={{Timestamp}}"></image>
<view class="content">通知</view> <view class="content">通知</view>
</view> </view>
<view class="status status1">已发布</view> <view class="status status1">已发布</view>
@ -13,11 +13,11 @@
</view> </view>
<view class="stat"> <view class="stat">
<view class="date"> <view class="date">
<image class="icon" src="/images/icon24.png"></image> <image class="icon" src="{{imageUrl}}icon24.png?t={{Timestamp}}"></image>
<view class="content">2026-05-20 14:30:00</view> <view class="content">2026-05-20 14:30:00</view>
</view> </view>
<view class="user"> <view class="user">
<image class="icon" src="/images/icon25.png"></image> <image class="icon" src="{{imageUrl}}icon25.png?t={{Timestamp}}"></image>
<view class="content">浏览人数:128</view> <view class="content">浏览人数:128</view>
</view> </view>
</view> </view>
@ -26,7 +26,7 @@
<mp-html content="{{content}}"></mp-html> <mp-html content="{{content}}"></mp-html>
</view> </view>
<view class="tip"> <view class="tip">
<image class="icon" src="/images/icon26.png"></image> <image class="icon" src="{{imageUrl}}icon26.png?t={{Timestamp}}"></image>
<view class="wrap"> <view class="wrap">
<view class="w-title">温馨提示</view> <view class="w-title">温馨提示</view>
<view class="w-content">未尽事宜,请联系校团委文艺部,联系电话:0755-12345678。</view> <view class="w-content">未尽事宜,请联系校团委文艺部,联系电话:0755-12345678。</view>

18
src/pages/schedule/index.wxml

@ -6,26 +6,26 @@
<view class="page-header"> <view class="page-header">
<view class="week-wrap"> <view class="week-wrap">
<view class="week"> <view class="week">
<image class="icon" src="/images/icon69.png"></image> <image class="icon" src="{{imageUrl}}icon69.png?t={{Timestamp}}"></image>
<view class="content">第14周</view> <view class="content">第14周</view>
<image class="icon" src="/images/icon70.png"></image> <image class="icon" src="{{imageUrl}}icon70.png?t={{Timestamp}}"></image>
</view> </view>
<view class="school-year">2025-2026 第1学期</view> <view class="school-year">2025-2026 第1学期</view>
</view> </view>
<view class="notify"> <view class="notify">
<view class="icon-wrap"> <view class="icon-wrap">
<image class="icon" src="/images/icon71.png"></image> <image class="icon" src="{{imageUrl}}icon71.png?t={{Timestamp}}"></image>
</view> </view>
提醒我 提醒我
</view> </view>
<view class="switch-format"> <view class="switch-format">
<view class="icon-wrap active"> <view class="icon-wrap active">
<image class="icon" src="/images/icon74.png"></image> <image class="icon" src="{{imageUrl}}icon74.png?t={{Timestamp}}"></image>
<image class="icon" src="/images/icon72.png"></image> <image class="icon" src="{{imageUrl}}icon72.png?t={{Timestamp}}"></image>
</view> </view>
<view class="icon-wrap"> <view class="icon-wrap">
<image class="icon" src="/images/icon73.png"></image> <image class="icon" src="{{imageUrl}}icon73.png?t={{Timestamp}}"></image>
<image class="icon" src="/images/icon75.png"></image> <image class="icon" src="{{imageUrl}}icon75.png?t={{Timestamp}}"></image>
</view> </view>
</view> </view>
</view> </view>
@ -49,11 +49,11 @@
<view class="step">第1-2节</view> <view class="step">第1-2节</view>
</view> </view>
<view class="site"> <view class="site">
<svg-icon class="icon" width="18rpx" height="18rpx" src="/images/svg1.svg"></svg-icon> <svg-icon class="icon" width="18rpx" height="18rpx" src="{{imageUrl}}svg1.svg?t={{Timestamp}}"></svg-icon>
<view class="content">博学楼4教室</view> <view class="content">博学楼4教室</view>
</view> </view>
<view class="teacher"> <view class="teacher">
<svg-icon class="icon" width="18rpx" height="18rpx" src="/images/svg2.svg"></svg-icon> <svg-icon class="icon" width="18rpx" height="18rpx" src="{{imageUrl}}svg2.svg?t={{Timestamp}}"></svg-icon>
<view class="content">李老师</view> <view class="content">李老师</view>
</view> </view>
</view> </view>

Loading…
Cancel
Save