Browse Source

云生态

master
kk_888 3 years ago
parent
commit
9b5e3802ee
  1. 9
      api/store.js
  2. 107
      components/vSwiper.vue
  3. 4
      config/index.js
  4. 27
      package-lock.json
  5. 2
      package.json
  6. 10
      pages.json
  7. 4
      pages/home/index.vue
  8. 49
      pages/life/articleDetail/index.vue
  9. 551
      pages/life/index.vue
  10. 505
      pages/user/completeData/index.vue
  11. 68
      project.config.json
  12. BIN
      static/images/act-address.png
  13. BIN
      static/images/act-time.png
  14. BIN
      static/images/gd1.png
  15. BIN
      static/images/gd2.png
  16. BIN
      static/images/gd3.png
  17. BIN
      static/images/life-bg.png
  18. BIN
      static/images/new-act.png
  19. BIN
      static/images/new-bg.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

9
api/store.js

@ -92,6 +92,15 @@ export function getProducts(q) {
}); });
} }
/*
* 文章列表
* */
export function getArticle(q) {
return request.get("/article/list", q, {
login: true
});
}
/* /*
* 商品详情 * 商品详情
* */ * */

107
components/vSwiper.vue

@ -0,0 +1,107 @@
<template>
<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">
<swiper-item class="swiper-item" :class="(swiperIndex == index ? 'active' : '')" @tap="previewImg">
<view class="item-box" :class="(swiperIndex == index ? 'active' : '')" @click="toDetial(item.id)">
<image mode="aspectFill" :src="item.imageInput" class="slide-image"></image>
<view class="content-box">
<view class="title-box">标题标题标题标题标题</view>
<view class="content acea-row">
<view>云快讯</view>
<view>3小时钱</view>
<view>300阅读</view>
</view>
</view>
</view>
</swiper-item>
</block>
</swiper>
</template>
<script>
export default{
props: {
imgs: {
type: Array,
default: []
}
},
data(){
return {
swiperIndex: 0
}
},
methods: {
swiperChange(e) {
const that = this;
that.setData({
swiperIndex: e.detail.current
});
},
toDetial(id){
uni.navigateTo({
url: '/pages/life/articleDetail/index?id='+id
})
},
previewImg() {
uni.previewImage({
urls: this.imgs
});
}
}
}
</script>
<style lang="less">
.swiper-block {
width: 670rpx;
height: 300rpx;
margin: 0 auto;
}
.swiper-item {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
overflow: unset;
}
.item-box{
width: 622rpx;
height: 200rpx;
position: relative;
border-radius: 20rpx;
}
.slide-image {
width: 100%;
height: 100%;
z-index: 1;
border-radius: 20rpx;
}
.content-box{
position: absolute;
bottom: 20rpx;
left: 20rpx;
color: #0081FF;
z-index: 5;
}
.title-box{
font-size: 32rpx;
font-weight: 500;
color: #fff;
margin-bottom: 10rpx;
}
.content{
color: #fff;
font-size: 26rpx;
}
.content view{
margin-right: 50rpx;
}
.active {
transform: scale(1.02);
transition: all 0.2s ease-in 0s;
border-radius: 20rpx;
z-index: 20;
}
</style>

4
config/index.js

@ -1,8 +1,8 @@
// 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'
// export const VUE_APP_API_URL = 'https://h5api.xinxintuan.co/api'; // export const VUE_APP_API_URL = 'https://h5api.xinxintuan.co/api';

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",

2
package.json

@ -4,4 +4,4 @@
"dayjs": "^1.10.7", "dayjs": "^1.10.7",
"uview-ui": "^1.8.4" "uview-ui": "^1.8.4"
} }
} }

10
pages.json

@ -255,8 +255,9 @@
{ {
"path": "pages/life/index", "path": "pages/life/index",
"style": { "style": {
"navigationStyle": "custom",
"navigationBarTitleText": "生活", "navigationBarTitleText": "生活",
"enablePullDownRefresh": true "enablePullDownRefresh": true
} }
}, },
{ {
@ -290,7 +291,12 @@
"navigationBarTitleText": "详情预览" "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">

49
pages/life/articleDetail/index.vue

@ -0,0 +1,49 @@
<template>
<view class="article-box">
<view class="headline">楚牛电商一季度卖了300亿原因竟是这</view>
<view class="">
<image src="../../../static/images/cart.png" mode=""></image>
<view class="">云快讯</view>
<view class="">203 </view>
<view>3小时前</view>
</view>
<view class="statement">转载声明本文由云快讯收录观点仅代表作者本人不代表云快讯立场云快讯不对所包含的准确性可靠性或完整性提供任何明示请自行承担任何责任</view>
<image src="../../../static/images/gd1.png" mode="" class="article-bg1"></image>
</view>
</template>
<script>
import { getCategory , getProducts, getArticle} from "@/api/store";
export default{
data() {
return{
id:this.id,
}
},
methods:{
},
onLoad: function (option) {
this.id= this.$yroute.query.id;
console.log(this.id)
}
}
</script>
<style lang="less">
.article-box{
width: 100%;
min-height: 100vh;
background: #F5F6F7;
padding: 0 40rpx;
}
.headline{
font-size: 32rpx;
color: #333333;
padding-top: 30rpx;
margin-bottom: 60rpx;
}
</style>

551
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,144 @@
<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">
<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 +197,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: {
@ -102,11 +239,12 @@ export default {
} }
} }
}, },
// onShow: function (options) { // onShow: function (options) {
// }, // },
mounted: function() { mounted: function() {
this.getProducts(); this.getProducts();
this.getArticle();
}, },
onReachBottom() { onReachBottom() {
if(this.isLoad){ if(this.isLoad){
@ -170,6 +308,22 @@ export default {
}); });
}); });
}, },
getArticle(){
let data = {
isHot: 0,
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 +344,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 +376,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 +426,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;

505
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;
</style> 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>

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": []
}
}
}

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/gd1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 KiB

BIN
static/images/gd2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 KiB

BIN
static/images/gd3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

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/new-bg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 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