Merge remote-tracking branch 'origin/main'
# Conflicts: # pages.json # pages/index.vuemain
commit
ea4db68fbe
|
@ -4,8 +4,8 @@ export default {
|
|||
uploadQiNiuDomain: 'https://upload-z2.qiniup.com',
|
||||
// baseUrl: 'https://vue.ruoyi.vip/prod-api',
|
||||
// baseUrl: 'http://47.93.242.168:8080',
|
||||
baseUrl: 'http://47.93.242.168:8080',
|
||||
// baseUrl: 'http://localhost:8080',
|
||||
// baseUrl: 'http://47.93.242.168:8080',
|
||||
baseUrl: 'http://localhost:8080',
|
||||
// 应用信息
|
||||
appInfo: {
|
||||
// 应用名称
|
||||
|
|
1
main.js
1
main.js
|
@ -12,6 +12,7 @@ export function createApp() {
|
|||
app.config.globalProperties.iconConfig = iconConfig
|
||||
app.use(uviewPlus)
|
||||
app.use(store)
|
||||
|
||||
// app.use(uView)
|
||||
install(app)
|
||||
return {
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
"dayjs": "^1.11.11",
|
||||
"qiniu": "^7.12.0",
|
||||
"qiniu-js": "^3.4.2",
|
||||
"quill": "^1.3.7",
|
||||
"uview-plus": "^3.2.15"
|
||||
}
|
||||
}
|
||||
|
|
68
pages.json
68
pages.json
|
@ -8,9 +8,6 @@
|
|||
}
|
||||
},
|
||||
"pages": [
|
||||
|
||||
|
||||
|
||||
{
|
||||
"path": "pages/index",
|
||||
"style": {
|
||||
|
@ -19,16 +16,67 @@
|
|||
"navigationBarTextStyle": "white"
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path" : "pages/signln/signid",
|
||||
"style" :
|
||||
{
|
||||
"navigationBarTitleText" : "签到任务",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/signln/signiddetails",
|
||||
"style": {
|
||||
"navigationBarTitleText": "签到明细",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
|
||||
{
|
||||
"path" : "pages/signln/exchangemall",
|
||||
"style" :
|
||||
{
|
||||
"navigationBarTitleText" : "兑换商城",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path" : "pages/signln/exdetail",
|
||||
"style" :
|
||||
{
|
||||
"navigationBarTitleText" : "兑换商城详情",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
"path": "pages/common/talkState/publish",
|
||||
"style": {
|
||||
"navigationBarTitleText": "发布活动",
|
||||
"navigationStyle": "custom",
|
||||
"navigationBarTextStyle": "white"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/common/talkState/audit",
|
||||
"style": {
|
||||
"navigationBarTitleText": "审核中",
|
||||
"navigationStyle": "custom",
|
||||
"navigationBarTextStyle": "white"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/common/talkState/auditFailure",
|
||||
"style": {
|
||||
"navigationBarTitleText": "审核不通过",
|
||||
"navigationStyle": "custom",
|
||||
"navigationBarTextStyle": "white"
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
"path": "pages/loginInfo/login",
|
||||
|
@ -58,6 +106,14 @@
|
|||
"navigationBarTextStyle": "white"
|
||||
}
|
||||
}
|
||||
, {
|
||||
"path": "pages/activity/publish",
|
||||
"style": {
|
||||
"navigationBarTitleText": "发布活动",
|
||||
"navigationStyle": "custom",
|
||||
"navigationBarTextStyle": "white"
|
||||
}
|
||||
}
|
||||
, {
|
||||
"path": "pages/work/index",
|
||||
"style": {
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
<!-- 添加好友 -->
|
||||
<template>
|
||||
<view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
|
@ -0,0 +1,14 @@
|
|||
<!-- 消息通知 -->
|
||||
<template>
|
||||
<view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
|
@ -0,0 +1,174 @@
|
|||
<template>
|
||||
|
||||
<view>
|
||||
<!-- 顶部导航栏 -->
|
||||
<up-navbar leftText="" title="" :placeholder="true" :safeAreaInsetTop="true" @leftClick="leftClick"
|
||||
:bgColor="bgColor">
|
||||
|
||||
<template #center>
|
||||
<div class="navbarcenter"><span>发布活动</span></div>
|
||||
</template>
|
||||
</up-navbar>
|
||||
</view>
|
||||
<view class="bgc"></view>
|
||||
<view class="cardz">
|
||||
<view class="titleInfo">
|
||||
<up-input placeholder="输入活动标题~(5~20个字)" v-model="title" border="none" maxlength="20" fontSize="34rpx"
|
||||
color="#C0C0C0" clearable></up-input>
|
||||
<view class="xian"></view>
|
||||
</view>
|
||||
<view class="contentInfo">
|
||||
<up-textarea v-model="content" placeholder="输入活动内容
|
||||
活动图片最多可发布两张
|
||||
输入准确定位可以更好提供活动信息奥!安全指南:请勿发布带有个人信息(如:住址)" count border="none" height="270" maxlength="500"
|
||||
placeholderStyle="color: #c0c0c0;font-size: 30rpx; background:none;"></up-textarea>
|
||||
</view>
|
||||
<view class="cardzfile">
|
||||
<fileUpload v-model="fileList1" :fileTypeInfo="fileTypeInfo1"></fileUpload>
|
||||
</view>
|
||||
</view>
|
||||
<view class="cardx">
|
||||
<up-cell-group :border="false">
|
||||
<up-cell :isLink="true" :center="true">
|
||||
<template #title style="margin-top: 2rpx;width: 100%;height: 30rpx;display: flex;align-items: center;">
|
||||
<image :src="tu52" style="width: 30rpx; height: 32rpx;"></image>
|
||||
<span>请选择活动开始时间</span>
|
||||
</template>
|
||||
</up-cell>
|
||||
<up-cell :isLink="true" :center="true">
|
||||
<template #title style="margin-top: 2rpx;width: 100%;height: 30rpx;display: flex;align-items: center;">
|
||||
<image :src="tu53" style="width: 30rpx; height: 32rpx;"></image>
|
||||
<span>请选择活动结束时间</span>
|
||||
</template>
|
||||
</up-cell>
|
||||
<up-cell :border="false" :isLink="true" :center="true">
|
||||
<template #title style="margin-top: 2rpx;width: 100%;height: 30rpx;display: flex;align-items: center;">
|
||||
<image :src="tu51" style="width: 30rpx; height: 32rpx;"></image>
|
||||
<span>添加活动具体位置</span>
|
||||
</template>
|
||||
</up-cell>
|
||||
</up-cell-group>
|
||||
</view>
|
||||
<view class="cardxx">
|
||||
<up-button color="#C9F6F5" size="large" shape="circle" @click="publish"><span
|
||||
class="fbText">发布</span></up-button>
|
||||
<view style="width: 26rpx;height: 80rpx;"></view>
|
||||
<up-button color="#F8F8E3" size="large" shape="circle" @click="draft" style="margin-left: 26rpx;"><span
|
||||
class="cgText">存草稿</span></up-button>
|
||||
</view>
|
||||
|
||||
</template>
|
||||
<script setup>
|
||||
import fileUpload from '../common/file/fileUpload'
|
||||
import { onShow, onLoad } from '@dcloudio/uni-app'
|
||||
import { ref, reactive, getCurrentInstance } from 'vue'
|
||||
import { useStore } from 'vuex';
|
||||
const { proxy } = getCurrentInstance();
|
||||
const iconConfig = proxy.iconConfig;
|
||||
const tu51 = iconConfig.tu51;
|
||||
const tu52 = iconConfig.tu52;
|
||||
const tu53 = iconConfig.tu53;
|
||||
const title = ref('')
|
||||
const content = ref('');
|
||||
const fileList1 = ref([])
|
||||
const fileTypeInfo1 = ref('image')
|
||||
const bgColor = ref('');
|
||||
bgColor.value = 'rgba(170, 0, 0, 0)'
|
||||
|
||||
onLoad((options) => {
|
||||
console.log("页面参数:", options.id);
|
||||
})
|
||||
const leftClick = () => {
|
||||
proxy.$tab.navigateBack(1)
|
||||
}
|
||||
const draft = () => {
|
||||
console.log("存草稿");
|
||||
}
|
||||
const publish = () => {
|
||||
console.log("发布");
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" >
|
||||
.navbarcenter {
|
||||
font-weight: 400;
|
||||
|
||||
font-size: 36rpx;
|
||||
text-align: left;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.bgc {
|
||||
width: 100%;
|
||||
height: 500rpx;
|
||||
background: linear-gradient(-180deg, #c9f6f5, #ffffff);
|
||||
position: fixed;
|
||||
top: 0rpx;
|
||||
left: 0rpx;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.cardz {
|
||||
margin-left: 32rpx;
|
||||
margin-right: 32rpx;
|
||||
|
||||
.titleInfo {
|
||||
margin-top: 40rpx;
|
||||
|
||||
.xian {
|
||||
margin-top: 32rpx;
|
||||
height: 2rpx;
|
||||
border-radius: 1rpx 1rpx 1rpx 1rpx;
|
||||
background: #ffffff;
|
||||
}
|
||||
}
|
||||
|
||||
.contentInfo {
|
||||
margin-top: 46rpx;
|
||||
}
|
||||
|
||||
.cardzfile {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
}
|
||||
|
||||
.cardx {
|
||||
background-color: #FFFFFF;
|
||||
padding-top: 72rpx;
|
||||
margin-left: 32rpx;
|
||||
margin-right: 32rpx;
|
||||
|
||||
.c1 {
|
||||
margin-top: 2rpx;
|
||||
width: 100%;
|
||||
height: 102rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
.cardxx {
|
||||
display: flex;
|
||||
margin-left: 32rpx;
|
||||
margin-right: 32rpx;
|
||||
margin-top: 80rpx;
|
||||
|
||||
.fbText {
|
||||
font-weight: 400;
|
||||
font-size: 30rpx;
|
||||
color: #FBFBFB !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.cgText {
|
||||
font-weight: 400;
|
||||
font-size: 30rpx;
|
||||
color: #999999 !important;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
</style>
|
|
@ -43,6 +43,12 @@ import { useStore } from 'vuex';
|
|||
const emit = defineEmits(['scrolltolower']);
|
||||
const { proxy } = getCurrentInstance();
|
||||
|
||||
const iconConfig = proxy.iconConfig;
|
||||
const tu21 = iconConfig.tu21;
|
||||
const tu22 = iconConfig.tu22;
|
||||
const tu51 = iconConfig.tu51;
|
||||
const tu52 = iconConfig.tu52;
|
||||
const tu53 = iconConfig.tu53;
|
||||
const props = defineProps({
|
||||
modelValue: Array
|
||||
});
|
||||
|
|
|
@ -113,6 +113,7 @@ const afterRead = async (event) => {
|
|||
};
|
||||
|
||||
const uploadFilePromise = async (fileInfo1, name) => {
|
||||
console.log("fileInfo1:",fileInfo1);
|
||||
// 主要目的的拼名字,大小,类型
|
||||
let fileNameOld = [0, 1];
|
||||
if (fileInfo1.name !== undefined) {
|
||||
|
@ -122,12 +123,14 @@ const uploadFilePromise = async (fileInfo1, name) => {
|
|||
fileInfo.name = fileNameOld[0] + "_" + store.state.user.phoneType + "_" + name;
|
||||
|
||||
let extension1 = fileInfo1.url.split('.');
|
||||
|
||||
// 防止 h5 报错
|
||||
if (extension1[1] == null) {
|
||||
extension1[1] = fileNameOld[1];
|
||||
if (extension1[1] === undefined) {
|
||||
extension1[1] = fileNameOld[fileNameOld.length-1]; //保证取最后一个
|
||||
}
|
||||
//主要是为了拼接文件type(video/mp4),因为各端传入的type各有不同
|
||||
fileInfo.type = fileInfo1.type + "/" + extension1[1];
|
||||
fileInfo.type = fileInfo1.type + "/" + extension1[extension1.length-1];
|
||||
console.log("fileInfo.type:",fileInfo);
|
||||
fileInfo.extension = extension1[1];
|
||||
try {
|
||||
const tokenData = await getQNtoken(fileInfo);
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
:deep(.uni-nav-bar-text.data-v-26544265) {
|
||||
font-size: 36rpx;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
:deep(.uni-icons) {
|
||||
font-family: uniicons;
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
width: 31rpx;
|
||||
height: 44rpx;
|
||||
line-height: 44rpx;
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
<template>
|
||||
<view class="uninavbars">
|
||||
<image :src="leftImage" @click="left_return"></image>
|
||||
</view>
|
||||
<view class="uninavbar">
|
||||
<uni-nav-bar statusBar="false" :fixed="true" :border="false" :background-color=background_color :title="title" />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import {
|
||||
ref,
|
||||
toRefs,
|
||||
defineProps,
|
||||
defineEmits
|
||||
} from "vue";
|
||||
|
||||
const props = defineProps({
|
||||
title: String,
|
||||
background_color:String
|
||||
})
|
||||
const {
|
||||
title,
|
||||
background_color
|
||||
} = toRefs(props)
|
||||
|
||||
let leftImage = ref("../../../static/images/sign/return.png")
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.uninavbars {
|
||||
position: fixed;
|
||||
z-index: 9999;
|
||||
top: 110rpx;
|
||||
left: 32rpx;
|
||||
}
|
||||
|
||||
.uninavbars>image {
|
||||
width: 31rpx;
|
||||
height: 44rpx;
|
||||
color: #000000;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,18 @@
|
|||
<template>
|
||||
<view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
<script setup>
|
||||
import { onShow, onLoad } from '@dcloudio/uni-app'
|
||||
import { getDicts } from "@/api/system/dict/data"
|
||||
import { ref, reactive, getCurrentInstance } from 'vue'
|
||||
import { useStore } from 'vuex';
|
||||
const emit = defineEmits(['scrolltolower']);
|
||||
const { proxy } = getCurrentInstance();
|
||||
|
||||
const iconConfig = proxy.iconConfig;
|
||||
const tu21 = iconConfig.tu21;
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
</style>
|
|
@ -0,0 +1,18 @@
|
|||
<template>
|
||||
<view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
<script setup>
|
||||
import { onShow, onLoad } from '@dcloudio/uni-app'
|
||||
import { getDicts } from "@/api/system/dict/data"
|
||||
import { ref, reactive, getCurrentInstance } from 'vue'
|
||||
import { useStore } from 'vuex';
|
||||
const emit = defineEmits(['scrolltolower']);
|
||||
const { proxy } = getCurrentInstance();
|
||||
|
||||
const iconConfig = proxy.iconConfig;
|
||||
const tu21 = iconConfig.tu21;
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
</style>
|
|
@ -0,0 +1,103 @@
|
|||
<template>
|
||||
<view>
|
||||
|
||||
<view>
|
||||
<!-- 顶部导航栏 -->
|
||||
<up-navbar leftText="" title="" :placeholder="true" :safeAreaInsetTop="true" @leftClick="leftClick"
|
||||
:bgColor="bgColor">
|
||||
|
||||
<template #center>
|
||||
<div class="navbarcenter"><span>发布话题</span></div>
|
||||
</template>
|
||||
</up-navbar>
|
||||
</view>
|
||||
<image class="bacimg2" :src="sh2x"></image>
|
||||
<view class="bgc"></view>
|
||||
<view class="cardz">
|
||||
<image :src="sh2x1" class="shenhe2x1"></image>
|
||||
<span class="text">待审核</span>
|
||||
</view>
|
||||
<view style="position: fixed; top: 632rpx; width: 100%; padding-left: 32rpx; padding-right: 32rpx;">
|
||||
<up-button color="#c0f0ec" size="large" shape="circle" @click="publish"><span
|
||||
class="fbText">继续发布</span></up-button>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
<script setup>
|
||||
import { onShow, onLoad } from '@dcloudio/uni-app'
|
||||
import { getDicts } from "@/api/system/dict/data"
|
||||
import { ref, reactive, getCurrentInstance } from 'vue'
|
||||
import { useStore } from 'vuex';
|
||||
const emit = defineEmits(['scrolltolower']);
|
||||
const { proxy } = getCurrentInstance();
|
||||
|
||||
const iconConfig = proxy.iconConfig;
|
||||
const sh2x1 = iconConfig.sh2x1;
|
||||
const sh2x = iconConfig.sh2x;
|
||||
const bgColor = ref('');
|
||||
bgColor.value = 'rgba(170, 0, 0, 0)'
|
||||
|
||||
const leftClick = () => {
|
||||
proxy.$tab.navigateBack(1)
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.bacimg2 {
|
||||
width: 508rpx;
|
||||
height: 540rpx;
|
||||
position: fixed;
|
||||
top: -100rpx;
|
||||
left: -100rpx;
|
||||
}
|
||||
|
||||
.navbarcenter {
|
||||
font-weight: 400;
|
||||
|
||||
font-size: 36rpx;
|
||||
text-align: left;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.bgc {
|
||||
width: 100%;
|
||||
height: 500rpx;
|
||||
background: linear-gradient(-180deg, #a3e6df, #ffffff);
|
||||
position: fixed;
|
||||
top: 0rpx;
|
||||
left: 0rpx;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.shenhe2x1 {
|
||||
width: 232rpx;
|
||||
height: 228rpx;
|
||||
position: fixed;
|
||||
top: 276rpx;
|
||||
left: 260rpx;
|
||||
}
|
||||
|
||||
.text {
|
||||
font-weight: 400;
|
||||
|
||||
font-size: 48rpx;
|
||||
text-align: left;
|
||||
color: #00CCBE !important;
|
||||
position: fixed;
|
||||
top: 500rpx;
|
||||
left: 300rpx;
|
||||
}
|
||||
.cardz{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.fbText{
|
||||
font-weight: 400;
|
||||
|
||||
font-size: 30rpx;
|
||||
text-align: left;
|
||||
color: #00CCBE !important;
|
||||
}
|
||||
</style>
|
|
@ -10,7 +10,7 @@
|
|||
<!-- 加号小弹窗 -->
|
||||
<view class="postTypeContainer" v-if="postTypeOpen">
|
||||
<view class="postTypeWindow" v-for="(item, index) in postTypeList" :key="index">
|
||||
<text>{{item}}</text>
|
||||
<text @click="publishTalk(item)">{{item.lable}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -56,7 +56,7 @@
|
|||
<u-avatar class="center-content-focus-item-avatat" size="120rpx" :src="item.avatar"></u-avatar>
|
||||
<text class="center-content-focus-item-text">{{item.uname}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</u-scroll-list>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -68,14 +68,14 @@
|
|||
</view>
|
||||
|
||||
</view>
|
||||
|
||||
|
||||
<!-- 热门弹出层 -->
|
||||
<u-popup :round="20" :show="searchOpen" mode="bottom" @close="searchOpen = false" @open="searchOpen = true">
|
||||
|
||||
|
||||
<view style="height: 77vh; position: relative;margin-left: 32rpx;">
|
||||
<view style="display: flex; height: 48rpx; margin-top: 32rpx;">
|
||||
<image src="../static/images/icon/tu3-5.png" style="width: 48rpx; height: 48rpx;" @click="handerShowHand"></image>
|
||||
|
||||
|
||||
<view style="
|
||||
margin: auto ;
|
||||
margin-right: 308rpx;
|
||||
|
@ -89,9 +89,9 @@
|
|||
">
|
||||
全部类目
|
||||
</view>
|
||||
|
||||
|
||||
</view>
|
||||
|
||||
|
||||
<view class="">
|
||||
<text style="
|
||||
font-weight: Regular;
|
||||
|
@ -104,8 +104,8 @@
|
|||
margin-top: 42rpx;
|
||||
">点击选择类目,仅可选择一个</text>
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
|
||||
<view class="box-a">
|
||||
<view class="box-b" v-for="(item, index) in searchPrerequisiteList" :key="index">
|
||||
<ul
|
||||
|
@ -119,11 +119,11 @@
|
|||
</ul>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
|
||||
</view>
|
||||
</u-popup>
|
||||
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
@ -132,7 +132,7 @@ import { ref, reactive, onMounted, getCurrentInstance } from 'vue';
|
|||
import {onReachBottom,onLoad} from "@dcloudio/uni-app";
|
||||
import PostView from "@/pages/common/postview/index.vue";
|
||||
|
||||
|
||||
|
||||
const { proxy } = getCurrentInstance();
|
||||
onReachBottom(() => {
|
||||
console.log('触底了')
|
||||
|
@ -326,7 +326,6 @@ import PostView from "@/pages/common/postview/index.vue";
|
|||
|
||||
</script>
|
||||
|
||||
|
||||
<style lang="scss">
|
||||
// 微信小程序配置
|
||||
:deep(.u-navbar__content__left.data-v-f631659b, .u-navbar__content__right.data-v-f631659b){
|
||||
|
@ -365,7 +364,7 @@ import PostView from "@/pages/common/postview/index.vue";
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
.u-scroll-list.data-v-fea2b4f4 {
|
||||
padding-bottom: 0px !important;
|
||||
}
|
||||
|
@ -417,7 +416,7 @@ import PostView from "@/pages/common/postview/index.vue";
|
|||
margin-right: 16rpx;
|
||||
}
|
||||
.category-dropdown {
|
||||
// margin-left: 42rpx;
|
||||
// margin-left: 42rpx;
|
||||
}
|
||||
.text1{
|
||||
font-weight: 400;
|
||||
|
@ -508,13 +507,13 @@ import PostView from "@/pages/common/postview/index.vue";
|
|||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
|
||||
.center-content-post-head-title {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin-left: 20rpx;
|
||||
}
|
||||
|
||||
|
||||
.center-content-post-head-title-uname {
|
||||
font-weight: 400;
|
||||
font-size: 30rpx;
|
||||
|
@ -525,7 +524,7 @@ import PostView from "@/pages/common/postview/index.vue";
|
|||
height: 32rpx;
|
||||
line-height: 32rpx;
|
||||
}
|
||||
|
||||
|
||||
.center-content-post-head-title-timeAddress {
|
||||
font-weight: 400;
|
||||
font-size: 30rpx;
|
||||
|
@ -580,7 +579,7 @@ import PostView from "@/pages/common/postview/index.vue";
|
|||
-webkit-box-orient: vertical; /* 垂直方向排列文本 */
|
||||
overflow: hidden; /* 隐藏超出部分 */
|
||||
}
|
||||
|
||||
|
||||
.u-album__row[data-v-723ad357] {
|
||||
justify-content: center !important;
|
||||
}
|
||||
|
@ -594,23 +593,23 @@ import PostView from "@/pages/common/postview/index.vue";
|
|||
/* width: 200rpx !important;
|
||||
height: 200rpx !important; */
|
||||
}
|
||||
|
||||
|
||||
.center-content-post-tab{
|
||||
margin-top: 38rpx;
|
||||
margin-bottom: 36rpx;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.post-list-bottom {
|
||||
display: flex;
|
||||
justify-content: center; /* 水平居中 */
|
||||
}
|
||||
|
||||
|
||||
.p-item {
|
||||
display: flex;
|
||||
align-items: center; /* 垂直居中 */
|
||||
justify-content: center; /* 水平居中 */
|
||||
|
||||
|
||||
}
|
||||
.center-content-post-tab-text{
|
||||
font-weight: 400;
|
||||
|
@ -631,7 +630,7 @@ import PostView from "@/pages/common/postview/index.vue";
|
|||
/* 您的样式 */
|
||||
margin-left: 24rpx; /* 添加额外的左边距 */
|
||||
}
|
||||
|
||||
|
||||
.margin50 {
|
||||
margin-left: 50rpx; /* 添加额外的左边距 */
|
||||
}
|
||||
|
@ -644,19 +643,19 @@ import PostView from "@/pages/common/postview/index.vue";
|
|||
color: #787878;
|
||||
margin-left: 10rpx;
|
||||
}
|
||||
|
||||
|
||||
.box-a {
|
||||
margin-top: 42rpx;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
|
||||
.box-b {
|
||||
width: calc(33.33% - 16rpx); /* 每行三个元素,减去外边距的总宽度 */
|
||||
margin-bottom: 24rpx;
|
||||
}
|
||||
|
||||
|
||||
.box-c {
|
||||
// width: 100%;
|
||||
// height: 82rpx;
|
||||
|
@ -667,7 +666,7 @@ import PostView from "@/pages/common/postview/index.vue";
|
|||
cursor: pointer;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
|
||||
.offtext {
|
||||
font-weight: 400;
|
||||
font-size: 30rpx;
|
||||
|
@ -679,24 +678,24 @@ import PostView from "@/pages/common/postview/index.vue";
|
|||
transition: all 0.3s ease;
|
||||
padding: 12rpx 0;
|
||||
}
|
||||
|
||||
|
||||
.boxtext {
|
||||
font-weight: 600;
|
||||
color: #91b4ff;
|
||||
}
|
||||
|
||||
|
||||
.box-d {
|
||||
border-color: #91b4ff;
|
||||
}
|
||||
|
||||
|
||||
.avatar-container {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
|
||||
.avatar-1 {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
|
||||
.official-1 {
|
||||
position: absolute;
|
||||
width: 32rpx;
|
||||
|
@ -710,19 +709,19 @@ import PostView from "@/pages/common/postview/index.vue";
|
|||
height: 600rpx;
|
||||
border-radius: 6px;
|
||||
overflow: hidden;
|
||||
|
||||
|
||||
width: 686rpx;
|
||||
height: 370rpx;
|
||||
border-radius: 18rpx 18rpx 18rpx 18rpx;
|
||||
background: #b3d7ff;
|
||||
}
|
||||
|
||||
|
||||
.img-style-2 {
|
||||
display: flex;
|
||||
|
||||
|
||||
image {
|
||||
margin: 6rpx;
|
||||
|
||||
|
||||
width: 100%;
|
||||
height: 306rpx;
|
||||
border-radius: 18rpx 18rpx 18rpx 18rpx;
|
||||
|
@ -734,9 +733,9 @@ import PostView from "@/pages/common/postview/index.vue";
|
|||
width: 46rpx;
|
||||
height: 46rpx;
|
||||
}
|
||||
|
||||
|
||||
/* 其他样式... */
|
||||
|
||||
|
||||
.postTypeContainer {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
@ -746,15 +745,15 @@ import PostView from "@/pages/common/postview/index.vue";
|
|||
height: 122rpx;
|
||||
border-radius: 16rpx;
|
||||
background: #ffffff;
|
||||
box-shadow: 0 0 0 2rpx #B4D6FF;
|
||||
box-shadow: 0 0 0 2rpx #B4D6FF;
|
||||
position: absolute; /* 设置子元素为绝对定位 */
|
||||
top: 100%; /* 将子元素定位到父元素底部 */
|
||||
left: 50%; /* 将子元素水平居中 */
|
||||
transform: translateX(-50%); /* 通过平移来水平居中 */
|
||||
top: calc(100% + 20rpx); /* 将子元素定位到父元素底部,并增加 20rpx 的距离 */
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.postTypeWindow {
|
||||
/* 这里不需要设置 display: flex; */
|
||||
/* 这里也不需要设置 flex-direction: column; */
|
||||
|
|
|
@ -85,7 +85,7 @@ const loginSuccess = async () => {
|
|||
await store.dispatch('GetInfo')
|
||||
await store.dispatch('getQNDomainInfo')
|
||||
proxy.$tab.reLaunch('/pages/index');
|
||||
// await store.dispatch('GetUserInfo');
|
||||
store.dispatch('GetUserInfo');
|
||||
} catch (error) {
|
||||
console.log("获取用户信息失败", error)
|
||||
}
|
||||
|
|
|
@ -0,0 +1,214 @@
|
|||
<!-- 兑换商城 -->
|
||||
<template class="content">
|
||||
|
||||
<navbar_neadVue title="兑换商城"></navbar_neadVue>
|
||||
|
||||
<view class="view-top">
|
||||
<view class="view-top-rigth-text">
|
||||
<text>我的校园币:{{count}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="cp">
|
||||
<view class="view-content" v-for="(item,index) in arr" :key="index">
|
||||
<view class="content-main">
|
||||
<view class="content-image">
|
||||
<image :src="item.src"></image>
|
||||
</view>
|
||||
<view class="content-text">
|
||||
<view class="text1">
|
||||
{{item.content}}
|
||||
</view>
|
||||
<view class="text-flex">
|
||||
|
||||
<view class="text2">
|
||||
兑换所需
|
||||
</view>
|
||||
|
||||
<view class="text3">
|
||||
<image src="../../static/images/sign/1.png"></image>
|
||||
<text>{{item.count}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import {
|
||||
ref,
|
||||
reactive
|
||||
} from "vue";
|
||||
|
||||
import navbar_neadVue from "../common/navbar/navbar_nead.vue";
|
||||
|
||||
const count = ref("750");
|
||||
|
||||
let arr = reactive([{
|
||||
id: 1,
|
||||
src: "https://cbu01.alicdn.com/img/ibank/2019/524/629/11890926425_297889188.jpg",
|
||||
content: "[端午礼盒] 西凤酒52度头曲礼盒 陕西凤香型白酒礼11111111111",
|
||||
count: 700
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
src: "https://cbu01.alicdn.com/img/ibank/2016/442/823/3216328244_1451018438.jpg",
|
||||
content: "男生酷帅穿搭套装休闲夏季青少年潮牌短袖短裤初中1111111111 ",
|
||||
count: 200
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
src: "https://ts1.cn.mm.bing.net/th/id/R-C.2bcea282254788c581f0a18f47efb5f8?rik=rcZeIVRgTcWUkQ&riu=http%3a%2f%2fhimg2.huanqiu.com%2fattachment2010%2f2019%2f0429%2f10%2f58%2f20190429105829589.jpg&ehk=HCIAZrOId0EVKf%2bFyNg7cgff6Cg8WLUCNHpaDgwi1ng%3d&risl=&pid=ImgRaw&r=0",
|
||||
content: "男生酷帅穿搭套装休闲夏季青少年潮牌短袖短裤初中1111111111 ",
|
||||
count: 500
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
src: "https://ts1.cn.mm.bing.net/th/id/R-C.2bcea282254788c581f0a18f47efb5f8?rik=rcZeIVRgTcWUkQ&riu=http%3a%2f%2fhimg2.huanqiu.com%2fattachment2010%2f2019%2f0429%2f10%2f58%2f20190429105829589.jpg&ehk=HCIAZrOId0EVKf%2bFyNg7cgff6Cg8WLUCNHpaDgwi1ng%3d&risl=&pid=ImgRaw&r=0",
|
||||
content: "男生酷帅穿搭套装休闲夏季青少年潮牌短袖短裤初中1111111111 ",
|
||||
count: 500
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
src: "https://ts1.cn.mm.bing.net/th/id/R-C.2bcea282254788c581f0a18f47efb5f8?rik=rcZeIVRgTcWUkQ&riu=http%3a%2f%2fhimg2.huanqiu.com%2fattachment2010%2f2019%2f0429%2f10%2f58%2f20190429105829589.jpg&ehk=HCIAZrOId0EVKf%2bFyNg7cgff6Cg8WLUCNHpaDgwi1ng%3d&risl=&pid=ImgRaw&r=0",
|
||||
content: "男生酷帅穿搭套装休闲夏季青少年潮牌短袖短裤初中1111111111 ",
|
||||
count: 500
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
src: "https://ts1.cn.mm.bing.net/th/id/R-C.2bcea282254788c581f0a18f47efb5f8?rik=rcZeIVRgTcWUkQ&riu=http%3a%2f%2fhimg2.huanqiu.com%2fattachment2010%2f2019%2f0429%2f10%2f58%2f20190429105829589.jpg&ehk=HCIAZrOId0EVKf%2bFyNg7cgff6Cg8WLUCNHpaDgwi1ng%3d&risl=&pid=ImgRaw&r=0",
|
||||
content: "男生酷帅穿搭套装休闲夏季青少年潮牌短袖短裤初中1111111111 ",
|
||||
count: 500
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
src: "https://ts1.cn.mm.bing.net/th/id/R-C.2bcea282254788c581f0a18f47efb5f8?rik=rcZeIVRgTcWUkQ&riu=http%3a%2f%2fhimg2.huanqiu.com%2fattachment2010%2f2019%2f0429%2f10%2f58%2f20190429105829589.jpg&ehk=HCIAZrOId0EVKf%2bFyNg7cgff6Cg8WLUCNHpaDgwi1ng%3d&risl=&pid=ImgRaw&r=0",
|
||||
content: "男生酷帅穿搭套装休闲夏季青少年潮牌短袖短裤初中1111111111 ",
|
||||
count: 500
|
||||
},
|
||||
]);
|
||||
|
||||
function return_left(){
|
||||
console.log("返回事件")
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.content {
|
||||
background: #faf9fa;
|
||||
}
|
||||
|
||||
.view-top {
|
||||
/* height: 100rpx; */
|
||||
}
|
||||
|
||||
.view-top-rigth-text {
|
||||
margin-top: 24rpx;
|
||||
margin-left: 479rpx;
|
||||
margin-right: 32rpx;
|
||||
}
|
||||
|
||||
.view-top-rigth-text>text {
|
||||
font-weight: Regular;
|
||||
width: 239rpx;
|
||||
height: 31rpx;
|
||||
font-size: 30rpx;
|
||||
text-align: left;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
|
||||
.cp {
|
||||
display: grid;
|
||||
grid-template-columns: auto auto;
|
||||
margin-left: 32rpx;
|
||||
margin-right: 32rpx;
|
||||
margin-top: 23rpx;
|
||||
grid-column-gap: 26rpx;
|
||||
grid-row-gap: 24rpx;
|
||||
}
|
||||
|
||||
.view-content {
|
||||
width: 330rpx;
|
||||
height: 482rpx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.content-main {
|
||||
width: 330rpx;
|
||||
height: 482rpx;
|
||||
border-radius: 24rpx 24rpx 24rpx 24rpx;
|
||||
background: #ffffff;
|
||||
}
|
||||
|
||||
.content-image>image {
|
||||
width: 330rpx;
|
||||
height: 330rpx;
|
||||
border-radius: 24rpx 24rpx 0 0;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.content-text {
|
||||
margin-left: 24rpx;
|
||||
margin-top: 24rpx;
|
||||
}
|
||||
|
||||
.text1 {
|
||||
font-weight: Regular;
|
||||
width: 266rpx;
|
||||
height: 54rpx;
|
||||
line-height: 27rpx;
|
||||
font-size: 22rpx;
|
||||
text-align: left;
|
||||
color: #000000;
|
||||
|
||||
overflow: hidden;
|
||||
word-wrap: break-word;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2;
|
||||
|
||||
}
|
||||
|
||||
.text-flex {
|
||||
margin-top: 28rpx;
|
||||
width: 330rpx;
|
||||
height: 20rpx;
|
||||
}
|
||||
|
||||
.text2 {
|
||||
font-weight: Regular;
|
||||
width: 100rpx;
|
||||
height: 20rpx;
|
||||
font-size: 20rpx;
|
||||
text-align: left;
|
||||
color: #999999;
|
||||
line-height: 20rpx;
|
||||
align-items: center;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.text3 {
|
||||
float: right;
|
||||
margin-right: 24rpx;
|
||||
line-height: 19rpx;
|
||||
}
|
||||
|
||||
.text3>image {
|
||||
width: 21rpx;
|
||||
height: 21rpx;
|
||||
}
|
||||
|
||||
.text3>text {
|
||||
font-weight: Regular;
|
||||
width: 41rpx;
|
||||
height: 19rpx;
|
||||
font-size: 24rpx;
|
||||
text-align: left;
|
||||
color: #f99b46;
|
||||
padding: 1rpx;
|
||||
margin-left: 8rpx;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,36 @@
|
|||
<!-- 兑换商城详情 -->
|
||||
<template>
|
||||
<view class="uninavbar">
|
||||
<image src="../../static/images/sign/return.png"></image>
|
||||
</view>
|
||||
<view>
|
||||
<image :src="images"></image>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import {
|
||||
ref
|
||||
}
|
||||
from "vue"
|
||||
|
||||
const images = ref("https://cbu01.alicdn.com/img/ibank/2016/442/823/3216328244_1451018438.jpg")
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.uninavbar {
|
||||
position: absolute;
|
||||
z-index:9999;
|
||||
top: 110rpx;
|
||||
left: 32rpx;
|
||||
}
|
||||
.uninavbar > image{
|
||||
width: 31rpx;
|
||||
height: 44rpx;
|
||||
color: #000000;
|
||||
}
|
||||
view > image {
|
||||
width: 750rpx;
|
||||
height: 500rpx;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,451 @@
|
|||
<!-- 签到任务 -->
|
||||
<template>
|
||||
<navbar_neadVue title="签到任务" background_color="#CAF6F5"></navbar_neadVue>
|
||||
<view class="content-top">
|
||||
<view class="top">
|
||||
<view class="top-right-text">
|
||||
<text @click="GoTo()">签到明细</text>
|
||||
</view>
|
||||
|
||||
<view>
|
||||
<view class="top-left-text">
|
||||
<text>{{count}}</text>
|
||||
<text>校园币</text>
|
||||
</view>
|
||||
|
||||
<view class="top-left">
|
||||
<text>我的校园币</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="right-image">
|
||||
<image src="../../static/images/sign/金币.png"></image>
|
||||
</view>
|
||||
|
||||
<view class="content-bottom">
|
||||
<view class="c-bottom">
|
||||
<text>
|
||||
已连续签到<text class="text-1">1</text>天
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="content-bottom-bot">
|
||||
<view class="bot-text">
|
||||
<text>记得去商城兑换礼物奥!</text>
|
||||
</view>
|
||||
|
||||
<view>
|
||||
|
||||
<ul style="display: flex; margin-left: 24rpx;padding-left: 2rpx;margin-top: 48rpx;">
|
||||
<li>
|
||||
<image style="width: 42rpx; height: 44rpx;" src="../../static/images/sign/1.png">
|
||||
</image>
|
||||
|
||||
<text style="display: block; font-weight: Regular;
|
||||
width: 60rpx;
|
||||
height: 22rpx;
|
||||
font-size: 24rpx;
|
||||
text-align: center;
|
||||
color: #7E7E7E;">12日</text>
|
||||
</li>
|
||||
|
||||
<li style="margin-left: 58rpx;">
|
||||
<image style="width: 42rpx; height: 44rpx;" src="../../static/images/sign/1.png">
|
||||
</image>
|
||||
|
||||
<text style="display: block; font-weight: Regular;
|
||||
width: 60rpx;
|
||||
height: 22rpx;
|
||||
font-size: 24rpx;
|
||||
text-align: left;
|
||||
padding-right: 4rpx;
|
||||
color: #7E7E7E;">12日</text>
|
||||
</li>
|
||||
|
||||
<li style="margin-left: 58rpx;">
|
||||
<image style="width: 42rpx; height: 44rpx;" src="../../static/images/sign/1.png">
|
||||
</image>
|
||||
|
||||
<text style="display: block; font-weight: Regular;
|
||||
width: 60rpx;
|
||||
height: 22rpx;
|
||||
font-size: 24rpx;
|
||||
text-align: left;
|
||||
padding-right: 4rpx;
|
||||
color: #7E7E7E;">12日</text>
|
||||
</li>
|
||||
|
||||
<li style="margin-left: 58rpx;">
|
||||
<image style="width: 42rpx; height: 44rpx;" src="../../static/images/sign/1.png">
|
||||
</image>
|
||||
|
||||
<text style="display: block; font-weight: Regular;
|
||||
width: 60rpx;
|
||||
height: 22rpx;
|
||||
font-size: 24rpx;
|
||||
text-align: left;
|
||||
padding-right: 4rpx;
|
||||
color: #7E7E7E;">12日</text>
|
||||
</li>
|
||||
|
||||
<li style="margin-left: 58rpx;">
|
||||
<image style="width: 42rpx; height: 44rpx;" src="../../static/images/sign/1.png">
|
||||
</image>
|
||||
|
||||
<text style="display: block; font-weight: Regular;
|
||||
width: 60rpx;
|
||||
height: 22rpx;
|
||||
font-size: 24rpx;
|
||||
text-align: left;
|
||||
padding-right: 4rpx;
|
||||
color: #7E7E7E;">12日</text>
|
||||
</li>
|
||||
<li style="margin-left: 58rpx;">
|
||||
<image style="width: 42rpx; height: 44rpx;" src="../../static/images/sign/1.png">
|
||||
</image>
|
||||
|
||||
<text style="display: block; font-weight: Regular;
|
||||
width: 60rpx;
|
||||
height: 22rpx;
|
||||
font-size: 24rpx;
|
||||
text-align: left;
|
||||
padding-right: 4rpx;
|
||||
color: #7E7E7E;">12日</text>
|
||||
</li>
|
||||
</ul>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 签到任务 -->
|
||||
<view class="task">
|
||||
<view style="height: 60rpx;">
|
||||
<text class="tasktext">签到任务</text>
|
||||
</view>
|
||||
|
||||
<view class="task-content" v-for="(item,index) in arr" :key="index">
|
||||
<view class="task-right">
|
||||
<text>{{item.type}}</text>
|
||||
</view>
|
||||
<view>
|
||||
<text class="c-text">{{item.title}}</text>
|
||||
<image style="width: 21rpx;height: 21rpx;margin-left: 36rpx;" src="../../static/images/sign/1.png">
|
||||
</image>
|
||||
<text class="count-text">{{item.count}}</text>
|
||||
</view>
|
||||
<view class="task-left">
|
||||
<text class="left-text">{{item.content.title}} <text class="left-0text">
|
||||
{{item.content.count}}
|
||||
</text>{{item.content.cuent}}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view style="height: 24rpx;"></view>
|
||||
|
||||
</view>
|
||||
|
||||
|
||||
<view>
|
||||
|
||||
</view>
|
||||
|
||||
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import navbar_neadVue from "../common/navbar/navbar_nead.vue";
|
||||
import exchangemall from "./exchangemall.vue"
|
||||
|
||||
//
|
||||
function GoTo() {
|
||||
|
||||
}
|
||||
|
||||
import {
|
||||
ref,
|
||||
reactive
|
||||
} from "vue";
|
||||
const count = ref("750");
|
||||
const arr = reactive([{
|
||||
id: 1,
|
||||
type: "立即签到",
|
||||
title: "每日签到",
|
||||
count: "+1",
|
||||
content: {
|
||||
title: "点击签到获得每日奖励 ",
|
||||
count: "(" + "0",
|
||||
cuent: "/" + "1" + ")"
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
type: "去关注",
|
||||
title: "关注",
|
||||
count: "+2",
|
||||
content: {
|
||||
title: "关注优秀用户得奖励 ",
|
||||
count: "(" + "0",
|
||||
cuent: "/" + "1" + ")"
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
type: "去点赞",
|
||||
title: "点赞",
|
||||
count: "+2",
|
||||
content: {
|
||||
title: "点赞话题获取奖励 ",
|
||||
count: "(" + "0",
|
||||
cuent: "/" + "3" + ")"
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
type: "去发布",
|
||||
title: "发布话题",
|
||||
count: "+3",
|
||||
content: {
|
||||
title: "点赞话题获取奖励 ",
|
||||
count: "(" + "0",
|
||||
cuent: "/" + "1" + ")"
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
type: "立即邀请",
|
||||
title: "邀请新用户",
|
||||
count: "+5",
|
||||
content: {
|
||||
title: "邀请新用户得奖励 ",
|
||||
count: "",
|
||||
cuent: ""
|
||||
},
|
||||
}
|
||||
])
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
<style scoped>
|
||||
@import '../../pages/common/navbar/navbar.css';
|
||||
|
||||
.content-top {
|
||||
/* height: 424rpx; */
|
||||
height: 502rpx;
|
||||
background: linear-gradient(-180deg, #c9f6f5, #ffffff);
|
||||
}
|
||||
|
||||
.top {
|
||||
margin-left: 32rpx;
|
||||
margin-right: 32rpx;
|
||||
}
|
||||
|
||||
.top-right-text>text {
|
||||
font-weight: Regular;
|
||||
/* width: 95rpx; */
|
||||
height: 24rpx;
|
||||
font-size: 24rpx;
|
||||
text-align: left;
|
||||
color: #000000;
|
||||
float: right;
|
||||
margin-top: 24rpx;
|
||||
}
|
||||
|
||||
.top-left-text {
|
||||
padding-top: 99rpx;
|
||||
padding-left: 1rpx;
|
||||
}
|
||||
|
||||
.top-left-text>text:first-child {
|
||||
color: #000000;
|
||||
font-weight: Regular;
|
||||
font-face: Microsoft YaHei;
|
||||
font-size: 48rpx;
|
||||
text-align: left;
|
||||
line-height: 46.29rpx;
|
||||
}
|
||||
|
||||
.top-left-text>text:last-child {
|
||||
color: #000000;
|
||||
font-weight: Regular;
|
||||
font-face: Microsoft YaHei;
|
||||
font-size: 28rpx;
|
||||
text-align: left;
|
||||
line-height: 46.29rpx;
|
||||
}
|
||||
|
||||
.top-left>text {
|
||||
display: block;
|
||||
font-weight: Regular;
|
||||
/* width: 119rpx; */
|
||||
font-size: 24rpx;
|
||||
text-align: left;
|
||||
color: #6F6F6F;
|
||||
padding-left: 1rpx;
|
||||
line-height: 24rpx;
|
||||
}
|
||||
|
||||
.right-image>image {
|
||||
width: 248rpx;
|
||||
height: 289rpx;
|
||||
position: absolute;
|
||||
top: 279rpx;
|
||||
right: 32rpx;
|
||||
z-index: 7;
|
||||
}
|
||||
|
||||
.content-bottom {
|
||||
width: 319rpx;
|
||||
height: 60rpx;
|
||||
border-radius: 20rpx 20rpx 0 0;
|
||||
background: #ffffff;
|
||||
margin-top: 48rpx;
|
||||
}
|
||||
|
||||
.c-bottom {
|
||||
padding-left: 26rpx;
|
||||
padding-top: 8rpx;
|
||||
}
|
||||
|
||||
.c-bottom>text:first-child {
|
||||
color: #000000;
|
||||
font-weight: Regular;
|
||||
font-face: Microsoft YaHei;
|
||||
font-size: 28rpx;
|
||||
text-align: left;
|
||||
line-height: 46.29rpx;
|
||||
}
|
||||
|
||||
.text-1 {
|
||||
color: #fa3939;
|
||||
font-weight: Regular;
|
||||
font-face: Microsoft YaHei;
|
||||
font-size: 28rpx;
|
||||
text-align: left;
|
||||
line-height: 46.29rpx;
|
||||
}
|
||||
|
||||
.content-bottom-bot {
|
||||
position: relative;
|
||||
/* width: 686rpx; */
|
||||
height: 214rpx;
|
||||
border-radius: 0 32rpx 32rpx 32rpx;
|
||||
background: #ffffff;
|
||||
z-index: 9;
|
||||
}
|
||||
|
||||
.bot-text {
|
||||
padding-left: 24rpx;
|
||||
display: block;
|
||||
/* padding-top: 12rpx; */
|
||||
}
|
||||
|
||||
.bot-text>text {
|
||||
font-weight: Regular;
|
||||
width: 248rpx;
|
||||
height: 24rpx;
|
||||
font-size: 24rpx;
|
||||
text-align: left;
|
||||
color: #6F6F6F;
|
||||
}
|
||||
|
||||
.task {
|
||||
width: 686rpx;
|
||||
/* height: 484rpx; */
|
||||
border-radius: 32rpx 32rpx 32rpx 32rpx;
|
||||
background: #ffffff;
|
||||
/* background: #fa3939; */
|
||||
margin-left: 32rpx;
|
||||
margin-right: 32rpx;
|
||||
margin-top: 24rpx;
|
||||
}
|
||||
|
||||
.tasktext {
|
||||
display: block;
|
||||
font-weight: Regular;
|
||||
width: 144rpx;
|
||||
height: 36rpx;
|
||||
font-size: 36rpx;
|
||||
text-align: left;
|
||||
color: #000000;
|
||||
padding-top: 24rpx;
|
||||
margin-left: 24rpx;
|
||||
}
|
||||
|
||||
.task-content {
|
||||
margin-left: 24rpx;
|
||||
margin-top: 24rpx;
|
||||
}
|
||||
|
||||
.task-right {
|
||||
margin-top: 16rpx;
|
||||
width: 120rpx;
|
||||
height: 48rpx;
|
||||
border-radius: 24rpx 24rpx 24rpx 24rpx;
|
||||
background: #f99b46;
|
||||
float: right;
|
||||
margin-right: 24rpx;
|
||||
}
|
||||
|
||||
.c-text {
|
||||
font-weight: Regular;
|
||||
width: 95rpx;
|
||||
height: 24rpx;
|
||||
font-size: 24rpx;
|
||||
text-align: left;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.count-text {
|
||||
font-weight: Regular;
|
||||
width: 20rpx;
|
||||
height: 16rpx;
|
||||
font-size: 20rpx;
|
||||
text-align: left;
|
||||
color: #F99B46;
|
||||
padding-left: 3rpx;
|
||||
line-height: 16rpx;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.task-right>text {
|
||||
font-weight: Regular;
|
||||
width: 95rpx;
|
||||
height: 25rpx;
|
||||
font-size: 24rpx;
|
||||
text-align: left;
|
||||
color: #FFFFFF;
|
||||
display: block;
|
||||
margin: auto;
|
||||
text-align: center;
|
||||
line-height: 48rpx;
|
||||
}
|
||||
|
||||
.task-left {
|
||||
/* display: block; */
|
||||
height: 20rpx;
|
||||
}
|
||||
|
||||
.left-text {
|
||||
display: block;
|
||||
color: #999999;
|
||||
font-weight: Regular;
|
||||
font-face: Microsoft YaHei;
|
||||
font-size: 20rpx;
|
||||
text-align: left;
|
||||
/* margin-top: 12rpx; */
|
||||
}
|
||||
|
||||
.left-0text {
|
||||
color: #fb5c5c;
|
||||
font-weight: Regular;
|
||||
font-face: Microsoft YaHei;
|
||||
font-size: 20rpx;
|
||||
text-align: left;
|
||||
}
|
||||
</style>
|
|
@ -1,6 +1,7 @@
|
|||
<!-- 签到明细 -->
|
||||
<template>
|
||||
<view class="uninavbar">
|
||||
<uni-nav-bar statusBar="false" :border="false" left-icon="left" title="签到明细" />
|
||||
<uni-nav-bar statusBar="false" :border="false" left-icon="leftIcon" title="签到明细" />
|
||||
</view>
|
||||
<view style="height: 24rpx;"></view>
|
||||
<view class="content" v-for="(item,index) in arr" :key="index">
|
||||
|
@ -20,6 +21,7 @@
|
|||
reactive,
|
||||
ref
|
||||
} from "vue"
|
||||
let leftIcon = ref("../../static/images/sign/return.png")
|
||||
let arr = reactive([{
|
||||
id: 1,
|
||||
text: "每日签到",
|
||||
|
@ -79,7 +81,10 @@
|
|||
height: 44rpx;
|
||||
line-height: 44rpx;
|
||||
}
|
||||
|
||||
|
||||
*{
|
||||
background-color: #ffffff;;
|
||||
}
|
||||
|
||||
.content {
|
||||
margin-left: 32rpx;
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
// 跳转
|
||||
|
||||
|
||||
// 打印
|
||||
|
||||
|
||||
export function Log(t1){
|
||||
console.log(t1);
|
||||
}
|
|
@ -14,108 +14,57 @@
|
|||
<!-- 宫格组件 -->
|
||||
<uni-section title="系统管理" type="line"></uni-section>
|
||||
<view class="grid-body">
|
||||
<uni-grid :column="4" :showBorder="false" @change="changeGrid">
|
||||
<uni-grid-item>
|
||||
<view class="grid-item-box">
|
||||
<uni-icons type="person-filled" size="30"></uni-icons>
|
||||
<text class="text">用户管理</text>
|
||||
</view>
|
||||
</uni-grid-item>
|
||||
<uni-grid-item>
|
||||
<view class="grid-item-box">
|
||||
<uni-icons type="staff-filled" size="30"></uni-icons>
|
||||
<text class="text">角色管理</text>
|
||||
</view>
|
||||
</uni-grid-item>
|
||||
<uni-grid-item>
|
||||
<view class="grid-item-box">
|
||||
<uni-icons type="color" size="30"></uni-icons>
|
||||
<text class="text">菜单管理</text>
|
||||
</view>
|
||||
</uni-grid-item>
|
||||
<uni-grid-item>
|
||||
<view class="grid-item-box">
|
||||
<uni-icons type="settings-filled" size="30"></uni-icons>
|
||||
<text class="text">部门管理</text>
|
||||
</view>
|
||||
</uni-grid-item>
|
||||
<uni-grid-item>
|
||||
<view class="grid-item-box">
|
||||
<uni-icons type="heart-filled" size="30"></uni-icons>
|
||||
<text class="text">岗位管理</text>
|
||||
</view>
|
||||
</uni-grid-item>
|
||||
<uni-grid-item>
|
||||
<view class="grid-item-box">
|
||||
<uni-icons type="bars" size="30"></uni-icons>
|
||||
<text class="text">字典管理</text>
|
||||
</view>
|
||||
</uni-grid-item>
|
||||
<uni-grid-item>
|
||||
<view class="grid-item-box">
|
||||
<uni-icons type="gear-filled" size="30"></uni-icons>
|
||||
<text class="text">参数设置</text>
|
||||
</view>
|
||||
</uni-grid-item>
|
||||
<uni-grid-item>
|
||||
<view class="grid-item-box">
|
||||
<uni-icons type="chat-filled" size="30"></uni-icons>
|
||||
<text class="text">通知公告</text>
|
||||
</view>
|
||||
</uni-grid-item>
|
||||
<uni-grid-item>
|
||||
<view class="grid-item-box">
|
||||
<uni-icons type="wallet-filled" size="30"></uni-icons>
|
||||
<text class="text">日志管理</text>
|
||||
</view>
|
||||
</uni-grid-item>
|
||||
</uni-grid>
|
||||
|
||||
</view>
|
||||
<fileUpload v-model="fileList1" :fileTypeInfo="fileTypeInfo1" ></fileUpload>
|
||||
<fileUpload v-model="fileList1" :fileTypeInfo="fileTypeInfo2" ></fileUpload>
|
||||
<view class="album" v-for="(item,index) in fileList1" :key="index">
|
||||
<view>
|
||||
<up-button type="primary" text="待审核" size @click="clickBannerItem(1)"></up-button>
|
||||
</view>
|
||||
<fileUpload v-model="fileList1" :fileTypeInfo="fileTypeInfo1"></fileUpload>
|
||||
<fileUpload v-model="fileList1" :fileTypeInfo="fileTypeInfo2"></fileUpload>
|
||||
<view class="album" v-for="(item, index) in fileList1" :key="index">
|
||||
<view class="album__avatar">
|
||||
<image :src="QNDomain+item.furl" mode="" style="width: 32px;height: 32px;"></image>
|
||||
<image :src="QNDomain + item.furl" mode="" style="width: 32px;height: 32px;"></image>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
|
||||
import fileUpload from './../common/file/fileUpload/index.vue'
|
||||
import {ref, reactive,getCurrentInstance} from 'vue'
|
||||
import { ref, reactive, getCurrentInstance } from 'vue'
|
||||
import { useStore } from 'vuex';
|
||||
const { proxy } = getCurrentInstance();
|
||||
const store = useStore();
|
||||
const fileTypeInfo1 = ref("image")
|
||||
const fileTypeInfo2 = ref("video")
|
||||
const QNDomain = store.state.user.QNDomain
|
||||
const current = ref(0)
|
||||
const swiperDotIndex = ref(0)
|
||||
const current = ref(0)
|
||||
const swiperDotIndex = ref(0)
|
||||
|
||||
const data = ref( [{
|
||||
image: '/static/images/banner/banner01.jpg'
|
||||
},
|
||||
{
|
||||
image: '/static/images/banner/banner02.jpg'
|
||||
},
|
||||
{
|
||||
image: '/static/images/banner/banner03.jpg'
|
||||
}
|
||||
])
|
||||
const fileList1 = ref([])
|
||||
const data = ref([{
|
||||
image: '/static/images/banner/banner01.jpg'
|
||||
},
|
||||
{
|
||||
image: '/static/images/banner/banner02.jpg'
|
||||
},
|
||||
{
|
||||
image: '/static/images/banner/banner03.jpg'
|
||||
}
|
||||
])
|
||||
const fileList1 = ref([])
|
||||
|
||||
|
||||
function clickBannerItem(item) {
|
||||
console.info(item)
|
||||
}
|
||||
function changeSwiper(e) {
|
||||
current.value = e.detail.current
|
||||
}
|
||||
function changeGrid(e) {
|
||||
proxy.$modal.showToast('模块建设中~')
|
||||
}
|
||||
function clickBannerItem(item) {
|
||||
if (item === 1) {
|
||||
proxy.$tab.navigateTo('/pages/common/talkState/publish')
|
||||
}
|
||||
|
||||
}
|
||||
function changeSwiper(e) {
|
||||
current.value = e.detail.current
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
|
|
|
@ -1,41 +1,42 @@
|
|||
import { getToken } from '@/utils/auth'
|
||||
import { getToken } from "@/utils/auth";
|
||||
|
||||
// 登录页面
|
||||
const loginPage = "/pages/loginInfo/login"
|
||||
|
||||
const loginPage = "/pages/loginInfo/login";
|
||||
|
||||
// 页面白名单
|
||||
const whiteList = [
|
||||
'/pages/loginInfo/login', '/pages/register', '/pages/common/webview/index'
|
||||
]
|
||||
"/pages/loginInfo/login",
|
||||
"/pages/register",
|
||||
"/pages/common/webview/index",
|
||||
];
|
||||
|
||||
// 检查地址白名单
|
||||
function checkWhite(url) {
|
||||
const path = url.split('?')[0]
|
||||
return whiteList.indexOf(path) !== -1
|
||||
const path = url.split("?")[0];
|
||||
return whiteList.indexOf(path) !== -1;
|
||||
}
|
||||
|
||||
// 页面跳转验证拦截器
|
||||
let list = ["navigateTo", "redirectTo", "reLaunch", "switchTab"]
|
||||
list.forEach(item => {
|
||||
uni.addInterceptor(item, {
|
||||
invoke(to) {
|
||||
|
||||
if (getToken()) {
|
||||
if (to.url === loginPage) {
|
||||
console.log("to:",to);
|
||||
uni.reLaunch({ url: "/" })
|
||||
}
|
||||
return true
|
||||
} else {
|
||||
if (checkWhite(to.url)) {
|
||||
return true
|
||||
}
|
||||
uni.reLaunch({ url: loginPage })
|
||||
return false
|
||||
}
|
||||
},
|
||||
fail(err) {
|
||||
console.log("错误信息:",err)
|
||||
}
|
||||
})
|
||||
})
|
||||
let list = ["navigateTo", "redirectTo", "reLaunch", "switchTab"];
|
||||
// list.forEach((item) => {
|
||||
// uni.addInterceptor(item, {
|
||||
// invoke(to) {
|
||||
// if (getToken()) {
|
||||
// if (to.url === loginPage) {
|
||||
// console.log("to:", to);
|
||||
// uni.reLaunch({ url: "/" });
|
||||
// }
|
||||
// return true;
|
||||
// } else {
|
||||
// if (checkWhite(to.url)) {
|
||||
// return true;
|
||||
// }
|
||||
// uni.reLaunch({ url: loginPage });
|
||||
// return false;
|
||||
// }
|
||||
// },
|
||||
// fail(err) {
|
||||
// console.log("错误信息:", err);
|
||||
// },
|
||||
// });
|
||||
// });
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 2.8 KiB |
Binary file not shown.
After Width: | Height: | Size: 522 B |
Binary file not shown.
After Width: | Height: | Size: 627 B |
|
@ -137,7 +137,7 @@ const user = {
|
|||
const avatar =
|
||||
user == null || user.avatar == "" || user.avatar == null
|
||||
? defaultAvatar
|
||||
: baseUrl + user.avatar;
|
||||
: qnDomain + user.avatar;
|
||||
const username =
|
||||
user == null || user.userName == "" || user.userName == null
|
||||
? ""
|
||||
|
|
|
@ -9,10 +9,14 @@ const tu51 = ref(QNDomain + "home/icon/image/png/tu5-1_20240601124004353.png")
|
|||
const tu52 = ref(QNDomain + "home/icon/image/png/tu5-2_20240601124010403.png")
|
||||
const tu53 = ref(QNDomain + "home/icon/image/png/tu5-3_20240601124016641.png")
|
||||
const tu23 = ref(QNDomain + "home/icon/image/png/tu2-3_20240602093303793.png")
|
||||
//文件上传
|
||||
const tu2x = ref(QNDomain + "home/icon/image/png/添加图片@2x_20240603101717136.png")
|
||||
|
||||
|
||||
//话题发布-等待审核
|
||||
const sh2x = ref(QNDomain + "home/icon/image/png/等待审核@2x_20240604202431502.png")
|
||||
const sh2x1 = ref(QNDomain + "home/icon/image/png/等待审核@2x1_20240604202431492.png")
|
||||
export default {
|
||||
tu21,tu22,tu23,tu2x,
|
||||
tu51,tu52,tu53
|
||||
tu51,tu52,tu53,
|
||||
sh2x,sh2x1
|
||||
}
|
Loading…
Reference in New Issue