Browse Source

上传演员列表

master
前端-胡立永 11 months ago
parent
commit
e28f96d779
10 changed files with 362 additions and 92 deletions
  1. +2
    -2
      components/base/navbar.vue
  2. +47
    -0
      components/content/contentControls.vue
  3. +126
    -0
      components/post/actorList.vue
  4. +3
    -3
      components/post/postList.vue
  5. +7
    -0
      pages.json
  6. +4
    -2
      pages/index/index.vue
  7. +101
    -0
      pages/publish/actorList.vue
  8. +61
    -85
      pages/publish/postDetail.vue
  9. +9
    -0
      pages/publish/postList.vue
  10. +2
    -0
      uni.scss

+ 2
- 2
components/base/navbar.vue View File

@ -78,8 +78,8 @@
<style lang="scss" scoped>
.navbar{
width: 100%;
height: 100rpx;
padding-top: calc(var(--status-bar-height) + 20rpx);
height: 120rpx;
padding-top: var(--status-bar-height);
}
.title{
position: fixed;


+ 47
- 0
components/content/contentControls.vue View File

@ -0,0 +1,47 @@
<template>
<view class="controls"
@click="$emit('bell')">
<view class="">
<uv-icon size="35rpx" name="bell"></uv-icon>
举报
</view>
<view class=""
@click="$emit('thumb-up')">
<uv-icon size="35rpx" name="thumb-up"></uv-icon>
点赞
</view>
<view class=""
@click="$emit('share')">
<uv-icon size="35rpx" name="share"></uv-icon>
分享
</view>
<view class=""
@click="$emit('thumb-down')">
<uv-icon size="35rpx" name="thumb-down"></uv-icon>
</view>
</view>
</template>
<script>
export default {
name:"contentControls",
data() {
return {
};
}
}
</script>
<style lang="scss" scoped>
.controls {
display: flex;
&>view {
display: flex;
justify-content: center;
align-items: center;
margin-right: 40rpx;
}
}
</style>

+ 126
- 0
components/post/actorList.vue View File

@ -0,0 +1,126 @@
<template>
<view class="postList">
<view class="item" v-for="(item, index) in list"
@click="$utils.navigateTo('/publish/postDetail?id=123')"
:key="index">
<image src="/static/image/index/p1.png" mode="aspectFill"></image>
<view class="text">
<view class="title">
<view class="t">
{{ item.title }}
</view>
<view class="auth">
已认证
</view>
</view>
<view class="info">
(介绍:介绍内容介内容介绍内容介内容介绍内容介内容介绍内容介内容)
</view>
<view class="createBy">
<!-- <view class="">
发布人{{ item.createBy }}
</view> -->
<view class="">
{{ item.createTime }}
</view>
</view>
<view class="phone">
联系方式 <text>去查看</text>
</view>
<view class="price">
价格 <text>9999</text>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
name:"postList",
props : ['list'],
data() {
return {
};
}
}
</script>
<style lang="scss" scoped>
.postList{
.item{
height: 240rpx;
width: 100%;
background-color: #fff;
overflow: hidden;
border-radius: 10rpx;
color: #777;
display: flex;
font-size: 24rpx;
margin: 30rpx 0;
image{
width: 50%;
height: 100%;
}
.text{
display: flex;
flex-direction: column;
padding: 16rpx;
width: 50%;
.title{
font-size: 30rpx;
color: #000;
display: flex;
align-items: center;
.t{
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
}
.auth{
color: $uni-color-red;
border: 1px solid $uni-color-red;
font-size: 20rpx;
margin-left: 10rpx;
width: 60rpx;
line-height: 30rpx;
height: 30rpx;
flex-shrink: 0;
}
}
.info{
color: #000;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient: vertical;
}
.createBy{
display: flex;
margin-top: auto;
margin-bottom: 5rpx;
justify-content: space-between;
&>view{
display: flex;
align-items: center;
justify-content: center;
}
}
.phone{
text{
color: #000;
}
}
.price{
color: $uni-color-red;
}
text{
padding-left: 10rpx;
}
}
}
}
</style>

+ 3
- 3
components/post/postList.vue View File

@ -1,7 +1,7 @@
<template>
<view class="postList">
<view class="item" v-for="(item, index) in list"
@click="$utils.navigateTo('/publish/postDetail')"
@click="$utils.navigateTo('/publish/postDetail?id=123')"
:key="index">
<image src="/static/image/index/p1.png" mode="aspectFill"></image>
<view class="text">
@ -20,7 +20,7 @@
</view>
</view>
<view class="createTime">
{{ item.title }}
{{ item.createTime }}
</view>
</view>
</view>
@ -47,7 +47,7 @@
background-color: #fff;
overflow: hidden;
border-radius: 10rpx;
color: #555;
color: #777;
display: flex;
font-size: 24rpx;
margin: 30rpx 0;


+ 7
- 0
pages.json View File

@ -110,6 +110,13 @@
{
"navigationBarTitleText" : ""
}
},
{
"path" : "pages/publish/actorList",
"style" :
{
"navigationBarTitleText" : ""
}
}
],
"globalStyle": {


+ 4
- 2
pages/index/index.vue View File

@ -40,7 +40,8 @@
<view class="title">
认证演员
</view>
<view class="more">
<view class="more"
@click="$utils.navigateTo('/publish/actorList')">
查看全部
<uv-icon
size="26rpx"
@ -60,7 +61,8 @@
<view class="title">
动态帖子
</view>
<view class="more" @click="$utils.navigateTo('/publish/postList')">
<view class="more"
@click="$utils.navigateTo('/publish/postList')">
查看全部
<uv-icon
size="26rpx"


+ 101
- 0
pages/publish/actorList.vue View File

@ -0,0 +1,101 @@
<template>
<view class="postList">
<navbar
leftClick
@leftClick="$utils.navigateBack"
title="认证演员"/>
<view class="title">
认证创作者
</view>
<view class="box">
<view class="search">
<view class="icon">
<uv-icon
size="40rpx"
name="search"></uv-icon>
</view>
<input type="text" placeholder="请输入搜索关键字..."/>
<view class="text">
搜索
</view>
</view>
<actorList :list="actorList"/>
</view>
</view>
</template>
<script>
import actorList from '@/components/post/actorList.vue'
export default {
components : {
actorList
},
data() {
return {
actorList : [
{
title : "创作人名称创作人名称创作人名称创作人名称",
createTime : '2024-08-22 09:00:00',
createBy : "小飞",
},
{
title : "创作人名称",
createTime : '2024-08-22 09:00:00',
createBy : "小飞",
},
{
title : "创作人名称",
createTime : '2024-08-22 09:00:00',
createBy : "小飞",
},
{
title : "创作人名称",
createTime : '2024-08-22 09:00:00',
createBy : "小飞",
},
],
}
},
methods: {
}
}
</script>
<style lang="scss" scoped>
.postList{
.title{
padding-top: 20rpx;
padding-left: 30rpx;
font-size: 32rpx;
}
.box{
padding: 30rpx;
.search{
background-color: #fff;
height: 70rpx;
width: 100%;
margin: 20rpx 0;
display: flex;
justify-content: center;
align-items: center;
font-size: 28rpx;
border-radius: 10rpx;
.icon{
margin: 0 20rpx;
}
input{
}
.text{
margin-left: auto;
margin-right: 20rpx;
}
}
}
}
</style>

+ 61
- 85
pages/publish/postDetail.vue View File

@ -1,23 +1,17 @@
<template>
<view class="postDetail">
<navbar
leftClick
@leftClick="$utils.navigateBack"/>
<navbar leftClick @leftClick="$utils.navigateBack" />
<view class="swipe">
<uv-swiper
:list="list"
keyName="url"
indicator
height="320rpx"></uv-swiper>
<uv-swiper :list="list" keyName="url" indicator height="320rpx"></uv-swiper>
</view>
<view class="box">
<view class="title">
{{ item.title }}
</view>
<view class="createBy">
<view class="">
发布人{{ item.createBy }}
@ -26,107 +20,89 @@
发布时间{{ item.createTime }}
</view>
</view>
<view class="controls">
<view class="">
<uv-icon
size="35rpx"
name="bell"></uv-icon>
举报
</view>
<view class="">
<uv-icon
size="35rpx"
name="thumb-up"></uv-icon>
点赞
</view>
<view class="">
<uv-icon
size="35rpx"
name="share"></uv-icon>
分享
</view>
<view class="">
<uv-icon
size="35rpx"
name="thumb-down"></uv-icon>
</view>
<contentControls/>
</view>
<view class="content">
<uv-parse :content="item.content"></uv-parse>
</view>
</view>
</view>
</template>
<script>
import contentControls from '@/components/content/contentControls.vue'
export default {
components : {
contentControls
},
data() {
return {
list : [
{
url : '/static/image/index/123123.png'
list: [{
url: '/static/image/index/123123.png'
},
{
url : '/static/image/index/a1.png'
url: '/static/image/index/a1.png'
},
],
item : {
title : "这是一条动态",
createTime : '2024-08-22 09:00:00',
createBy : "小飞",
content : '这是一条动态这是一条动态这是一条动态这是一条动态这是一条动态这是一条动态这是一条动态这是一条动态这是一条动态这是一条动态这是一条动态',
item: {
title: "这是一条动态",
createTime: '2024-08-22 09:00:00',
createBy: "小飞",
content: '这是一条动态这是一条动态这是一条动态这是一条动态这是一条动态这是一条动态这是一条动态这是一条动态这是一条动态这是一条动态这是一条动态',
},
}
},
onLoad(options) {
// this.$route.query
console.log(options)
},
methods: {
}
}
</script>
<style lang="scss" scoped>
.postDetail{
.box{
padding: 20rpx;
.title{
font-size: 30rpx;
font-weight: 600;
color: #000;
}
.createBy{
display: flex;
margin-top: auto;
margin-bottom: 10rpx;
font-size: 26rpx;
margin-top: 20rpx;
color: #555;
&>view{
display: flex;
align-items: center;
justify-content: center;
padding-right: 20rpx;
.postDetail {
.box {
padding: 20rpx;
.title {
font-size: 30rpx;
font-weight: 600;
color: #000;
}
}
.controls{
display: flex;
margin-top: 30rpx;
&>view{
.createBy {
display: flex;
justify-content: center;
align-items: center;
margin-right: 40rpx;
margin-top: auto;
margin-bottom: 10rpx;
font-size: 26rpx;
margin-top: 20rpx;
color: #555;
&>view {
display: flex;
align-items: center;
justify-content: center;
padding-right: 20rpx;
}
}
.controls {
margin-top: 30rpx;
}
.content {
margin-top: 30rpx;
color: #777;
}
}
.content{
margin-top: 30rpx;
color: #777;
}
}
}
</style>
</style>

+ 9
- 0
pages/publish/postList.vue View File

@ -6,6 +6,10 @@
@leftClick="$utils.navigateBack"
title="动态列表"/>
<view class="title">
动态列表
</view>
<view class="box">
<view class="search">
<view class="icon">
@ -66,6 +70,11 @@
<style lang="scss" scoped>
.postList{
.title{
padding-top: 20rpx;
padding-left: 30rpx;
font-size: 32rpx;
}
.box{
padding: 30rpx;
.search{


+ 2
- 0
uni.scss View File

@ -34,6 +34,8 @@ $uni-color-success: #4cd964;
$uni-color-warning: #f0ad4e;
$uni-color-error: #dd524d;
$uni-color-red: #f00;
/* 文字基本颜色 */
$uni-text-color:#333;//基本色
$uni-text-color-inverse:#fff;//反色


Loading…
Cancel
Save