Browse Source

更新代码

chanyi2.0
yanghao 3 years ago
parent
commit
5ecf4ebd30
  1. 2
      config/index.js
  2. 2
      pages.json
  3. 428
      pages/home/index-copy.vue
  4. 9
      pages/home/index.vue
  5. 6
      pages/knowledge/index.vue
  6. 8
      pages/shop/GoodsClass/index.vue
  7. 199
      pages/user/User/index.vue
  8. BIN
      static/jifen-icon.png
  9. BIN
      static/nav.png
  10. BIN
      static/pause.png
  11. BIN
      static/play.png
  12. BIN
      static/plus.png
  13. BIN
      static/record.png
  14. BIN
      static/stop.png
  15. BIN
      static/uni.ttf
  16. BIN
      static/user-index-bg.png
  17. 2
      utils/request.js

2
config/index.js

@ -1,7 +1,7 @@
// 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 = 'http://192.168.0.112:8088/api'
export const VUE_APP_API_URL = 'http://192.168.68.125:8088/api'
export const VUE_APP_API_URL = 'http://192.168.68.126:8088/api'
// export const VUE_APP_API_URL = 'https://www.cyjyyjy.com/api'
// export const VUE_APP_API_URL = 'http://natapp.xinxintuan.co/api';
// export const VUE_APP_API_URL = 'https://thapi.xinxintuan.co/api'

2
pages.json

@ -164,7 +164,7 @@
{
"path": "pages/user/User/index",
"style": {
"navigationBarTitleText": "我的"
"navigationBarTitleText": "会员中心"
}
},

428
pages/home/index-copy.vue

@ -1,428 +0,0 @@
<template>
<view class="index">
<view class="header header-search acea-row row-center-wrapper">
<view @click="goGoodSearch()" class="search acea-row row-middle">
<text class="iconfont icon-xiazai5"></text>
搜索商品
</view>
<!-- #ifndef H5 -->
<view class="qr" @click="startQr()" v-if="$deviceType !== 'weixin'">
<image :src="`${$VUE_APP_RESOURCES_URL}/images/qr.png`" />
</view>
<!-- #endif -->
</view>
<view v-for="(item, index) in homeData" :key="index">
<Banner v-if="item.type == 'banner'" :detail="item.componentContent.bannerData" @getbgcolor="getbgcolor"></Banner>
<uni-notice-bar v-if="item.type == 'noticeBar'" scrollable="true" @click="goRoll(item.componentContent.roll[0])" single="true" :speed="10" showIcon="true" :text="item.componentContent.roll[0].info"></uni-notice-bar>
<view class="content_box home_content_box" v-if="item.type == 'menu' && item.componentContent.menus">
<!-- 菜单 -->
<Menu :list="item.componentContent.menus"></Menu>
</view>
<!-- 滚动新闻 -->
<!-- 广告 -->
<Adv v-if="item.type == 'adv' && item.componentContent.detail" :detail="item.componentContent.detail" />
<!-- 热门榜单 -->
<HotCommodity v-if="item.type == 'hotCommodity'" :detail="likeInfo"></HotCommodity>
<!-- 超值拼团 -->
<Groupon v-if="item.type == 'groupon'" :detail="combinationList" />
<!-- 首发新品->秒杀 -->
<FirstNewProduct v-if="item.type == 'firstNewProduct'" :detail="firstList"></FirstNewProduct>
<!-- 精品推荐 -->
<ProductsRecommended v-if="item.type == 'productsRecommended'" :detail="bastList"></ProductsRecommended>
<!-- 促销单品 -->
<PromoteProduct v-if="item.type == 'promoteProduct'" :detail="benefit"></PromoteProduct>
<!-- 直播 -->
<!-- #ifdef MP-WEIXIN -->
<Live v-if="item.type == 'liveList'" :detail="liveList"></Live>
<!-- #endif -->
<!-- 为您推荐 -->
<PromotionGood v-if="item.type == 'promotionGood'" :benefit="benefit"></PromotionGood>
<Coupon-window :coupon-list="couponList" v-if="showCoupon" @checked="couponClose" @close="couponClose"> </Coupon-window>
</view>
</view>
</template>
<script>
import { mapState, mapMutations, mapActions } from 'vuex'
import GoodList from '@/components/GoodList'
import PromotionGood from '@/components/PromotionGood'
import CouponWindow from '@/components/CouponWindow'
import Menu from '@/components/Menu'
import UniNoticeBar from '@/components/uni-notice-bar/uni-notice-bar'
import Adv from '@/components/sh-adv'
import Groupon from '@/components/sh-groupon.vue'
import Banner from './components/Banner'
import HotCommodity from './components/HotCommodity'
import FirstNewProduct from './components/FirstNewProduct'
import ProductsRecommended from './components/ProductsRecommended'
import Live from './components/Live'
import { getHomeData, getShare, getCanvas } from '@/api/public'
import cookie from '@/utils/store/cookie'
import { isWeixin, handleUrlParam } from '@/utils/index'
import { openShareAll } from '@/libs/wechat'
const HAS_COUPON_WINDOW = 'has_coupon_window'
export default {
name: 'Index',
components: {
// swiper,
// swiperSlide,
UniNoticeBar,
GoodList,
PromotionGood,
CouponWindow,
Menu,
Adv,
Groupon,
Banner,
HotCommodity,
FirstNewProduct,
ProductsRecommended,
Live,
},
props: {},
data: function() {
return {
homeData: [],
CustomBar: this.CustomBar,
StatusBar: this.StatusBar,
formatMenus: [],
categoryCurrent: 0,
menuNum: 4,
bgcolor: '',
bgColor: '',
swiperCurrent: 0, //
webviewId: 0,
showCoupon: false,
logoUrl: '',
banner: [],
menus: [],
combinationList: [],
roll: [],
activity: [],
activityOne: {},
bastList: [],
firstList: [],
info: {
fastList: [],
bastBanner: [],
bastList: [],
},
likeInfo: [],
live: [],
lovely: [],
benefit: [],
couponList: [],
swiperOption: {
pagination: {
el: '.swiper-pagination',
clickable: true,
},
autoplay: {
disableOnInteraction: false,
delay: 2000,
},
loop: true,
speed: 1000,
observer: true,
observeParents: true,
},
swiperRoll: {
direction: 'vertical',
autoplay: {
disableOnInteraction: false,
delay: 2000,
},
loop: true,
speed: 1000,
observer: true,
observeParents: true,
},
swiperScroll: {
freeMode: true,
freeModeMomentum: false,
slidesPerView: 'auto',
observer: true,
observeParents: true,
},
swiperBoutique: {
pagination: {
el: '.swiper-pagination',
clickable: true,
},
autoplay: {
disableOnInteraction: false,
delay: 2000,
},
loop: true,
speed: 1000,
observer: true,
observeParents: true,
},
swiperProducts: {
freeMode: true,
freeModeMomentum: false,
slidesPerView: 'auto',
observer: true,
observeParents: true,
},
bgImage: '',
}
},
computed: {
singNew() {
return this.roll.length > 0 ? this.roll[0] : '你还没添加通知哦!'
},
customStyle() {
var bgImage = this.bgImage
// var style = `height:${this.CustomBar}px;padding-top:${0}px;background: ${this.bgcolor}`;
var style = `height:${this.CustomBar}px;padding-top:${this.StatusBar}px;background: ${this.bgcolor}`
if (this.bgImage) {
style = `${style}background-image:url(${bgImage});`
}
return style
},
},
onLoad: function() {
this.getLocation()
let that = this
// uni.showLoading({
// title: "",
// });
getCanvas()
.then(res => {})
.catch(error => {
this.homeData = JSON.parse(error.data.json)
console.log(this.homeData)
})
getHomeData().then(res => {
that.logoUrl = res.data.logoUrl
res.data.banner.map(item => (item.bgcolor = item.color || ''))
that.$set(that, 'info', res.data.info)
that.$set(that, 'firstList', res.data.firstList)
that.$set(that, 'bastList', res.data.bastList)
that.$set(that, 'likeInfo', res.data.likeInfo)
that.$set(that, 'live', res.data.liveList)
that.$set(that, 'lovely', res.data.lovely)
that.$set(that, 'benefit', res.data.benefit)
that.$set(that, 'couponList', res.data.couponList)
that.$set(that, 'combinationList', res.data.combinationList)
uni.hideLoading()
that.setOpenShare()
// that.doColorThief()
})
},
methods: {
...mapActions(['getLocation']),
onShareTimeline: function() {
return {
title: this.miniHomeRemark,
imageUrl: this.miniHomeImg,
path: 'pages/home/index?spread=' + uni.getStorageSync('uid'),
}
},
onShareAppMessage: function() {
return {
title: this.miniHomeRemark,
imageUrl: this.miniHomeImg,
path: 'pages/home/index?spread=' + uni.getStorageSync('uid'),
}
},
goRoll(item) {
if (item.uniapp_url) {
this.$yrouter.push(item.uniapp_url)
}
},
goGoodSearch() {
// this.$yrouter.push('/pages/shop/GoodsEvaluate/index');
this.$yrouter.push('/pages/shop/GoodSearch/index')
},
goWxappUrl(item) {
this.$yrouter.push(item.uniapp_url)
},
goHotNewGoods(type) {
this.$yrouter.push({
path: '/pages/shop/HotNewGoods/index',
query: {
type,
},
})
},
goGoodsCon(item) {
this.$yrouter.push({
path: '/pages/shop/GoodsCon/index',
query: {
id: item.id,
},
})
},
goGoodsPromotion() {
this.$yrouter.push('/pages/shop/GoodsPromotion/index')
},
setOpenShare: function() {
if (this.$deviceType == 'weixin') {
getShare().then(res => {
var data = res.data.data
var configAppMessage = {
desc: data.synopsis,
title: data.title,
link: location.href,
imgUrl: data.img,
}
openShareAll(configAppMessage)
})
}
},
startQr: function() {
uni.scanCode({
success: res => {
let option = handleUrlParam(res.result)
switch (option.pageType) {
case 'good':
//
this.$yrouter.push({
path: '/pages/shop/GoodsCon/index',
query: {
q: res.result,
},
})
break
case 'group':
//
this.$yrouter.push({
path: '/pages/activity/GroupRule/index',
query: {
q: res.result,
},
})
break
case 'dargain':
//
this.$yrouter.push({
path: '/pages/activity/DargainDetails/index',
query: {
q: res.result,
},
})
break
default:
//
this.$yrouter.push({
path: '/pages/Loading/index',
query: {},
})
break
}
},
})
},
getbgcolor(e) {
this.bgcolor = e
},
},
created: async function() {
// await this.doColorThief();
},
}
</script>
<style scoped lang="less">
.content_box {
background: #f3f3f3;
}
.index {
background-color: #f3f3f3;
}
.swiper-item {
height: 100%;
}
.fixed-header {
position: fixed;
z-index: 99;
// #ifdef H5
top: 88rpx;
// #endif
// #ifndef H5
top: 0;
// #endif
left: 0;
right: 0;
background: #fff;
box-shadow: 0 0 20rpx -10rpx #aaa;
& + .fixed-header-box {
height: 98rpx;
}
}
.head_box {
width: 750rpx;
// background: #fff;
transition: all linear 0.3s;
/deep/.cuIcon-back {
display: none;
}
.nav-title {
font-size: 38rpx;
font-family: PingFang SC;
font-weight: 500;
color: #fff;
}
}
.cu-bar.fixed {
position: fixed;
width: 100%;
top: 0;
z-index: 1024;
// box-shadow: 0 1upx 6upx rgba(0, 0, 0, 0.1);
}
.cu-bar {
box-sizing: border-box;
.index .header {
height: 64rpx;
}
}
.header-search {
transition: all linear 0.3s;
background: #fff;
.search{
border: 2rpx solid #EA533E;
background-color: #fff;
}
}
.cu-bar .action {
display: -webkit-box;
display: -webkit-flex;
display: flex;
align-items: center;
height: 100%;
max-height: 100%;
&:first-child {
margin-left: 15px;
font-size: 15px;
}
}
.home_content_box {
margin-top: -20rpx;
}
.head_box {
}
.nav-title {
margin-left: 20rpx;
line-height: 40px;
}
</style>

9
pages/home/index.vue

@ -218,7 +218,9 @@
return style
}
},
onLoad: function() {
onLoad: function() {
this.getLocation()
let that = this
this.getDate();
@ -479,7 +481,10 @@
}
.swiper-item {
height: 100%;
height: 100%;
image{
border-radius: 20rpx;
}
}
.fixed-header {

6
pages/knowledge/index.vue

@ -72,7 +72,6 @@
components: { SecondMenu },
onShow() {
console.log(this.tabSelect,'tabSelect')
},
onLoad(){
getArticleCategorys().then((res)=>{
@ -122,7 +121,7 @@
} else{
this.$set(this, 'active', null)
}
console.log(item)
// console.log(item)
this.secondMenu = item.categoryList
this.getArticle()
},
@ -158,8 +157,7 @@
min-height: 100%;
padding-top: 110rpx;
.tab-box{
// position: fixed;
// top: 0;
box-shadow: 0px 6px 12px 0px rgba(227, 227, 227, 0.29);
background: #fff;
/deep/.second-menu-box {
padding: 0 24rpx;

8
pages/shop/GoodsClass/index.vue

@ -22,17 +22,17 @@
</view> -->
<view class="userInfo-box acea-row row-between row-middle">
<view class="userInfo-l acea-row row-center-wrapper">
<image :src="userInfo.avatar"></image>
<image :src="userInfo.avatar || '../../../static/default-headerimg.png'"></image>
<view class="userInfo">
<view>亲爱的{{getTime()}}</view>
<view class="name line1">{{userInfo.nickname}}</view>
<view class="name line1">{{userInfo.nickname || '禅易家人'}}</view>
</view>
</view>
<view class="userInfo-r">
<view>
<text>{{userInfo.integral}}</text>积分
<text>{{userInfo.integral || 0}}</text>积分
</view>
<view class="tips">您还有{{userInfo.integral}}积分未使用</view>
<view class="tips">您还有{{userInfo.integral || 0}}积分未使用</view>
</view>
</view>
<view class="goods-list-box">

199
pages/user/User/index.vue

@ -2,7 +2,7 @@
<view class="user">
<view v-if="$store.getters.token || userInfo.uid" class="content">
<view class="header acea-row row-between-wrapper">
<image src="../../../static/user-index-bg.png" mode="" class="header-bg"></image>
<!-- <image src="../../../static/user-index-bg.png" mode="" class="header-bg"></image> -->
<view class="picTxt acea-row row-between-wrapper">
<view class="pictrue">
<image :src="userInfo.avatar" />
@ -32,10 +32,14 @@
<!-- #endif -->
</view>
</view>
<view class="jifen-box" @click="goIntegral">积分{{userInfo.integral}}</view>
<view class="jifen-box" @click="goIntegral">
<image src="../../../static/jifen-icon.png"></image>
<text>点击签到</text>
</view>
<!-- <view class="jifen-box" @click="goIntegral">积分{{userInfo.integral}}</view> -->
<!-- <text class="iconfont icon-shezhi" @click="goPersonalData()"></text> -->
</view>
<view class="teacher-box acea-row-nowrap row-between row-middle">
<!-- <view class="teacher-box acea-row-nowrap row-between row-middle">
<view class="teacher-box-r acea-row row-between row-middle" v-if="userInfo.isPromoter == 0">
<image :src="userInfo.workPhoto" v-if="userInfo.workPhoto"></image>
@ -43,17 +47,48 @@
<text @click="call">{{userInfo.sellerName || '点击联系服务老师'}} </text>
</view>
<view class=" teacher-box-l acea-row-nowrap row-between row-middle" v-if="userInfo.isPromoter == 0">
<!-- <text>服务老师</text> -->
<image src="../../../static/call-icon.png" class="call-icon" @click="call"></image>
<!-- <view class="vertical-line"></view> -->
</view>
<view class="" style="color: #fff;" v-else @click="toServiceIndex()">服务老师主页</view>
</view> -->
<view class="panel-box">
<image src="https://download.cyjyyjy.com/course-bg.png" class="panel-bg"></image>
<view class="panel-content acea-row row-between">
<view class="profit-box">
<view class="mt20">
<view>今日收益</view>
<view class="fz40">200积分</view>
</view>
<view class="">
<view>累计收益</view>
<view class="fz40">200积分</view>
</view>
<view class="panel-btn">去提现</view>
</view>
<!-- <view class="col-line"></view> -->
<view class="sale-box">
<view class="mt20">
<view>推广人数</view>
<view class="fz40">20</view>
</view>
<view class="">
<view>今日收益</view>
<view class="fz40">20</view>
</view>
<view class="panel-btn">我的团队</view>
</view>
<!-- <view class="to-more-box">
<image src="../../images/jifen-icon.png" class="jifen-icon"></image>
<view class="col-text">积分详情</view>
<image src="../../images/arror-d.png" class="arror-r-icon"></image>
</view> -->
</view>
</view>
<view class="myjoin-box" v-if="userInfo.memberStudyVo.cyCourseDtos.length > 0 || userInfo.memberStudyVo.studyListDtos.length > 0">
<view class="myjoin-box">
<view class="t-word">我参与的</view>
<scroll-view class="scroll-view_H" scroll-x="true">
<scroll-view class="scroll-view_H" scroll-x="true" v-if="userInfo.memberStudyVo.courseDtos && userInfo.memberStudyVo.courseDtos.length > 0">
<view class="course-box"
v-for="(item,index) in userInfo.memberStudyVo.cyCourseDtos" :key="index"
v-for="(item,index) in userInfo.memberStudyVo.courseDtos" :key="index"
@click="toCourseDetail(item.id)">
<view class="course-info">
<view class="course-name line1">{{item.courseName}}</view>
@ -66,7 +101,7 @@
</view>
</view>
</scroll-view>
<view class="bangdan-box">
<view class="bangdan-box" v-if="userInfo.memberStudyVo.studyListDtos && userInfo.memberStudyVo.studyListDtos.length > 0">
<view class="bangdan-list">
<scroll-view class="scroll-view_H" scroll-x="true">
<view class="bangdan-item" v-for="(item,index) in userInfo.memberStudyVo.studyListDtos" :key="index">
@ -552,9 +587,11 @@ export default {
</script>
<style lang="less">
page{
background: #fff;
}
.header{
width: 100%;
height: 336rpx !important;
padding: 0 !important;
position: relative !important;
.header-bg{
@ -572,7 +609,12 @@ export default {
.name {
font-size: 36rpx;
max-width: 260rpx;
color: #A8873D;
color: #222;
font-weight: bold;
}
.member{
padding: 0 6rpx;
background: linear-gradient(180deg, #FFCF61 0%, #FCA333 100%);
}
}
.binding{
@ -581,18 +623,26 @@ export default {
}
}
.jifen-box{
width: 200rpx;
height: 62rpx;
background: #BF922B;
border-radius: 30rpx;
text-align: center;
line-height: 62rpx;
width: 176rpx;
height: 50rpx;
background: #FF4444;
border-top-left-radius: 20rpx;
border-bottom-left-radius: 20rpx;
position: absolute;
right: 30rpx;
top: 30rpx;
right: 0rpx;
top: 50%;
margin-top: -25rpx;
z-index: 4;
color: #fff;
font-size: 28rpx;
font-size: 24rpx;
display: flex;
align-items: center;
justify-content: center;
image{
width: 32rpx;
height: 32rpx;
margin-right: 10rpx;
}
}
}
@ -638,16 +688,90 @@ export default {
}
}
}
.panel-box{
width: 100%;
height: 376rpx;
position: relative;
margin-top: 32rpx;
.panel-bg{
width: 688rpx;
height: 376rpx;
position: absolute;
left: 50%;
top: 0;
margin-left: -344rpx;
}
.panel-content{
width: 688rpx;
height: 376rpx;
position: absolute;
left: 50%;
top: 0;
margin-left: -344rpx;
font-size: 28rpx;
color: #C89560;
padding: 32rpx 0;
}
.panel-btn{
width: 167rpx;
height: 54rpx;
background: linear-gradient(180deg, #FFCC5D 0%, #FCA535 100%);
border-radius: 12rpx;
text-align: center;
line-height: 54rpx;
color: #fff;
font-size: 26rpx;
margin: 20rpx auto;
}
.profit-box,.sale-box{
width: 312rpx;
text-align: center;
}
.fz40{
font-size: 32rpx;
}
.mt20{
margin: 20rpx 0;
}
.col-line{
width: 2rpx;
height: 100%;
background: #fff;
}
.to-more-box{
width: 100rpx;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.jifen-icon{
width: 37rpx;
height: 42rpx;
}
.col-text{
width: 30rpx;
margin: 4rpx 0;
}
.arror-r-icon{
width: 28rpx;
height: 16rpx;
}
}
.myjoin-box{
width: 690rpx;
width: 100%;
// height: 506rpx;
background: #FFFFFF;
border-radius: 10rpx;
padding: 30rpx;
margin: -26rpx auto 0;
padding: 32rpx;
margin: 50rpx auto 0;
.t-word{
font-size: 32rpx;
color: #222;
font-weight: bold;
margin-bottom: 30rpx;
}
.course-box{
@ -666,7 +790,6 @@ export default {
display: inline-block;
}
.course-info{
margin-bottom: 10rpx;
.course-name{
color: #C89560;
@ -700,18 +823,20 @@ export default {
width: 100%;
box-sizing: border-box;
.bangdan-item{
width: 310rpx;
height: 152rpx;
width: 370rpx;
height: 222rpx;
background: url(../../../static/bangdanbg.png) no-repeat;
background-size: 100% 100%;
box-sizing: border-box;
padding: 20rpx;
color: #fff;
padding: 42rpx 30rpx;
color: #191919;
display: inline-block;
background: linear-gradient(143deg, #FDAF97 0%, #ED5E48 100%);
border-radius: 10rpx;
font-size: 28rpx;
margin-right: 20rpx;
.bangdan-name{
margin-bottom: 28rpx;
margin-bottom: 46rpx;
font-weight: bold;
}
.signin-day{
font-size: 24rpx;
@ -724,7 +849,7 @@ export default {
border-radius: 8rpx;
text-align: center;
line-height: 48rpx;
color: #C71A00;
color: #fff;
font-size: 24rpx;
}
}
@ -734,8 +859,18 @@ export default {
padding-bottom: 100rpx;
}
.user .wrapper {
background:#F5F6F7;
width: 100%;
background: #fff;
padding: 0 30rpx;
.myOrder{
width: 100%;
.title{
padding: 0 !important;
font-size: 32rpx;
color: #222;
font-weight: bold;
}
}
}
.footer-line-height {

BIN
static/jifen-icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 665 B

BIN
static/nav.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

BIN
static/pause.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

BIN
static/play.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

BIN
static/plus.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

BIN
static/record.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

BIN
static/stop.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

BIN
static/uni.ttf

Binary file not shown.

BIN
static/user-index-bg.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

2
utils/request.js

@ -64,7 +64,7 @@ function baseRequest(options) {
options.headers = {
version: "2.0",
...options.headers,
version: '2.0',
dept: '2',
}
if (options.login === true) {

Loading…
Cancel
Save