Commit 4ac35289 by 程智春

Merge branch 'nativehome_tst' of http://code.mayi888.com/chengmo/mayi-mp-shop into nativehome_tst

parents f0065bf6 328741c6
...@@ -16,8 +16,8 @@ module.exports = merge(prodEnv, {//zjgyl ...@@ -16,8 +16,8 @@ module.exports = merge(prodEnv, {//zjgyl
// BASE_URL:"'https://shop.mayi888.com'", // BASE_URL:"'https://shop.mayi888.com'",
// BASE_URL:"'http://192.168.1.146:3005'", // BASE_URL:"'http://192.168.1.146:3005'",
// BASE_URL:"'http://192.168.1.127:3000'", // BASE_URL:"'http://192.168.1.127:3000'",
BASE_URL:"'https://test-m-shop.mayi888.cn'", // BASE_URL:"'https://test-m-shop.mayi888.cn'",
// BASE_URL:"'http://172.16.1.61:3004'", BASE_URL:"'http://172.16.1.48:3004'",
OLSHOP_URL:'"https://test-m-shop.mayi888.cn/innerApi/shopApiService"', OLSHOP_URL:'"https://test-m-shop.mayi888.cn/innerApi/shopApiService"',
// OLSHOP_URL:'"https://shop.mayi888.com/innerApi/shopApiService"', // OLSHOP_URL:'"https://shop.mayi888.com/innerApi/shopApiService"',
......
...@@ -63,22 +63,34 @@ Component({ ...@@ -63,22 +63,34 @@ Component({
visible: 1 visible: 1
} }
], ],
mm:false,
componentData: {}, componentData: {},
show: true show: true
}, },
attached() { attached() {
let that = this; let that = this;
if (app.globalData.footerVal) { if (app.globalData.footerVal) {
let mm=(Math.ceil(app.globalData.footerVal.componentData.list.length/2-1)==that.data.selected&&app.globalData.footerVal.componentData['styleSelectionNum']==1)
console.log(733333,mm)
that.setData({ that.setData({
componentData: app.globalData.footerVal.componentData, componentData: app.globalData.footerVal.componentData,
list: app.globalData.footerVal.componentData.list list: app.globalData.footerVal.componentData.list,
mm:mm
}); });
console.log('777777',Math.ceil(this.data.list.length/2-1),this.data.selected,this.data.componentData['styleSelectionNum'])
} else { } else {
console.log(73333381)
app.footerCallBack = function(params) { app.footerCallBack = function(params) {
console.log('back')
that.setData({ that.setData({
componentData: params.componentData, componentData: params.componentData,
list: params.componentData.list list: params.componentData.list,
// mm:(Math.ceil(params.componentData.list.length/2-1)==that.data.selected&&params.componentData['styleSelectionNum']==1)
}); });
let mm=(Math.ceil(params.componentData.list.length/2-1)==that.data.selected&&params.componentData['styleSelectionNum']==1)
console.log('87777777',mm)
}; };
} }
...@@ -88,6 +100,12 @@ Component({ ...@@ -88,6 +100,12 @@ Component({
app.webviewCallBack = function(state, params) { app.webviewCallBack = function(state, params) {
console.log("webview变化", state, params); console.log("webview变化", state, params);
}; };
//
this.setData({
mm:(Math.ceil(this.data.list.length/2-1)==this.data.selected&&this.data.componentData['styleSelectionNum']==1)
})
}, },
methods: { methods: {
init() {}, init() {},
......
<!--miniprogram/custom-tab-bar/index.wxml--> <!--miniprogram/custom-tab-bar/index.wxml-->
<cover-view class="tab-bar {{show?'':'hide'}}"> <view class="tab-bar {{show?'':'hide'}}">
<!-- <cover-view class="antt ant-daipinglun"></cover-view> --> <!-- <view class="antt ant-daipinglun"></view> -->
<!-- <cover-view class="iconfont icon-fenzhi">3</cover-view> --> <!-- <view class="iconfont icon-fenzhi">3</view> -->
<cover-view class="tab-bar-border"></cover-view> <view class="tab-bar-border"></view>
<cover-view <view
wx:for="{{list}}" wx:for="{{list}}"
wx:key="index" wx:key="index"
class="tab-bar-item" class="tab-bar-item {{(Math.ceil(list.length/2-1)==selected&&componentData['styleSelectionNum']==1)?isItem:''}}"
data-path="{{item.link}}" data-path="{{item.link}}"
data-index="{{index}}" data-index="{{index}}"
bindtap="switchTab" bindtap="switchTab"
> >
<!-- {{index}}{{selected}}--{{Math.ceil(5/2-1)}}--{{mm}} -->
<cover-view wx:if="{{item.iconType==0||!item.iconType}}"> <!-- &&componentData['styleSelectionNum']==1 -->
<cover-view class="antt {{item.icon}}"></cover-view> <!-- 图标 -->
</cover-view> <view >
<cover-view <view wx:if="{{item.iconType==0||!item.iconType}}">
wx:elif="{{item.iconType==1}}" <view class="antt {{item.icon}}" style="font-size:{{(index==selected?componentData.selectionIconSize*2:componentData.defaultIconSize*2)+'rpx'}};color:{{index==selected?componentData.selectIconColor:componentData.defaultIconColor}}"></view>
class="img-view" </view>
style="width:{{(index==selected?componentData.selectionIconSize*2:componentData.defaultIconSize*2)+'rpx'}};height:{{(index==selected?componentData.selectionIconSize*2:componentData.defaultIconSize*2)+'rpx'}}" <view
> wx:elif="{{item.iconType==1}}"
<cover-image src="{{selected === index ? item.selectImgUrl : item.imgUrl}}"></cover-image> class="img-view"
</cover-view> style="width:{{(index==selected?componentData.selectionIconSize*2:componentData.defaultIconSize*2)+'rpx'}};height:{{(index==selected?componentData.selectionIconSize*2:componentData.defaultIconSize*2)+'rpx'}}"
>
<image mode="aspectFit" src="{{selected === index ? item.selectImgUrl : item.imgUrl}}"></image>
</view>
</view>
<!-- 名称 --> <!-- 名称 -->
<cover-view style="color: {{selected === index ? componentData.selectTextColor : componentData.defaultTextColor}};font-size:{{selected === index ? componentData.selectionTextNum*2 : componentData.defaultTextNum*2}}rpx"> <view class="text" style="color: {{selected === index ? componentData.selectTextColor : componentData.defaultTextColor}};font-size:{{selected === index ? componentData.selectionTextNum*2 : componentData.defaultTextNum*2}}rpx">
{{item.title}}</cover-view> {{item.title}}</view>
</cover-view> </view>
</cover-view> </view>
...@@ -1378,10 +1378,15 @@ ...@@ -1378,10 +1378,15 @@
bottom: 0; bottom: 0;
left: 0; left: 0;
right: 0; right: 0;
height: 48px; height: 51px;
background: white;
display: flex; display: flex;
padding-bottom: env(safe-area-inset-bottom); padding-bottom: env(safe-area-inset-bottom);
font-size: 10px;
width: 100%;
bottom: 0;
left: 0;
background: #f5f5f4;
/* border-top: 1px solid #e2e2e2; */
} }
.tab-bar-border { .tab-bar-border {
...@@ -1403,6 +1408,20 @@ ...@@ -1403,6 +1408,20 @@
flex-direction: column; flex-direction: column;
} }
.isItem {
transform: translateY(-30%)
}
.icons {
width: 50px;
height: 50px;
background: var(--main-color);
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
border: 4px solid #fff;
}
.tab-bar-item cover-image { .tab-bar-item cover-image {
width: 27px; width: 27px;
height: 27px; height: 27px;
...@@ -1412,11 +1431,18 @@ ...@@ -1412,11 +1431,18 @@
/* font-size: 10px; */ /* font-size: 10px; */
} }
.img-view cover-image{ /* .img-view{
object-fit: contain; display: flex;
align-items: center;
} */
.img-view image{
/* object-fit: contain; */
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
.text{
margin-top: 4rpx;
}
.hide{ .hide{
display: none; display: none;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
"description": "项目配置文件。", "description": "项目配置文件。",
"setting": { "setting": {
"urlCheck": false, "urlCheck": false,
"es6": false, "es6": true,
"enhance": true, "enhance": true,
"postcss": true, "postcss": true,
"minified": true, "minified": true,
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
"coverView": true, "coverView": true,
"nodeModules": true, "nodeModules": true,
"autoAudits": true, "autoAudits": true,
"showShadowRootInWxmlPanel": true, "showShadowRootInWxmlPanel": false,
"scopeDataCheck": false, "scopeDataCheck": false,
"uglifyFileName": true, "uglifyFileName": true,
"checkInvalidKey": true, "checkInvalidKey": true,
......
...@@ -43,6 +43,8 @@ mpApp.webviewCallBack = function () { } ...@@ -43,6 +43,8 @@ mpApp.webviewCallBack = function () { }
mpApp.shareInit = function () {}; mpApp.shareInit = function () {};
mpApp.themeColorCallBack = function () {}; mpApp.themeColorCallBack = function () {};
// 全局数据
mpApp.processEnv = process.env;
console.log('3555555', wx) console.log('3555555', wx)
// 全局跳转 data为link对象 // 全局跳转 data为link对象
mpApp.$themeToLink = $themeToLink mpApp.$themeToLink = $themeToLink
......
...@@ -42,9 +42,6 @@ ...@@ -42,9 +42,6 @@
<div v-if="item.componentCode == 'img-text' && item.componentInfo.visible == 1"> <div v-if="item.componentCode == 'img-text' && item.componentInfo.visible == 1">
<img-text :datas="item"></img-text> <img-text :datas="item"></img-text>
</div> </div>
<div v-if="item.componentCode == 'video-player' && item.componentInfo.visible == 1">
<videoPlayer :datas="item"></videoPlayer>
</div>
<div v-if="item.componentCode == 'goods-search' && item.componentInfo.visible == 1"> <div v-if="item.componentCode == 'goods-search' && item.componentInfo.visible == 1">
<goods-search :datas="item"></goods-search> <goods-search :datas="item"></goods-search>
</div> </div>
...@@ -63,6 +60,12 @@ ...@@ -63,6 +60,12 @@
<div v-if="item.componentCode == 'speedy-nav'"> <div v-if="item.componentCode == 'speedy-nav'">
<speedy-nav :datas="item"></speedy-nav> <speedy-nav :datas="item"></speedy-nav>
</div> </div>
<div v-if="item.componentCode == 'video-player'">
<video-player :datas="item" :indexs="index"></video-player>
</div>
<div v-if="item.componentCode == 'official-account'">
<official-account></official-account>
</div>
</div> </div>
<bottomCont></bottomCont> <bottomCont></bottomCont>
...@@ -94,7 +97,6 @@ import partition from '@/components/basicTool/partition/index.vue' ...@@ -94,7 +97,6 @@ import partition from '@/components/basicTool/partition/index.vue'
import shopPopup from '@/components/basicTool/shop-popup/index.vue' import shopPopup from '@/components/basicTool/shop-popup/index.vue'
import text from '@/components/content/text' import text from '@/components/content/text'
import imgText from '@/components/content/imgText' import imgText from '@/components/content/imgText'
import videoPlayer from '@/components/content/videoPlayer'
import coupon from '@/components/activity/coupon' import coupon from '@/components/activity/coupon'
import integralTurntable from '@/components/activity/integralTurntable' import integralTurntable from '@/components/activity/integralTurntable'
import { setTabBarActive, checkTabbarPage,themeColor } from "../../utils/mayi.js"; import { setTabBarActive, checkTabbarPage,themeColor } from "../../utils/mayi.js";
...@@ -121,7 +123,6 @@ export default { ...@@ -121,7 +123,6 @@ export default {
ThemeDataPlant, ThemeDataPlant,
'text-text':text, 'text-text':text,
'img-text':imgText, 'img-text':imgText,
videoPlayer,
coupon, coupon,
integralTurntable integralTurntable
}, },
......
...@@ -12,7 +12,8 @@ ...@@ -12,7 +12,8 @@
"notice":"/static/nativeComponents/Notice/index", "notice":"/static/nativeComponents/Notice/index",
"pop-up":"/static/nativeComponents/PopUp/index", "pop-up":"/static/nativeComponents/PopUp/index",
"share-popup":"/static/nativeComponents/SharePopup/index", "share-popup":"/static/nativeComponents/SharePopup/index",
"speedy-nav":"/static/nativeComponents/SpeedyNav/index" "speedy-nav":"/static/nativeComponents/SpeedyNav/index",
"video-player":"/static/nativeComponents/VideoPlayer/index"
}, },
"enablePullDownRefresh":true "enablePullDownRefresh":true
} }
\ No newline at end of file
...@@ -346,9 +346,9 @@ const componentOptions = { ...@@ -346,9 +346,9 @@ const componentOptions = {
let linkVal = ""; let linkVal = "";
if (goodsType != 1) { if (goodsType != 1) {
if (style == "list") { if (style == "list") {
linkVal = `/goods/commodityMenu?categoryName=${categoryName}&categoryId=${categoryId}`; linkVal = `/goodsSearch/goodsSearch?categoryName=${categoryName}&categoryId=${categoryId}`;
} else { } else {
linkVal = `/goods/commodityMenu`; linkVal = `/goodsSearch/goodsSearch`;
} }
} else { } else {
linkVal = `/pointShop/productList?categoryName=${categoryName}&categoryId=${categoryId}`; linkVal = `/pointShop/productList?categoryName=${categoryName}&categoryId=${categoryId}`;
......
const app = getApp(); const app = getApp();
const { $themeToLink } = app; const { $themeToLink, processEnv, globalData } = app;
const componentOptions = { const componentOptions = {
// 组件选项 // 组件选项
options: { options: {
...@@ -85,7 +85,13 @@ const componentOptions = { ...@@ -85,7 +85,13 @@ const componentOptions = {
}); });
}, },
toPosters() { toPosters() {
let linkVal = `/goods/posters`; let userInfo = wx.getStorageSync("userInfo") ? JSON.parse(wx.getStorageSync("userInfo")):'';
let queryHref = `${processEnv.BASE_URL}?mixid=${globalData.shopInfo.shopCode}`;
let linkVal = `/goods/posters?type=index&href=${queryHref}`;
if (userInfo) {
linkVal += `&nickname=${userInfo.nickName}`;
}
console.log(linkVal, "------------------linkVal");
$themeToLink({ type: 1, link: linkVal }); $themeToLink({ type: 1, link: linkVal });
}, },
}, },
......
const componentOptions = {
// 组件选项
options: {
multipleSlots: true
},
behaviors: [],
properties: {
datas: {
type: Object
},
indexs: {
type:Number
}
},
// 组件数据
data: {
isPageHidden: false, // 页面是否处于隐藏状态
isPlay: false,
videoContext:"",
},
// 数据监听器
observers: {},
// 组件方法
methods: {
init() {},
playVideo() {
// 视频播放
if (this.data.datas.componentData['nativeControl']) {
return
}
let { isPlay } = this.data;
if (isPlay) {
console.log("暂停")
this.videoContext.pause();
} else {
console.log("播放")
this.videoContext.play();
}
isPlay = !isPlay;
this.setData({ isPlay });
}
},
// 组件生命周期
lifetimes: {
created() {},
attached() {
this.init();
},
ready() {
this.videoContext = wx.createVideoContext(`videoId${this.data.indexs}`,this);
},
moved() {},
detached() {}
},
definitionFilter() {},
// 页面生命周期
pageLifetimes: {
// 页面被展示
show() {
const { isPageHidden } = this.data;
// show事件发生前,页面不是处于隐藏状态时
if (!isPageHidden) {
return;
}
// 重新执行定时器等操作
},
// 页面被隐藏
hide() {
this.setData({
isPageHidden: true
});
// 清除定时器等操作
},
// 页面尺寸变化时
resize() {}
}
};
Component(componentOptions);
{
"component": true,
"usingComponents": {}
}
<view class="VideoPlayer">
<view class="title" wx:if="{{datas.componentData['title']}}">
<text>{{datas.componentData['title']}}</text>
</view>
<view class="main">
<view class="isVideo" wx:if="{{datas.componentData['type']<3}}">
<video
bindtap="playVideo"
id="videoId{{indexs}}"
src="{{datas.componentData['videoUrl']}}"
show-center-play-btn="{{datas.componentData['nativeControl']}}"
type="video/mp4"
controls="{{datas.componentData['nativeControl']}}"
loop="{{datas.componentData['loopPlay']}}"
poster="{{datas.componentData['poster']}}"
/>
<view
class="playerBtn"
bindtap="playVideo"
wx:if="{{!isPlay&&!datas.componentData['nativeControl']}}"
>
<image src="http://mayi-newshop.oss-cn-shanghai.aliyuncs.com/public/png/06420e41-cd0b-4913-a1ef-9056ceebcc95.png" />
</view>
</view>
<!-- 代码片段展示 -->
<view class="isCodeSnippets" wx:if="{{datas.componentData['type']==3&&datas.componentData['codeSnippet']!=''}}">
<rich-text nodes="{{datas.componentData['codeSnippet']}}"></rich-text>
</view>
</view>
</view>
.VideoPlayer {
}
.title {
font-size: 36rpx;
padding: 20rpx 40rpx;
color: #333;
font-weight: bold;
}
.main{
width: 100%;
}
.main .isVideo{
width: 100%;
position: relative;
}
.main .isVideo video{
width: 100%;
}
.main .isVideo .playerBtn{
position: absolute;
top: 50%;
left: 50%;
width: 120rpx;
height: 120rpx;
margin-top: -60rpx;
margin-left: -60rpx;
border-radius: 50%;
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
-ms-border-radius: 50%;
-o-border-radius: 50%;
overflow: hidden;
}
.main .isVideo .playerBtn image{
width: 100%;
height: 100%;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment