Compare commits

...

2 Commits

Author SHA1 Message Date
Vinjor
1f5db03144 Merge branch 'master' of http://192.168.1.26:3000/dianliang/dl_uniapp
# Conflicts:
#	pages/components/my-notice-item-tg.vue
2025-04-25 14:33:55 +08:00
Vinjor
4deb31794c 1 2025-04-25 14:33:03 +08:00
22 changed files with 285 additions and 75 deletions

View File

@ -3,26 +3,35 @@ import request from '@/utils/request'
// 查询站点配置
export function getSiteConfig(params) {
return request({
url: '/base/config/getConfigByCode',
method: 'get',
params:params
})
return request({
url: '/base/config/getConfigByCode',
method: 'get',
params: params
})
}
// 根据code查分类值列表
export function getCatgByCode(params) {
return request({
url: '/base/category/listByCode',
method: 'get',
params:params
})
return request({
url: '/base/category/listByCode',
method: 'get',
params: params
})
}
// 根据code查分类值列表
export function uniListByParentCode(params) {
return request({
url: '/base/category/uniListByParentCode',
method: 'get',
params:params
})
return request({
url: '/base/category/uniListByParentCode',
method: 'get',
params: params
})
}
// 根据code查分类值列表
export function getByCodeInfo(params) {
return request({
url: '/base/category/getByCodeInfo',
method: 'get',
params: params
})
}

View File

@ -1,8 +1,8 @@
// 应用全局配置
module.exports = {
//baseUrl: 'https://notice.lighting-it.cn',
// baseUrl: 'https://www.ddtg.site/noticeApi',
baseUrl: 'http://192.168.1.4:8099',
// baseUrl: 'https://www.ddtg.site/noticeApi',
baseUrl: 'http://192.168.1.17:8099',
// 应用信息
appInfo: {
// 应用名称

View File

@ -16,6 +16,7 @@
<view class="opt-item" v-if="item.approvalStatus=='2'" @click="updateStatus(1,item.id)">重启</view>
<view class="opt-item" @click="goDetail(item.id)">查看详情</view>
<view class="opt-item" @click="publish(item)">发类似</view>
<view class="opt-item" @click="evaluate(item)">评价(demo)</view>
</view>
</view>
</view>
@ -84,7 +85,7 @@
.my-notice-item-box-tg {
width: 100%;
border-radius: 20rpx;
padding: 30rpx 20rpx;
padding: 10rpx 20rpx 20rpx 20rpx;
background-color: white;
display: flex;
flex-direction: column;

View File

@ -109,7 +109,7 @@
.my-notice-item-box {
width: 100%;
border-radius: 20rpx;
padding: 30rpx 20rpx;
padding: 10rpx 20rpx 20rpx 20rpx;
background-color: white;
display: flex;
flex-direction: column;

View File

@ -2,19 +2,20 @@
<view class="dl-notice-box-index">
<!-- 标题 -->
<view class="dl-title">
<view class="left-search" @click="goSeach()">
<view v-show="!showSearch" style="position: relative;">
<image class="dl-image" src="@/static/index/search.png" mode="aspectFit"></image>
<image class="dl-vip" src="@/static/index/vip.png" mode="aspectFit"></image>
</view>
<view v-show="showSearch" style="width: 90%;">
<uni-search-bar radius="5" style="width: 100%;" placeholder="请输入关键词" clearButton="auto"
<view class="right-text">
<text class="dl-text">通告</text>
</view>
<view class="left-search">
<view class="left-search-box" style="width: 90%;">
<uni-search-bar radius="20" style="width: 100%;" placeholder="VIP极速搜索" clearButton="auto"
cancelButton="none" @confirm="search" @clear="clear">
</uni-search-bar>
<image class="dl-vip" src="@/static/index/vip.png" mode="aspectFit"></image>
<!-- 遮罩层 -->
<view v-if="!canSearch" class="dl-zhezhao" @click="goSeach"></view>
</view>
</view>
<view class="right-text" :style="{width: showSearch ? '40%':'56%'}">
<text class="dl-text">通告</text>
<view class="right-text">
</view>
</view>
<!-- 菜单 -->
@ -57,7 +58,7 @@
<!-- 主体内容区域 -->
<view class="dl-body">
<!-- 会员开通 -->
<view class="dl-member-box">
<!-- <view class="dl-member-box">
<view class="dl-left">
<image class="dl-icon" src="@/static/index/zuanshi.png" mode="aspectFit"></image>
<text>开通会员 解锁更多权益</text>
@ -65,10 +66,22 @@
<view class="dl-right">
<image class="dl-go-view" src="@/static/index/go-view.png" mode="aspectFit"></image>
</view>
</view> -->
<!-- 随手转发 -->
<view class="dl-public-box">
<view class="dl-left">
<image class="dl-icon" src="@/static/index/gift.png" mode="aspectFit"></image>
</view>
<view class="dl-center">
<view>随手转发上传通告赚零花</view>
<view>每条轻松赚<text>{{point || ''}}</text>积分</view>
</view>
<view class="dl-right">
<view class="dl-opt-dom">去转发</view>
</view>
</view>
<!-- 通告列表 -->
<view class="dl-item-box">
<scroll-view style="height: 100%;" scroll-y="true" @scrolltolower="onReachBottomCus" refresher-enabled
@ -165,7 +178,8 @@
import noticeItem from '@/pages/components/notice-item.vue'
import rightsCode from '@/utils/rightsCode'
import {
getCatgByCode
getCatgByCode,
getByCodeInfo
} from '@/api/system/config.js'
import {
toast,
@ -195,6 +209,8 @@
menus: ['全部', '最新', '平台结算', '急招', '品牌置换'],
menuIndex: 0,
dataList: [],
//
point: 10,
queryParams: {
pageNum: 1,
pageSize: 10,
@ -218,7 +234,7 @@
feeDown: null,
},
//
showSearch: false,
canSearch: false,
//
chooseCondition: 9,
total: 0,
@ -233,12 +249,34 @@
mounted() {
this.initData("dl_platform", "platformList")
this.initData("dl_blogger_type", "bloggerTypeList")
this.getByCodeInfo()
this.selectDataList()
//
this.checkRights()
},
onLoad: function() {
},
methods: {
/**
* 查询发布通告送多少积分
*/
getByCodeInfo() {
getByCodeInfo({
code: constant.fbgg
}).then(res => {
if (res.code == 200 && null != res.data) {
this.point = res.data.content
}
}).catch((e) => {
uni.showToast({
icon: 'error',
duration: 2000,
title: e
});
})
},
/**
* 初始化数据
* @param {Object} code
@ -373,6 +411,17 @@
this.menuIndex = index
this.onRefresherrefresh()
},
/**
* 鉴权
*/
async checkRights() {
let res = await hasRights(rightsCode.searchNotice)
if (!res) {
this.canSearch = false
} else {
this.canSearch = true
}
},
/**
* 搜索
*/
@ -381,7 +430,6 @@
if (!await this.checkIfHasRights(rightsCode.searchNotice)) {
return
}
this.showSearch = true
},
/**
* 鉴权通用方法
@ -518,7 +566,7 @@
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
justify-content: start;
position: relative;
.dl-title {
@ -526,7 +574,7 @@
display: flex;
position: relative;
z-index: 10;
padding: 25rpx 10rpx 0 15rpx;
padding: 25rpx 10rpx 10rpx 15rpx;
border-bottom: 1px solid #F4F4F4;
@ -537,24 +585,45 @@
justify-content: left;
position: relative;
.dl-image {
width: 40rpx;
height: 40rpx;
.left-search-box {
display: flex;
align-items: self-start;
justify-content: center;
position: relative;
.dl-image {
width: 40rpx;
height: 40rpx;
}
.dl-vip {
position: absolute;
height: 20rpx;
width: 50rpx;
top: 0rpx;
right: -10px;
}
}
.dl-vip {
.dl-zhezhao {
background: transparent;
z-index: 99;
position: absolute;
height: 20rpx;
top: -10rpx;
right: -20px;
width: 100%;
height: 100%;
}
}
.right-text {
transition: 1s;
width: 140rpx;
display: flex;
align-items: center;
justify-content: center;
.dl-text {
font-size: 32rpx;
color: #FC1F3E;
font-size: 40rpx;
line-height: 78rpx;
font-weight: bold;
}
@ -576,7 +645,6 @@
.dl-menu {
font-size: 30rpx;
margin: 0 20rpx;
padding-bottom: 10rpx;
text-align: center;
}
@ -669,8 +737,69 @@
}
}
.dl-public-box {
display: flex;
align-items: center;
border-radius: 35rpx;
justify-content: center;
height: 130rpx;
width: 100%;
background: url('/static/index/bg.png');
background-size: 100% 100%;
background-position: center;
/* 图片居中显示 */
background-repeat: no-repeat;
/* 不重复背景图片 */
.dl-left {
width: 135rpx;
display: flex;
padding-left: 30rpx;
align-items: center;
font-size: 30rpx;
color: #623109;
justify-content: left;
.dl-icon {
width: 80rpx;
height: 80rpx;
}
}
.dl-center {
flex: 1;
flex-direction: column;
display: flex;
align-items: self-start;
justify-content: center;
font-size: 27rpx;
color: #363636;
font-weight: bold;
text {
color: #FC1F3E;
}
}
.dl-right {
width: 200rpx;
display: flex;
align-items: center;
justify-content: center;
.dl-opt-dom {
font-size: 27rpx;
background-color: #FC1F3E;
border-radius: 30rpx;
color: white;
padding: 10rpx 30rpx;
}
}
}
.dl-item-box {
height: calc(100vh - var(--status-bar-height) - var(--window-bottom) - 505rpx);
height: calc(100vh - var(--status-bar-height) - var(--window-bottom) - 555rpx);
isplay: flex;
flex-direction: column;
}

View File

@ -1,8 +1,10 @@
<template>
<view class="dl-components">
<view v-for="(item,index) in dataList" class="dl-notice-box" @click="goDetail(item)">
<view class="dl-is-urgent" v-if="'1'==item.isUrgent">急招</view>
<view class="dl-notice-title">
<image class="dl-image" :src="'/static/platform/'+item.platformCode+'.png'" mode="aspectFit"></image>
<image class="dl-image" :src="'/static/platform/fang/'+item.platformCode+'.png'" mode="aspectFit">
</image>
<view class="dl-text">{{item.title}}</view>
</view>
<view class="dl-notice-content">
@ -23,14 +25,14 @@
</view>
<view class="text-item" style="padding-top: 16rpx;">
<view class="item-box" style="flex: 1;">
<image class="dl-icon2" :src="imageUrl+item.avatar" mode="aspectFit"></image>
<image class="dl-icon2" :src="imageUrl+item.avatar" mode="scaleToFill"></image>
<view class="dl-item-right">{{item.userNickName}}</view>
</view>
<!-- <view class="item-box" style="width: 28%;">
<image class="dl-icon3" src="@/static/index/person.png" mode="aspectFit"></image>
<view class="dl-item-right dl-number">{{item.reportNum}}</view>
</view> -->
<view class="item-box" style="width: 28%;">
<view class="item-box" style="width: 35%;">
<image class="dl-icon3" src="@/static/index/eye.png" mode="aspectFit"></image>
<view class="dl-item-right dl-number">{{item.viewNum}}</view>
</view>
@ -138,15 +140,27 @@
.dl-notice-box {
font-size: 29rpx;
width: 100%;
padding: 18rpx 18rpx 10rpx 18rpx;
padding: 30rpx 18rpx 10rpx 18rpx;
background-color: white;
border-radius: 30rpx;
border-radius: 25rpx;
margin-bottom: 20rpx;
position: relative;
.dl-is-urgent {
position: absolute;
color: white;
background-color: #FC1F3E;
padding: 6rpx 25rpx;
font-size: 24rpx;
border-radius: 0 25rpx 0 25rpx;
top: 0;
right: 0;
}
.dl-notice-title {
display: flex;
width: 100%;
padding-bottom: 10rpx;
padding-bottom: 3rpx;
align-items: center;
justify-content: center;
@ -206,6 +220,7 @@
}
.item-box {
flex: 1;
display: flex;
align-items: center;
justify-content: center;

View File

@ -5,7 +5,7 @@
<view class="choose-detail">
<view class="people-info-box">
<view class="image-box">
<image :src="imageUrl+member.avatar" mode="aspectFit"></image>
<image :src="imageUrl+member.avatar" mode="scaleToFill"></image>
</view>
<view class="people-name-box">
<view class="name-box">
@ -394,4 +394,4 @@
}
}
}
</style>
</style>

View File

@ -12,9 +12,10 @@
<view :class="['dl-person-box',ifHasCard?'has-member-card':''] ">
<view class="user-image-box">
<view class="dl-image-box">
<image v-if="!userInfo.avatar" class="touxiang" src="@/static/images/profile.jpg" mode="aspectFit">
<image v-if="!userInfo.avatar" class="touxiang" src="@/static/images/profile.jpg"
mode="scaleToFill">
</image>
<image v-else class="touxiang" :src="userInfo.avatar" mode="aspectFit"></image>
<image v-else class="touxiang" :src="userInfo.avatar" mode="scaleToFill"></image>
</view>
<view class="name-box">
<view class="title-box">
@ -26,7 +27,6 @@
<image src="@/static/mine/fans.png" mode="aspectFit"></image>
<view class="fans-num">{{userInfo.tfansNum||'0'}}</view>
</view>
<view v-if="ifHasCard" class="member-box">会员2025-12-21日到期</view>
</view>
</view>
@ -73,17 +73,27 @@
<image src="@/static/mine/jifen.png" mode="aspectFit"></image>
</view>
</view>
<!-- 会员到期时间 -->
<view v-if="ifHasCard" class="dl-member-end-date-box" @click="goMemberCard()">
<view class="dl-left">
<image class="dl-icon" src="@/static/index/zuanshi.png" mode="aspectFit"></image>
会员<text>{{memberEndDate}}</text>日到期
</view>
<view class="dl-right">
<view class="dl-go-view">查看会员</view>
</view>
</view>
<!-- 发布通告 -->
<view class="public-notice-box" v-if="'01'==localUserType">
<view class="left-box">
<view style="margin-bottom: 20rpx;">发布通告额度剩余{{userInfo.addNotice||0}}</view>
<view>发布通告额度剩余{{userInfo.addNotice||0}}</view>
<!-- <progress style="width: 90%;" border-radius="5" percent="40" activeColor="#FC1F3E"-->
<!-- backgroundColor="#DEDEDE" stroke-width="8" />-->
</view>
<!-- <view class="right-box">-->
<!-- 获取更多-->
<!-- <uni-icons type="right" color="#623109" size="12"></uni-icons>-->
<!-- </view>-->
<view class="right-box" @click="goMemberCard">
获取更多
<uni-icons type="right" color="#623109" size="12"></uni-icons>
</view>
</view>
</view>
<!-- 个人信息和其他信息 -->
@ -201,7 +211,7 @@
localUserType: this.nowUserType,
globalConfig: getApp().globalData.config,
//
ifHasCard: false,
ifHasCard: true,
userInfo: {
coupon: 0
},
@ -212,6 +222,8 @@
customer_service: constant.customer_service,
//
popupImgUrl: "",
//
memberEndDate: "",
}
},
onShow() {},
@ -539,6 +551,49 @@
}
}
}
.dl-member-end-date-box {
display: flex;
align-items: center;
margin-top: 15rpx;
border-radius: 35rpx;
justify-content: center;
height: 90rpx;
width: 100%;
background-color: white;
.dl-left {
display: flex;
flex: 1;
padding-left: 30rpx;
align-items: center;
font-size: 30rpx;
color: #623109;
justify-content: left;
.dl-icon {
width: 60rpx;
height: 56rpx;
}
}
.dl-right {
padding-right: 20rpx;
.dl-go-view {
font-size: 28rpx;
display: flex;
align-items: center;
justify-content: center;
background-color: #F5D8A5;
color: #623109;
padding: 8rpx 25rpx;
float: right;
border-radius: 30rpx;
}
}
}
}
.has-member-card {
@ -613,7 +668,7 @@
.public-notice-box {
width: 100%;
padding: 30rpx;
padding: 20rpx 30rpx;
display: flex;
align-items: center;
margin-top: 20rpx;

View File

@ -9,7 +9,7 @@
<view class="dl-image-box">
<image v-if="!item.avatar" class="touxiang" src="@/static/images/profile.jpg" mode="aspectFit">
</image>
<image v-else class="touxiang" :src="uploadUrl+item.avatar" mode="aspectFit"></image>
<image v-else class="touxiang" :src="uploadUrl+item.avatar" mode="scaleToFill"></image>
<image class="sex" src="@/static/mine/sex_girl.png" mode="aspectFit"></image>
</view>
<view class="name-box">
@ -255,4 +255,4 @@
}
}
}
</style>
</style>

View File

@ -26,7 +26,7 @@
<!-- 博主信息 -->
<view class="info-box">
<image class="image" :src="userDetail.avatar?imageUrl+userDetail.avatar :'/static/images/profile.jpg'"
mode="aspectFit"></image>
mode="scaleToFill"></image>
<view class="name-info">
<view class="name">{{userDetail.nickName||''}}</view>
<view class="text">{{userDetail.identityType||''}}</view>
@ -162,10 +162,10 @@
<view class="image-row" v-for="(row,rowIndex) in imageArray">
<span v-for=" (item,i) in row">
<image v-if="item" :style="{ top:(imageWidth+10)*rowIndex+'rpx',left:imageWidth*i+'rpx'}"
:src="item" mode="aspectFit">
:src="item" mode="scaleToFill">
</image>
<image v-else :style="{ top:(imageWidth+10)*rowIndex+'rpx',left:imageWidth*i+'rpx'}"
src="@/static/images/profile.jpg" mode="aspectFit">
src="@/static/images/profile.jpg" mode="scaleToFill">
</image>
</span>
@ -971,4 +971,4 @@
}
}
}
</style>
</style>

BIN
static/index/bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
static/index/gift.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -4,7 +4,7 @@
@click="searchClick">
<view class="uni-searchbar__box-icon-search">
<slot name="searchIcon">
<uni-icons color="#c0c4cc" size="18" type="search" />
<uni-icons color="#3F3F3F" size="20" type="search" />
</slot>
</view>
<input v-if="show || searchVal" :focus="showSync" :disabled="readonly" :placeholder="placeholderText"
@ -14,7 +14,7 @@
<view v-if="show && (clearButton==='always'||clearButton==='auto'&&searchVal!=='') &&!readonly"
class="uni-searchbar__box-icon-clear" @click="clear">
<slot name="clearIcon">
<uni-icons color="#c0c4cc" size="20" type="clear" />
<uni-icons color="#3F3F3F" size="20" type="clear" />
</slot>
</view>
</view>
@ -226,7 +226,7 @@
</script>
<style lang="scss">
$uni-searchbar-height: 36px;
$uni-searchbar-height: 40px;
.uni-searchbar {
/* #ifndef APP-NVUE */
@ -245,7 +245,7 @@
overflow: hidden;
position: relative;
flex: 1;
justify-content: center;
justify-content: start;
flex-direction: row;
align-items: center;
height: $uni-searchbar-height;
@ -282,7 +282,6 @@
.uni-searchbar__text-placeholder {
font-size: 30rpx;
color: #B3B3B3;
margin-left: 5px;
}
.uni-searchbar__cancel {

View File

@ -17,5 +17,7 @@ const constant = {
wechat_img: 'wechat_img',
//客服二维码
customer_service: 'customer_service',
//发布公告
fbgg: 'fbgg',
}
export default constant