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',
|
uploadQiNiuDomain: 'https://upload-z2.qiniup.com',
|
||||||
// baseUrl: 'https://vue.ruoyi.vip/prod-api',
|
// baseUrl: 'https://vue.ruoyi.vip/prod-api',
|
||||||
// baseUrl: 'http://47.93.242.168:8080',
|
// baseUrl: 'http://47.93.242.168:8080',
|
||||||
baseUrl: 'http://47.93.242.168:8080',
|
// baseUrl: 'http://47.93.242.168:8080',
|
||||||
// baseUrl: 'http://localhost:8080',
|
baseUrl: 'http://localhost:8080',
|
||||||
// 应用信息
|
// 应用信息
|
||||||
appInfo: {
|
appInfo: {
|
||||||
// 应用名称
|
// 应用名称
|
||||||
|
|
1
main.js
1
main.js
|
@ -12,6 +12,7 @@ export function createApp() {
|
||||||
app.config.globalProperties.iconConfig = iconConfig
|
app.config.globalProperties.iconConfig = iconConfig
|
||||||
app.use(uviewPlus)
|
app.use(uviewPlus)
|
||||||
app.use(store)
|
app.use(store)
|
||||||
|
|
||||||
// app.use(uView)
|
// app.use(uView)
|
||||||
install(app)
|
install(app)
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
"dayjs": "^1.11.11",
|
"dayjs": "^1.11.11",
|
||||||
"qiniu": "^7.12.0",
|
"qiniu": "^7.12.0",
|
||||||
"qiniu-js": "^3.4.2",
|
"qiniu-js": "^3.4.2",
|
||||||
|
"quill": "^1.3.7",
|
||||||
"uview-plus": "^3.2.15"
|
"uview-plus": "^3.2.15"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
64
pages.json
64
pages.json
|
@ -8,9 +8,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pages": [
|
"pages": [
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "pages/index",
|
"path": "pages/index",
|
||||||
"style": {
|
"style": {
|
||||||
|
@ -19,7 +16,14 @@
|
||||||
"navigationBarTextStyle": "white"
|
"navigationBarTextStyle": "white"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path" : "pages/signln/signid",
|
||||||
|
"style" :
|
||||||
|
{
|
||||||
|
"navigationBarTitleText" : "签到任务",
|
||||||
|
"navigationStyle": "custom"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "pages/signln/signiddetails",
|
"path": "pages/signln/signiddetails",
|
||||||
"style": {
|
"style": {
|
||||||
|
@ -28,6 +32,50 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -58,6 +106,14 @@
|
||||||
"navigationBarTextStyle": "white"
|
"navigationBarTextStyle": "white"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
, {
|
||||||
|
"path": "pages/activity/publish",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "发布活动",
|
||||||
|
"navigationStyle": "custom",
|
||||||
|
"navigationBarTextStyle": "white"
|
||||||
|
}
|
||||||
|
}
|
||||||
, {
|
, {
|
||||||
"path": "pages/work/index",
|
"path": "pages/work/index",
|
||||||
"style": {
|
"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 emit = defineEmits(['scrolltolower']);
|
||||||
const { proxy } = getCurrentInstance();
|
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({
|
const props = defineProps({
|
||||||
modelValue: Array
|
modelValue: Array
|
||||||
});
|
});
|
||||||
|
|
|
@ -113,6 +113,7 @@ const afterRead = async (event) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const uploadFilePromise = async (fileInfo1, name) => {
|
const uploadFilePromise = async (fileInfo1, name) => {
|
||||||
|
console.log("fileInfo1:",fileInfo1);
|
||||||
// 主要目的的拼名字,大小,类型
|
// 主要目的的拼名字,大小,类型
|
||||||
let fileNameOld = [0, 1];
|
let fileNameOld = [0, 1];
|
||||||
if (fileInfo1.name !== undefined) {
|
if (fileInfo1.name !== undefined) {
|
||||||
|
@ -122,12 +123,14 @@ const uploadFilePromise = async (fileInfo1, name) => {
|
||||||
fileInfo.name = fileNameOld[0] + "_" + store.state.user.phoneType + "_" + name;
|
fileInfo.name = fileNameOld[0] + "_" + store.state.user.phoneType + "_" + name;
|
||||||
|
|
||||||
let extension1 = fileInfo1.url.split('.');
|
let extension1 = fileInfo1.url.split('.');
|
||||||
|
|
||||||
// 防止 h5 报错
|
// 防止 h5 报错
|
||||||
if (extension1[1] == null) {
|
if (extension1[1] === undefined) {
|
||||||
extension1[1] = fileNameOld[1];
|
extension1[1] = fileNameOld[fileNameOld.length-1]; //保证取最后一个
|
||||||
}
|
}
|
||||||
//主要是为了拼接文件type(video/mp4),因为各端传入的type各有不同
|
//主要是为了拼接文件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];
|
fileInfo.extension = extension1[1];
|
||||||
try {
|
try {
|
||||||
const tokenData = await getQNtoken(fileInfo);
|
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="postTypeContainer" v-if="postTypeOpen">
|
||||||
<view class="postTypeWindow" v-for="(item, index) in postTypeList" :key="index">
|
<view class="postTypeWindow" v-for="(item, index) in postTypeList" :key="index">
|
||||||
<text>{{item}}</text>
|
<text @click="publishTalk(item)">{{item.lable}}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -326,7 +326,6 @@ import PostView from "@/pages/common/postview/index.vue";
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
// 微信小程序配置
|
// 微信小程序配置
|
||||||
:deep(.u-navbar__content__left.data-v-f631659b, .u-navbar__content__right.data-v-f631659b){
|
:deep(.u-navbar__content__left.data-v-f631659b, .u-navbar__content__right.data-v-f631659b){
|
||||||
|
|
|
@ -85,7 +85,7 @@ const loginSuccess = async () => {
|
||||||
await store.dispatch('GetInfo')
|
await store.dispatch('GetInfo')
|
||||||
await store.dispatch('getQNDomainInfo')
|
await store.dispatch('getQNDomainInfo')
|
||||||
proxy.$tab.reLaunch('/pages/index');
|
proxy.$tab.reLaunch('/pages/index');
|
||||||
// await store.dispatch('GetUserInfo');
|
store.dispatch('GetUserInfo');
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log("获取用户信息失败", 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>
|
<template>
|
||||||
<view class="uninavbar">
|
<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>
|
||||||
<view style="height: 24rpx;"></view>
|
<view style="height: 24rpx;"></view>
|
||||||
<view class="content" v-for="(item,index) in arr" :key="index">
|
<view class="content" v-for="(item,index) in arr" :key="index">
|
||||||
|
@ -20,6 +21,7 @@
|
||||||
reactive,
|
reactive,
|
||||||
ref
|
ref
|
||||||
} from "vue"
|
} from "vue"
|
||||||
|
let leftIcon = ref("../../static/images/sign/return.png")
|
||||||
let arr = reactive([{
|
let arr = reactive([{
|
||||||
id: 1,
|
id: 1,
|
||||||
text: "每日签到",
|
text: "每日签到",
|
||||||
|
@ -80,6 +82,9 @@
|
||||||
line-height: 44rpx;
|
line-height: 44rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
*{
|
||||||
|
background-color: #ffffff;;
|
||||||
|
}
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
margin-left: 32rpx;
|
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>
|
<uni-section title="系统管理" type="line"></uni-section>
|
||||||
<view class="grid-body">
|
<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 class="album__avatar">
|
|
||||||
<image :src="QNDomain+item.furl" mode="" style="width: 32px;height: 32px;"></image>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
|
<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>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
|
|
||||||
import fileUpload from './../common/file/fileUpload/index.vue'
|
import fileUpload from './../common/file/fileUpload/index.vue'
|
||||||
import {ref, reactive,getCurrentInstance} from 'vue'
|
import { ref, reactive, getCurrentInstance } from 'vue'
|
||||||
import { useStore } from 'vuex';
|
import { useStore } from 'vuex';
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
const store = useStore();
|
const store = useStore();
|
||||||
const fileTypeInfo1 = ref("image")
|
const fileTypeInfo1 = ref("image")
|
||||||
const fileTypeInfo2 = ref("video")
|
const fileTypeInfo2 = ref("video")
|
||||||
const QNDomain = store.state.user.QNDomain
|
const QNDomain = store.state.user.QNDomain
|
||||||
const current = ref(0)
|
const current = ref(0)
|
||||||
const swiperDotIndex = ref(0)
|
const swiperDotIndex = ref(0)
|
||||||
|
|
||||||
const data = ref( [{
|
const data = ref([{
|
||||||
image: '/static/images/banner/banner01.jpg'
|
image: '/static/images/banner/banner01.jpg'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
image: '/static/images/banner/banner02.jpg'
|
image: '/static/images/banner/banner02.jpg'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
image: '/static/images/banner/banner03.jpg'
|
image: '/static/images/banner/banner03.jpg'
|
||||||
}
|
}
|
||||||
])
|
])
|
||||||
const fileList1 = ref([])
|
const fileList1 = ref([])
|
||||||
|
|
||||||
|
|
||||||
function clickBannerItem(item) {
|
function clickBannerItem(item) {
|
||||||
console.info(item)
|
if (item === 1) {
|
||||||
|
proxy.$tab.navigateTo('/pages/common/talkState/publish')
|
||||||
}
|
}
|
||||||
function changeSwiper(e) {
|
|
||||||
|
}
|
||||||
|
function changeSwiper(e) {
|
||||||
current.value = e.detail.current
|
current.value = e.detail.current
|
||||||
}
|
}
|
||||||
function changeGrid(e) {
|
|
||||||
proxy.$modal.showToast('模块建设中~')
|
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
</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 = [
|
const whiteList = [
|
||||||
'/pages/loginInfo/login', '/pages/register', '/pages/common/webview/index'
|
"/pages/loginInfo/login",
|
||||||
]
|
"/pages/register",
|
||||||
|
"/pages/common/webview/index",
|
||||||
|
];
|
||||||
|
|
||||||
// 检查地址白名单
|
// 检查地址白名单
|
||||||
function checkWhite(url) {
|
function checkWhite(url) {
|
||||||
const path = url.split('?')[0]
|
const path = url.split("?")[0];
|
||||||
return whiteList.indexOf(path) !== -1
|
return whiteList.indexOf(path) !== -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 页面跳转验证拦截器
|
// 页面跳转验证拦截器
|
||||||
let list = ["navigateTo", "redirectTo", "reLaunch", "switchTab"]
|
let list = ["navigateTo", "redirectTo", "reLaunch", "switchTab"];
|
||||||
list.forEach(item => {
|
// list.forEach((item) => {
|
||||||
uni.addInterceptor(item, {
|
// uni.addInterceptor(item, {
|
||||||
invoke(to) {
|
// invoke(to) {
|
||||||
|
// if (getToken()) {
|
||||||
if (getToken()) {
|
// if (to.url === loginPage) {
|
||||||
if (to.url === loginPage) {
|
// console.log("to:", to);
|
||||||
console.log("to:",to);
|
// uni.reLaunch({ url: "/" });
|
||||||
uni.reLaunch({ url: "/" })
|
// }
|
||||||
}
|
// return true;
|
||||||
return true
|
// } else {
|
||||||
} else {
|
// if (checkWhite(to.url)) {
|
||||||
if (checkWhite(to.url)) {
|
// return true;
|
||||||
return true
|
// }
|
||||||
}
|
// uni.reLaunch({ url: loginPage });
|
||||||
uni.reLaunch({ url: loginPage })
|
// return false;
|
||||||
return false
|
// }
|
||||||
}
|
// },
|
||||||
},
|
// fail(err) {
|
||||||
fail(err) {
|
// console.log("错误信息:", 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 =
|
const avatar =
|
||||||
user == null || user.avatar == "" || user.avatar == null
|
user == null || user.avatar == "" || user.avatar == null
|
||||||
? defaultAvatar
|
? defaultAvatar
|
||||||
: baseUrl + user.avatar;
|
: qnDomain + user.avatar;
|
||||||
const username =
|
const username =
|
||||||
user == null || user.userName == "" || user.userName == null
|
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 tu52 = ref(QNDomain + "home/icon/image/png/tu5-2_20240601124010403.png")
|
||||||
const tu53 = ref(QNDomain + "home/icon/image/png/tu5-3_20240601124016641.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 tu23 = ref(QNDomain + "home/icon/image/png/tu2-3_20240602093303793.png")
|
||||||
|
//文件上传
|
||||||
const tu2x = ref(QNDomain + "home/icon/image/png/添加图片@2x_20240603101717136.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 {
|
export default {
|
||||||
tu21,tu22,tu23,tu2x,
|
tu21,tu22,tu23,tu2x,
|
||||||
tu51,tu52,tu53
|
tu51,tu52,tu53,
|
||||||
|
sh2x,sh2x1
|
||||||
}
|
}
|
Loading…
Reference in New Issue