Commit 539511b9 authored by Facius's avatar Facius

Merge branch 'dev-photo-v2' of https://git.banshouhui.com/heyinchen/take_order into dev-photo-v2

parents 19990dc6 8a2015b3
.DS_Store .DS_Store
node_modules/ node_modules/
dist/ dist/
.hbuilderx/
npm-debug.log* npm-debug.log*
yarn-debug.log* yarn-debug.log*
yarn-error.log* yarn-error.log*
......
{ // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
// launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
"version": "0.0",
"configurations": [{
"type": "uniCloud",
"default": {
"launchtype": "remote"
}
}
]
}
<template> <template>
<view class="standard-box" > <cover-view class="standard-box" >
<swiper class="swiper-box" :current="swiperCurrent" @transition="transition" @animationfinish="animationfinish"> <swiper class="swiper-box" :current="swiperCurrent" @transition="transition" @animationfinish="animationfinish">
<swiper-item class="swiper-item" key="swiper1"> <swiper-item class="swiper-item" key="swiper1">
<view class="title"> <view class="title">
...@@ -14,41 +14,43 @@ ...@@ -14,41 +14,43 @@
</view> </view>
</view> </view>
</swiper-item> </swiper-item>
<swiper-item class="swiper-item" v-for="(item, index) in tabs" :key="index"> <swiper-item class="swiper-item" v-for="(src, index) in swiperList" :key="index">
{{item.title}}
<cover-image bindtap="previewImage(item,index)" class="icon" mode="aspectFit" :src="src"></cover-image> <cover-image bindtap="previewImage(item,index)" class="icon" mode="aspectFit" :src="src"></cover-image>
</swiper-item> </swiper-item>
</swiper> </swiper>
<view class="tab-box"> <view class="tab-box">
<u-tabs-swiper bg-color="transparent" inactive-color="#999" <u-tabs-swiper bg-color="transparent" inactive-color="#999"
ref="uTabs" :list="list" :current="current" ref="uTabs" :list="tabList" :current="current"
@change="tabsChange" :is-scroll="false" swiperWidth="750"></u-tabs-swiper> @change="tabsChange" :is-scroll="false" swiperWidth="750"></u-tabs-swiper>
</view> </view>
</view> </cover-view>
</template> </template>
<script> <script>
export default { export default {
name:'photo-standard' name:"photo-standard",
props:{ props:{
item:{ currentItem:{
type:'Object', type: Object,
detault:()=>{ default () {
return null return {
images: [],
}
} }
} },
}, },
data() { data() {
return { return {
list: [{ tabList: [{
name: '十年' name: '十年'
}, { }, {
name: '青春' name: '青春'
}, { }, {
name: '之约' name: '之约'
}], }],
tabs:[{ swiperList:[{
title:'记录的距离大家零点九零杰拉德杰拉德建立的连接就111111111111', title:'记录的距离大家零点九零杰拉德杰拉德建立的连接就111111111111',
},{ },{
title:'记录的距离大家零点九零杰拉德杰拉德建立的连接就222222', title:'记录的距离大家零点九零杰拉德杰拉德建立的连接就222222',
...@@ -61,7 +63,18 @@ ...@@ -61,7 +63,18 @@
height:0, height:0,
} }
}, },
onLoad(e) { watch:{
"currentItem.images"(val){
if(val.length>0){
this.changeList()
// let swiperList = JSON.parse(JSON.stringify(val))
// let len = tabs.length
// let tabList = [{name:'拍照要求'}].concat(Array.from({name:'示意图'},len))
// console.log(tabList,'tabList')
}
},
},
created() {
// getApp().trackPage('照片预览页') // getApp().trackPage('照片预览页')
// console.log(e, 'e') // console.log(e, 'e')
// if (e.img) { // if (e.img) {
...@@ -70,14 +83,19 @@ ...@@ -70,14 +83,19 @@
// console.log(this.images, 'this.images') // console.log(this.images, 'this.images')
}, },
mounted(){ mounted(){
this.changeList(this.currentItem.images)
this.getSwiperHeight() this.getSwiperHeight()
}, },
methods: { methods: {
changeList(){
let swiperList = JSON.parse(JSON.stringify(val))
let len = tabs.length
let tabList = [{name:'拍照要求'}].concat(Array.from({name:'示意图'},len))
console.log(tabList,'tabList')
},
getSwiperHeight(){ getSwiperHeight(){
const globalData = getApp().globalData const globalData = getApp().globalData
this.height = globalData.screenHeight*2 - globalData.navHeight - 200 this.height = globalData.screenHeight*2 - globalData.navHeight - 200
console.log(this.height,'height')
console.log(globalData.screenHeight,'globalData.screenHeight')
}, },
previewImage(index){ previewImage(index){
uni.previewImage({ uni.previewImage({
...@@ -91,14 +109,14 @@ ...@@ -91,14 +109,14 @@
}, },
// swiper-item左右移动,通知tabs的滑块跟随移动 // swiper-item左右移动,通知tabs的滑块跟随移动
transition(e) { transition(e) {
console.log(e.detail,'e.detail-transition') // console.log(e.detail,'e.detail-transition')
let dx = e.detail.dx; let dx = e.detail.dx;
this.$refs.uTabs.setDx(dx); this.$refs.uTabs.setDx(dx);
}, },
// 由于swiper的内部机制问题,快速切换swiper不会触发dx的连续变化,需要在结束时重置状态 // 由于swiper的内部机制问题,快速切换swiper不会触发dx的连续变化,需要在结束时重置状态
// swiper滑动结束,分别设置tabs和swiper的状态 // swiper滑动结束,分别设置tabs和swiper的状态
animationfinish(e) { animationfinish(e) {
console.log(e.detail,'e.detail-animationfinish') // console.log(e.detail,'e.detail-animationfinish')
let current = e.detail.current; let current = e.detail.current;
this.$refs.uTabs.setFinishCurrent(current); this.$refs.uTabs.setFinishCurrent(current);
this.swiperCurrent = current; this.swiperCurrent = current;
...@@ -118,7 +136,7 @@ ...@@ -118,7 +136,7 @@
position: absolute; position: absolute;
left:0;right:0; left:0;right:0;
/* height: calc(100vh - 240rpx); */ /* height: calc(100vh - 240rpx); */
z-index: 100;
bottom:240rpx; bottom:240rpx;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
......
...@@ -3,12 +3,12 @@ ...@@ -3,12 +3,12 @@
<view class="camera-container"> <view class="camera-container">
<cover-view class="header-box" :style="{'height':navHeight + 'rpx'}"> <cover-view class="header-box" :style="{'height':navHeight + 'rpx'}">
<cover-view class="inner"> <cover-view class="inner">
<cover-image bindtap="changeScale" class="icon" mode="aspectFit" src="/static/photo/icon-switch.png"></cover-image> <cover-image @click="setCameraInfo('devicePosition')" class="icon" mode="aspectFit" src="/static/photo/icon-switch.png"></cover-image>
<cover-image bindtap="changeScale" class="icon" mode="aspectFit" src="/static/photo/icon-light.png"></cover-image> <cover-image @click="setCameraInfo('flash')" class="icon" mode="aspectFit" src="/static/photo/icon-light.png"></cover-image>
<cover-image bindtap="changeScale" class="icon" mode="aspectFit" src="/static/photo/icon-setting.png"></cover-image> <cover-image @click="goPage('/pages/photo/markSetting')" class="icon" mode="aspectFit" src="/static/photo/icon-setting.png"></cover-image>
</cover-view> </cover-view>
</cover-view> </cover-view>
<camera class="camera-box" v-if="cameraChange" device-position="front" flash="on" :style="{'height':cameraHeight + 'rpx'}" <camera class="camera-box" v-if="cameraChange" :device-position="cameraInfo.devicePosition" :flash="cameraInfo.flash" :style="{'height':cameraHeight + 'rpx'}"
@error="cameraError"> @error="cameraError">
<cover-view class="mark-box"> <cover-view class="mark-box">
<cover-view class="txt u-m-l-20 u-m-t-30">经度:{{waterInfo.longitude || '正在获取中...'}}</cover-view> <cover-view class="txt u-m-l-20 u-m-t-30">经度:{{waterInfo.longitude || '正在获取中...'}}</cover-view>
...@@ -18,18 +18,18 @@ ...@@ -18,18 +18,18 @@
</cover-view> </cover-view>
<cover-image class="mark-water" mode="aspectFit" :src="waterInfo.markImage"></cover-image> <cover-image class="mark-water" mode="aspectFit" :src="waterInfo.markImage"></cover-image>
</camera> </camera>
<cover-view class="bottom-box"> <cover-view class="bottom-box" v-show="!standardShow">
<cover-image class="icon" src='/static/photo/icon-back.png' mode="" @click="goBack"></cover-image> <cover-image class="icon" src='/static/photo/icon-back.png' mode="" @click="goBack"></cover-image>
<cover-image class='icon-take icon' src='/static/photo/icon-take.png' @click="takePhoto"> </cover-image> <cover-image class='icon-take icon' src='/static/photo/icon-take.png' @click="takePhoto"> </cover-image>
<cover-image class='icon' src='/static/photo/icon-standard.png' @click="showStandard"> </cover-image> <cover-image class='icon' src='/static/photo/icon-standard.png' @click="standardShow = true"> </cover-image>
</cover-view> </cover-view>
<canvas canvas-id="canvas" class="canvas" :style="{'width':750 + 'rpx','height': cameraHeight + 'rpx'}"></canvas> <canvas canvas-id="canvas" id="photoCanvas" class="canvas" :style="{'width':750 + 'rpx','height': cameraHeight + 'rpx'}"></canvas>
<page-container class="page-mask" v-show="standardShow"> <cover-view class="page-mask" v-if="standardShow">
<standard :item="currentItem"></standard> <photo-standard :currentItem="currentItem" />
<cover-view class="btn-close"> <cover-view class="btn-close" @click="standardShow = false">
<cover-image class="icon icon-close" mode="aspectFit" src="/static/photo/icon-close.png"></cover-image> <cover-image class="icon icon-close" mode="aspectFit" src="/static/photo/icon-close.png"></cover-image>
</cover-view> </cover-view>
</page-container> </cover-view>
</view> </view>
</template> </template>
...@@ -42,31 +42,19 @@ ...@@ -42,31 +42,19 @@
import standard from '@/components/photo/standard.vue' import standard from '@/components/photo/standard.vue'
export default { export default {
components:{ components:{
standard:standard, 'photo-standard':standard,
}, },
data() { data() {
return { return {
// title: '',
// ctx: null,
// path: "",
// image: "",
// showImage: false,
// canvas: null,
// longitude: '正在获取中...',
// latitude: '正在获取中...',
// address: '正在获取中...',
// date: '',
// width: '',
// height: '',
// markPath: '',
// canvasWidth: 0,
// canvasHeight: 0,
// restuleImage: '',
currentItem:{ currentItem:{
images:['https://qn-static.banshouhui.com/live_mark.png','https://qn-static.banshouhui.com/live_mark.png'] name:'111',
images:['https://qn-static.banshouhui.com/live_mark.png','https://qn-static.banshouhui.com/live_mark.png','https://qn-static.banshouhui.com/live_mark.png'],
},
standardShow:false,
cameraInfo:{
devicePosition:'front',
flash:'off'
}, },
standardShow:true,
waterInfo: { waterInfo: {
longitude: '', // 经度 longitude: '', // 经度
latitude: '', // 维度 latitude: '', // 维度
...@@ -96,6 +84,7 @@ ...@@ -96,6 +84,7 @@
this.waterInfo.date = this.getTime() this.waterInfo.date = this.getTime()
this.getLocation() this.getLocation()
this.getMarkPath() this.getMarkPath()
console.log(standard,'standard')
// this.getSystemInfo() // this.getSystemInfo()
// uni.setNavigationBarColor({ // uni.setNavigationBarColor({
// frontColor: '#FFFFFF', // frontColor: '#FFFFFF',
...@@ -113,6 +102,7 @@ ...@@ -113,6 +102,7 @@
}, },
onShow() { onShow() {
this.initData() this.initData()
// this.standardShow = true
// this.cameraHeight = globalData.rpxScreenHeight // this.cameraHeight = globalData.rpxScreenHeight
// uni.authorize({ // uni.authorize({
...@@ -129,6 +119,31 @@ ...@@ -129,6 +119,31 @@
url:'/pages/photo/brand' url:'/pages/photo/brand'
}) })
}, },
goPage(url){
url = url || '/pages/photo/index';
console.log(url,'url')
uni.navigateTo({
url:url
})
},
setCameraInfo(type){
// 设置相机前置后置、闪关灯等
const cameraInfo = this.cameraInfo
let val = cameraInfo[type]
switch(type){
case 'devicePosition':
val = val==='back' ? 'front' : 'back'
break;
case 'flash':
val = val==='auto' ? 'on' : 'auto'
break;
defalut:
break;
}
console.log(type,'type',val,'val')
this.cameraInfo[type] = val
},
initData() { initData() {
const globalData = getApp().globalData const globalData = getApp().globalData
this.navHeight = globalData.navHeight this.navHeight = globalData.navHeight
...@@ -498,6 +513,7 @@ ...@@ -498,6 +513,7 @@
bottom:0; bottom:0;
left:0;right:0; left:0;right:0;
height:200rpx; height:200rpx;
z-index:100;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
......
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