Browse Source

合并修改

master
杨豪 3 years ago
parent
commit
6a7b664ee1
  1. 21
      api/store.js
  2. 16
      components/vSwiper.vue
  3. 4
      config/index.js
  4. 2
      main.js
  5. 27
      package-lock.json
  6. 14
      pages.json
  7. 4
      pages/home/index.vue
  8. 111
      pages/life/articleDetail/index.vue
  9. 177
      pages/life/articleList/index.vue
  10. 548
      pages/life/index.vue
  11. 503
      pages/user/completeData/index.vue
  12. 68
      project.config.json
  13. 54
      project.private.config.json
  14. BIN
      static/images/act-address.png
  15. BIN
      static/images/act-time.png
  16. BIN
      static/images/eye.png
  17. BIN
      static/images/hot.png
  18. BIN
      static/images/life-bg.png
  19. BIN
      static/images/new-act.png
  20. BIN
      static/images/rec-bg.png
  21. BIN
      static/images/rec-bg2.png
  22. BIN
      static/images/rec-headline.png
  23. BIN
      static/images/rec-icon1.png
  24. BIN
      static/images/rec-icon2.png
  25. BIN
      static/images/rec-title.png
  26. BIN
      static/images/yun.png

21
api/store.js

@ -92,6 +92,7 @@ export function getProducts(q) {
}); });
} }
/* /*
* 商品详情 * 商品详情
* */ * */
@ -265,3 +266,23 @@ export function storeListApi(data) {
login: false login: false
}); });
} }
/*
* 文章列表
* */
export function getArticle(q) {
return request.get("/article/list", q, {
login: false
});
}
/*
* 文章详情
* */
export function getArticleDetail(q) {
return request.get("/article/details/" + q.id,{
login: false
});
}

16
components/vSwiper.vue

@ -2,8 +2,8 @@
<swiper class="swiper-block" vertical="true" circular="true" previous-margin="90rpx" next-margin="90rpx" current="0" @change="swiperChange"> <swiper class="swiper-block" vertical="true" circular="true" previous-margin="90rpx" next-margin="90rpx" current="0" @change="swiperChange">
<block v-for="(item, index) in imgs" :key="index"> <block v-for="(item, index) in imgs" :key="index">
<swiper-item class="swiper-item" :class="(swiperIndex == index ? 'active' : '')" @tap="previewImg"> <swiper-item class="swiper-item" :class="(swiperIndex == index ? 'active' : '')" @tap="previewImg">
<view class="item-box" :class="(swiperIndex == index ? 'active' : '')"> <view class="item-box" :class="(swiperIndex == index ? 'active' : '')" @click="toDetial(item.id)">
<image mode="aspectFill" :src="item" class="slide-image"></image> <image mode="aspectFill" :src="item.imageInput" class="slide-image"></image>
<view class="content-box"> <view class="content-box">
<view class="title-box">标题标题标题标题标题</view> <view class="title-box">标题标题标题标题标题</view>
<view class="content acea-row"> <view class="content acea-row">
@ -38,7 +38,11 @@
swiperIndex: e.detail.current swiperIndex: e.detail.current
}); });
}, },
toDetial(id){
uni.navigateTo({
url: '/pages/life/articleDetail/index?id='+id
})
},
previewImg() { previewImg() {
uni.previewImage({ uni.previewImage({
urls: this.imgs urls: this.imgs
@ -52,7 +56,7 @@
.swiper-block { .swiper-block {
width: 670rpx; width: 670rpx;
height: 300rpx; height: 300rpx;
margin: 60rpx auto; margin: 0 auto;
} }
.swiper-item { .swiper-item {
@ -85,11 +89,15 @@
font-size: 32rpx; font-size: 32rpx;
font-weight: 500; font-weight: 500;
color: #fff; color: #fff;
margin-bottom: 10rpx;
} }
.content{ .content{
color: #fff; color: #fff;
font-size: 26rpx; font-size: 26rpx;
} }
.content view{
margin-right: 50rpx;
}
.active { .active {
transform: scale(1.02); transform: scale(1.02);
transition: all 0.2s ease-in 0s; transition: all 0.2s ease-in 0s;

4
config/index.js

@ -1,7 +1,7 @@
// export const VUE_APP_API_URL = 'http://natapp.xinxintuan.co/api'; // export const VUE_APP_API_URL = 'http://natapp.xinxintuan.co/api';
// export const VUE_APP_API_URL = 'https://wxapi.yixiang.co/api' // export const VUE_APP_API_URL = 'https://wxapi.yixiang.co/api'
// export const VUE_APP_API_URL = 'http://192.168.0.112:8092/api' export const VUE_APP_API_URL = 'http://192.168.0.112:8092/api'
export const VUE_APP_API_URL = 'http://192.168.0.111:8092/api' // export const VUE_APP_API_URL = 'http://192.168.0.111:8092/api'
// export const VUE_APP_API_URL = 'https://cloud.api.cyjyyjy.com/api' // export const VUE_APP_API_URL = 'https://cloud.api.cyjyyjy.com/api'
// export const VUE_APP_API_URL = 'http://natapp.xinxintuan.co/api'; // export const VUE_APP_API_URL = 'http://natapp.xinxintuan.co/api';
// export const VUE_APP_API_URL = 'https://thapi.xinxintuan.co/api' // export const VUE_APP_API_URL = 'https://thapi.xinxintuan.co/api'

2
main.js

@ -45,8 +45,6 @@ Object.defineProperty(Vue.prototype, '$yroute', {
}, },
}) })
console.log(Vue.prototype)
console.log(Object.getPrototypeOf(Vue))
let deviceType = '' let deviceType = ''
// #ifdef APP-PLUS // #ifdef APP-PLUS

27
package-lock.json generated

@ -1,6 +1,31 @@
{ {
"name": "zhaoshangMiniApp-uniapp",
"lockfileVersion": 2,
"requires": true, "requires": true,
"lockfileVersion": 1, "packages": {
"": {
"dependencies": {
"async-validator": "^4.0.7",
"dayjs": "^1.10.7",
"uview-ui": "^1.8.4"
}
},
"node_modules/async-validator": {
"version": "4.0.7",
"resolved": "https://registry.npmmirror.com/async-validator/download/async-validator-4.0.7.tgz?cache=0&sync_timestamp=1634529502627&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fasync-validator%2Fdownload%2Fasync-validator-4.0.7.tgz",
"integrity": "sha1-A0oP0hA6ay6/AQ2nUYO+wpkkev4="
},
"node_modules/dayjs": {
"version": "1.10.7",
"resolved": "https://registry.nlark.com/dayjs/download/dayjs-1.10.7.tgz?cache=0&sync_timestamp=1631266519235&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdayjs%2Fdownload%2Fdayjs-1.10.7.tgz",
"integrity": "sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig=="
},
"node_modules/uview-ui": {
"version": "1.8.4",
"resolved": "https://registry.npm.taobao.org/uview-ui/download/uview-ui-1.8.4.tgz",
"integrity": "sha1-4yu/I3lCHTGQIuMk4ct7U4fTvUQ="
}
},
"dependencies": { "dependencies": {
"async-validator": { "async-validator": {
"version": "4.0.7", "version": "4.0.7",

14
pages.json

@ -255,6 +255,7 @@
{ {
"path": "pages/life/index", "path": "pages/life/index",
"style": { "style": {
"navigationStyle": "custom",
"navigationBarTitleText": "生活", "navigationBarTitleText": "生活",
"enablePullDownRefresh": true "enablePullDownRefresh": true
} }
@ -290,7 +291,18 @@
"navigationBarTitleText": "详情预览" "navigationBarTitleText": "详情预览"
} }
}, },
{
"path": "pages/life/articleList/index",
"style": {
"navigationBarTitleText": "资讯列表"
}
},
{
"path": "pages/life/articleDetail/index",
"style": {
"navigationBarTitleText": "资讯详情"
}
},
{ {
"path": "pages/activity/index", "path": "pages/activity/index",
"style": { "style": {

4
pages/home/index.vue

@ -96,7 +96,7 @@
</view> </view>
<view class="buy-btn">立即抢购</view> <view class="buy-btn">立即抢购</view>
</view> </view>
</view> data-i </view>
</scroll-view> </scroll-view>
</view> </view>
</view> --> </view> -->
@ -114,7 +114,7 @@
<view class="tag">{{item.cname}}</view> <view class="tag">{{item.cname}}</view>
<view class="desc line2">{{item.detailedDescription}}</view> <view class="desc line2">{{item.detailedDescription}}</view>
<view class="buy-btn" @tap="toResourcesDetail" :data-id="item.id">了解详情</view> <view class="buy-btn" @tap="toResourcesDetail" :data-id="item.id">了解详情</view>
</view> </view>
<view class="company-box acea-row"> <view class="company-box acea-row">
<image :src="item.enterpriseDto.enterpriseLogo" class="logo"></image> <image :src="item.enterpriseDto.enterpriseLogo" class="logo"></image>
<view class="company-info acea-row row-column row-between"> <view class="company-info acea-row row-column row-between">

111
pages/life/articleDetail/index.vue

@ -0,0 +1,111 @@
<template>
<view class="article-box">
<view class="headline">{{detail.title}}</view>
<view class="acea-row">
<view class="header-img"><image src="../../../static/images/menu2.png"></image></view>
<view class="">
<view class="release-auth">{{detail.author}}</view>
<view class="acea-row">
<view class="fz24 acea-row row-middle">
<image src="../../../static/images/eye.png" class="eye-icon"></image>
<text>203</text>
</view>
<view class="fz24">{{detail.addTime}}</view>
</view>
</view>
</view>
<view class="content">
<view class="conter" v-html="detail.content"></view>
</view>
</view>
</template>
<script>
import { getArticleDetail } from "@/api/store";
export default{
data() {
return{
id: this.id,
detail: {}
}
},
onShareAppMessage() {
return {
title: this.detail.title,
imageUrl: this.detail.imageInput,
path: 'pages/life/articleDeail/index?id=' + this.detail.id,
success(res) {
uni.showToast({
title: '分享成功',
})
},
fail(res) {
uni.showToast({
title: '分享失败',
icon: 'none',
})
},
}
},
methods:{
getArticleDetail(){
getArticleDetail({id: this.id}).then((res)=>{
this.detail = res.data
})
}
},
onLoad: function (option) {
this.id= this.$yroute.query.id;
this.getArticleDetail()
}
}
</script>
<style lang="less">
.article-box{
width: 100%;
min-height: 100vh;
padding: 0 40rpx;
.headline{
font-size: 32rpx;
color: #333333;
padding-top: 20rpx;
margin-bottom: 30rpx;
font-weight: 500;
}
.header-img{
width: 72rpx;
height: 72rpx;
margin-right: 20rpx;
image{
width: 100%;
height: 100%;
}
}
.release-auth{
font-size: 32rpx;
color: #333;
line-height: 44rpx;
margin-bottom: 6rpx;
}
.fz24{
font-size: 24rpx;
color: #707070;
margin-right: 20rpx;
}
.eye-icon{
width: 24rpx;
height: 24rpx;
margin-right: 8rpx;
}
.content{
width: 100%;
padding: 40rpx 0;
}
}
</style>

177
pages/life/articleList/index.vue

@ -0,0 +1,177 @@
<template>
<view class="list-page">
<view class="search-box">
<view class="search-content acea-row row-middle">
<view class="search-icon"><image src="../../../static/images/search.png"> </image></view>
<input type="text" placeholder="请输入相关关键词" />
<view class="search-btn">搜一下</view>
</view>
</view>
<view class="list-box">
<view class="list-item acea-row row-between row-middle" v-for="(item,index) in articleList" :key="index" @click="toDetail(item.id)">
<view class="item-l">
<view class="title-box acea-row">
<image src="../../../static/images/hot.png" v-if="item.isHot"></image>
<view class="title line2">{{item.title}}</view>
</view>
<view class="auth-info acea-row row-between">
<view class="auth">{{item.author}}</view>
</view>
<view class="acea-row row-middle">
<view class="auth time">{{item.createTime}}</view>
<view class="see acea-row row-middle">
<text>200</text>
<image src="../../../static/images/eye.png"></image>
</view>
</view>
</view>
<view class="item-r">
<image :src="item.imageInput" mode="aspectFill"></image>
</view>
</view>
</view>
</view>
</template>
<script>
import { getArticle } from "@/api/store";
export default{
data(){
return{
articleList: [],
page: 0,
size: 10,
isLoading: true
}
},
mounted() {
this.getArticleList()
},
onReachBottom() {
this.page= this.page+1
this.getArticleList()
},
methods:{
getArticleList(){
uni.showLoading({
title: '加载中...'
})
if(!this.isLoading) return
getArticle({page: this.page,size: this.size, isHot: 0}).then((res)=>{
res.data.content.length < this.size ? this.isLoading = false : this.isLoading = true
this.articleList = this.articleList.concat(res.data.content)
uni.hideLoading()
})
},
toDetail(id){
this.$yrouter.push({
path: '/pages/life/articleDetail/index',
query: {
id: id
}
})
}
}
}
</script>
<style lang="less">
.list-page{
width: 100%;
min-height: 100vh;
background: #EEEEEE;
.search-box{
width: 100%;
padding: 32rpx 40rpx;
background: #fff;
position: fixed;
top: 0;
.search-icon{
width: 35rpx;
height: 35rpx;
margin-right: 12rpx;
image{
width: 100%;
height: 100%;
}
}
.search-content{
width: 100%;
padding: 0 0 0 50rpx;
border: 2rpx solid #FF5100;
border-radius: 8rpx;
font-size: 28rpx;
border-right: 0;
input{
color: #BFBFBF;
}
.search-btn{
width: 132rpx;
height: 68rpx;
background: linear-gradient(39deg, #FF5100 0%, #FFA074 100%);
line-height: 68rpx;
text-align: center;
color: #fff;
border-radius: 8rpx;
margin-left: auto;
}
}
}
.list-box{
width: 100%;
padding: 180rpx 40rpx 40rpx;
.list-item{
width: 100%;
background: #fff;
border-radius: 12rpx;
padding: 30rpx 28rpx;
font-size: 24rpx;
color: #707070;
margin-bottom: 24rpx;
.item-l{
width: calc(100% - 280rpx);
display: flex;
flex-direction: column;
justify-content: space-between;
.title-box{
font-size: 32rpx;
color: #4A4A4A;
margin-bottom: 12rpx;
image{
width: 19rpx;
height: 22rpx;
margin-right: 20rpx;
}
.title{
width: calc(100% - 38rpx);
margin-top: -10rpx;
}
}
.auth-info{
margin-bottom: 12rpx;
}
.see{
margin-left: 20rpx;
image{
width: 24rpx;
height: 24rpx;
margin-left: 6rpx;
}
}
}
.item-r{
width: 240rpx;
image{
width: 100%;
height: 130rpx;
border-radius: 16rpx;
}
}
}
}
}
</style>

548
pages/life/index.vue

@ -1,6 +1,6 @@
<template> <template>
<view class="productSort"> <view class="productSort">
<view class="page-top-box" :class="isFixed == true ? 'on' : ''"> <!-- <view class="page-top-box" :class="isFixed == true ? 'on' : ''">
<view class="top-box acea-row row-between-wrapper"> <view class="top-box acea-row row-between-wrapper">
<view class="top-box-l acea-row row-middle"> <view class="top-box-l acea-row row-middle">
<image src="../../static/images/localtion.png"></image> <image src="../../static/images/localtion.png"></image>
@ -17,7 +17,7 @@
</view> </view>
</view> </view>
</div> </div>
</view> </view> -->
<!-- <view class="banner-img-box acea-row row-between-wrapper"> <!-- <view class="banner-img-box acea-row row-between-wrapper">
<view class="img-box-l"> <view class="img-box-l">
<image src="https://download.cyjyyjy.com/life1.png" @click="alertMessage('功能开发中...')"></image> <image src="https://download.cyjyyjy.com/life1.png" @click="alertMessage('功能开发中...')"></image>
@ -27,16 +27,140 @@
<image src="https://download.cyjyyjy.com/life3.png" @click="alertMessage('功能开发中...')"></image> <image src="https://download.cyjyyjy.com/life3.png" @click="alertMessage('功能开发中...')"></image>
</view> </view>
</view> --> </view> -->
<view class="category-tab-box"> <!-- 顶部主页 -->
<view class="main-box">
<view class="back-bg"><image src="../../static/images/life-bg.png" mode=""></image></view>
<view class="top-logo acea-row row-center" :style="'top:' + menuTop + 'px;height:' + menuHeight + 'px;line-height: ' + menuHeight + 'px;'">禪易生态云</view>
<view class="details-btn">了解详情</view>
</view>
<!-- 云快讯 -->
<view class="yun-box">
<view class="acea-row row-between-wrapper">
<image src="../../static/images/yun.png" class="headline-yun"></image>
<view class="more-r" @click="toAritcleList">
<text>查看更多</text>
<image src="../../static/images/home/arrow-r.png"></image>
</view>
</view>
<view class="rotaion">
<vSwiper :imgs="yunList"></vSwiper>
</view>
</view>
<!-- 最新活动 -->
<view class="act-box">
<view class="headline"><image src="../../static/images/new-act.png" mode=""></image></view>
<scroll-view class="scroll-view_H" scroll-x="true">
<view class="slide-left" v-for="(iiem,index) in 3" :key="index">
<view class="act-title">新零售与新营销模式重构和实战升级</view>
<view class="resource-list acea-row-nowrap">
<image src="../../static/images/new-bg.png" class="act-img"></image>
<view>
<view class="act-time acea-row row-left">
<image src="../../static/images/act-time.png" mode=""></image>
<view>12-23 00:00至11-25 23:00</view>
</view>
<view class="act-adress acea-row row-left">
<image src="../../static/images/act-address.png" mode=""></image>
<view class="line1">武汉市江夏区文化大道288号斤斤计较经济</view>
</view>
<view class="acea-row row-between-wrapper act-price">
<text class="act-i">进行中</text>
<text class="act-p">888.00</text>
</view>
</view>
</view>
<view class="act-bottom acea-row row-between-wrapper">
<view class="acea-row row-middle act-num">
<image src="../../static/images/cart.png"></image>
<image src="../../static/images/cart.png"></image>
<image src="../../static/images/cart.png"></image>
<text>15人报名</text>
</view>
<view class="enter-btn">
去报名
</view>
</view>
</view>
</scroll-view>
</view>
<!-- 为您推荐 -->
<view class="rec-box">
<view class="headline"><image src="../../static/images/rec-headline.png" mode=""></image></view>
<view class="rec-switch">
<view class="rec-title acea-row">
<view class="rec-l " @click="tabClick(1)">
<image src="../../static/images/rec-bg.png" class="rec-bg" v-show="active == 1"></image>
<view class="rec-t acea-row row-center-wrapper">
<image src="../../static/images/rec-icon1.png" mode=""></image>
<view>需求</view>
</view>
</view>
<view class="rec-r " @click="tabClick(2)">
<image src="../../static/images/rec-bg.png" class="rec-bg" v-show="active == 2"></image>
<view class="rec-t acea-row row-center-wrapper">
<image src="../../static/images/rec-icon2.png" mode=""></image>
<view>资源</view>
</view>
</view>
</view>
<view class="rec-switch-a">
<view class="list-box" v-if="active == 1">
<view class="rec-list" >
<view class="acea-row row-middle">
<image src="../../static/images/rec-icon2.png" mode=""></image>
<view class="rec-name">李子龙111</view>
<view class="rec-address">武汉</view>
<view class="rec-end acea-row row-right">2021.8.30截止报名</view>
</view>
<view class="rec-message">我有景区方面资源洽谈商务合作...</view>
</view>
<view class="rec-list" >
<view class="acea-row row-middle">
<image src="../../static/images/rec-icon2.png" mode=""></image>
<view class="rec-name">李大龙</view>
<view class="rec-address">武汉</view>
<view class="rec-end acea-row row-right">2021.8.30截止报名</view>
</view>
<view class="rec-message">我有景区方面资源洽谈商务合作...</view>
</view>
</view>
<view class="list-box" v-if="active == 2">
<view class="rec-list" >
<view class="acea-row row-middle">
<image src="../../static/images/rec-icon2.png" mode=""></image>
<view class="rec-name">李木龙</view>
<view class="rec-address">武汉</view>
<view class="rec-end acea-row row-right">2021.8.30截止报名</view>
</view>
<view class="rec-message">我有景区方面资源洽谈商务合作...</view>
</view>
<view class="rec-list" >
<view class="acea-row row-middle">
<image src="../../static/images/rec-icon2.png" mode=""></image>
<view class="rec-name">李子龙111qqq</view>
<view class="rec-address">武汉</view>
<view class="rec-end acea-row row-right">2021.8.30截止报名</view>
</view>
<view class="rec-message">我有景区方面资源洽谈商务合作...</view>
</view>
</view>
</view>
</view>
</view>
<!-- <view class="category-tab-box">
<scroll-view class="scroll-view_H" scroll-x="true" > <scroll-view class="scroll-view_H" scroll-x="true" >
<view class="category-item category-item-active">全部商品</view> <view class="category-item category-item-active">全部商品</view>
<!-- <view class="category-item">至尊保驾</view> <view class="category-item">至尊保驾</view>
<view class="category-item">优选好房</view> <view class="category-item">优选好房</view>
<view class="category-item">商城福利</view> <view class="category-item">商城福利</view>
<view class="category-item">回头率</view> --> <view class="category-item">回头率</view>
</scroll-view> </scroll-view>
</view> </view> -->
<view class="warter-box"> <view class="warter-box">
<view class="headline">
<image src="../../static/images/rec-title.png" mode=""></image>
</view>
<u-waterfall v-model="flowList" ref="uWaterfall"> <u-waterfall v-model="flowList" ref="uWaterfall">
<template v-slot:left="{leftList}"> <template v-slot:left="{leftList}">
<view class="warter" v-for="(item, index) in leftList" :key="index" @tap="toGoodsDetail(item.id)"> <view class="warter" v-for="(item, index) in leftList" :key="index" @tap="toGoodsDetail(item.id)">
@ -69,30 +193,39 @@
</view> </view>
</template> </template>
<script> <script>
import { getCategory , getProducts, } from "@/api/store"; import { getCategory , getProducts, getArticle} from "@/api/store";
import { trim } from "@/utils"; import { trim } from "@/utils";
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import tabbar from "../../tabbarComponent/tabbar"; import tabbar from "../../tabbarComponent/tabbar";
import vSwiper from '@/components/vSwiper.vue'
const app = getApp();
export default { export default {
components: { components: {
tabbar tabbar,
vSwiper
}, },
name: "GoodsClass", name: "GoodsClass",
computed: mapGetters(['userInfo']), computed: mapGetters(['userInfo']),
props: {}, props: {},
data: function() { data: function() {
return { return {
category: [], category: [],
navActive: 0, navActive: 0,
search: "", search: "",
lock: false, lock: false,
currentTabIndex:3, menuHeight: app.globalData.menuHeight,
flowList:[], navHeight: app.globalData.navHeight,
isFixed: false, menuTop: app.globalData.menuTop,
loadStatus: 'loadmore', currentTabIndex:3,
page: 1, flowList:[],
limit: 10, isFixed: false,
isLoad: true, // loadStatus: 'loadmore',
page: 1,
limit: 10,
isLoad: true, //
yunList: [],
active:1,
show:false,
}; };
}, },
watch: { watch: {
@ -107,6 +240,7 @@ export default {
// }, // },
mounted: function() { mounted: function() {
this.getProducts(); this.getProducts();
this.getArticle();
}, },
onReachBottom() { onReachBottom() {
if(this.isLoad){ if(this.isLoad){
@ -125,6 +259,9 @@ export default {
}, },
methods: { methods: {
toAritcleList(){
this.$yrouter.push("/pages/life/articelList/index")
},
async clear(){ async clear(){
this.$refs.uWaterfall.clear(); this.$refs.uWaterfall.clear();
}, },
@ -170,6 +307,22 @@ export default {
}); });
}); });
}, },
getArticle(){
let data = {
isHot: 1,
page: 0,
size: 100
}
getArticle(data).then(res=>{
console.log(res)
this.yunList = res.data.content
})
},
tabClick(i) {
console.log(i,'aiiii')
this.active= i
},
getProducts(){ getProducts(){
this.loadStatus = 'loading'; this.loadStatus = 'loading';
getProducts({page:this.page,limit:this.limit}).then((res)=>{ getProducts({page:this.page,limit:this.limit}).then((res)=>{
@ -190,7 +343,6 @@ export default {
wx.hideNavigationBarLoading() wx.hideNavigationBarLoading()
uni.stopPullDownRefresh() uni.stopPullDownRefresh()
}) })
}, },
submitForm: function() { submitForm: function() {
var val = trim(this.search); var val = trim(this.search);
@ -223,11 +375,12 @@ export default {
<style lang="less" scoped> <style lang="less" scoped>
.productSort { .productSort {
height: 100%; // height: 100%;
padding-bottom: 200rpx; // padding-bottom: 200rpx;
background: #fff !important; background: #EEEEEE !important;
position: relative; position: relative;
} }
.page-top-box{ .page-top-box{
width: 100%; width: 100%;
position: fixed; position: fixed;
@ -272,46 +425,325 @@ export default {
} }
} }
} }
.category-tab-box{
.main-box{
width: 100%; width: 100%;
height: 108rpx; height: 522rpx;
line-height: 108rpx; position: relative;
padding-left: 30rpx; }
margin-bottom: 30rpx; .back-bg image{
padding-top: 190rpx; width: 100%;
.scroll-view_H{ height: 522rpx;
white-space: nowrap; }
width: 100%; .logo-title image{
.category-item{ margin-left: 20rpx;
display: inline-block; width: 80rpx;
font-size: 28rpx; height: 50rpx;
line-height: 40rpx; }
color: #999; .top-logo{
margin-right: 40rpx; position: absolute;
&.category-item-active{ width: 100%;
color: #FF6D31; color: #fff;
font-size: 32rpx; font-weight: 600;
font-weight: 500; font-size: 32rpx;
position: relative; }
&::after{ .details-btn{
content: ''; width: 196rpx;
width: 70rpx; height: 52rpx;
height: 8rpx; border: 2rpx solid #FFFFFF;
border-radius: 6rpx; border-radius: 26px;
display: block; position: absolute;
position: absolute; bottom: 100rpx;
bottom: -24rpx; left: 50%;
left: 0; margin-left: -98rpx;
background: #FF7942; text-align: center;
} line-height: 50rpx;
} color: #fff;
} font-size: 32rpx;
} }
//
.yun-box{
margin: 8rpx 40rpx 28rpx 40rpx;
}
.headline-yun{
width: 112rpx;
height: 52rpx;
}
.more-r{
font-size: 24rpx;
color: #8B8B8B;
}
.more-r image{
width: 12rpx;
height: 18rpx;
margin-left: 8rpx;
}
.rotaion{
width: 670rpx;
margin-top: 24rpx;
}
//
.act-box{
width: 100%;
height: 400rpx;
margin-left: 40rpx;
}
.scroll-view_H{
white-space: nowrap;
width: 100%;
}
.slide-left{
width: 584rpx;
height: 344rpx;
display: inline-block;
border-radius: 16rpx;
background-color: #fff;
padding: 20rpx 32rpx 0 20rpx;
margin-right: 32rpx;
}
.act-title{
font-size: 28rpx;
color: #191919;
}
.resource-list{
width: 100%;
height: 190rpx;
margin: 18rpx 0 14rpx 0;
}
.act-img{
width: 162rpx;
height: 190rpx;
margin-right: 28rpx;
}
.act-adress,.act-time{
margin: 8rpx 0 20rpx 0;
}
.act-adress view,.act-time view{
width: 300rpx;
font-size: 24rpx;
color: #191919;
}
.act-time image{
width: 18rpx;
height: 22rpx;
margin-right: 16rpx;
margin-top: 7rpx;
}
.act-adress image{
width: 19rpx;
height: 23rpx;
margin-right: 14rpx;
margin-top: 8rpx;
}
.act-price{
margin-top: 40rpx;
}
.act-i {
font-size: 24rpx;
color: #FF5A0E;
}
.act-p{
font-size: 32rpx;
color: #2A2B2B;
}
.act-bottom{
width: 562rpx;
border-top: 1rpx solid #ECECEC;
}
.act-num image{
width: 36rpx;
height: 36rpx;
border-radius: 50%;
}
.act-num{
min-width: 154rpx;
margin-top: 14rpx;
}
.act-num text{
font-size: 20rpx;
color: #191919;
margin-left: 8rpx;
}
.enter-btn{
width: 138rpx;
height: 40rpx;
line-height: 40rpx;
text-align: center;
background: linear-gradient(39deg, #FF5A0D 0%, #FFAC85 100%);
border-radius: 26rpx;
color: #fff;
margin-right: 38rpx;
margin-top: 8rpx;
}
//
.rec-box{
width: 706rpx;
height: 493rpx;
margin: 32rpx 22rpx 8rpx 22rpx;
position: relative;
}
.rec-switch{
width: 706rpx;
height: 423rpx;
margin-top: 18rpx;
background: #FFFFFF;
box-shadow: 0px 6rpx 12rpx rgba(0, 0, 0, 0.16);
border-radius: 20rpx;
overflow: hidden;
}
.rec-bg{
width: 706rpx;
height: 423rpx;
}
.rec-title{
width: 100%;
height: 80rpx;
position: relative;
}
.rev-bg{
width: 376rpx;
height: 80rpx;
position: absolute;
left: 0;
} }
.rev-bg2{
width: 376rpx;
height: 80rpx;
position: absolute;
left: 0;
background-image: url(../../static/images/rec-bg.png);
}
.rec-l,.rec-r{
width: 50%;
z-index: 2;
position: relative;
}
.rec-l .rec-bg, .rec-r .rec-bg{
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
}
.rec-r .rec-bg{
transform: rotate(180deg);
}
.rec-t{
width: 100%;
height: 100%;
position: absolute;
z-index: 3;
}
.rec-l image{
width: 37rpx;
height: 37rpx;
margin-right: 8rpx;
}
.rec-r image{
width: 42rpx;
height: 43rpx;
margin-right: 8rpx;
}
.rec-switch-a{
width: 100%;
height: 330rpx;
}
.list-box{
width: 100%;
height: 330rpx;
}
.rec-list{
position: relative;
height: 165rpx;
padding: 33rpx 40rpx 0 40rpx;
}
.rec-list image{
width: 64rpx;
height: 64rpx;
}
.rec-name{
font-size: 28rpx;
color: #1D1D1D;
margin-left: 16rpx;
}
.rec-address{
width: 80rpx;
height: 34rpx;
font-size: 24rpx;
line-height: 34rpx;
color: #FFFFFF;
background: #FF5100;
border-radius: 16px;
text-align: center;
}
.rec-end{
font-size: 24rpx;
color: #707070;
position: absolute;
right: 22rpx;
}
.rec-message{
width: 582rpx;
height: 40rpx;
font-size: 28rpx;
color: #1D1D1D;
margin-top: 15rpx;
}
// .category-tab-box{
// border: 1rpx solid black;
// width: 100%;
// height: 108rpx;
// line-height: 108rpx;
// padding-left: 30rpx;
// // margin-bottom: 30rpx;
// // padding-top: 190rpx;
// .scroll-view_H{
// white-space: nowrap;
// width: 100%;
// .category-item{
// display: inline-block;
// font-size: 28rpx;
// line-height: 40rpx;
// color: #999;
// margin-right: 40rpx;
// &.category-item-active{
// color: #FF6D31;
// font-size: 32rpx;
// font-weight: 500;
// position: relative;
// &::after{
// content: '';
// width: 70rpx;
// height: 8rpx;
// border-radius: 6rpx;
// display: block;
// position: absolute;
// bottom: -24rpx;
// left: 0;
// background: #FF7942;
// }
// }
// }
// }
// }
.headline image{
width: 148rpx;
height: 52rpx;
}
.warter-box{ .warter-box{
width: 100%; width: 100%;
padding: 92rpx 0 190rpx 24rpx; padding: 24rpx 0 190rpx 24rpx;
.u-waterfall { .u-waterfall {
width: 100%; width: 100%;
display: flex; display: flex;

503
pages/user/completeData/index.vue

@ -1,247 +1,274 @@
<template> <template>
<!--pages/user/completeData/index.wxml--> <!--pages/user/completeData/index.wxml-->
<view class="page-box"> <view class="page-box">
<view class="back-btn" :style="'top:' + navTopHeight + 'rpx'" @tap="backPage"> <view class="back-btn" :style="'top:' + navTopHeight + 'rpx'" @tap="backPage">
<image src="/static/images/back.png" mode></image> <image src="/static/images/back.png" mode></image>
</view>
<view class="bg-img-box">
<image src="https://download.cyjyyjy.com/personalPage-bg.png"></image>
</view>
<view class="mail-box">
<view :class="showMove ? 'mail-img-box mail-top top-move' : 'mail-img-box mail-top'">
<image src="https://download.cyjyyjy.com/mail-t.png"></image>
</view>
<view class="mail-img-box mail-center">
<image src="https://download.cyjyyjy.com/mail-c.png"></image>
</view>
<view :class="showMove ? 'mail-img-box mail-bottom btm-move' : 'mail-img-box mail-top'">
<image src="https://download.cyjyyjy.com/mail-b.png"></image>
</view>
<view :class="(showMove ? 'word-move' : '') + ' tips'">信息已为您保存</view>
<view class="pay-btn" @tap="toPay">成为体验官</view>
<view class="tip">前1000名体验官可享限时专属价 199/</view>
</view>
</view> </view>
<view class="bg-img-box"><image src="https://download.cyjyyjy.com/personalPage-bg.png"></image></view>
<view class="mail-box">
<view :class="showMove ? 'mail-img-box mail-top top-move' : 'mail-img-box mail-top'">
<image src="https://download.cyjyyjy.com/mail-t.png"></image>
</view>
<view class="mail-img-box mail-center">
<image src="https://download.cyjyyjy.com/mail-c.png"></image>
</view>
<view :class="showMove ? 'mail-img-box mail-bottom btm-move' : 'mail-img-box mail-top'">
<image src="https://download.cyjyyjy.com/mail-b.png"></image>
</view>
<view :class="(showMove ? 'word-move' : '') + ' tips'">信息已为您保存</view>
<view class="pay-btn" @tap="toPay">成为体验官</view>
<view class="tip">前1000名体验官可享限时专属价 199/</view>
</view>
</view>
</template> </template>
<script> <script>
// pages/user/completeData/index.js // pages/user/completeData/index.js
const app = getApp(); const app = getApp();
export default { export default {
data() { data() {
return { return {
showMove: false, showMove: false,
navTopHeight: app.globalData.menuTop + app.globalData.navTopHeight + 10 navTopHeight: app.globalData.menuTop + app.globalData.navTopHeight + 10
}; };
}, },
components: {}, components: {},
props: {}, props: {},
/** /**
* 生命周期函数--监听页面加载 * 生命周期函数--监听页面加载
*/ */
onLoad: function (options) { onLoad: function(options) {
this.setData({ this.setData({
showMove: true showMove: true
}); });
}, },
methods: { methods: {
backPage() { backPage() {
uni.navigateBack({ uni.navigateBack({
delta: 1 delta: 1
}); });
}, },
toPay() { toPay() {
app.http('post', 'vip/subscribeVip', {num: 1}).then(res => { app.http('post', 'vip/subscribeVip', {
if (res.data.success) { num: 1
let orderInfo = res.data.data; }).then(res => {
this.payment(orderInfo); if (res.data.success) {
} else { let orderInfo = res.data.data;
uni.showToast({ this.payment(orderInfo);
title: res.data.msg, } else {
icon: 'none' uni.showToast({
}); title: res.data.msg,
} icon: 'none'
}); });
}, }
});
payment(orderInfo) { },
//
uni.requestPayment({ payment(orderInfo) {
provider: 'wxpay', //
...orderInfo, uni.requestPayment({
signType: 'MD5', provider: 'wxpay',
success: success => { ...orderInfo,
uni.showToast({ signType: 'MD5',
title: '支付成功', success: success => {
icon: 'success', uni.showToast({
duration: 3000 title: '支付成功',
}); icon: 'success',
uni.removeStorageSync('form'); duration: 3000
let time = setTimeout(() => { });
clearTimeout(time); uni.removeStorageSync('form');
uni.navigateTo({ let time = setTimeout(() => {
url: '../mine/index' clearTimeout(time);
}); uni.navigateTo({
}, 2000); url: '../mine/index'
}, });
fail: error => { }, 2000);
console.log(error); },
fail: error => {
if (error.errMsg == 'requestPayment:fail cancel') { console.log(error);
uni.showToast({
title: '已取消支付', if (error.errMsg == 'requestPayment:fail cancel') {
icon: 'none', uni.showToast({
duration: 5000 title: '已取消支付',
}); icon: 'none',
} else { duration: 5000
uni.showToast({ });
title: error || error.msg, } else {
icon: 'none', uni.showToast({
duration: 5000 title: error || error.msg,
}); icon: 'none',
} duration: 5000
} });
}); }
} }
} });
}; }
}
};
</script> </script>
<style> <style>
/* pages/user/completeData/index.wxss */ /* pages/user/completeData/index.wxss */
page{ page {
width: 100%; width: 100%;
height: 100vh; height: 100vh;
} }
.page-box{
width: 100%; .page-box {
height: 100%; width: 100%;
position: relative; height: 100%;
} position: relative;
.bg-img-box{ }
width: 100%;
height: 100%; .bg-img-box {
position: absolute; width: 100%;
top: 0; height: 100%;
left: 0; position: absolute;
} top: 0;
.bg-img-box image{ left: 0;
width: 100%; }
height: 100%;
} .bg-img-box image {
.mail-box{ width: 100%;
width: 687rpx; height: 100%;
position: absolute; }
top: 0;
left: 50%; .mail-box {
transform: translateX(-50%); width: 687rpx;
} position: absolute;
.mail-box .mail-img-box{ top: 0;
position: absolute; left: 50%;
} transform: translateX(-50%);
}
.mail-top,.mail-bottom{
z-index: 3; .mail-box .mail-img-box {
} position: absolute;
.mail-top{ }
z-index: 4;
top: 10rpx; .mail-top,
/* top: 314rpx; */ .mail-bottom {
} z-index: 3;
.top-move{ }
animation: topMove 2s ease;
animation-fill-mode: forwards; .mail-top {
} z-index: 4;
.mail-top image{ top: 10rpx;
width: 687rpx; /* top: 314rpx; */
height: 445rpx; }
}
.mail-center image{ .top-move {
width: 684rpx; animation: topMove 2s ease;
height: 648rpx; animation-fill-mode: forwards;
transform: scale(0.99); }
}
.mail-center{ .mail-top image {
top: 316rpx; width: 687rpx;
} height: 445rpx;
.mail-bottom image{ }
width: 687rpx;
height: 432rpx; .mail-center image {
width: 684rpx;
} height: 648rpx;
.mail-bottom{ transform: scale(0.99);
top: 616rpx; }
}
.btm-move{ .mail-center {
animation: btmMove 1.5s ease; top: 316rpx;
animation-fill-mode: forwards; }
}
@keyframes topMove{ .mail-bottom image {
0% { width: 687rpx;
top: 10rpx; height: 432rpx;
opacity: 0.8;
} }
100% {
top: 314rpx; .mail-bottom {
opacity: 1; top: 616rpx;
} }
}
@keyframes btmMove{ .btm-move {
0% { animation: btmMove 1.5s ease;
top: 616rpx; animation-fill-mode: forwards;
opacity: 0.2; }
}
100% { @keyframes topMove {
top: 532rpx; 0% {
opacity: 1; top: 10rpx;
} opacity: 0.8;
} }
.tips{ 100% {
width: 100%; top: 314rpx;
color:#EFDACA; opacity: 1;
font-size: 40rpx; }
line-height: 56rpx; }
position: absolute;
top: 1000rpx; @keyframes btmMove {
text-align: center; 0% {
} top: 616rpx;
.word-move{ opacity: 0.2;
animation: wordMove 1s ease; }
animation-fill-mode: forwards;
} 100% {
@keyframes wordMove{ top: 532rpx;
0%{ opacity: 1;
left: -100%; }
} }
100%{
left: 0; .tips {
} width: 100%;
} color: #EFDACA;
.pay-btn{ font-size: 40rpx;
width: 686rpx; line-height: 56rpx;
height: 82rpx; position: absolute;
position: absolute; top: 1000rpx;
top: 1100rpx; text-align: center;
left: 50%; }
transform: translateX(-50%);
background: linear-gradient(322deg, #DEB99F 0%, #E9D1C0 51%, #E3C9B5 100%); .word-move {
border-radius: 62rpx; animation: wordMove 1s ease;
text-align: center; animation-fill-mode: forwards;
line-height: 82rpx; }
color: #946F46;
} @keyframes wordMove {
.tip{ 0% {
width: 100%; left: -100%;
text-align: center; }
color: #EFDACA;
font-size: 32rpx; 100% {
line-height: 44rpx; left: 0;
position: absolute; }
top: 1200rpx; }
left: 50%;
transform: translateX(-50%); .pay-btn {
} width: 686rpx;
height: 82rpx;
position: absolute;
top: 1100rpx;
left: 50%;
transform: translateX(-50%);
background: linear-gradient(322deg, #DEB99F 0%, #E9D1C0 51%, #E3C9B5 100%);
border-radius: 62rpx;
text-align: center;
line-height: 82rpx;
color: #946F46;
}
.tip {
width: 100%;
text-align: center;
color: #EFDACA;
font-size: 32rpx;
line-height: 44rpx;
position: absolute;
top: 1200rpx;
left: 50%;
transform: translateX(-50%);
}
</style> </style>

68
project.config.json

@ -0,0 +1,68 @@
{
"description": "项目配置文件",
"packOptions": {
"ignore": []
},
"setting": {
"bundle": false,
"userConfirmedBundleSwitch": false,
"urlCheck": true,
"scopeDataCheck": false,
"coverView": true,
"es6": true,
"postcss": true,
"compileHotReLoad": false,
"lazyloadPlaceholderEnable": false,
"preloadBackgroundData": false,
"minified": true,
"autoAudits": false,
"newFeature": false,
"uglifyFileName": false,
"uploadWithSourceMap": true,
"useIsolateContext": true,
"nodeModules": false,
"enhance": true,
"useMultiFrameRuntime": true,
"useApiHook": true,
"useApiHostProcess": true,
"showShadowRootInWxmlPanel": true,
"packNpmManually": false,
"enableEngineNative": false,
"packNpmRelationList": [],
"minifyWXSS": true,
"showES6CompileOption": false
},
"compileType": "miniprogram",
"libVersion": "2.21.0",
"appid": "wx1bdc220038c3cb61",
"projectname": "miniprogram-1",
"debugOptions": {
"hidedInDevtools": []
},
"scripts": {},
"staticServerOptions": {
"baseURL": "",
"servePath": ""
},
"isGameTourist": false,
"condition": {
"search": {
"list": []
},
"conversation": {
"list": []
},
"game": {
"list": []
},
"plugin": {
"list": []
},
"gamePlugin": {
"list": []
},
"miniprogram": {
"list": []
}
}
}

54
project.private.config.json

@ -23,60 +23,6 @@
"pathName": "pages/release/perfectPersonInfo/index", "pathName": "pages/release/perfectPersonInfo/index",
"query": "", "query": "",
"scene": null "scene": null
},
{
"name": "pages/release/companyAuth/index",
"pathName": "pages/release/companyAuth/index",
"query": "",
"scene": null
},
{
"name": "pages/user/mine/index",
"pathName": "pages/user/mine/index",
"query": "",
"scene": null
},
{
"name": "pages/user/resourcesOrder/index",
"pathName": "pages/user/resourcesOrder/index",
"query": "",
"scene": null
},
{
"name": "pages/user/index",
"pathName": "pages/user/index",
"query": "",
"scene": null
},
{
"name": "pages/release/perfectPersonInfo/index",
"pathName": "pages/release/perfectPersonInfo/index",
"query": "isEdit=1",
"scene": null
},
{
"name": "pages/release/perfectCompanyInfo/index",
"pathName": "pages/release/perfectCompanyInfo/index",
"query": "",
"scene": null
},
{
"name": "pages/demandHall/createProject/index",
"pathName": "pages/demandHall/createProject/index",
"query": "",
"scene": null
},
{
"name": "pages/guide/index",
"pathName": "pages/guide/index",
"query": "",
"scene": null
},
{
"name": "pages/release/personAuth/index",
"pathName": "pages/release/personAuth/index",
"query": "",
"scene": null
} }
] ]
} }

BIN
static/images/act-address.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 921 B

BIN
static/images/act-time.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 357 B

BIN
static/images/eye.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 B

BIN
static/images/hot.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 524 B

BIN
static/images/life-bg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 377 KiB

BIN
static/images/new-act.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
static/images/rec-bg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
static/images/rec-bg2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
static/images/rec-headline.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
static/images/rec-icon1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
static/images/rec-icon2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
static/images/rec-title.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

BIN
static/images/yun.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Loading…
Cancel
Save