Commit da8fc854 authored by 潘永坪's avatar 潘永坪

Merge remote-tracking branch 'remotes/origin/zhoucong' into develop

# Conflicts:
#	pages/index/index.vue
#	unpackage/dist/dev/.sourcemap/mp-weixin/pages/vlog/myVlog/myVlog.js.map
#	unpackage/dist/dev/.sourcemap/mp-weixin/pages/vlog/photoAlbum/photoAlbum.js.map
#	unpackage/dist/dev/.sourcemap/mp-weixin/pages/vlog/scenicList/scenicList.js.map
#	unpackage/dist/dev/.sourcemap/mp-weixin/pages/vlog/share/share.js.map
#	unpackage/dist/dev/.sourcemap/mp-weixin/pages/vlog/vlogIndex/vlogIndex.js.map
#	unpackage/dist/dev/.sourcemap/mp-weixin/pages/vlog/vlogList/vlogList.js.map
#	unpackage/dist/dev/.sourcemap/mp-weixin/pages/vlog/vlogface/vlogface.js.map
parents a1a26891 ce564048
# Mac
.DS_Store
**/.DS_Store
# vim/vi
*.swp
# JavaScript
node_modules/
.node_modules/
.eslintcache
unpackage/dist/build/
unpackage/dist/dev/
# python
*.pyc
......@@ -15,7 +15,6 @@
url: "/pages/login/login"
})
},300)
}
//#ifdef MP-ALIPAY
if (options.query && options.query.qrCode) {
......
......@@ -118,23 +118,25 @@
"path" : "pages/vlog/vlogIndex/vlogIndex",
"style" : {
"navigationBarTitleText": "VLOG",
"enablePullDownRefresh": false
"enablePullDownRefresh": false,
"navigationBarBackgroundColor":"#ffffff",
"navigationBarTextStyle": "black"
}
}
,{
"path" : "pages/vlog/vlogface/vlogface",
"style" : {
"navigationBarTitleText": "扫脸获取视频",
"enablePullDownRefresh": false
"enablePullDownRefresh": false,
"navigationBarBackgroundColor":"#ffffff",
"navigationBarTextStyle": "black"
}
}
,{
"path" : "pages/vlog/scenicList/scenicList",
"style" : {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor":"#192033",
"navigationBarTextStyle": "#F8F8F8"
"backgroundColor":"#192033"
}
}
,{
......@@ -142,15 +144,16 @@
"style" : {
"navigationBarTitleText": "我的Vlog集",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor":"#192033",
"navigationBarTextStyle": "#F8F8F8"
"backgroundColor":"#192033"
}
}
,{
"path" : "pages/vlog/photoAlbum/photoAlbum",
"style" : {
"navigationBarTitleText": "我的照片集",
"enablePullDownRefresh": false
"enablePullDownRefresh": false,
"navigationBarBackgroundColor": "#fff",
"navigationBarTextStyle": "black"
}
}
,{
......@@ -164,14 +167,61 @@
"path" : "pages/vlog/myVlog/myVlog",
"style" : {
"navigationBarTitleText": "我的Vlog集",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor": "#fff",
"navigationBarTextStyle": "black"
}
}
,{
"path" : "pages/vlog/product/product",
"style" : {
"navigationBarTitleText": "产品",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor": "#fff",
"navigationBarTextStyle": "black"
}
}
,{
"path" : "pages/vlog/productDetails/productDetails",
"style" : {
"navigationBarTitleText": "产品详情",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor": "#fff",
"navigationBarTextStyle": "black"
}
}
,{
"path" : "pages/vlog/uploadPictures/uploadPictures",
"style" : {
"navigationBarTitleText": "上传照片",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor": "#fff",
"navigationBarTextStyle": "black"
}
}
,{
"path": "pages/vlog/u-avatar-cropper/u-avatar-cropper",
"style": {
"navigationBarTitleText": "照片裁剪",
"navigationBarBackgroundColor": "#000000"
}
},
{
"path" : "pages/vlog/pictureFormat/pictureFormat",
"style" :
{
"navigationBarTitleText": "照片调整",
"enablePullDownRefresh": false
}
}
],
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "uni-app",
"navigationBarBackgroundColor": "#F8F8F8",
"navigationBarTextStyle": "white",
"navigationBarTitleText": "",
"navigationBarBackgroundColor": "#192033",
"backgroundColor": "#F8F8F8"
},
"condition" : { //模式配置,仅开发期间生效
......
<template>
<view :style="{ overflowX: overOnePage ? 'hidden' : 'initial' }">
<view class="item-wrap" :style="{ height: itemWrapHeight + 'px' }">
<view
:class="['item', cur == index ? 'cur' : '', curZ == index ? 'zIndex' : '', itemTransition && index !== cur ? 'itemTransition' : '']"
v-for="(item, index) in list" :key="index" :id="'item' + index" :data-key="item.key" :data-index="index"
:style="{ transform: `translate3d(${index === cur ? tranX : item.tranX}px, ${index === cur ? tranY : item.tranY}px, 0px)`, width: `${100 / columns}%` }"
@tap="itemClick(index)" @longpress="longPress" @touchmove.stop="touchMove" @touchend.stop="touchEnd">
<!-- start:请在该区域编写自己的渲染逻辑 -->
<view class="info">
<view class="info__item">
<image class="image" :src="item.data.images"></image>
</view>
</view>
<!-- end:请在该区域编写自己的渲染逻辑 -->
</view>
</view>
</view>
</template>
<script>
export default {
props: {
listData: {// 数据源
type: Array,
default: () => {
return []
}
},
columns: {// 列数
type: Number,
default: 0
},
},
data() {
return {
cur: -1, // 当前激活的元素
curZ: -1, // 当前激活的元素, 用于控制激活元素z轴显示
tranX: 0, // 当前激活元素的 X轴 偏移量
tranY: 0, // 当前激活元素的 Y轴 偏移量
itemWrapHeight: 0, // 动态计算父级元素高度
dragging: false, // 是否在拖拽中
list: [], //数据
overOnePage: false, // 整个区域是否超过一个屏幕
itemTransition: false, // item 变换是否需要过渡动画, 首次渲染不需要
platform: "" ,//使用平台
}
},
watch: {
columns(newVal, oldVal) {
this.columns=newVal
this.dataChange()
},
},
onReady() {
this.init()
},
methods: {
init() {
// 空值判断, 避免获取不到节点信息报错问题
if (this.listData.length == 0) {
this.list = []
return
}
// 遍历数据源增加扩展项, 以用作排序使用
let list = this.listData.map((item, index) => {
let data = {
key: index,
tranX: 0,
tranY: 0,
data: item
}
return data
})
this.list = list
this.itemTransition = false //阻止初次渲染动画效果
let {
windowWidth,
windowHeight,
platform
} = uni.getSystemInfoSync()
this.windowHeight = windowHeight //获取可使用窗口宽度
this.platform = platform //获取客户端平台
setTimeout(() => { //需要等页面渲染完成后执行函数,否则获取不到节点信息
let queryItem = uni.createSelectorQuery().in(this);
queryItem.select('.item').boundingClientRect(res => {// 获取每一项的宽高等属性
let rows = Math.ceil(this.list.length / this.columns)
this.item = res
this.getPosition(this.list, false)
let itemWrapHeight = rows * res.height
this.itemWrapHeight = itemWrapHeight
let queryWrap = uni.createSelectorQuery().in(this)
queryWrap
.select('.item-wrap')
.boundingClientRect(res => {
this.itemWrap = res
//(元素高度 + 距离顶部距离 > 屏幕高度) 用该公式来计算是否超过一页
let overOnePage = itemWrapHeight + res.top > this.windowHeight;
this.overOnePage = overOnePage
})
.exec()
})
.exec()
}, 200)
},
getPosition(data, vibrate = true) {//根据排序后 list 数据进行位移计算
let list = data.map((item, index) => {
item.tranX = this.item.width * (item.key % this.columns)
item.tranY = Math.floor(item.key / this.columns) * this.item.height
return item
})
this.list = list
if (!vibrate) return
if (this.platform != 'devtools') uni.vibrateShort() //判断设备开启震动效果
let listData = []
list.forEach(item => {
listData[item.key] = item.data
})
this.$emit('change', { //给父组件传递数据
listData: listData
})
},
longPress(e) {//长按触发移动排序
// 防止多指触发 drag 动作, 如果已经在 drag 中则返回, touchstart 事件中有效果
if (this.dragging) return
let {
index
} = e.currentTarget.dataset
// 如果是固定 item 则 return
// if (this.isFixed(index)) return
// 存储初始化触摸点信息
this.startTouch = e.changedTouches[0]
// 如果未获取到触摸点信息 return
if (!this.startTouch) return
// 表示 drag 动作开始
this.dragging = true
let {// 获取初始化点的 pageX 和 pageY
pageX: startPageX,
pageY: startPageY
} = this.startTouch
if (this.columns === 1) {// 单列时候X轴初始不做位移
this.tranX = 0
} else {// 多列的时候计算X轴初始位移, 使 item 水平中心移动到点击处
this.tranX = startPageX - this.item.width / 2 - this.itemWrap.left
}
// 计算Y轴初始位移, 使 item 垂直中心移动到点击处
this.tranY = startPageY - this.item.height / 2 - this.itemWrap.top
this.cur = index
this.curZ = index
this.oldX = this.tranX
this.oldY = this.tranY
uni.vibrateShort()
},
touchMove(e) {
// 如果不在 drag 中则返回
if (!this.dragging) return
let currentTouch = e.changedTouches[0]
// 如果未获取到触摸点信息 return
if (!currentTouch) return
// 获取初始化点的 pageX , pageY 以及标示符 identifier
let {
pageX: startPageX,
pageY: startPageY,
identifier: startId
} = this.startTouch
let {
pageX: currentPageX,
pageY: currentPageY,
identifier: currentId,
clientY: currentClientY
} = currentTouch
// 如果不是同一个触发点则返回
if (startId != currentId) return
// 通过 当前坐标点, 初始坐标点, 初始偏移量 来计算当前偏移量
let tranX = currentPageX - startPageX + this.oldX,
tranY = currentPageY - startPageY + this.oldY
// 单列时候X轴初始不做位移
if (this.columns === 1) tranX = 0
if(this.overOnePage) {// 判断是否超过一屏幕, 超过则需要判断当前位置动态滚动page的位置
if(currentClientY > this.windowHeight - this.item.height) {
uni.pageScrollTo({
scrollTop: currentPageY + this.item.height - this.windowHeight,
duration: 300
});
} else if(currentClientY < this.item.height) {
uni.pageScrollTo({
scrollTop: currentPageY - this.item.height,
duration: 300
});
}
}
// 设置当前偏移量
this.tranX = tranX
this.tranY = tranY
// 获取当前的起始坐标
let originKey = e.currentTarget.dataset.key
// 根据偏移量计算得出目标坐标
let endKey = this.calculateMoving(tranX, tranY)
// 如果是固定 item 则 return
// if (this.isFixed(endKey)) return
// 防止拖拽过程中发生乱序问题
if (originKey == endKey || this.originKey == originKey) return
this.originKey = originKey
// 触发排序
this.insert(originKey, endKey)
},
touchEnd() {
if (!this.dragging) return
this.clearData()
},
//判断是否是固定的 item
// isFixed(key) {
// let list = this.list
// if (list && list[key] && list[key].fixed) {
// return true
// }
// return false
// },
clearData() { //清除参数
this.originKey = -1
this.dragging = false
this.cur = -1
this.tranX = 0
this.tranY = 0
// 延迟清空
setTimeout(() => {
this.curZ = -1
}, 3000)
},
l2r(key, origin) {//正序拖动 key 值和固定项判断逻辑
if (key == origin) return origin
// if (this.list && this.list[key] && this.list[key].fixed) {
// return this.l2r(key - 1, origin)
// }else {
return key
// }
},
r2l(key, origin) {//倒序拖动 key 值和固定项判断逻辑
if (key == origin) return origin
// if (this.list && this.list[key] && this.list[key].fixed) {
// return this.r2l(key + 1, origin)
// } else {
return key
// }
},
//根据起始key和目标key去重新计算每一项的新的key
insert(origin, end) {
this.itemTransition = true
let list
if (origin < end) {// 正序拖动
list = this.list.map(item => {
// if (item.fixed) return item
if (item.key > origin && item.key <= end) {
item.key = this.l2r(item.key - 1, origin)
} else if (item.key == origin) {
item.key = end
}
return item
})
this.getPosition(list)
} else if (origin > end) {// 倒序拖动
list = this.list.map(item => {
// if (item.fixed) return item
if (item.key >= end && item.key < origin) {
item.key = this.r2l(item.key + 1, origin)
} else if (item.key == origin) {
item.key = end
}
return item
})
this.getPosition(list)
}
},
//根据当前的手指偏移量计算目标key
calculateMoving(tranX, tranY) {
let rows = Math.ceil(this.list.length / this.columns) - 1,
i = Math.round(tranX / this.item.width),
j = Math.round(tranY / this.item.height)
i = i > this.columns - 1 ? this.columns - 1 : i
i = i < 0 ? 0 : i
j = j < 0 ? 0 : j
j = j > rows ? rows : j
let endKey = i + this.columns * j
endKey = endKey >= this.list.length ? this.list.length - 1 : endKey
return endKey
},
//监听列数变化, 如果改变重新初始化参数
dataChange(newVal, oldVal) {
setTimeout(() => {
uni.pageScrollTo({
scrollTop: 0,
duration: 0
})
this.clearData()
this.init()
}, 0)
},
//点击每一项后触发事件
itemClick(index) {
let item = this.list[index]
this.$emit('click', {
oldKey: index,
newKey: item.key,
data: item.data
})
}
}
}
</script>
<style lang="scss" scoped>
$mainColor: #3F82FD;
$mainColorActive: rgba($mainColor, 0.7);
$mainBd: #f7f7f7;
$hoverBd: #eeeeee;
$mainBlack1: #333333;
$mainBlack2: #666666;
$mainBlack3: #999999;
$lineColor: #ebedf0;
$shadow: 0 0 20rpx -5rpx rgba(0, 0, 0, 0.1);
%clear-float {
&:after {
display: block;
content: "clear";
height: 0;
clear: both;
overflow: hidden;
visibility: hidden;
}
}
@mixin line($line: 1) {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: $line;
overflow: hidden;
word-break: break-all;
}
.item-wrap {
position: relative;
.item {
position: absolute;
width: 100%;
z-index: 1;
&.itemTransition {
transition: transform 0.3s;
}
&.zIndex {
z-index: 2;
}
&.cur {
transition: initial;
}
&.fixed {
z-index: 0 !important;
}
}
}
.info {
position: relative;
padding-top: 100%;
background: #ffffff;
&__item {
position: absolute;
border: 1rpx solid $lineColor;
top: 0;
left: 0;
width: 100%;
height: 100%;
overflow: hidden;
padding: 10rpx;
box-sizing: border-box;
.image {
width: 100%;
height: 100%;
}
}
}
.cell {
display: flex;
padding: 20rpx;
border-bottom: 1rpx solid $lineColor;
background: #ffffff;
&__hd {
font-size: 0;
.image {
width: 160rpx;
height: 160rpx;
margin-right: 20rpx;
border-radius: 12rpx;
}
}
&__bd {
flex: 1;
.name {
@include line(2);
font-size: 28rpx;
margin-bottom: 12rpx;
}
.des {
@include line(2);
color: $mainBlack2;
font-size: 24rpx;
}
}
}
</style>
<template>
<view class="content">
<view v-if="1" style="padding-top: 90rpx;">
<view class="">
<view v-if="vlogList.length>0 && show===false" class="noEmpty">
<view style="height: 20rpx;"></view>
<u-search bg-color="#434957" color="#ffffff" placeholder="景区/关键词搜索" v-model="search" :clearabled="true" @search="query" :show-action="false" ></u-search>
<view class="body">
<navigator url="../vlogList/vlogList" class="item">
<image src="https://cdn.uviewui.com/uview/swiper/2.jpg" mode=""></image>
<text>长江索道</text>
</navigator>
<navigator url="../vlogList/vlogList" class="item">
<image src="https://cdn.uviewui.com/uview/swiper/2.jpg" mode=""></image>
<text>长江索道</text>
</navigator>
<navigator url="../vlogList/vlogList" class="item">
<image src="https://cdn.uviewui.com/uview/swiper/2.jpg" mode=""></image>
<text>长江索道</text>
</navigator>
<navigator url="../vlogList/vlogList" class="item">
<image src="https://cdn.uviewui.com/uview/swiper/2.jpg" mode=""></image>
<text>长江索道</text>
</navigator>
<navigator url="../vlogList/vlogList" class="item">
<image src="https://cdn.uviewui.com/uview/swiper/2.jpg" mode=""></image>
<text>长江索道</text>
</navigator>
</view>
</view>
<view v-else class="empty">
<view class="empty1">
<view v-else-if="vlogList.length===0 && show===false" class="empty">
<view class="row">
<text>啊哦。。。没找到呢</text>
<image src="../../../static/img/vlog/icon/icon_thereisnovideo.png"></image>
</view>
......@@ -14,6 +35,7 @@
<view>点击获取我的Vlog</view>
</navigator>
</view>
<view v-else ></view>
</view>
</template>
......@@ -21,86 +43,56 @@
export default {
data() {
return {
aa: 1,
value: 1,
show:false,
list: [{
label: '默认排序',
value: 1,
},
{
label: '距离优先',
value: 2,
},
{
label: '价格优先',
value: 3,
}
],
show:true,//显示默认页面
vlogList:[],//我的vlog集合
}
},
onReady() {
},
onLoad(res){
if(!res){
onLoad(){
setTimeout(res=>{
this.vlogList=[1]//模拟请求数据
if(this.vlogList.length>0){//如果有数据
this.show=false
uni.setNavigationBarColor({//动态更改导航条颜色
frontColor: '#ffffff',
backgroundColor: '#192033',
animation: {
duration: 400,
duration: 1,
timingFunc: 'easeIn'
}
})
uni.setBackgroundColor({backgroundColor:"#192033"});
}else{//数据为空
this.show=false
}
},1)
},
methods: {
query(e){
console.log(e)
},
}
}
</script>
<style lang="scss" scoped>
.content{
padding: 0 20rpx;
height: 100%;
width: 100%;
text-align: center;
// background-color: #192033;
.empty {
text-align: center;
padding-top: 30rpx;
.empty1 {
height: 200rpx;
background: linear-gradient(90deg, #ECF5FF 0%, #CEE5FF 100%);
line-height: 200rpx;
border-radius: 10rpx;
margin-bottom: 300rpx;
text {
font-weight: bold;
font-size: 32rpx;
float: left;
margin-left: 120rpx;
.content{height: 100%;width: 100%;text-align: center;
.noEmpty{color:#fff;height: 100%;width: 100%;background-color: #192033;padding: 0 20rpx;
.body{width: 100%;display: flex;flex-wrap: wrap;justify-content: space-between;margin-top: 30rpx;
.item{width: 49%;height: 250rpx;margin-top: 20rpx;
image{width: 100%;height: 80%;border-radius: 10rpx;}
text{font-weight: bold;}
}
image {
height: 180rpx;
width: 200rpx;
float: right;
margin-right: 50rpx;
}
}
.btnn {
display: inline-block;
font-size: 28rpx;
border-radius: 40rpx;
text-align: center;
background-color: #FFE600;
padding: 20rpx 40rpx;
margin: 30rpx 0;
font-weight: bold;
.empty {height: 100%;width: 100%;background-color: #fff;padding: 0 20rpx;text-align: center;padding-top: 30rpx;
.row {height: 200rpx;background: linear-gradient(90deg, #ECF5FF 0%, #CEE5FF 100%);line-height: 200rpx;border-radius: 10rpx;margin-bottom: 300rpx;
text {font-weight: bold;font-size: 32rpx;float: left;margin-left: 120rpx;}
image {height: 180rpx;width: 200rpx;float: right;margin-right: 50rpx;}
}
.btnn {display: inline-block;font-size: 28rpx;border-radius: 40rpx;background-color: #FFE600;padding: 20rpx 40rpx;margin: 30rpx 0;font-weight: bold;
}
}
}
......
<template>
<view class="content">
升级中.....
</view>
</template>
<script>
......
<template>
<view class="content">
<view class="top">
<dragImg :listData="imgList" @change="changeImgList" :columns="4" @click="clickItem" ></dragImg>
</view>
</view>
</template>
<script>
import dragImg from "../components/dragImg/dragImg.vue"
export default {
components:{
dragImg
},
data() {
return {
imgList: [{
images: '/static/images/swipe/1.png'
},
{
images: '/static/images/swipe/2.png'
},
{
images: '/static/images/swipe/3.png'
},
{
images: '/static/images/swipe/4.png'
},
{
images: '/static/images/swipe/5.png'
},
{
images: '/static/images/swipe/6.png'
},
{
images: '/static/images/swipe/7.png'
},
{
images: '/static/images/swipe/8.png'
},
{
images: '/static/images/swipe/9.png'
},
{
images: '/static/images/swipe/10.png'
},
{
images: '/static/images/swipe/1.png'
},
{
images: '/static/images/swipe/2.png'
},
{
images: '/static/images/swipe/3.png'
},
{
images: '/static/images/swipe/4.png'
},
{
images: '/static/images/swipe/5.png'
},
{
images: '/static/images/swipe/6.png'
},
{
images: '/static/images/swipe/7.png'
},
{
images: '/static/images/swipe/8.png'
},
{
images: '/static/images/swipe/9.png'
},
{
images: '/static/images/swipe/10.png'
},
{
images: '/static/images/swipe/1.png'
},
{
images: '/static/images/swipe/2.png'
},
{
images: '/static/images/swipe/3.png'
},
{
images: '/static/images/swipe/4.png'
},
{
images: '/static/images/swipe/5.png'
},
{
images: '/static/images/swipe/6.png'
},
{
images: '/static/images/swipe/7.png'
},
{
images: '/static/images/swipe/8.png'
}
]
}
},
onLoad() { //代替 vue 里面的 created
},
onReady() { //代替 vue 里面的 mounted
},
methods: {
changeImgList(res) {
console.log(res);
},
clickItem(res){
console.log(res);
}
}
}
</script>
<style lang="scss" scoped>
.content {
padding: 0 20rpx;
height: 100%;
width: 100%;
text-align: center;
position: relative;
}
</style>
<template>
<view class="content">
<view class="item">
<image src="https://cdn.uviewui.com/uview/swiper/1.jpg"></image>
<view class="title">
<text>我的VLOG照片</text>
<navigator url="../productDetails/productDetails" class="btnn" style="margin-top: 40rpx;">
<view>点击查看</view>
</navigator>
</view>
</view>
<block>
<view class="item">
<image src="https://cdn.uviewui.com/uview/swiper/1.jpg"></image>
<view class="title">
<text>欢乐集</text>
<view style="margin: 15rpx 0;">
<text class="noprice">¥88</text>
<text class="price">¥88</text>
</view>
<navigator url="../productDetails/productDetails" class="btnn">
<view>开始制作</view>
</navigator>
</view>
</view>
<view class="item">
<image src="https://cdn.uviewui.com/uview/swiper/1.jpg"></image>
<view class="title">
<text>心语摆台</text>
<view style="margin: 15rpx 0;">
<text class="noprice">¥88</text>
<text class="price">¥88</text>
</view>
<navigator url="../productDetails/productDetails" class="btnn">
<view>开始制作</view>
</navigator>
</view>
</view>
</block>
</view>
</template>
<script>
export default {
data() {
return {
}
},
onLoad(){//代替 vue 里面的 created
},
onReady() {//代替 vue 里面的 mounted
},
methods: {
}
}
</script>
<style lang="scss" scoped>
.content{padding: 0 20rpx;box-sizing: border-box;margin: 0 auto;
.item{display: flex;justify-content: space-between;padding: 20rpx 0;height: 220rpx;
image{width: 48%;height: 100%; border-radius: 10rpx;}
.title{width: 48%;height: 100%;text-align: center;font-weight: bold;
.btnn {display: inline-block;border-radius: 15rpx;background-color: #FFE600;font-weight: bold;padding: 15rpx 20rpx;}
}
}
}
.noprice{font-size: 24rpx; text-decoration: line-through;color: #ccc;}
.price{font-size: 32rpx;color: #DE6F26;margin-left: 10rpx;}
</style>
\ No newline at end of file
<template>
<view class="content">
<view class="item">
<image src="https://cdn.uviewui.com/uview/swiper/1.jpg"></image>
<view class="title" style="padding-top: 35rpx;">
<text>规格:24张</text>
<view style="margin-top: 30rpx;">
<text class="noprice">¥88</text>
<text class="price">¥88</text>
</view>
</view>
</view>
<view class="" style="display: flex;">
<u-section title="模板选择" :right="false" color="#303133" ></u-section><text style="font-size: 24rpx;color: #ccc;margin-left: 30rpx;">Template Selection</text>
</view>
<image src="../../../static/img/vlog/icon/fengexian.png" mode="" style="width: 100%;height: 15rpx;"></image>
<view style="display: flex;justify-content: space-around;margin-top: 20rpx;">
<button type="default" class="btnn" :class="current===0?'active':'noactive'" @click="current=0">封面</button>
<button type="default" class="btnn" :class="current===1?'active':'noactive'" @click="current=1">内页</button>
</view>
<view v-if="current===0">
<view class="cover">
<view class="coverItem" v-for="(item,index) in coverList" :key="index">
<image class="img" :src="item.url" mode="" @click="changeCover(item.url)"></image>
<u-icon v-if="cover===item.url" class="icon" name="checkmark-circle-fill" color="#2979FF" size="50"></u-icon>
</view>
</view>
</view>
<view class="" v-else>
<view class="cover">
<view class="coverItem" v-for="(item,index) in insidePagesList" :key="index">
<image class="img" :src="item.url" mode="" @click="changeinsidePages(item.url)"></image>
<u-icon v-if="insidePages===item.url" class="icon" name="checkmark-circle-fill" color="#2979FF" size="50"></u-icon>
</view>
</view>
</view>
<view style="display: flex;margin-top: 30rpx;">
<u-section title="详细参数" :right="false" color="#303133" ></u-section><text style="font-size: 24rpx;color: #ccc;margin-left: 30rpx;">Parameters</text>
</view>
<image src="../../../static/img/vlog/icon/fengexian.png" mode="" style="width: 100%;height: 15rpx;"></image>
<view class="parameter">
<view class="parameterItem">
<view>产品品牌:</view>
<view>产品名称:</view>
<view>产品规格:</view>
<view>内页数量:</view>
<view>入册数量:</view>
<view>内页尺寸:</view>
</view>
<view class="parameterItem">
<view>相册工艺:</view>
<view>产品封面:</view>
<view>内页材质:</view>
<view>装订方式:</view>
<view>产品配送:</view>
</view>
</view>
<view class="bottom" @click="beginMaking">
上传照片制作
</view>
</view>
</template>
<script>
export default {
data() {
return {
current: 0,//封面内页切换
cover:"",//封面
coverList:[
{url:"https://cdn.uviewui.com/uview/swiper/1.jpg"},
{url:"https://cdn.uviewui.com/uview/swiper/2.jpg"},
{url:"https://cdn.uviewui.com/uview/swiper/3.jpg"},
],//封面列表
insidePages:"",//内页
insidePagesList:[
{url:"https://cdn.uviewui.com/uview/swiper/1.jpg"},
{url:"https://cdn.uviewui.com/uview/swiper/2.jpg"},
{url:"https://cdn.uviewui.com/uview/swiper/3.jpg"}
],//内页列表
list:[
{name:"封面"},
{name:"内页"}
],
}
},
onLoad(){//代替 vue 里面的 created
uni.setNavigationBarTitle({title:"欢乐集"})
},
onReady() {//代替 vue 里面的 mounted
},
methods: {
changeCover(url){//选择封面
this.cover=url
},
changeinsidePages(url){//选择内页
this.insidePages=url
},
beginMaking(){
if(this.cover===""){
return uni.showModal({title: '提示',content: '请选择封面',});
}
if(this.insidePages===""){
return uni.showModal({title: '提示',content: '请选择内页',});
}
this.$u.route({
url:'pages/vlog/uploadPictures/uploadPictures',
params:{
cover:this.cover,
insidePages:this.insidePages
}
})
}
}
}
</script>
<style lang="scss" scoped>
.content{padding: 0 20rpx;box-sizing: border-box;margin-bottom:100rpx;text-align: center;
.item{display: flex;justify-content: space-between;padding: 30rpx 20rpx 20rpx 20rpx;
image{width: 48%;height: 220rpx; border-radius: 10rpx;}
.title{width: 48%;height: 220rpx;padding-top: 10rpx;margin-top: 20rpx;}
}
.noprice{font-size: 24rpx; text-decoration: line-through;color: #ccc;}
.price{font-size: 32rpx;color: #DE6F26;margin-left: 10rpx;}
.cover{display: flex;flex-wrap: wrap;justify-content: space-between;
.coverItem{width: 48.5%;height: 200rpx; position: relative;padding-top: 20rpx;
.img{width: 100%;height: 100%;border-radius: 10rpx;}
.icon{position: absolute;top: 25rpx;right: 5rpx;}
}
}
.parameter{display: flex;justify-content: space-between;
.parameterItem{width: 50%;text-align: left;color: #ccc;
view{margin: 10rpx 0;}
}
}
.bottom{position: fixed;bottom: 0;width: 100%;height: 100rpx;background-color:#FFE600;right: 0;line-height: 100rpx;font-size: 32rpx;font-weight: bold;border-top-left-radius: 10rpx;border-top-right-radius: 10rpx;}
}
.btnn{background-color: #ECF4FF;width: 25%;height: 60rpx;line-height: 60rpx;font-size: 26rpx;}
.active{background-color: #2979FF;color: #fff;}
.noactive{color: #2979FF;}
</style>
\ No newline at end of file
<template>
<view class="content">
<view class="cropper-wrapper" :style="{ height: cropperOpt.height + 'px' }">
<canvas
class="cropper"
:disable-scroll="true"
@touchstart="touchStart"
@touchmove="touchMove"
@touchend="touchEnd"
:style="{ width: cropperOpt.width, height: cropperOpt.height, backgroundColor: 'rgba(0, 0, 0, 0.8)' }"
canvas-id="cropper"
id="cropper"
></canvas>
<canvas
class="cropper"
:disable-scroll="true"
:style="{
position: 'fixed',
top: `-${cropperOpt.width * cropperOpt.pixelRatio}px`,
left: `-${cropperOpt.height * cropperOpt.pixelRatio}px`,
width: `${cropperOpt.width * cropperOpt.pixelRatio}px`,
height: `${cropperOpt.height * cropperOpt.pixelRatio}`
}"
canvas-id="targetId"
id="targetId"
></canvas>
</view>
<view class="cropper-buttons safe-area-padding" :style="{ height: bottomNavHeight + 'px' }">
<!-- #ifdef H5 -->
<view class="upload" @tap="uploadTap">选择图片</view>
<!-- #endif -->
<!-- #ifndef H5 -->
<view class="upload" @tap="uploadTap">重新选择</view>
<!-- #endif -->
<view class="getCropperImage" @tap="getCropperImage(false)">确定</view>
</view>
</view>
</template>
<script>
import WeCropper from './weCropper.js';
export default {
props: {
// 裁剪矩形框的样式,其中可包含的属性为lineWidth-边框宽度(单位rpx),color: 边框颜色,
// mask-遮罩颜色,一般设置为一个rgba的透明度,如"rgba(0, 0, 0, 0.35)"
boundStyle: {
type: Object,
default() {
return {
lineWidth: 4,
borderColor: 'rgb(245, 245, 245)',
mask: 'rgba(0, 0, 0, 0.35)'
};
}
}
// // 裁剪框宽度,单位rpx
// rectWidth: {
// type: [String, Number],
// default: 400
// },
// // 裁剪框高度,单位rpx
// rectHeight: {
// type: [String, Number],
// default: 400
// },
// // 输出图片宽度,单位rpx
// destWidth: {
// type: [String, Number],
// default: 400
// },
// // 输出图片高度,单位rpx
// destHeight: {
// type: [String, Number],
// default: 400
// },
// // 输出的图片类型,如果发现裁剪的图片很大,可能是因为设置为了"png",改成"jpg"即可
// fileType: {
// type: String,
// default: 'jpg',
// },
// // 生成的图片质量
// // H5上无效,目前不考虑使用此参数
// quality: {
// type: [Number, String],
// default: 1
// }
},
data() {
return {
// 底部导航的高度
bottomNavHeight: 50,
originWidth: 200,
width: 0,
height: 0,
cropperOpt: {
id: 'cropper',
targetId: 'targetCropper',
pixelRatio: 1,
width: 0,
height: 0,
scale: 2.5,
zoom: 8,
cut: {
x: (this.width - this.originWidth) / 2,
y: (this.height - this.originWidth) / 2,
width: this.originWidth,
height: this.originWidth
},
boundStyle: {
lineWidth: uni.upx2px(this.boundStyle.lineWidth),
mask: this.boundStyle.mask,
color: this.boundStyle.borderColor
}
},
// 裁剪框和输出图片的尺寸,高度默认等于宽度
// 输出图片宽度,单位px
destWidth: 200,
// 输出图片高度,单位px
destHeight:200,
// 裁剪框宽度,单位px
rectWidth: 200,
// 裁剪框高度,单位px
rectHeight:200,
// 输出的图片类型,如果'png'类型发现裁剪的图片太大,改成"jpg"即可
fileType: 'jpg',
src: '', // 选择的图片路径,用于在点击确定时,判断是否选择了图片
};
},
onLoad(option) {
let rectInfo = uni.getSystemInfoSync();
this.width = rectInfo.windowWidth;
this.height = rectInfo.windowHeight - this.bottomNavHeight;
this.cropperOpt.width = this.width;
this.cropperOpt.height = this.height;
this.cropperOpt.pixelRatio = rectInfo.pixelRatio;
if (option.destWidth) this.destWidth = option.destWidth;
if (option.destHeight) this.destHeight = option.destHeight;
if (option.rectWidth && option.rectHeight) {
let rectWidth = option.rectWidth*1;
let rectHeight = option.rectHeight*1;
this.cropperOpt.cut = {
x: (this.width - rectWidth) / 2,
y: (this.height - rectHeight) / 2,
width: rectWidth,
height: rectHeight
};
}
this.rectWidth = option.rectWidth;
this.rectHeight = option.rectHeight;
if (option.fileType) this.fileType = option.fileType;
// 初始化
this.cropper = new WeCropper(this.cropperOpt)
.on('ready', ctx => {
// wecropper is ready for work!
})
.on('beforeImageLoad', ctx => {
// before picture loaded, i can do something
})
.on('imageLoad', ctx => {
// picture loaded
})
.on('beforeDraw', (ctx, instance) => {
// before canvas draw,i can do something
});
// 设置导航栏样式,以免用户在page.json中没有设置为黑色背景
uni.setNavigationBarColor({
frontColor: '#ffffff',
backgroundColor: '#000000'
});
uni.chooseImage({
count: 1, // 默认9
sizeType: ['original'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: res => {
this.src = res.tempFilePaths[0];
// 获取裁剪图片资源后,给data添加src属性及其值
this.cropper.pushOrign(this.src);
}
});
},
methods: {
touchStart(e) {
this.cropper.touchStart(e);
},
touchMove(e) {
this.cropper.touchMove(e);
},
touchEnd(e) {
this.cropper.touchEnd(e);
},
getCropperImage(isPre = false) {
if(!this.src) return this.$u.toast('请先选择图片再裁剪');
let cropper_opt = {
destHeight: Number(this.destWidth), // uni.canvasToTempFilePath要求这些参数为数值
destWidth: Number(this.destHeight),
fileType: this.fileType
};
this.cropper.getCropperImage(cropper_opt, (path, err) => {
if (err) {
uni.showModal({
title: '温馨提示',
content: err.message
});
} else {
if (isPre) {
uni.previewImage({
current: '', // 当前显示图片的 http 链接
urls: [path] // 需要预览的图片 http 链接列表
});
} else {
uni.$emit('uAvatarCropper', path);
this.$u.route({
type: 'back'
});
}
}
});
},
uploadTap() {
const self = this;
uni.chooseImage({
count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: (res) => {
self.src = res.tempFilePaths[0];
// 获取裁剪图片资源后,给data添加src属性及其值
self.cropper.pushOrign(this.src);
}
});
}
}
};
</script>
<style scoped lang="scss">
@import '../../../uview-ui/libs/css/style.components.scss';
.content {
background: rgba(255, 255, 255, 1);
}
.cropper {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 11;
}
.cropper-buttons {
background-color: #000000;
color: #eee;
}
.cropper-wrapper {
position: relative;
@include vue-flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
width: 100%;
background-color: #000;
}
.cropper-buttons {
width: 100vw;
@include vue-flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
position: fixed;
bottom: 0;
left: 0;
font-size: 28rpx;
}
.cropper-buttons .upload,
.cropper-buttons .getCropperImage {
width: 50%;
text-align: center;
}
.cropper-buttons .upload {
text-align: left;
padding-left: 50rpx;
}
.cropper-buttons .getCropperImage {
text-align: right;
padding-right: 50rpx;
}
</style>
/**
* we-cropper v1.3.9
* (c) 2020 dlhandsome
* @license MIT
*/
(function(global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global.WeCropper = factory());
}(this, (function() {
'use strict';
var device = void 0;
var TOUCH_STATE = ['touchstarted', 'touchmoved', 'touchended'];
function firstLetterUpper(str) {
return str.charAt(0).toUpperCase() + str.slice(1)
}
function setTouchState(instance) {
var arg = [],
len = arguments.length - 1;
while (len-- > 0) arg[len] = arguments[len + 1];
TOUCH_STATE.forEach(function(key, i) {
if (arg[i] !== undefined) {
instance[key] = arg[i];
}
});
}
function validator(instance, o) {
Object.defineProperties(instance, o);
}
function getDevice() {
if (!device) {
device = uni.getSystemInfoSync();
}
return device
}
var tmp = {};
var ref = getDevice();
var pixelRatio = ref.pixelRatio;
var DEFAULT = {
id: {
default: 'cropper',
get: function get() {
return tmp.id
},
set: function set(value) {
if (typeof(value) !== 'string') {
console.error(("id:" + value + " is invalid"));
}
tmp.id = value;
}
},
width: {
default: 750,
get: function get() {
return tmp.width
},
set: function set(value) {
if (typeof(value) !== 'number') {
console.error(("width:" + value + " is invalid"));
}
tmp.width = value;
}
},
height: {
default: 750,
get: function get() {
return tmp.height
},
set: function set(value) {
if (typeof(value) !== 'number') {
console.error(("height:" + value + " is invalid"));
}
tmp.height = value;
}
},
pixelRatio: {
default: pixelRatio,
get: function get() {
return tmp.pixelRatio
},
set: function set(value) {
if (typeof(value) !== 'number') {
console.error(("pixelRatio:" + value + " is invalid"));
}
tmp.pixelRatio = value;
}
},
scale: {
default: 2.5,
get: function get() {
return tmp.scale
},
set: function set(value) {
if (typeof(value) !== 'number') {
console.error(("scale:" + value + " is invalid"));
}
tmp.scale = value;
}
},
zoom: {
default: 5,
get: function get() {
return tmp.zoom
},
set: function set(value) {
if (typeof(value) !== 'number') {
console.error(("zoom:" + value + " is invalid"));
} else if (value < 0 || value > 10) {
console.error("zoom should be ranged in 0 ~ 10");
}
tmp.zoom = value;
}
},
src: {
default: '',
get: function get() {
return tmp.src
},
set: function set(value) {
if (typeof(value) !== 'string') {
console.error(("src:" + value + " is invalid"));
}
tmp.src = value;
}
},
cut: {
default: {},
get: function get() {
return tmp.cut
},
set: function set(value) {
if (typeof(value) !== 'object') {
console.error(("cut:" + value + " is invalid"));
}
tmp.cut = value;
}
},
boundStyle: {
default: {},
get: function get() {
return tmp.boundStyle
},
set: function set(value) {
if (typeof(value) !== 'object') {
console.error(("boundStyle:" + value + " is invalid"));
}
tmp.boundStyle = value;
}
},
onReady: {
default: null,
get: function get() {
return tmp.ready
},
set: function set(value) {
tmp.ready = value;
}
},
onBeforeImageLoad: {
default: null,
get: function get() {
return tmp.beforeImageLoad
},
set: function set(value) {
tmp.beforeImageLoad = value;
}
},
onImageLoad: {
default: null,
get: function get() {
return tmp.imageLoad
},
set: function set(value) {
tmp.imageLoad = value;
}
},
onBeforeDraw: {
default: null,
get: function get() {
return tmp.beforeDraw
},
set: function set(value) {
tmp.beforeDraw = value;
}
}
};
var ref$1 = getDevice();
var windowWidth = ref$1.windowWidth;
function prepare() {
var self = this;
// v1.4.0 版本中将不再自动绑定we-cropper实例
self.attachPage = function() {
var pages = getCurrentPages();
// 获取到当前page上下文
var pageContext = pages[pages.length - 1];
// 把this依附在Page上下文的wecropper属性上,便于在page钩子函数中访问
Object.defineProperty(pageContext, 'wecropper', {
get: function get() {
console.warn(
'Instance will not be automatically bound to the page after v1.4.0\n\n' +
'Please use a custom instance name instead\n\n' +
'Example: \n' +
'this.mycropper = new WeCropper(options)\n\n' +
'// ...\n' +
'this.mycropper.getCropperImage()'
);
return self
},
configurable: true
});
};
self.createCtx = function() {
var id = self.id;
var targetId = self.targetId;
if (id) {
self.ctx = self.ctx || uni.createCanvasContext(id);
self.targetCtx = self.targetCtx || uni.createCanvasContext(targetId);
} else {
console.error("constructor: create canvas context failed, 'id' must be valuable");
}
};
self.deviceRadio = windowWidth / 750;
}
var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !==
'undefined' ? self : {};
function createCommonjsModule(fn, module) {
return module = {
exports: {}
}, fn(module, module.exports), module.exports;
}
var tools = createCommonjsModule(function(module, exports) {
/**
* String type check
*/
exports.isStr = function(v) {
return typeof v === 'string';
};
/**
* Number type check
*/
exports.isNum = function(v) {
return typeof v === 'number';
};
/**
* Array type check
*/
exports.isArr = Array.isArray;
/**
* undefined type check
*/
exports.isUndef = function(v) {
return v === undefined;
};
exports.isTrue = function(v) {
return v === true;
};
exports.isFalse = function(v) {
return v === false;
};
/**
* Function type check
*/
exports.isFunc = function(v) {
return typeof v === 'function';
};
/**
* Quick object check - this is primarily used to tell
* Objects from primitive values when we know the value
* is a JSON-compliant type.
*/
exports.isObj = exports.isObject = function(obj) {
return obj !== null && typeof obj === 'object'
};
/**
* Strict object type check. Only returns true
* for plain JavaScript objects.
*/
var _toString = Object.prototype.toString;
exports.isPlainObject = function(obj) {
return _toString.call(obj) === '[object Object]'
};
/**
* Check whether the object has the property.
*/
var hasOwnProperty = Object.prototype.hasOwnProperty;
exports.hasOwn = function(obj, key) {
return hasOwnProperty.call(obj, key)
};
/**
* Perform no operation.
* Stubbing args to make Flow happy without leaving useless transpiled code
* with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/)
*/
exports.noop = function(a, b, c) {};
/**
* Check if val is a valid array index.
*/
exports.isValidArrayIndex = function(val) {
var n = parseFloat(String(val));
return n >= 0 && Math.floor(n) === n && isFinite(val)
};
});
var tools_7 = tools.isFunc;
var tools_10 = tools.isPlainObject;
var EVENT_TYPE = ['ready', 'beforeImageLoad', 'beforeDraw', 'imageLoad'];
function observer() {
var self = this;
self.on = function(event, fn) {
if (EVENT_TYPE.indexOf(event) > -1) {
if (tools_7(fn)) {
event === 'ready' ?
fn(self) :
self[("on" + (firstLetterUpper(event)))] = fn;
}
} else {
console.error(("event: " + event + " is invalid"));
}
return self
};
}
function wxPromise(fn) {
return function(obj) {
var args = [],
len = arguments.length - 1;
while (len-- > 0) args[len] = arguments[len + 1];
if (obj === void 0) obj = {};
return new Promise(function(resolve, reject) {
obj.success = function(res) {
resolve(res);
};
obj.fail = function(err) {
reject(err);
};
fn.apply(void 0, [obj].concat(args));
})
}
}
function draw(ctx, reserve) {
if (reserve === void 0) reserve = false;
return new Promise(function(resolve) {
ctx.draw(reserve, resolve);
})
}
var getImageInfo = wxPromise(uni.getImageInfo);
var canvasToTempFilePath = wxPromise(uni.canvasToTempFilePath);
var base64 = createCommonjsModule(function(module, exports) {
/*! http://mths.be/base64 v0.1.0 by @mathias | MIT license */
(function(root) {
// Detect free variables `exports`.
var freeExports = 'object' == 'object' && exports;
// Detect free variable `module`.
var freeModule = 'object' == 'object' && module &&
module.exports == freeExports && module;
// Detect free variable `global`, from Node.js or Browserified code, and use
// it as `root`.
var freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal;
if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {
root = freeGlobal;
}
/*--------------------------------------------------------------------------*/
var InvalidCharacterError = function(message) {
this.message = message;
};
InvalidCharacterError.prototype = new Error;
InvalidCharacterError.prototype.name = 'InvalidCharacterError';
var error = function(message) {
// Note: the error messages used throughout this file match those used by
// the native `atob`/`btoa` implementation in Chromium.
throw new InvalidCharacterError(message);
};
var TABLE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
// http://whatwg.org/html/common-microsyntaxes.html#space-character
var REGEX_SPACE_CHARACTERS = /[\t\n\f\r ]/g;
// `decode` is designed to be fully compatible with `atob` as described in the
// HTML Standard. http://whatwg.org/html/webappapis.html#dom-windowbase64-atob
// The optimized base64-decoding algorithm used is based on @atk’s excellent
// implementation. https://gist.github.com/atk/1020396
var decode = function(input) {
input = String(input)
.replace(REGEX_SPACE_CHARACTERS, '');
var length = input.length;
if (length % 4 == 0) {
input = input.replace(/==?$/, '');
length = input.length;
}
if (
length % 4 == 1 ||
// http://whatwg.org/C#alphanumeric-ascii-characters
/[^+a-zA-Z0-9/]/.test(input)
) {
error(
'Invalid character: the string to be decoded is not correctly encoded.'
);
}
var bitCounter = 0;
var bitStorage;
var buffer;
var output = '';
var position = -1;
while (++position < length) {
buffer = TABLE.indexOf(input.charAt(position));
bitStorage = bitCounter % 4 ? bitStorage * 64 + buffer : buffer;
// Unless this is the first of a group of 4 characters…
if (bitCounter++ % 4) {
// …convert the first 8 bits to a single ASCII character.
output += String.fromCharCode(
0xFF & bitStorage >> (-2 * bitCounter & 6)
);
}
}
return output;
};
// `encode` is designed to be fully compatible with `btoa` as described in the
// HTML Standard: http://whatwg.org/html/webappapis.html#dom-windowbase64-btoa
var encode = function(input) {
input = String(input);
if (/[^\0-\xFF]/.test(input)) {
// Note: no need to special-case astral symbols here, as surrogates are
// matched, and the input is supposed to only contain ASCII anyway.
error(
'The string to be encoded contains characters outside of the ' +
'Latin1 range.'
);
}
var padding = input.length % 3;
var output = '';
var position = -1;
var a;
var b;
var c;
var buffer;
// Make sure any padding is handled outside of the loop.
var length = input.length - padding;
while (++position < length) {
// Read three bytes, i.e. 24 bits.
a = input.charCodeAt(position) << 16;
b = input.charCodeAt(++position) << 8;
c = input.charCodeAt(++position);
buffer = a + b + c;
// Turn the 24 bits into four chunks of 6 bits each, and append the
// matching character for each of them to the output.
output += (
TABLE.charAt(buffer >> 18 & 0x3F) +
TABLE.charAt(buffer >> 12 & 0x3F) +
TABLE.charAt(buffer >> 6 & 0x3F) +
TABLE.charAt(buffer & 0x3F)
);
}
if (padding == 2) {
a = input.charCodeAt(position) << 8;
b = input.charCodeAt(++position);
buffer = a + b;
output += (
TABLE.charAt(buffer >> 10) +
TABLE.charAt((buffer >> 4) & 0x3F) +
TABLE.charAt((buffer << 2) & 0x3F) +
'='
);
} else if (padding == 1) {
buffer = input.charCodeAt(position);
output += (
TABLE.charAt(buffer >> 2) +
TABLE.charAt((buffer << 4) & 0x3F) +
'=='
);
}
return output;
};
var base64 = {
'encode': encode,
'decode': decode,
'version': '0.1.0'
};
// Some AMD build optimizers, like r.js, check for specific condition patterns
// like the following:
if (
typeof undefined == 'function' &&
typeof undefined.amd == 'object' &&
undefined.amd
) {
undefined(function() {
return base64;
});
} else if (freeExports && !freeExports.nodeType) {
if (freeModule) { // in Node.js or RingoJS v0.8.0+
freeModule.exports = base64;
} else { // in Narwhal or RingoJS v0.7.0-
for (var key in base64) {
base64.hasOwnProperty(key) && (freeExports[key] = base64[key]);
}
}
} else { // in Rhino or a web browser
root.base64 = base64;
}
}(commonjsGlobal));
});
function makeURI(strData, type) {
return 'data:' + type + ';base64,' + strData
}
function fixType(type) {
type = type.toLowerCase().replace(/jpg/i, 'jpeg');
var r = type.match(/png|jpeg|bmp|gif/)[0];
return 'image/' + r
}
function encodeData(data) {
var str = '';
if (typeof data === 'string') {
str = data;
} else {
for (var i = 0; i < data.length; i++) {
str += String.fromCharCode(data[i]);
}
}
return base64.encode(str)
}
/**
* 获取图像区域隐含的像素数据
* @param canvasId canvas标识
* @param x 将要被提取的图像数据矩形区域的左上角 x 坐标
* @param y 将要被提取的图像数据矩形区域的左上角 y 坐标
* @param width 将要被提取的图像数据矩形区域的宽度
* @param height 将要被提取的图像数据矩形区域的高度
* @param done 完成回调
*/
function getImageData(canvasId, x, y, width, height, done) {
uni.canvasGetImageData({
canvasId: canvasId,
x: x,
y: y,
width: width,
height: height,
success: function success(res) {
done(res, null);
},
fail: function fail(res) {
done(null, res);
}
});
}
/**
* 生成bmp格式图片
* 按照规则生成图片响应头和响应体
* @param oData 用来描述 canvas 区域隐含的像素数据 { data, width, height } = oData
* @returns {*} base64字符串
*/
function genBitmapImage(oData) {
//
// BITMAPFILEHEADER: http://msdn.microsoft.com/en-us/library/windows/desktop/dd183374(v=vs.85).aspx
// BITMAPINFOHEADER: http://msdn.microsoft.com/en-us/library/dd183376.aspx
//
var biWidth = oData.width;
var biHeight = oData.height;
var biSizeImage = biWidth * biHeight * 3;
var bfSize = biSizeImage + 54; // total header size = 54 bytes
//
// typedef struct tagBITMAPFILEHEADER {
// WORD bfType;
// DWORD bfSize;
// WORD bfReserved1;
// WORD bfReserved2;
// DWORD bfOffBits;
// } BITMAPFILEHEADER;
//
var BITMAPFILEHEADER = [
// WORD bfType -- The file type signature; must be "BM"
0x42, 0x4D,
// DWORD bfSize -- The size, in bytes, of the bitmap file
bfSize & 0xff, bfSize >> 8 & 0xff, bfSize >> 16 & 0xff, bfSize >> 24 & 0xff,
// WORD bfReserved1 -- Reserved; must be zero
0, 0,
// WORD bfReserved2 -- Reserved; must be zero
0, 0,
// DWORD bfOffBits -- The offset, in bytes, from the beginning of the BITMAPFILEHEADER structure to the bitmap bits.
54, 0, 0, 0
];
//
// typedef struct tagBITMAPINFOHEADER {
// DWORD biSize;
// LONG biWidth;
// LONG biHeight;
// WORD biPlanes;
// WORD biBitCount;
// DWORD biCompression;
// DWORD biSizeImage;
// LONG biXPelsPerMeter;
// LONG biYPelsPerMeter;
// DWORD biClrUsed;
// DWORD biClrImportant;
// } BITMAPINFOHEADER, *PBITMAPINFOHEADER;
//
var BITMAPINFOHEADER = [
// DWORD biSize -- The number of bytes required by the structure
40, 0, 0, 0,
// LONG biWidth -- The width of the bitmap, in pixels
biWidth & 0xff, biWidth >> 8 & 0xff, biWidth >> 16 & 0xff, biWidth >> 24 & 0xff,
// LONG biHeight -- The height of the bitmap, in pixels
biHeight & 0xff, biHeight >> 8 & 0xff, biHeight >> 16 & 0xff, biHeight >> 24 & 0xff,
// WORD biPlanes -- The number of planes for the target device. This value must be set to 1
1, 0,
// WORD biBitCount -- The number of bits-per-pixel, 24 bits-per-pixel -- the bitmap
// has a maximum of 2^24 colors (16777216, Truecolor)
24, 0,
// DWORD biCompression -- The type of compression, BI_RGB (code 0) -- uncompressed
0, 0, 0, 0,
// DWORD biSizeImage -- The size, in bytes, of the image. This may be set to zero for BI_RGB bitmaps
biSizeImage & 0xff, biSizeImage >> 8 & 0xff, biSizeImage >> 16 & 0xff, biSizeImage >> 24 & 0xff,
// LONG biXPelsPerMeter, unused
0, 0, 0, 0,
// LONG biYPelsPerMeter, unused
0, 0, 0, 0,
// DWORD biClrUsed, the number of color indexes of palette, unused
0, 0, 0, 0,
// DWORD biClrImportant, unused
0, 0, 0, 0
];
var iPadding = (4 - ((biWidth * 3) % 4)) % 4;
var aImgData = oData.data;
var strPixelData = '';
var biWidth4 = biWidth << 2;
var y = biHeight;
var fromCharCode = String.fromCharCode;
do {
var iOffsetY = biWidth4 * (y - 1);
var strPixelRow = '';
for (var x = 0; x < biWidth; x++) {
var iOffsetX = x << 2;
strPixelRow += fromCharCode(aImgData[iOffsetY + iOffsetX + 2]) +
fromCharCode(aImgData[iOffsetY + iOffsetX + 1]) +
fromCharCode(aImgData[iOffsetY + iOffsetX]);
}
for (var c = 0; c < iPadding; c++) {
strPixelRow += String.fromCharCode(0);
}
strPixelData += strPixelRow;
} while (--y)
var strEncoded = encodeData(BITMAPFILEHEADER.concat(BITMAPINFOHEADER)) + encodeData(strPixelData);
return strEncoded
}
/**
* 转换为图片base64
* @param canvasId canvas标识
* @param x 将要被提取的图像数据矩形区域的左上角 x 坐标
* @param y 将要被提取的图像数据矩形区域的左上角 y 坐标
* @param width 将要被提取的图像数据矩形区域的宽度
* @param height 将要被提取的图像数据矩形区域的高度
* @param type 转换图片类型
* @param done 完成回调
*/
function convertToImage(canvasId, x, y, width, height, type, done) {
if (done === void 0) done = function() {};
if (type === undefined) {
type = 'png';
}
type = fixType(type);
if (/bmp/.test(type)) {
getImageData(canvasId, x, y, width, height, function(data, err) {
var strData = genBitmapImage(data);
tools_7(done) && done(makeURI(strData, 'image/' + type), err);
});
} else {
console.error('暂不支持生成\'' + type + '\'类型的base64图片');
}
}
var CanvasToBase64 = {
convertToImage: convertToImage,
// convertToPNG: function (width, height, done) {
// return convertToImage(width, height, 'png', done)
// },
// convertToJPEG: function (width, height, done) {
// return convertToImage(width, height, 'jpeg', done)
// },
// convertToGIF: function (width, height, done) {
// return convertToImage(width, height, 'gif', done)
// },
convertToBMP: function(ref, done) {
if (ref === void 0) ref = {};
var canvasId = ref.canvasId;
var x = ref.x;
var y = ref.y;
var width = ref.width;
var height = ref.height;
if (done === void 0) done = function() {};
return convertToImage(canvasId, x, y, width, height, 'bmp', done)
}
};
function methods() {
var self = this;
var boundWidth = self.width; // 裁剪框默认宽度,即整个画布宽度
var boundHeight = self.height; // 裁剪框默认高度,即整个画布高度
var id = self.id;
var targetId = self.targetId;
var pixelRatio = self.pixelRatio;
var ref = self.cut;
var x = ref.x;
if (x === void 0) x = 0;
var y = ref.y;
if (y === void 0) y = 0;
var width = ref.width;
if (width === void 0) width = boundWidth;
var height = ref.height;
if (height === void 0) height = boundHeight;
self.updateCanvas = function(done) {
if (self.croperTarget) {
// 画布绘制图片
self.ctx.drawImage(
self.croperTarget,
self.imgLeft,
self.imgTop,
self.scaleWidth,
self.scaleHeight
);
}
tools_7(self.onBeforeDraw) && self.onBeforeDraw(self.ctx, self);
self.setBoundStyle(self.boundStyle); // 设置边界样式
self.ctx.draw(false, done);
return self
};
self.pushOrigin = self.pushOrign = function(src) {
self.src = src;
tools_7(self.onBeforeImageLoad) && self.onBeforeImageLoad(self.ctx, self);
return getImageInfo({
src: src
})
.then(function(res) {
var innerAspectRadio = res.width / res.height;
var customAspectRadio = width / height;
self.croperTarget = res.path;
if (innerAspectRadio < customAspectRadio) {
self.rectX = x;
self.baseWidth = width;
self.baseHeight = width / innerAspectRadio;
self.rectY = y - Math.abs((height - self.baseHeight) / 2);
} else {
self.rectY = y;
self.baseWidth = height * innerAspectRadio;
self.baseHeight = height;
self.rectX = x - Math.abs((width - self.baseWidth) / 2);
}
self.imgLeft = self.rectX;
self.imgTop = self.rectY;
self.scaleWidth = self.baseWidth;
self.scaleHeight = self.baseHeight;
self.update();
return new Promise(function(resolve) {
self.updateCanvas(resolve);
})
})
.then(function() {
tools_7(self.onImageLoad) && self.onImageLoad(self.ctx, self);
})
};
self.removeImage = function() {
self.src = '';
self.croperTarget = '';
return draw(self.ctx)
};
self.getCropperBase64 = function(done) {
if (done === void 0) done = function() {};
CanvasToBase64.convertToBMP({
canvasId: id,
x: x,
y: y,
width: width,
height: height
}, done);
};
self.getCropperImage = function(opt, fn) {
var customOptions = opt;
var canvasOptions = {
canvasId: id,
x: x,
y: y,
width: width,
height: height
};
var task = function() {
return Promise.resolve();
};
if (
tools_10(customOptions) &&
customOptions.original
) {
// original mode
task = function() {
self.targetCtx.drawImage(
self.croperTarget,
self.imgLeft * pixelRatio,
self.imgTop * pixelRatio,
self.scaleWidth * pixelRatio,
self.scaleHeight * pixelRatio
);
canvasOptions = {
canvasId: targetId,
x: x * pixelRatio,
y: y * pixelRatio,
width: width * pixelRatio,
height: height * pixelRatio
};
return draw(self.targetCtx)
};
}
return task()
.then(function() {
if (tools_10(customOptions)) {
canvasOptions = Object.assign({}, canvasOptions, customOptions);
}
if (tools_7(customOptions)) {
fn = customOptions;
}
var arg = canvasOptions.componentContext ?
[canvasOptions, canvasOptions.componentContext] :
[canvasOptions];
return canvasToTempFilePath.apply(null, arg)
})
.then(function(res) {
var tempFilePath = res.tempFilePath;
return tools_7(fn) ?
fn.call(self, tempFilePath, null) :
tempFilePath
})
.catch(function(err) {
if (tools_7(fn)) {
fn.call(self, null, err);
} else {
throw err
}
})
};
}
/**
* 获取最新缩放值
* @param oldScale 上一次触摸结束后的缩放值
* @param oldDistance 上一次触摸结束后的双指距离
* @param zoom 缩放系数
* @param touch0 第一指touch对象
* @param touch1 第二指touch对象
* @returns {*}
*/
var getNewScale = function(oldScale, oldDistance, zoom, touch0, touch1) {
var xMove, yMove, newDistance;
// 计算二指最新距离
xMove = Math.round(touch1.x - touch0.x);
yMove = Math.round(touch1.y - touch0.y);
newDistance = Math.round(Math.sqrt(xMove * xMove + yMove * yMove));
return oldScale + 0.001 * zoom * (newDistance - oldDistance)
};
function update() {
var self = this;
if (!self.src) {
return
}
self.__oneTouchStart = function(touch) {
self.touchX0 = Math.round(touch.x);
self.touchY0 = Math.round(touch.y);
};
self.__oneTouchMove = function(touch) {
var xMove, yMove;
// 计算单指移动的距离
if (self.touchended) {
return self.updateCanvas()
}
xMove = Math.round(touch.x - self.touchX0);
yMove = Math.round(touch.y - self.touchY0);
var imgLeft = Math.round(self.rectX + xMove);
var imgTop = Math.round(self.rectY + yMove);
self.outsideBound(imgLeft, imgTop);
self.updateCanvas();
};
self.__twoTouchStart = function(touch0, touch1) {
var xMove, yMove, oldDistance;
self.touchX1 = Math.round(self.rectX + self.scaleWidth / 2);
self.touchY1 = Math.round(self.rectY + self.scaleHeight / 2);
// 计算两指距离
xMove = Math.round(touch1.x - touch0.x);
yMove = Math.round(touch1.y - touch0.y);
oldDistance = Math.round(Math.sqrt(xMove * xMove + yMove * yMove));
self.oldDistance = oldDistance;
};
self.__twoTouchMove = function(touch0, touch1) {
var oldScale = self.oldScale;
var oldDistance = self.oldDistance;
var scale = self.scale;
var zoom = self.zoom;
self.newScale = getNewScale(oldScale, oldDistance, zoom, touch0, touch1);
// 设定缩放范围
self.newScale <= 1 && (self.newScale = 1);
self.newScale >= scale && (self.newScale = scale);
self.scaleWidth = Math.round(self.newScale * self.baseWidth);
self.scaleHeight = Math.round(self.newScale * self.baseHeight);
var imgLeft = Math.round(self.touchX1 - self.scaleWidth / 2);
var imgTop = Math.round(self.touchY1 - self.scaleHeight / 2);
self.outsideBound(imgLeft, imgTop);
self.updateCanvas();
};
self.__xtouchEnd = function() {
self.oldScale = self.newScale;
self.rectX = self.imgLeft;
self.rectY = self.imgTop;
};
}
var handle = {
// 图片手势初始监测
touchStart: function touchStart(e) {
var self = this;
var ref = e.touches;
var touch0 = ref[0];
var touch1 = ref[1];
if (!self.src) {
return
}
setTouchState(self, true, null, null);
// 计算第一个触摸点的位置,并参照改点进行缩放
self.__oneTouchStart(touch0);
// 两指手势触发
if (e.touches.length >= 2) {
self.__twoTouchStart(touch0, touch1);
}
},
// 图片手势动态缩放
touchMove: function touchMove(e) {
var self = this;
var ref = e.touches;
var touch0 = ref[0];
var touch1 = ref[1];
if (!self.src) {
return
}
setTouchState(self, null, true);
// 单指手势时触发
if (e.touches.length === 1) {
self.__oneTouchMove(touch0);
}
// 两指手势触发
if (e.touches.length >= 2) {
self.__twoTouchMove(touch0, touch1);
}
},
touchEnd: function touchEnd(e) {
var self = this;
if (!self.src) {
return
}
setTouchState(self, false, false, true);
self.__xtouchEnd();
}
};
function cut() {
var self = this;
var boundWidth = self.width; // 裁剪框默认宽度,即整个画布宽度
var boundHeight = self.height;
// 裁剪框默认高度,即整个画布高度
var ref = self.cut;
var x = ref.x;
if (x === void 0) x = 0;
var y = ref.y;
if (y === void 0) y = 0;
var width = ref.width;
if (width === void 0) width = boundWidth;
var height = ref.height;
if (height === void 0) height = boundHeight;
/**
* 设置边界
* @param imgLeft 图片左上角横坐标值
* @param imgTop 图片左上角纵坐标值
*/
self.outsideBound = function(imgLeft, imgTop) {
self.imgLeft = imgLeft >= x ?
x :
self.scaleWidth + imgLeft - x <= width ?
x + width - self.scaleWidth :
imgLeft;
self.imgTop = imgTop >= y ?
y :
self.scaleHeight + imgTop - y <= height ?
y + height - self.scaleHeight :
imgTop;
};
/**
* 设置边界样式
* @param color 边界颜色
*/
self.setBoundStyle = function(ref) {
if (ref === void 0) ref = {};
var color = ref.color;
if (color === void 0) color = '#04b00f';
var mask = ref.mask;
if (mask === void 0) mask = 'rgba(0, 0, 0, 0.3)';
var lineWidth = ref.lineWidth;
if (lineWidth === void 0) lineWidth = 1;
var half = lineWidth / 2;
var boundOption = [{
start: {
x: x - half,
y: y + 10 - half
},
step1: {
x: x - half,
y: y - half
},
step2: {
x: x + 10 - half,
y: y - half
}
},
{
start: {
x: x - half,
y: y + height - 10 + half
},
step1: {
x: x - half,
y: y + height + half
},
step2: {
x: x + 10 - half,
y: y + height + half
}
},
{
start: {
x: x + width - 10 + half,
y: y - half
},
step1: {
x: x + width + half,
y: y - half
},
step2: {
x: x + width + half,
y: y + 10 - half
}
},
{
start: {
x: x + width + half,
y: y + height - 10 + half
},
step1: {
x: x + width + half,
y: y + height + half
},
step2: {
x: x + width - 10 + half,
y: y + height + half
}
}
];
// 绘制半透明层
self.ctx.beginPath();
self.ctx.setFillStyle(mask);
self.ctx.fillRect(0, 0, x, boundHeight);
self.ctx.fillRect(x, 0, width, y);
self.ctx.fillRect(x, y + height, width, boundHeight - y - height);
self.ctx.fillRect(x + width, 0, boundWidth - x - width, boundHeight);
self.ctx.fill();
boundOption.forEach(function(op) {
self.ctx.beginPath();
self.ctx.setStrokeStyle(color);
self.ctx.setLineWidth(lineWidth);
self.ctx.moveTo(op.start.x, op.start.y);
self.ctx.lineTo(op.step1.x, op.step1.y);
self.ctx.lineTo(op.step2.x, op.step2.y);
self.ctx.stroke();
});
};
}
var version = "1.3.9";
var WeCropper = function WeCropper(params) {
var self = this;
var _default = {};
validator(self, DEFAULT);
Object.keys(DEFAULT).forEach(function(key) {
_default[key] = DEFAULT[key].default;
});
Object.assign(self, _default, params);
self.prepare();
self.attachPage();
self.createCtx();
self.observer();
self.cutt();
self.methods();
self.init();
self.update();
return self
};
WeCropper.prototype.init = function init() {
var self = this;
var src = self.src;
self.version = version;
typeof self.onReady === 'function' && self.onReady(self.ctx, self);
if (src) {
self.pushOrign(src);
} else {
self.updateCanvas();
}
setTouchState(self, false, false, false);
self.oldScale = 1;
self.newScale = 1;
return self
};
Object.assign(WeCropper.prototype, handle);
WeCropper.prototype.prepare = prepare;
WeCropper.prototype.observer = observer;
WeCropper.prototype.methods = methods;
WeCropper.prototype.cutt = cut;
WeCropper.prototype.update = update;
return WeCropper;
})));
<template>
<view class="content">
<view class="top">
<view class="upload" @click="chooseAvatar">
<u-icon class="icon" name="plus-circle" size="80" color="#999999"></u-icon>
</view>
<view class="check">
已选{{checkList.length}}/24
</view>
</view>
<view style="border: 1rpx dashed #ccc;opacity: 0.3;margin-top: 230rpx;"></view>
<view class="img">
<block v-for="(item,index) in imgList" :key="index">
<view class="imgItem" @click="changeImg(item,index)">
<image :src="item.url" mode=""></image>
<u-icon v-if="item.check===1" class="icon" name="checkmark-circle-fill" color="#2979FF" size="50"></u-icon>
</view>
</block>
</view>
<view class="bottom">
<view class="del" @click="del">
删除
</view>
<view class="confirm" @click="confirm">
确定
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
maxImg:12,
imgList:[
{url:"https://cdn.uviewui.com/uview/swiper/1.jpg",check:0},
{url:"https://cdn.uviewui.com/uview/swiper/2.jpg",check:0},
{url:"https://cdn.uviewui.com/uview/swiper/3.jpg",check:0},
{url:"https://cdn.uviewui.com/uview/common/logo.png",check:0},
{url:"https://cdn.uviewui.com/uview/swiper/1.jpg",check:0},
{url:"https://cdn.uviewui.com/uview/swiper/2.jpg",check:0},
{url:"https://cdn.uviewui.com/uview/swiper/3.jpg",check:0},
{url:"https://cdn.uviewui.com/uview/common/logo.png",check:0},
{url:"https://cdn.uviewui.com/uview/swiper/1.jpg",check:0},
{url:"https://cdn.uviewui.com/uview/swiper/2.jpg",check:0},
{url:"https://cdn.uviewui.com/uview/swiper/3.jpg",check:0},
{url:"https://cdn.uviewui.com/uview/common/logo.png",check:0},
{url:"https://cdn.uviewui.com/uview/swiper/1.jpg",check:0},
{url:"https://cdn.uviewui.com/uview/swiper/2.jpg",check:0},
{url:"https://cdn.uviewui.com/uview/swiper/3.jpg",check:0},
{url:"https://cdn.uviewui.com/uview/common/logo.png",check:0},
{url:"https://cdn.uviewui.com/uview/swiper/1.jpg",check:0},
{url:"https://cdn.uviewui.com/uview/swiper/2.jpg",check:0},
{url:"https://cdn.uviewui.com/uview/swiper/3.jpg",check:0},
{url:"https://cdn.uviewui.com/uview/common/logo.png",check:0},
{url:"https://cdn.uviewui.com/uview/swiper/1.jpg",check:0},
{url:"https://cdn.uviewui.com/uview/swiper/2.jpg",check:0},
{url:"https://cdn.uviewui.com/uview/swiper/3.jpg",check:0},
{url:"https://cdn.uviewui.com/uview/common/logo.png",check:0},
{url:"https://cdn.uviewui.com/uview/swiper/1.jpg",check:0},
{url:"https://cdn.uviewui.com/uview/swiper/2.jpg",check:0},
{url:"https://cdn.uviewui.com/uview/swiper/3.jpg",check:0},
{url:"https://cdn.uviewui.com/uview/common/logo.png",check:0},
],
checkList:[]
}
},
onLoad(){//代替 vue 里面的 created
// 监听从裁剪页发布的事件,获得裁剪结果
uni.$on('uAvatarCropper', path => {
this.avatar = path;
// 可以在此上传到服务端
uni.uploadFile({
url: 'http://www.example.com/upload',
filePath: path,
name: 'file',
complete: (res) => {
console.log(res);
}
});
})
},
onReady() {//代替 vue 里面的 mounted
},
methods: {
confirm(){//确定提交
this.$u.route({
url:"pages/vlog/pictureFormat/pictureFormat"
})
},
del(){//删除图片
},
changeImg(item,index){//选择图片
if(item.check===0){
if(this.checkList.length<this.maxImg){
item.check=1;
this.checkList.push(index)
}else{
uni.showModal({title: '提示',content: '最多选取'+this.maxImg+"张",});
}
}else{
item.check=0;
this.checkList.splice(this.checkList.indexOf(index),1)
}
},
chooseAvatar() {
// 此为uView的跳转方法,详见"文档-JS"部分,也可以用uni的uni.navigateTo
this.$u.route({
// 关于此路径,请见下方"注意事项"
url:"pages/vlog/u-avatar-cropper/u-avatar-cropper",
// 内部已设置以下默认参数值,可不传这些参数
params: {
// 输出图片宽高,单位px
destWidth: 1000,
destHeight: 1000,
// 裁剪框宽高,单位px
rectWidth: 300,
rectHeight: 300,
// 输出的图片类型,如果'png'类型发现裁剪的图片太大,改成"jpg"即可
fileType: 'jpg',
}
})
},
}
}
</script>
<style lang="scss" scoped>
.content{padding: 0 20rpx;box-sizing: border-box;margin-bottom:100rpx;text-align: center;
.top{display: flex;position: fixed;top: 0;z-index: 10;background-color: #fff;width: 100%;padding-bottom: 20rpx;
.upload{height: 200rpx;width: 200rpx;border-radius: 20rpx;background-color: #ECECEC;
.icon{margin-top:60rpx;}
}
.check{display: inline-block;border-radius: 15rpx;background-color: #FFE600;width: 150rpx;height: 60rpx;line-height: 60rpx;margin-top: 70rpx;margin-left: 200rpx;}
}
.img{display: flex;flex-wrap: wrap;margin-top: 10rpx;
.imgItem{width: 33.33%;padding: 10rpx; position: relative;
image{width: 100%;height: 200rpx;border-radius: 10rpx;}
.icon{position: absolute;top: 10rpx;right: 10rpx;}
}
}
.bottom{position: fixed;bottom: 0;width: 100%;height: 80rpx;line-height: 80rpx; right: 0;display: flex;justify-content: space-around;background-color: #fff;align-items: center;
view{width: 35%;border-radius: 10rpx;height: 60rpx;line-height: 60rpx;}
.del{background: #ccc;}
.confirm{background-color: #FFE600;}
}
}
</style>
\ No newline at end of file
<template>
<view class="content">
<u-search placeholder="景区/关键词搜索" v-model="search" :clearabled="true" @change="query" :show-action="true" action-text="搜索" :animation="true"></u-search>
<view style="height: 20rpx;"></view>
<u-search placeholder="景区/关键词搜索" v-model="search" :clearabled="true" @search="query" :show-action="true" action-text="搜索" :animation="true"></u-search>
<view class="swiper">
<u-swiper :list="list"></u-swiper>
</view>
......@@ -24,7 +25,7 @@
<view class="shuxian"></view>
<view>定制我的相片集</view>
</view>
<navigator url="../photoAlbum/photoAlbum">
<navigator url="../product/product">
<view class="photoGallery">
<image class="img" src="../../../static/img/vlog/icon/bg.jpg"></image>
<view class="access"></view>
......@@ -66,13 +67,6 @@ export default {
return {
userInfo:"",//用户信息
scenicList:[],//景区列表
share:{
title:'vlog1231231',
path:'/pages/index/index',
imageUrl:'',
desc:'',
content:''
},
search:"",//景区
list: [
{
......@@ -95,9 +89,6 @@ export default {
},
onReady() {//代替 vue 里面的 mounted
},
onShareAppMessage(res){//分享
success:(res=>{console.log(res);})
},
methods: {
getUserInfo(){//获取用户信息
this.$request('wechatUser/wxUser/findWxUser',{
......@@ -146,57 +137,6 @@ export default {
}
})
},
handleDownload() { // 下载功能
uni.showLoading({title:"下载中",mask:true})
let fileName = new Date().valueOf();//获取时间戳
uni.downloadFile({//下载文件资源到本地
url: 'https://img.cdn.aliyun.dcloud.net.cn/guide/uniapp/%E7%AC%AC1%E8%AE%B2%EF%BC%88uni-app%E4%BA%A7%E5%93%81%E4%BB%8B%E7%BB%8D%EF%BC%89-%20DCloud%E5%AE%98%E6%96%B9%E8%A7%86%E9%A2%91%E6%95%99%E7%A8%8B@20200317.mp4',
filePath: wx.env.USER_DATA_PATH + '/' + fileName + '.mp4',//filePath指定文件下载后存储的路径,wx.env.USER_DATA_PATH,时间戳为文件名
success: res => {//下载到本地成功
let filePath = res.filePath;
uni.saveVideoToPhotosAlbum({//保存视频到系统相册。
filePath,
success: file => {//保存成功
//删除本地缓存
let fileMgr = uni.getFileSystemManager();
fileMgr.unlink({
filePath: wx.env.USER_DATA_PATH + '/' + fileName + '.mp4',
})
uni.showToast({title:"下载成功",icon:"success",mask:true})
},
fail: err => {
uni.hideLoading();
//拒绝授权时显示
if (err.errMsg === 'saveVideoToPhotosAlbum:fail auth deny') {
uni.showModal({
title: '提示',
content: '需要您授权保存相册',
showCancel: false,
success: data => {
//打开权限设置
uni.openSetting({
success: setting => {
if (setting.authSetting['scope.writePhotosAlbum']) {
uni.showModal({title: '提示',content: '获取权限成功,再次点击下载即可保存',showCancel: false,})
} else {
uni.showModal({title: '提示',ontent: '获取权限失败,将无法保存到相册哦',showCancel: false})
}
},
})
}
})
}
}
})
},
fail: err => {//下载失败
uni.hideLoading();
if (err.errMsg == 'downloadFile:fail createDownloadTask:fail url not in domain list') {
uni.showToast({title: '服务器错误,请联系相关管理员',icon: 'none',mask:true})
}
}
})
},
openCamera(){//用户首次进入打开权限
uni.authorize({//摄像头
scope:'scope.camera',
......
......@@ -4,12 +4,21 @@
<view class="item">
<video class="video" src="https://img.cdn.aliyun.dcloud.net.cn/guide/uniapp/%E7%AC%AC1%E8%AE%B2%EF%BC%88uni-app%E4%BA%A7%E5%93%81%E4%BB%8B%E7%BB%8D%EF%BC%89-%20DCloud%E5%AE%98%E6%96%B9%E8%A7%86%E9%A2%91%E6%95%99%E7%A8%8B@20200317.mp4"
@error="error" controls @play="playing(1)" id="d1"></video>
<view class="">
<button class="btnn" open-type="share">分享下载</button>
<text class="price">¥<text>0</text></text>
</view>
<view style="clear: both;">
</view>
</view>
<view class="item">
<video class="video" src="https://img.cdn.aliyun.dcloud.net.cn/guide/uniapp/%E7%AC%AC1%E8%AE%B2%EF%BC%88uni-app%E4%BA%A7%E5%93%81%E4%BB%8B%E7%BB%8D%EF%BC%89-%20DCloud%E5%AE%98%E6%96%B9%E8%A7%86%E9%A2%91%E6%95%99%E7%A8%8B@20200317.mp4"
@error="error" controls @play="playing(2)" id="d2"></video>
<button class="btnn" open-type="share">分享下载</button>
<view class="">
<button class="btnn" open-type="share">下载</button>
<text class="price">¥<text>5</text></text>
</view>
</view>
</view>
</view>
......@@ -31,6 +40,7 @@
}
},
onHide() {},
onReady() {},
onShareAppMessage(res) { //发送给朋友
console.log(res);
if (res.from === "button") {
......@@ -43,6 +53,57 @@
}
},
methods: {
handleDownload() { // 下载功能
uni.showLoading({title:"下载中",mask:true})
let fileName = new Date().valueOf();//获取时间戳
uni.downloadFile({//下载文件资源到本地
url: 'https://img.cdn.aliyun.dcloud.net.cn/guide/uniapp/%E7%AC%AC1%E8%AE%B2%EF%BC%88uni-app%E4%BA%A7%E5%93%81%E4%BB%8B%E7%BB%8D%EF%BC%89-%20DCloud%E5%AE%98%E6%96%B9%E8%A7%86%E9%A2%91%E6%95%99%E7%A8%8B@20200317.mp4',
filePath: wx.env.USER_DATA_PATH + '/' + fileName + '.mp4',//filePath指定文件下载后存储的路径,wx.env.USER_DATA_PATH,时间戳为文件名
success: res => {//下载到本地成功
let filePath = res.filePath;
uni.saveVideoToPhotosAlbum({//保存视频到系统相册。
filePath,
success: file => {//保存成功
//删除本地缓存
let fileMgr = uni.getFileSystemManager();
fileMgr.unlink({
filePath: wx.env.USER_DATA_PATH + '/' + fileName + '.mp4',
})
uni.showToast({title:"下载成功",icon:"success",mask:true})
},
fail: err => {
uni.hideLoading();
//拒绝授权时显示
if (err.errMsg === 'saveVideoToPhotosAlbum:fail auth deny') {
uni.showModal({
title: '提示',
content: '需要您授权保存相册',
showCancel: false,
success: data => {
//打开权限设置
uni.openSetting({
success: setting => {
if (setting.authSetting['scope.writePhotosAlbum']) {
uni.showModal({title: '提示',content: '获取权限成功,再次点击下载即可保存',showCancel: false,})
} else {
uni.showModal({title: '提示',ontent: '获取权限失败,将无法保存到相册哦',showCancel: false})
}
},
})
}
})
}
}
})
},
fail: err => {//下载失败
uni.hideLoading();
if (err.errMsg == 'downloadFile:fail createDownloadTask:fail url not in domain list') {
uni.showToast({title: '服务器错误,请联系相关管理员',icon: 'none',mask:true})
}
}
})
},
error(e) { //视频播放出错触发函数
uni.showModal({
content: e.target.errMsg,
......@@ -55,50 +116,25 @@
} else {
uni.createVideoContext("d1").pause()
}
// let trailer = this.video_list;
// trailer.forEach(function(item, index) { // 获取json对象并遍历, 停止非当前视频
// if (item.videoUrl != null && item.videoUrl != "") {
// let temp = item.pgcId;
// if (temp != currentId) {
// uni.createVideoContext(temp).pause(); //暂停视频播放事件
// }
// }
// })
}
}
}
</script>
<style lang="scss" scoped>
.content {
padding: 0 20rpx;
height: 100%;
width: 100%;
text-align: center;
background-color: #192033;
.content {padding: 0 20rpx;height: 100%;width: 100%;text-align: center;background-color: #192033;
.item {
box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04);
padding: 0 10rpx;
border-radius: 10rpx;
background-color: #192033;
margin-bottom: 30rpx;
text-align: center;
.video {
height: 350rpx;
border-radius: 10rpx;
width: 100%;
margin-bottom: 40rpx;
.video {height: 350rpx;border-radius: 10rpx;width: 100%;}
view{margin: 20rpx 0;
.btnn {float: left;width: 150rpx; background-color: #CCCCCA;font-weight: bold;border-radius: 30rpx;line-height: 30rpx;font-size: 24rpx;padding: 10rpx 15rpx;}
.price{float: right;color: #DE6F26;font-size: 22rpx;
text{font-size: 32rpx;margin-left: 5rpx;font-weight: bold;}
}
.btnn {
display: inline-block;
font-size: 28rpx;
border-radius: 40rpx;
text-align: center;
background-color: #FFE600;
margin: 30rpx 0;
font-weight: bold;
}
}
}
......
[0817/091631:ERROR:tcp_socket_win.cc(647)] closesocket: 应用程序没有调用 WSAStartup,或者 WSAStartup 失败。 (0x276D)
{"version":3,"sources":["uni-app:///main.js","webpack:///E:/pangding/uni-pdtravel/pages/vlog/myVlog/myVlog.vue?a437","webpack:///E:/pangding/uni-pdtravel/pages/vlog/myVlog/myVlog.vue?fd35","webpack:///E:/pangding/uni-pdtravel/pages/vlog/myVlog/myVlog.vue?f039","webpack:///E:/pangding/uni-pdtravel/pages/vlog/myVlog/myVlog.vue?fde5","uni-app:///pages/vlog/myVlog/myVlog.vue","webpack:///E:/pangding/uni-pdtravel/pages/vlog/myVlog/myVlog.vue?575d","webpack:///E:/pangding/uni-pdtravel/pages/vlog/myVlog/myVlog.vue?8f39"],"names":["createPage","Page"],"mappings":";;;;;;;;;;kDAAA,wCAAmB;AACnB;AACA,qG;AACAA,UAAU,CAACC,eAAD,CAAV,C;;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+H;AAC/H;AAC0D;AACL;AACsC;;;AAG3F;AAC2K;AAC3K,gBAAgB,+KAAU;AAC1B,EAAE,4EAAM;AACR,EAAE,6FAAM;AACR,EAAE,sGAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,iGAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA,aAAa,mNAEN;AACP;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACjCA;AAAA;AAAA;AAAA;AAA8nB,CAAgB,0nBAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC0ClpB;AACA,MADA,kBACA;AACA;AACA,gBADA,EACA;AACA,kBAFA,CAEA;AAFA;AAIA,GANA;AAOA,SAPA,qBAOA;AACA,GARA;AASA,QATA,oBASA;AACA;AACA,2BADA,CACA;AACA;AACA;AACA;AACA,+BADA;AAEA,oCAFA;AAGA;AACA,uBADA;AAEA,gCAFA,EAHA;;;AAQA;AACA,OAXA,MAWA;AACA;AACA;AACA,KAhBA,EAgBA,CAhBA;;AAkBA,GA5BA;AA6BA;AACA,SADA,iBACA,CADA,EACA;AACA;AACA,KAHA,EA7BA,E;;;;;;;;;;;;;AC1CA;AAAA;AAAA;AAAA;AAAgrC,CAAgB,omCAAG,EAAC,C;;;;;;;;;;;ACApsC;AACA,OAAO,KAAU,EAAE,kBAKd","file":"pages/vlog/myVlog/myVlog.js","sourcesContent":["import 'uni-pages';import '@dcloudio/uni-stat';\nimport Vue from 'vue'\nimport Page from './pages/vlog/myVlog/myVlog.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./myVlog.vue?vue&type=template&id=3904d3a7&scoped=true&\"\nvar renderjs\nimport script from \"./myVlog.vue?vue&type=script&lang=js&\"\nexport * from \"./myVlog.vue?vue&type=script&lang=js&\"\nimport style0 from \"./myVlog.vue?vue&type=style&index=0&id=3904d3a7&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3904d3a7\",\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"pages/vlog/myVlog/myVlog.vue\"\nexport default component.exports","export * from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\templateLoader.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--16-0!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\template.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-uni-app-loader\\\\page-meta.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./myVlog.vue?vue&type=template&id=3904d3a7&scoped=true&\"","var components\ntry {\n components = {\n uSearch: function() {\n return import(\n /* webpackChunkName: \"uview-ui/components/u-search/u-search\" */ \"@/uview-ui/components/u-search/u-search.vue\"\n )\n }\n }\n} catch (e) {\n if (\n e.message.indexOf(\"Cannot find module\") !== -1 &&\n e.message.indexOf(\".vue\") !== -1\n ) {\n console.error(e.message)\n console.error(\"1. 排查组件名称拼写是否正确\")\n console.error(\n \"2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom\"\n )\n console.error(\n \"3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件\"\n )\n } else {\n throw e\n }\n}\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./myVlog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./myVlog.vue?vue&type=script&lang=js&\"","<template>\r\n\t<view class=\"content\">\r\n\t\t<view v-if=\"vlogList.length>0 && show===false\" class=\"noEmpty\">\r\n\t\t\t<view style=\"height: 20rpx;\"></view>\r\n\t\t\t<u-search bg-color=\"#434957\" color=\"#ffffff\" placeholder=\"景区/关键词搜索\" v-model=\"search\" :clearabled=\"true\" @search=\"query\" :show-action=\"false\" ></u-search>\r\n\t\t\t<view class=\"body\">\r\n\t\t\t\t<navigator url=\"../vlogList/vlogList\" class=\"item\">\r\n\t\t\t\t\t<image src=\"https://cdn.uviewui.com/uview/swiper/2.jpg\" mode=\"\"></image>\r\n\t\t\t\t\t<text>长江索道</text>\r\n\t\t\t\t</navigator>\r\n\t\t\t\t<navigator url=\"../vlogList/vlogList\" class=\"item\">\r\n\t\t\t\t\t<image src=\"https://cdn.uviewui.com/uview/swiper/2.jpg\" mode=\"\"></image>\r\n\t\t\t\t\t<text>长江索道</text>\r\n\t\t\t\t</navigator>\r\n\t\t\t\t<navigator url=\"../vlogList/vlogList\" class=\"item\">\r\n\t\t\t\t\t<image src=\"https://cdn.uviewui.com/uview/swiper/2.jpg\" mode=\"\"></image>\r\n\t\t\t\t\t<text>长江索道</text>\r\n\t\t\t\t</navigator>\r\n\t\t\t\t<navigator url=\"../vlogList/vlogList\" class=\"item\">\r\n\t\t\t\t\t<image src=\"https://cdn.uviewui.com/uview/swiper/2.jpg\" mode=\"\"></image>\r\n\t\t\t\t\t<text>长江索道</text>\r\n\t\t\t\t</navigator>\r\n\t\t\t\t<navigator url=\"../vlogList/vlogList\" class=\"item\">\r\n\t\t\t\t\t<image src=\"https://cdn.uviewui.com/uview/swiper/2.jpg\" mode=\"\"></image>\r\n\t\t\t\t\t<text>长江索道</text>\r\n\t\t\t\t</navigator>\r\n\t\t\t</view>\r\n\t\t</view>\r\n\t\t<view v-else-if=\"vlogList.length===0 && show===false\" class=\"empty\">\r\n\t\t\t<view class=\"row\">\r\n\t\t\t\t<text>啊哦。。。没找到呢</text>\r\n\t\t\t\t<image src=\"../../../static/img/vlog/icon/icon_thereisnovideo.png\"></image>\r\n\t\t\t</view>\r\n\t\t\t<navigator url=\"../vlogface/vlogface\" class=\"btnn\">\r\n\t\t\t\t<view>点击获取我的Vlog</view>\r\n\t\t\t</navigator>\r\n\t\t</view>\r\n\t\t<view v-else ></view>\r\n\t</view>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tshow:true,//显示默认页面\r\n\t\t\t\tvlogList:[],//我的vlog集合\r\n\t\t\t}\r\n\t\t},\r\n\t\tonReady() {\r\n\t\t},\r\n\t\tonLoad(){\r\n\t\t\tsetTimeout(res=>{\r\n\t\t\t\tthis.vlogList=[1]//模拟请求数据\r\n\t\t\t\tif(this.vlogList.length>0){//如果有数据\r\n\t\t\t\t\tthis.show=false\r\n\t\t\t\t\tuni.setNavigationBarColor({//动态更改导航条颜色\r\n\t\t\t\t\t\tfrontColor: '#ffffff',\r\n\t\t\t\t\t\tbackgroundColor: '#192033',\r\n\t\t\t\t\t\tanimation: {\r\n\t\t\t\t\t\t\tduration: 1,\r\n\t\t\t\t\t\t\ttimingFunc: 'easeIn'\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\tuni.setBackgroundColor({backgroundColor:\"#192033\"});\r\n\t\t\t\t}else{//数据为空\r\n\t\t\t\t\tthis.show=false\r\n\t\t\t\t}\r\n\t\t\t},1)\r\n\t\t\t\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\tquery(e){\r\n\t\t\t\tconsole.log(e)\r\n\t\t\t},\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n\t.content{height: 100%;width: 100%;text-align: center;\r\n\t\t.noEmpty{color:#fff;height: 100%;width: 100%;background-color: #192033;padding: 0 20rpx;\r\n\t\t\t.body{width: 100%;display: flex;flex-wrap: wrap;justify-content: space-between;margin-top: 30rpx;\r\n\t\t\t\t.item{width: 49%;height: 250rpx;margin-top: 20rpx;\r\n\t\t\t\t\timage{width: 100%;height: 80%;border-radius: 10rpx;}\r\n\t\t\t\t\ttext{font-weight: bold;}\r\n\t\t\t\t}\r\n\t\t\t}\t\r\n\t\t}\r\n\t\t.empty {height: 100%;width: 100%;background-color: #fff;padding: 0 20rpx;text-align: center;padding-top: 30rpx;\r\n\t\t\t.row {height: 200rpx;background: linear-gradient(90deg, #ECF5FF 0%, #CEE5FF 100%);line-height: 200rpx;border-radius: 10rpx;margin-bottom: 300rpx;\r\n\t\t\t\ttext {font-weight: bold;font-size: 32rpx;float: left;margin-left: 120rpx;}\r\n\t\t\t\timage {height: 180rpx;width: 200rpx;float: right;margin-right: 50rpx;}\r\n\t\t\t}\r\n\t\t\t.btnn {display: inline-block;font-size: 28rpx;border-radius: 40rpx;background-color: #FFE600;padding: 20rpx 40rpx;margin: 30rpx 0;font-weight: bold;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n</style>\r\n","import mod from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./myVlog.vue?vue&type=style&index=0&id=3904d3a7&lang=scss&scoped=true&\"; export default mod; export * from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./myVlog.vue?vue&type=style&index=0&id=3904d3a7&lang=scss&scoped=true&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1629444911708\n var cssReload = require(\"D:/程序应用/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}
\ No newline at end of file
{"version":3,"sources":["uni-app:///main.js","webpack:///E:/pangding/uni-pdtravel/pages/vlog/photoAlbum/photoAlbum.vue?ffd5","webpack:///E:/pangding/uni-pdtravel/pages/vlog/photoAlbum/photoAlbum.vue?24db","webpack:///E:/pangding/uni-pdtravel/pages/vlog/photoAlbum/photoAlbum.vue?8c95","webpack:///E:/pangding/uni-pdtravel/pages/vlog/photoAlbum/photoAlbum.vue?0262","uni-app:///pages/vlog/photoAlbum/photoAlbum.vue","webpack:///E:/pangding/uni-pdtravel/pages/vlog/photoAlbum/photoAlbum.vue?aeeb","webpack:///E:/pangding/uni-pdtravel/pages/vlog/photoAlbum/photoAlbum.vue?2111"],"names":["createPage","Page"],"mappings":";;;;;;;;;;kDAAA,wCAAmB;AACnB;AACA,iH;AACAA,UAAU,CAACC,mBAAD,CAAV,C;;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmI;AACnI;AAC8D;AACL;AACsC;;;AAG/F;AAC2K;AAC3K,gBAAgB,+KAAU;AAC1B,EAAE,gFAAM;AACR,EAAE,iGAAM;AACR,EAAE,0GAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,qGAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAAkoB,CAAgB,8nBAAG,EAAC,C;;;;;;;;;;;;;;;;;ACKtpB;AACA,MADA,kBACA;AACA;;AAEA,GAJA;AAKA,QALA,oBAKA;AACA,GANA;AAOA,SAPA,qBAOA;AACA,GARA;AASA,aATA,E;;;;;;;;;;;;ACLA;AAAA;AAAA;AAAA;AAAorC,CAAgB,wmCAAG,EAAC,C;;;;;;;;;;;ACAxsC;AACA,OAAO,KAAU,EAAE,kBAKd","file":"pages/vlog/photoAlbum/photoAlbum.js","sourcesContent":["import 'uni-pages';import '@dcloudio/uni-stat';\nimport Vue from 'vue'\nimport Page from './pages/vlog/photoAlbum/photoAlbum.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./photoAlbum.vue?vue&type=template&id=0655d147&scoped=true&\"\nvar renderjs\nimport script from \"./photoAlbum.vue?vue&type=script&lang=js&\"\nexport * from \"./photoAlbum.vue?vue&type=script&lang=js&\"\nimport style0 from \"./photoAlbum.vue?vue&type=style&index=0&id=0655d147&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0655d147\",\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"pages/vlog/photoAlbum/photoAlbum.vue\"\nexport default component.exports","export * from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\templateLoader.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--16-0!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\template.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-uni-app-loader\\\\page-meta.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./photoAlbum.vue?vue&type=template&id=0655d147&scoped=true&\"","var components\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./photoAlbum.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./photoAlbum.vue?vue&type=script&lang=js&\"","<template>\r\n <view class=\"content\">\r\n\t</view>\r\n</template>\r\n<script>\r\nexport default {\r\n data() {\r\n return {\r\n\t\t}\r\n },\r\n\tonLoad(){//代替 vue 里面的 created\r\n\t},\r\n\tonReady() {//代替 vue 里面的 mounted\r\n\t},\r\n methods: {\r\n\t}\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n\t.content{padding: 0 20rpx;box-sizing: border-box;margin: 0 auto;}\r\n</style>","import mod from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./photoAlbum.vue?vue&type=style&index=0&id=0655d147&lang=scss&scoped=true&\"; export default mod; export * from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./photoAlbum.vue?vue&type=style&index=0&id=0655d147&lang=scss&scoped=true&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1629444911581\n var cssReload = require(\"D:/程序应用/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}
\ No newline at end of file
{"version":3,"sources":["uni-app:///main.js","webpack:///E:/pangding/uni-pdtravel/pages/vlog/scenicList/scenicList.vue?74c5","webpack:///E:/pangding/uni-pdtravel/pages/vlog/scenicList/scenicList.vue?dcee","webpack:///E:/pangding/uni-pdtravel/pages/vlog/scenicList/scenicList.vue?2034","webpack:///E:/pangding/uni-pdtravel/pages/vlog/scenicList/scenicList.vue?f775","uni-app:///pages/vlog/scenicList/scenicList.vue","webpack:///E:/pangding/uni-pdtravel/pages/vlog/scenicList/scenicList.vue?9599","webpack:///E:/pangding/uni-pdtravel/pages/vlog/scenicList/scenicList.vue?d17d"],"names":["createPage","Page"],"mappings":";;;;;;;;;;kDAAA,wCAAmB;AACnB;AACA,iH;AACAA,UAAU,CAACC,mBAAD,CAAV,C;;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmI;AACnI;AAC8D;AACL;AACsC;;;AAG/F;AAC2K;AAC3K,gBAAgB,+KAAU;AAC1B,EAAE,gFAAM;AACR,EAAE,iGAAM;AACR,EAAE,0GAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,qGAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA,aAAa,uMAEN;AACP;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACjCA;AAAA;AAAA;AAAA;AAAkoB,CAAgB,8nBAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACyBtpB;AACA,MADA,kBACA;AACA;AACA,gBADA,CACA;AADA;AAGA,GALA;AAMA,SANA,qBAMA;AACA,GAPA;AAQA,QARA,kBAQA,GARA,EAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KALA;AAMA,GAhBA;AAiBA;AACA,SADA,iBACA,CADA,EACA;AACA;AACA,KAHA;AAIA,WAJA,mBAIA,CAJA,EAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAfA,EAjBA,E;;;;;;;;;;;;;ACzBA;AAAA;AAAA;AAAA;AAAorC,CAAgB,wmCAAG,EAAC,C;;;;;;;;;;;ACAxsC;AACA,OAAO,KAAU,EAAE,kBAKd","file":"pages/vlog/scenicList/scenicList.js","sourcesContent":["import 'uni-pages';import '@dcloudio/uni-stat';\nimport Vue from 'vue'\nimport Page from './pages/vlog/scenicList/scenicList.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./scenicList.vue?vue&type=template&id=396b8e72&scoped=true&\"\nvar renderjs\nimport script from \"./scenicList.vue?vue&type=script&lang=js&\"\nexport * from \"./scenicList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./scenicList.vue?vue&type=style&index=0&id=396b8e72&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"396b8e72\",\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"pages/vlog/scenicList/scenicList.vue\"\nexport default component.exports","export * from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\templateLoader.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--16-0!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\template.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-uni-app-loader\\\\page-meta.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./scenicList.vue?vue&type=template&id=396b8e72&scoped=true&\"","var components\ntry {\n components = {\n uIcon: function() {\n return import(\n /* webpackChunkName: \"uview-ui/components/u-icon/u-icon\" */ \"@/uview-ui/components/u-icon/u-icon.vue\"\n )\n }\n }\n} catch (e) {\n if (\n e.message.indexOf(\"Cannot find module\") !== -1 &&\n e.message.indexOf(\".vue\") !== -1\n ) {\n console.error(e.message)\n console.error(\"1. 排查组件名称拼写是否正确\")\n console.error(\n \"2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom\"\n )\n console.error(\n \"3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件\"\n )\n } else {\n throw e\n }\n}\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./scenicList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./scenicList.vue?vue&type=script&lang=js&\"","<template>\r\n\t<view class=\"content\">\r\n\t\t<view style=\"padding-top: 30rpx;\">\r\n\t\t\t<block v-for=\"(item,index) in scenic.vlogSamples\" :key=\"index\">\r\n\t\t\t\t<view class=\"item\">\r\n\t\t\t\t\t<video class=\"video\" src=\"https://img.cdn.aliyun.dcloud.net.cn/guide/uniapp/%E7%AC%AC1%E8%AE%B2%EF%BC%88uni-app%E4%BA%A7%E5%93%81%E4%BB%8B%E7%BB%8D%EF%BC%89-%20DCloud%E5%AE%98%E6%96%B9%E8%A7%86%E9%A2%91%E6%95%99%E7%A8%8B@20200317.mp4\" @error=\"error\" controls @play=\"playing(1)\" id=\"d1\"></video>\r\n\t\t\t\t\t<view class=\"title\">\r\n\t\t\t\t\t\t<text>[ 样片1 ]</text>\r\n\t\t\t\t\t\t<button class=\"btnn\" open-type=\"share\"><u-icon name=\"share\"></u-icon></button>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t</block>\r\n\t\t</view>\r\n\t\t<view class=\"bottom\">\r\n\t\t\t<image src=\"../../../static/img/vlog/icon/bottom.png\"></image>\r\n\t\t\t<navigator url=\"../vlogface/vlogface\">\r\n\t\t\t\t<view class=\"paizhao\">\r\n\t\t\t\t\t<image src=\"../../../static/img/vlog/icon/icon_scan.png\"></image>\r\n\t\t\t\t</view>\r\n\t\t\t</navigator>\r\n\t\t</view>\r\n\t</view>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tscenic:\"\",//景区详情\r\n\t\t\t}\r\n\t\t},\r\n\t\tonReady() {//代替 vue 里面的 mounted\r\n\t\t},\r\n\t\tonLoad(res){//代替 vue 里面的 created\r\n\t\t\tlet caseId=res.caseId\r\n\t\t\tthis.$request(\"distribution/vlog/getScenicInfo\",{caseId}).then(res=>{\r\n\t\t\t\tif(res.code===\"00\"){\r\n\t\t\t\t\tthis.scenic=res.data;\r\n\t\t\t\t\tuni.setNavigationBarTitle({title:this.scenic.name})\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\terror(e){//视频播放出错触发函数\r\n\t\t\t\tuni.showModal({content: e.target.errMsg,showCancel: false})\r\n\t\t\t},\r\n\t\t\tplaying(e) {\r\n\t\t\t\tif(e===1){uni.createVideoContext(\"d2\").pause()}else{uni.createVideoContext(\"d1\").pause()}\r\n\t\t\t\t// let trailer = this.video_list;\r\n\t\t\t\t// trailer.forEach(function(item, index) { // 获取json对象并遍历, 停止非当前视频\r\n\t\t\t\t// \tif (item.videoUrl != null && item.videoUrl != \"\") {\r\n\t\t\t\t// \t\tlet temp = item.pgcId;\r\n\t\t\t\t// \t\tif (temp != currentId) {\r\n\t\t\t\t// \t\t\tuni.createVideoContext(temp).pause(); //暂停视频播放事件\r\n\t\t\t\t// \t\t}\r\n\t\t\t\t// \t}\r\n\t\t\t\t// })\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n\t.content{padding: 0 20rpx;height: 100%;width: 100%;background-color: #192033;\r\n\t\t.item{box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04);padding: 0 10rpx;border-radius: 10rpx;background-color: #192033;margin-bottom:30rpx;text-align: center;\r\n\t\t\t.video{height: 350rpx;border-radius: 10rpx;width: 100%;}\r\n\t\t\t.title{height: 60rpx;margin-top: 20rpx;\r\n\t\t\t\ttext{float: left;height: 60rpx;line-height: 60rpx;color: #FFE600;font-weight: bold;}\r\n\t\t\t\t.btnn{height: 60rpx;width: 60rpx;line-height: 60rpx;float: right;text-align: center;padding: 0;margin: 0;background-color: #192033;color: #fff;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\r\n\t\t.bottom{height: 150rpx;width: 100%;position: relative;position: fixed;bottom: 0;right:0rpx;\r\n\t\t\timage{width: 100%;height: 100rpx;position: relative;position: fixed;bottom: 0;}\r\n\t\t\t.paizhao{height: 160rpx;width: 160rpx;z-index: 1;position: absolute;left:50%;top:22%;transform: translate(-50%, -50%);\r\n\t\t\t\timage{height: 100%;width: 100%;}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n</style>\r\n","import mod from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./scenicList.vue?vue&type=style&index=0&id=396b8e72&lang=scss&scoped=true&\"; export default mod; export * from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./scenicList.vue?vue&type=style&index=0&id=396b8e72&lang=scss&scoped=true&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1629444911825\n var cssReload = require(\"D:/程序应用/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}
\ No newline at end of file
{"version":3,"sources":["uni-app:///main.js","webpack:///E:/pangding/uni-pdtravel/pages/vlog/share/share.vue?5ae3","webpack:///E:/pangding/uni-pdtravel/pages/vlog/share/share.vue?d11d","webpack:///E:/pangding/uni-pdtravel/pages/vlog/share/share.vue?3d3c","webpack:///E:/pangding/uni-pdtravel/pages/vlog/share/share.vue?0cd6","uni-app:///pages/vlog/share/share.vue","webpack:///E:/pangding/uni-pdtravel/pages/vlog/share/share.vue?ca77","webpack:///E:/pangding/uni-pdtravel/pages/vlog/share/share.vue?432a"],"names":["createPage","Page"],"mappings":";;;;;;;;;;kDAAA,wCAAmB;AACnB;AACA,kG;AACAA,UAAU,CAACC,cAAD,CAAV,C;;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8H;AAC9H;AACyD;AACL;AACsC;;;AAG1F;AAC2K;AAC3K,gBAAgB,+KAAU;AAC1B,EAAE,2EAAM;AACR,EAAE,4FAAM;AACR,EAAE,qGAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,gGAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAA6nB,CAAgB,ynBAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;ACUjpB;AACA,MADA,kBACA;AACA;AACA,aADA;;AAGA,GALA;AAMA,QANA,oBAMA;;AAEA;AACA;AACA;;AAEA,GAZA;AAaA,QAbA,kBAaA,GAbA,EAaA;AACA;AACA;AACA,GAhBA;AAiBA,aAjBA,E;;;;;;;;;;;;ACVA;AAAA;AAAA;AAAA;AAA+qC,CAAgB,mmCAAG,EAAC,C;;;;;;;;;;;ACAnsC;AACA,OAAO,KAAU,EAAE,kBAKd","file":"pages/vlog/share/share.js","sourcesContent":["import 'uni-pages';import '@dcloudio/uni-stat';\nimport Vue from 'vue'\nimport Page from './pages/vlog/share/share.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./share.vue?vue&type=template&id=058075a7&scoped=true&\"\nvar renderjs\nimport script from \"./share.vue?vue&type=script&lang=js&\"\nexport * from \"./share.vue?vue&type=script&lang=js&\"\nimport style0 from \"./share.vue?vue&type=style&index=0&id=058075a7&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"058075a7\",\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"pages/vlog/share/share.vue\"\nexport default component.exports","export * from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\templateLoader.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--16-0!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\template.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-uni-app-loader\\\\page-meta.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./share.vue?vue&type=template&id=058075a7&scoped=true&\"","var components\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./share.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./share.vue?vue&type=script&lang=js&\"","<template>\r\n\t<view class=\"content\">\r\n\t\t<video v-if=\"url\" class=\"video\" :src=\"url\" controls></video>\r\n\t\t<navigator url=\"../vlogIndex/vlogIndex\">\r\n\t\t\t<button type=\"default\">vlog首页</button>\r\n\t\t</navigator>\r\n\t</view>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\turl:\"\"\r\n\t\t\t}\r\n\t\t},\r\n\t\tonShow() {\r\n\t\t\t// #ifdef MP-WEIXIN \r\n\t\t\tif(wx.hideHomeButton){//隐藏返回首页按钮\r\n\t\t\t wx.hideHomeButton(); \r\n\t\t\t} \r\n\t\t\t// #endif\r\n\t\t},\r\n\t\tonLoad(res){\r\n\t\t\tconsole.log(res);\r\n\t\t\tthis.url=res.url\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\t\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n\t.content{padding: 0 20rpx;box-sizing: border-box;margin: 0 auto;\r\n\t\t.video{height: 350rpx;border-radius: 10rpx;width: 100%;}\r\n\t}\r\n</style>\r\n","import mod from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./share.vue?vue&type=style&index=0&id=058075a7&lang=scss&scoped=true&\"; export default mod; export * from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./share.vue?vue&type=style&index=0&id=058075a7&lang=scss&scoped=true&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1629444911593\n var cssReload = require(\"D:/程序应用/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}
\ No newline at end of file
{"version":3,"sources":["uni-app:///main.js","webpack:///E:/pangding/uni-pdtravel/pages/vlog/vlogIndex/vlogIndex.vue?3616","webpack:///E:/pangding/uni-pdtravel/pages/vlog/vlogIndex/vlogIndex.vue?ed9c","webpack:///E:/pangding/uni-pdtravel/pages/vlog/vlogIndex/vlogIndex.vue?98df","webpack:///E:/pangding/uni-pdtravel/pages/vlog/vlogIndex/vlogIndex.vue?c1b3","uni-app:///pages/vlog/vlogIndex/vlogIndex.vue","webpack:///E:/pangding/uni-pdtravel/pages/vlog/vlogIndex/vlogIndex.vue?4ff2","webpack:///E:/pangding/uni-pdtravel/pages/vlog/vlogIndex/vlogIndex.vue?1af8"],"names":["createPage","Page"],"mappings":";;;;;;;;;;kDAAA,wCAAmB;AACnB;AACA,8G;AACAA,UAAU,CAACC,kBAAD,CAAV,C;;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkI;AAClI;AAC6D;AACL;AACsC;;;AAG9F;AAC2K;AAC3K,gBAAgB,+KAAU;AAC1B,EAAE,+EAAM;AACR,EAAE,gGAAM;AACR,EAAE,yGAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,oGAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA,aAAa,mNAEN;AACP,KAAK;AACL;AACA,aAAa,mNAEN;AACP;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACtCA;AAAA;AAAA;AAAA;AAAioB,CAAgB,6nBAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACgErpB;AACA,MADA,kBACA;AACA;AACA,kBADA,EACA;AACA,oBAFA,EAEA;AACA,gBAHA,EAGA;AACA;AACA;AACA,2DADA,EADA;;AAIA;AACA,2DADA,EAJA;;AAOA;AACA,2DADA,EAPA,CAJA;;;;AAgBA,GAlBA;AAmBA,QAnBA,oBAmBA;AACA,uBADA,CACA;AACA,yBAFA,CAEA;AACA,sBAHA,CAGA;;AAEA,GAxBA;AAyBA,SAzBA,qBAyBA;AACA,GA1BA;AA2BA;AACA,eADA,yBACA;AACA;AACA,4CADA;;AAGA,UAHA,CAGA;AACA;AACA;AACA;AACA;AACA,WAFA,MAEA;AACA;AACA;AACA,SAPA,MAOA;AACA;AACA;AACA,OAdA;AAeA,KAjBA;AAkBA,iBAlBA,2BAkBA;AACA;AACA,mBADA;AAEA,sBAFA;;AAIA;AACA;AACA;AACA;AACA,SAHA,MAGA;AACA;AACA;;AAEA,OARA;AASA,KAhCA;AAiCA,gBAjCA,0BAiCA;AACA;AACA,0CADA,EACA;AACA,sCAFA,EAEA;AACA,4BAHA;AAIA,yCAJA,EAIA;AACA,4BALA,EAKA;AACA,sCANA,CAMA;AANA;AAQA;AACA;AACA;AACA;AACA,OAJA;AAKA,KA/CA;AAgDA,cAhDA,wBAgDA;AACA;AACA,6BADA;AAEA;AACA;AACA,SAJA;AAKA;AACA;AACA,4CADA;AAEA,6BAFA;AAGA,4BAHA;AAIA;AACA;AACA;AACA;AACA;AACA,mBAHA;AAIA;AACA;AACA,mBANA;;AAQA,eATA,MASA;AACA;AACA;AACA,aAjBA;;AAmBA,SAzBA;;AA2BA;AACA,uCADA;AAEA;AACA;AACA,SAJA;AAKA;AACA;AACA,2CADA;AAEA,6BAFA;AAGA,4BAHA;AAIA;AACA;AACA;AACA;AACA;AACA,mBAHA;;AAKA,eANA,MAMA;AACA;AACA;AACA,aAdA;;AAgBA,SAtBA;;AAwBA,KApGA;AAqGA,SArGA,mBAqGA;AACA,KAtGA,EA3BA,E;;;;;;;;;;;;;AChEA;AAAA;AAAA;AAAA;AAAmrC,CAAgB,umCAAG,EAAC,C;;;;;;;;;;;ACAvsC;AACA,OAAO,KAAU,EAAE,kBAKd","file":"pages/vlog/vlogIndex/vlogIndex.js","sourcesContent":["import 'uni-pages';import '@dcloudio/uni-stat';\nimport Vue from 'vue'\nimport Page from './pages/vlog/vlogIndex/vlogIndex.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./vlogIndex.vue?vue&type=template&id=8024691e&scoped=true&\"\nvar renderjs\nimport script from \"./vlogIndex.vue?vue&type=script&lang=js&\"\nexport * from \"./vlogIndex.vue?vue&type=script&lang=js&\"\nimport style0 from \"./vlogIndex.vue?vue&type=style&index=0&id=8024691e&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8024691e\",\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"pages/vlog/vlogIndex/vlogIndex.vue\"\nexport default component.exports","export * from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\templateLoader.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--16-0!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\template.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-uni-app-loader\\\\page-meta.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./vlogIndex.vue?vue&type=template&id=8024691e&scoped=true&\"","var components\ntry {\n components = {\n uSearch: function() {\n return import(\n /* webpackChunkName: \"uview-ui/components/u-search/u-search\" */ \"@/uview-ui/components/u-search/u-search.vue\"\n )\n },\n uSwiper: function() {\n return import(\n /* webpackChunkName: \"uview-ui/components/u-swiper/u-swiper\" */ \"@/uview-ui/components/u-swiper/u-swiper.vue\"\n )\n }\n }\n} catch (e) {\n if (\n e.message.indexOf(\"Cannot find module\") !== -1 &&\n e.message.indexOf(\".vue\") !== -1\n ) {\n console.error(e.message)\n console.error(\"1. 排查组件名称拼写是否正确\")\n console.error(\n \"2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom\"\n )\n console.error(\n \"3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件\"\n )\n } else {\n throw e\n }\n}\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./vlogIndex.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./vlogIndex.vue?vue&type=script&lang=js&\"","<template>\r\n <view class=\"content\">\r\n\t\t<view style=\"height: 20rpx;\"></view>\r\n\t\t<u-search placeholder=\"景区/关键词搜索\" v-model=\"search\" :clearabled=\"true\" @search=\"query\" :show-action=\"true\" action-text=\"搜索\" :animation=\"true\"></u-search>\r\n <view class=\"swiper\">\r\n\t\t\t<u-swiper :list=\"list\"></u-swiper>\r\n\t\t</view>\r\n\t\t<view class=\"title\">\r\n\t\t\t<view class=\"shuxian\"></view>\r\n\t\t\t<view>我的VLOG视频集</view>\r\n\t\t</view>\r\n\t\t<navigator url=\"../myVlog/myVlog\">\r\n\t\t\t<view class=\"photoGallery\">\r\n\t\t\t\t<image class=\"img\" src=\"../../../static/img/vlog/icon/bg.jpg\"></image>\r\n\t\t\t\t<view class=\"access\"></view>\r\n\t\t\t\t<view class=\"btnn\">\r\n\t\t\t\t\t<image src=\"../../../static/img/vlog/icon/icon_clicktoenter.png\"></image>\r\n\t\t\t\t\t<view>\r\n\t\t\t\t\t\t点击进入\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t</view>\r\n\t\t</navigator>\r\n\t\t<view class=\"title\">\r\n\t\t\t<view class=\"shuxian\"></view>\r\n\t\t\t<view>定制我的相片集</view>\r\n\t\t</view>\r\n\t\t<navigator url=\"../product/product\">\r\n\t\t\t<view class=\"photoGallery\">\r\n\t\t\t\t<image class=\"img\" src=\"../../../static/img/vlog/icon/bg.jpg\"></image>\r\n\t\t\t\t<view class=\"access\"></view>\r\n\t\t\t\t<view class=\"btnn\">\r\n\t\t\t\t\t<image src=\"../../../static/img/vlog/icon/icon_clicktoenter.png\"></image>\r\n\t\t\t\t\t<view>\r\n\t\t\t\t\t\t点击进入\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t</view>\r\n\t\t</navigator>\r\n\t\t<view class=\"title\">\r\n\t\t\t<view class=\"shuxian\"></view>\r\n\t\t\t<view>景区VLOG样片</view>\r\n\t\t</view>\r\n\t\t<view class=\"row\">\r\n\t\t\t<block v-for=\"(item,index) in scenicList\" :key=\"index\">\r\n\t\t\t\t<navigator :url=\"'../scenicList/scenicList?caseId='+item.caseId\" class=\"item\">\r\n\t\t\t\t\t<image class=\"icon\" src=\"../../../static/img/vlog/icon/icon_play.png\"></image>\r\n\t\t\t\t\t<image class=\"fengmian\" :src=\"item.coverImgUrl\"></image>\r\n\t\t\t\t\t<text>{{item.name}}</text>\r\n\t\t\t\t</navigator>\r\n\t\t\t</block>\r\n\t\t</view>\r\n\t\t<view class=\"bottom\">\r\n\t\t\t<image src=\"../../../static/img/vlog/icon/bottom.png\"></image>\r\n\t\t\t<navigator url=\"../vlogface/vlogface\">\r\n\t\t\t\t<view class=\"paizhao\">\r\n\t\t\t\t\t<image src=\"../../../static/img/vlog/icon/icon_scan.png\"></image>\r\n\t\t\t\t</view>\r\n\t\t\t</navigator>\r\n\t\t</view>\r\n\t\t\r\n </view>\r\n</template>\r\n<script>\r\nexport default {\r\n data() {\r\n return {\r\n\t\t\tuserInfo:\"\",//用户信息\r\n\t\t\tscenicList:[],//景区列表\r\n\t\t\tsearch:\"\",//景区\r\n\t\t\tlist: [\r\n\t\t\t\t{\r\n\t\t\t\t\timage: 'https://cdn.uviewui.com/uview/swiper/1.jpg'\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\timage: 'https://cdn.uviewui.com/uview/swiper/2.jpg'\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\timage: 'https://cdn.uviewui.com/uview/swiper/3.jpg'\r\n\t\t\t\t}\r\n\t\t\t],\r\n }\r\n },\r\n\tonLoad(){//代替 vue 里面的 created\r\n\t\tthis.getUserInfo()//获取用户信息\r\n\t\tthis.getScenicList()//获取景区列表\r\n\t\tthis.openCamera()//打开权限\r\n\t\t\r\n\t},\r\n\tonReady() {//代替 vue 里面的 mounted\r\n\t},\r\n methods: {\r\n\t\tgetUserInfo(){//获取用户信息\r\n\t\t\tthis.$request('wechatUser/wxUser/findWxUser',{\r\n\t\t\t openid:uni.getStorageSync(\"openid\")\r\n\t\t\t})\r\n\t\t\t.then((res)=>{\r\n\t\t\t\tif(res.code===\"00\"){//请求成功\r\n\t\t\t\t\tthis.userInfo=res.data\r\n\t\t\t\t\tif(this.userInfo.isVlog===0){//未注册\r\n\t\t\t\t\t\tthis.vlogRegister()\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tconsole.log(\"用户已注册\");\r\n\t\t\t\t\t}\r\n\t\t\t\t}else{\r\n\t\t\t\t\tuni.showModal({content: res.message,showCancel: false})\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t},\r\n\t\tgetScenicList(){//景区列表查询\r\n\t\t\tlet data={\r\n\t\t\t\t\"pageNo\":1,\r\n\t\t\t\t\"pageSize\":10\r\n\t\t\t}\r\n\t\t\tthis.$request(\"distribution/vlog/getScenicList\",data).then(res=>{\r\n\t\t\t\tif(res.code===\"00\"){//请求成功\r\n\t\t\t\t\tconsole.log(\"景区列表\",res.data.list);\r\n\t\t\t\t\tthis.scenicList=res.data.list\r\n\t\t\t\t}else{\r\n\t\t\t\t\tuni.showModal({content: res.message,showCancel: false})\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t})\r\n\t\t},\r\n\t\tvlogRegister(){//用户注册\r\n\t\t\tlet data={\r\n\t\t\t\t\"nickName\":this.userInfo.nickname, //昵称\r\n\t\t\t\t\"userId\":this.userInfo.openid, //用户id(用微信openid)\r\n\t\t\t\t\"phone\":18523953636,\t\r\n\t\t\t\t\"outUserId\":this.userInfo.openid, //用户Id,\t//外部应用id(用微信openid)\r\n\t\t\t\t\"userType\":\"WECHAT\", //ALIPAY-支付宝小程序,WECHAT-微信小程序,OTHER-其他\r\n\t\t\t\t\"gender\":this.userInfo.gender\t\t\t//0-男,1-女\r\n\t\t\t}\r\n\t\t\tthis.$request(\"distribution/vlog/vlogRegister\",data).then(res=>{//注册\r\n\t\t\t\tif(res.code===\"00\"){\r\n\t\t\t\t\tconsole.log(\"注册成功\");\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t},\r\n\t\topenCamera(){//用户首次进入打开权限\r\n\t\t\tuni.authorize({//摄像头\r\n\t\t\t\tscope:'scope.camera',\r\n\t\t\t\tsuccess: (res) => {\r\n\t\t\t\t\tconsole.log('摄像头已打开');\r\n\t\t\t\t},\r\n\t\t\t\tfail: (res) => {\r\n\t\t\t\t\tuni.showModal({\r\n\t\t\t\t\t\tcontent:'检测到您没打开摄像头权限,是否去设置打开?',\r\n\t\t\t\t\t\tconfirmText: \"确认\",\r\n\t\t\t\t\t\tcancelText:'取消',\r\n\t\t\t\t\t\tsuccess: (res) => {\r\n\t\t\t\t\t\t\tif(res.confirm){\r\n\t\t\t\t\t\t\t\tuni.openSetting({\r\n\t\t\t\t\t\t\t\t\tsuccess: (res) => {\r\n\t\t\t\t\t\t\t\t\t\tconsole.log(\"cg\",res);\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\tfail: (err) => {\r\n\t\t\t\t\t\t\t\t\t\tconsole.log(\"sb\",err);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\tuni.navigateBack({delta:1})\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\tuni.authorize({\r\n\t\t\t\tscope:'scope.writePhotosAlbum',\r\n\t\t\t\tsuccess: (res) => {\r\n\t\t\t\t\tconsole.log('相册权限已打开');\r\n\t\t\t\t},\r\n\t\t\t\tfail: (res) => {\r\n\t\t\t\t\tuni.showModal({\r\n\t\t\t\t\t\tcontent:'检测到您没打开相册权限,是否去设置打开?',\r\n\t\t\t\t\t\tconfirmText: \"确认\",\r\n\t\t\t\t\t\tcancelText:'取消',\r\n\t\t\t\t\t\tsuccess: (res) => {\r\n\t\t\t\t\t\t\tif(res.confirm){\r\n\t\t\t\t\t\t\t\tuni.openSetting({\r\n\t\t\t\t\t\t\t\t\tsuccess: (res) => {\r\n\t\t\t\t\t\t\t\t\t\tconsole.log(res);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\tuni.navigateBack({delta:1})\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t},\r\n\t\tquery(){//查询\r\n\t\t}\r\n \r\n }\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n\t.content{padding: 0 20rpx;box-sizing: border-box;margin: 0 auto;\r\n\t\t.swiper{margin-top: 20rpx;}\r\n\t\t.title{margin-top: 40rpx;display: flex;align-items: center;\r\n\t\t\t.shuxian{height: 30rpx;width: 5rpx;background-color: #3688FF;margin-right: 20rpx;}\r\n\t\t\tview{font-weight: bold;}\r\n\t\t}\r\n\t\t.photoGallery{height: 150rpx;border-radius: 10rpx;background-color: #212B44;margin-top: 20rpx;position: relative;\r\n\t\t\t.img{width: 100%;height: 100%;border-radius: 10rpx;}\r\n\t\t\t.access{width: 100%;height: 100%;position: absolute;background-color: #000000;top: 0;opacity: 0.3;border-radius: 10rpx;}\r\n\t\t\t.btnn{display: flex;justify-content: center;align-items: center;color: #fff;position: absolute;left:50%;top:50%;transform: translate(-50%, -50%);font-weight: bold;font-size: 32rpx;\r\n\t\t\t\timage{width: 40rpx;height: 40rpx;margin-right: 10rpx;}\r\n\t\t\t}\r\n\t\t}\r\n\t\t.row{display: flex;flex-wrap: wrap;justify-content: space-between;margin-top: 20rpx;padding-bottom: 250rpx;\r\n\t\t\t.item{width: 49%;height: 200rpx;margin-top: 15rpx;position: relative;\r\n\t\t\t\t.fengmian{width: 100%;height: 100%;border-radius: 10rpx;}\r\n\t\t\t\t.icon{position: absolute;left:50%;top:50%;transform: translate(-50%, -50%);font-size: 50rpx;width: 60rpx;height: 60rpx;}\r\n\t\t\t}\r\n\t\t}\r\n\t\t.bottom{height: 150rpx;width: 100%;position: relative;position: fixed;bottom: 0;right:0rpx;\r\n\t\t\timage{width: 100%;height: 100rpx;position: relative;position: fixed;bottom: 0;}\r\n\t\t\t.paizhao{height: 160rpx;width: 160rpx;z-index: 1;position: absolute;left:50%;top:22%;transform: translate(-50%, -50%);\r\n\t\t\t\timage{height: 100%;width: 100%;}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</style>","import mod from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./vlogIndex.vue?vue&type=style&index=0&id=8024691e&lang=scss&scoped=true&\"; export default mod; export * from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./vlogIndex.vue?vue&type=style&index=0&id=8024691e&lang=scss&scoped=true&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1629444911879\n var cssReload = require(\"D:/程序应用/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}
\ No newline at end of file
{"version":3,"sources":["uni-app:///main.js","webpack:///E:/pangding/uni-pdtravel/pages/vlog/vlogList/vlogList.vue?d361","webpack:///E:/pangding/uni-pdtravel/pages/vlog/vlogList/vlogList.vue?7ac4","webpack:///E:/pangding/uni-pdtravel/pages/vlog/vlogList/vlogList.vue?868d","webpack:///E:/pangding/uni-pdtravel/pages/vlog/vlogList/vlogList.vue?b9dd","uni-app:///pages/vlog/vlogList/vlogList.vue","webpack:///E:/pangding/uni-pdtravel/pages/vlog/vlogList/vlogList.vue?5973","webpack:///E:/pangding/uni-pdtravel/pages/vlog/vlogList/vlogList.vue?5566"],"names":["createPage","Page"],"mappings":";;;;;;;;;;kDAAA,wCAAmB;AACnB;AACA,2G;AACAA,UAAU,CAACC,iBAAD,CAAV,C;;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiI;AACjI;AAC4D;AACL;AACsC;;;AAG7F;AAC2K;AAC3K,gBAAgB,+KAAU;AAC1B,EAAE,8EAAM;AACR,EAAE,+FAAM;AACR,EAAE,wGAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,mGAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAAgoB,CAAgB,4nBAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC2BppB;;AAEA,MAFA,kBAEA;AACA;AACA,eADA;AAEA,aAFA;;AAIA,GAPA;AAQA,QARA,kBAQA,OARA,EAQA,EARA;AASA,QATA,oBASA;AACA;AACA;AACA;AACA,GAbA;AAcA,QAdA,oBAcA,EAdA;AAeA,SAfA,qBAeA,EAfA;AAgBA,mBAhBA,6BAgBA,GAhBA,EAgBA;AACA;AACA;AACA;AACA;AACA,qBADA;AAEA,eAFA;AAGA,2PAHA;;AAKA;AACA,GA1BA;AA2BA;AACA,kBADA,4BACA;AACA;AACA,0CAFA,CAEA;AACA;AACA,8NADA;AAEA,iEAFA,EAEA;AACA;AACA;AACA;AACA,8BADA;AAEA;AACA;AACA;AACA;AACA,yEADA;;AAGA;AACA,aATA;AAUA;AACA;AACA;AACA;AACA;AACA,6BADA;AAEA,sCAFA;AAGA,mCAHA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA,yBAFA,MAEA;AACA;AACA;AACA,uBAPA;;AASA,mBAfA;;AAiBA;AACA,aAhCA;;AAkCA,SAvCA;AAwCA;AACA;AACA;AACA;AACA;AACA,SA7CA;;AA+CA,KAnDA;AAoDA,SApDA,iBAoDA,CApDA,EAoDA;AACA;AACA,gCADA;AAEA,yBAFA;;AAIA,KAzDA;AA0DA,WA1DA,mBA0DA,CA1DA,EA0DA;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;AACA,KAhEA,EA3BA,E;;;;;;;;;;;;;AC3BA;AAAA;AAAA;AAAA;AAAkrC,CAAgB,smCAAG,EAAC,C;;;;;;;;;;;ACAtsC;AACA,OAAO,KAAU,EAAE,kBAKd","file":"pages/vlog/vlogList/vlogList.js","sourcesContent":["import 'uni-pages';import '@dcloudio/uni-stat';\nimport Vue from 'vue'\nimport Page from './pages/vlog/vlogList/vlogList.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./vlogList.vue?vue&type=template&id=1f5bdab2&scoped=true&\"\nvar renderjs\nimport script from \"./vlogList.vue?vue&type=script&lang=js&\"\nexport * from \"./vlogList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./vlogList.vue?vue&type=style&index=0&id=1f5bdab2&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1f5bdab2\",\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"pages/vlog/vlogList/vlogList.vue\"\nexport default component.exports","export * from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\templateLoader.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--16-0!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\template.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-uni-app-loader\\\\page-meta.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./vlogList.vue?vue&type=template&id=1f5bdab2&scoped=true&\"","var components\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./vlogList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./vlogList.vue?vue&type=script&lang=js&\"","<template>\r\n\t<view class=\"content\">\r\n\t\t<view style=\"padding-top: 30rpx;\">\r\n\t\t\t<view class=\"item\">\r\n\t\t\t\t<video class=\"video\" src=\"https://img.cdn.aliyun.dcloud.net.cn/guide/uniapp/%E7%AC%AC1%E8%AE%B2%EF%BC%88uni-app%E4%BA%A7%E5%93%81%E4%BB%8B%E7%BB%8D%EF%BC%89-%20DCloud%E5%AE%98%E6%96%B9%E8%A7%86%E9%A2%91%E6%95%99%E7%A8%8B@20200317.mp4\"\r\n\t\t\t\t @error=\"error\" controls @play=\"playing(1)\" id=\"d1\"></video>\r\n\t\t\t\t <view class=\"\">\r\n\t\t\t\t \t<button class=\"btnn\" open-type=\"share\">分享下载</button>\r\n\t\t\t\t\t<text class=\"price\">¥<text>0</text></text>\r\n\t\t\t\t </view>\r\n\t\t\t\t <view style=\"clear: both;\">\r\n\t\t\t\t \t\r\n\t\t\t\t </view>\r\n\t\t\t</view>\r\n\t\t\t<view class=\"item\">\r\n\t\t\t\t<video class=\"video\" src=\"https://img.cdn.aliyun.dcloud.net.cn/guide/uniapp/%E7%AC%AC1%E8%AE%B2%EF%BC%88uni-app%E4%BA%A7%E5%93%81%E4%BB%8B%E7%BB%8D%EF%BC%89-%20DCloud%E5%AE%98%E6%96%B9%E8%A7%86%E9%A2%91%E6%95%99%E7%A8%8B@20200317.mp4\"\r\n\t\t\t\t @error=\"error\" controls @play=\"playing(2)\" id=\"d2\"></video>\r\n\t\t\t\t <view class=\"\">\r\n\t\t\t\t \t<button class=\"btnn\" open-type=\"share\">下载</button>\r\n\t\t\t\t\t<text class=\"price\">¥<text>5</text></text>\r\n\t\t\t\t </view>\r\n\t\t\t</view>\r\n\t\t</view>\r\n\t</view>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tshare1: 0,\r\n\t\t\t\tsrc: \"\"\r\n\t\t\t}\r\n\t\t},\r\n\t\tonLoad(options) {},\r\n\t\tonShow() {\r\n\t\t\tif (this.share1 === 1) {\r\n\t\t\t\tconsole.log(\"分享了\");\r\n\t\t\t}\r\n\t\t},\r\n\t\tonHide() {},\r\n\t\tonReady() {},\r\n\t\tonShareAppMessage(res) { //发送给朋友\r\n\t\t\tconsole.log(res);\r\n\t\t\tif (res.from === \"button\") {\r\n\t\t\t\tthis.share1 = 1\r\n\t\t\t\treturn {\r\n\t\t\t\t\ttitle: '胖丁旅游',\r\n\t\t\t\t\ttype: 4,\r\n\t\t\t\t\tpath: '/pages/vlog/share/share?url=https://img.cdn.aliyun.dcloud.net.cn/guide/uniapp/%E7%AC%AC1%E8%AE%B2%EF%BC%88uni-app%E4%BA%A7%E5%93%81%E4%BB%8B%E7%BB%8D%EF%BC%89-%20DCloud%E5%AE%98%E6%96%B9%E8%A7%86%E9%A2%91%E6%95%99%E7%A8%8B@20200317.mp4',\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\thandleDownload() { // 下载功能\r\n\t\t\t\tuni.showLoading({title:\"下载中\",mask:true})\r\n\t\t\t\tlet fileName = new Date().valueOf();//获取时间戳\r\n\t\t\t\tuni.downloadFile({//下载文件资源到本地\r\n\t\t\t\t\turl: 'https://img.cdn.aliyun.dcloud.net.cn/guide/uniapp/%E7%AC%AC1%E8%AE%B2%EF%BC%88uni-app%E4%BA%A7%E5%93%81%E4%BB%8B%E7%BB%8D%EF%BC%89-%20DCloud%E5%AE%98%E6%96%B9%E8%A7%86%E9%A2%91%E6%95%99%E7%A8%8B@20200317.mp4',\r\n\t\t\t\t\tfilePath: wx.env.USER_DATA_PATH + '/' + fileName + '.mp4',//filePath指定文件下载后存储的路径,wx.env.USER_DATA_PATH,时间戳为文件名\r\n\t\t\t\t\tsuccess: res => {//下载到本地成功\r\n\t\t\t\t\t\tlet filePath = res.filePath;\r\n\t\t\t\t\t\tuni.saveVideoToPhotosAlbum({//保存视频到系统相册。\r\n\t\t\t\t\t\t\tfilePath,\r\n\t\t\t\t\t\t\tsuccess: file => {//保存成功\r\n\t\t\t\t\t\t\t\t//删除本地缓存\r\n\t\t\t\t\t\t\t\tlet fileMgr = uni.getFileSystemManager();\r\n\t\t\t\t\t\t\t\tfileMgr.unlink({\r\n\t\t\t\t\t\t\t\t\tfilePath: wx.env.USER_DATA_PATH + '/' + fileName + '.mp4',\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\tuni.showToast({title:\"下载成功\",icon:\"success\",mask:true})\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tfail: err => {\r\n\t\t\t\t\t\t\t\tuni.hideLoading();\r\n\t\t\t\t\t\t\t\t//拒绝授权时显示\r\n\t\t\t\t\t\t\t\tif (err.errMsg === 'saveVideoToPhotosAlbum:fail auth deny') {\r\n\t\t\t\t\t\t\t\t\tuni.showModal({\r\n\t\t\t\t\t\t\t\t\t\ttitle: '提示',\r\n\t\t\t\t\t\t\t\t\t\tcontent: '需要您授权保存相册',\r\n\t\t\t\t\t\t\t\t\t\tshowCancel: false,\r\n\t\t\t\t\t\t\t\t\t\tsuccess: data => {\r\n\t\t\t\t\t\t\t\t\t\t\t//打开权限设置\r\n\t\t\t\t\t\t\t\t\t\t\tuni.openSetting({\r\n\t\t\t\t\t\t\t\t\t\t\t\tsuccess: setting => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (setting.authSetting['scope.writePhotosAlbum']) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tuni.showModal({title: '提示',content: '获取权限成功,再次点击下载即可保存',showCancel: false,})\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tuni.showModal({title: '提示',ontent: '获取权限失败,将无法保存到相册哦',showCancel: false})\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t},\r\n\t\t\t\t\tfail: err => {//下载失败\r\n\t\t\t\t\t uni.hideLoading();\r\n\t\t\t\t\t if (err.errMsg == 'downloadFile:fail createDownloadTask:fail url not in domain list') {\r\n\t\t\t\t\t uni.showToast({title: '服务器错误,请联系相关管理员',icon: 'none',mask:true})\r\n\t\t\t\t\t }\r\n\t\t\t\t\t }\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\terror(e) { //视频播放出错触发函数\r\n\t\t\t\tuni.showModal({\r\n\t\t\t\t\tcontent: e.target.errMsg,\r\n\t\t\t\t\tshowCancel: false\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tplaying(e) {\r\n\t\t\t\tif (e === 1) {\r\n\t\t\t\t\tuni.createVideoContext(\"d2\").pause()\r\n\t\t\t\t} else {\r\n\t\t\t\t\tuni.createVideoContext(\"d1\").pause()\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n\t.content {padding: 0 20rpx;height: 100%;width: 100%;text-align: center;background-color: #192033;\r\n\t\t.item {\r\n\t\t\tbox-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04);\r\n\t\t\tpadding: 0 10rpx;\r\n\t\t\tborder-radius: 10rpx;\r\n\t\t\tbackground-color: #192033;\r\n\t\t\tmargin-bottom: 40rpx;\r\n\t\t\t.video {height: 350rpx;border-radius: 10rpx;width: 100%;}\r\n\t\t\t\tview{margin: 20rpx 0;\r\n\t\t\t\t\t.btnn {float: left;width: 150rpx; background-color: #CCCCCA;font-weight: bold;border-radius: 30rpx;line-height: 30rpx;font-size: 24rpx;padding: 10rpx 15rpx;}\r\n\t\t\t\t\t.price{float: right;color: #DE6F26;font-size: 22rpx;\r\n\t\t\t\t\t\ttext{font-size: 32rpx;margin-left: 5rpx;font-weight: bold;}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t}\r\n\t}\r\n</style>\r\n","import mod from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./vlogList.vue?vue&type=style&index=0&id=1f5bdab2&lang=scss&scoped=true&\"; export default mod; export * from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./vlogList.vue?vue&type=style&index=0&id=1f5bdab2&lang=scss&scoped=true&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1629444911515\n var cssReload = require(\"D:/程序应用/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}
\ No newline at end of file
{"version":3,"sources":["uni-app:///main.js","webpack:///E:/pangding/uni-pdtravel/pages/vlog/vlogface/vlogface.vue?f0c6","webpack:///E:/pangding/uni-pdtravel/pages/vlog/vlogface/vlogface.vue?eac3","webpack:///E:/pangding/uni-pdtravel/pages/vlog/vlogface/vlogface.vue?d895","webpack:///E:/pangding/uni-pdtravel/pages/vlog/vlogface/vlogface.vue?5b43","uni-app:///pages/vlog/vlogface/vlogface.vue","webpack:///E:/pangding/uni-pdtravel/pages/vlog/vlogface/vlogface.vue?d2e3","webpack:///E:/pangding/uni-pdtravel/pages/vlog/vlogface/vlogface.vue?337e"],"names":["createPage","Page"],"mappings":";;;;;;;;;;kDAAA,wCAAmB;AACnB;AACA,2G;AACAA,UAAU,CAACC,iBAAD,CAAV,C;;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiI;AACjI;AAC4D;AACL;AACsC;;;AAG7F;AAC2K;AAC3K,gBAAgB,+KAAU;AAC1B,EAAE,8EAAM;AACR,EAAE,+FAAM;AACR,EAAE,wGAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,mGAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA,aAAa,uMAEN;AACP,KAAK;AACL;AACA,aAAa,mNAEN;AACP;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACtCA;AAAA;AAAA;AAAA;AAAgoB,CAAgB,4nBAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACwCppB;AACA,MADA,kBACA;AACA;AACA,aADA,EACA;AACA,aAFA,EAEA;AACA,gBAHA;;AAKA,GAPA;AAQA,QARA,oBAQA;AACA,GATA;AAUA,SAVA,qBAUA;AACA;AACA,GAZA;AAaA;AACA,aADA,uBACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BADA;AAEA;AACA;AACA,aAJA;;AAMA;AACA,OAbA,EAaA,IAbA;AAcA,KAhBA;AAiBA,SAjBA,iBAiBA,CAjBA,EAiBA;AACA;AACA,KAnBA;AAoBA,YApBA,sBAoBA;AACA;AACA;AACA;AACA;AACA,KAzBA,EAbA,E;;;;;;;;;;;;;ACxCA;AAAA;AAAA;AAAA;AAAkrC,CAAgB,smCAAG,EAAC,C;;;;;;;;;;;ACAtsC;AACA,OAAO,KAAU,EAAE,kBAKd","file":"pages/vlog/vlogface/vlogface.js","sourcesContent":["import 'uni-pages';import '@dcloudio/uni-stat';\nimport Vue from 'vue'\nimport Page from './pages/vlog/vlogface/vlogface.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./vlogface.vue?vue&type=template&id=04da0587&scoped=true&\"\nvar renderjs\nimport script from \"./vlogface.vue?vue&type=script&lang=js&\"\nexport * from \"./vlogface.vue?vue&type=script&lang=js&\"\nimport style0 from \"./vlogface.vue?vue&type=style&index=0&id=04da0587&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"04da0587\",\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"pages/vlog/vlogface/vlogface.vue\"\nexport default component.exports","export * from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\templateLoader.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--16-0!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\template.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-uni-app-loader\\\\page-meta.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./vlogface.vue?vue&type=template&id=04da0587&scoped=true&\"","var components\ntry {\n components = {\n uIcon: function() {\n return import(\n /* webpackChunkName: \"uview-ui/components/u-icon/u-icon\" */ \"@/uview-ui/components/u-icon/u-icon.vue\"\n )\n },\n uButton: function() {\n return import(\n /* webpackChunkName: \"uview-ui/components/u-button/u-button\" */ \"@/uview-ui/components/u-button/u-button.vue\"\n )\n }\n }\n} catch (e) {\n if (\n e.message.indexOf(\"Cannot find module\") !== -1 &&\n e.message.indexOf(\".vue\") !== -1\n ) {\n console.error(e.message)\n console.error(\"1. 排查组件名称拼写是否正确\")\n console.error(\n \"2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom\"\n )\n console.error(\n \"3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件\"\n )\n } else {\n throw e\n }\n}\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./vlogface.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./vlogface.vue?vue&type=script&lang=js&\"","<template>\r\n\t<view class=\"content\">\r\n\t\t<view class=\"d1\"></view>\r\n\t\t<view class=\"d2\"></view>\r\n\t\t<camera class=\"camera\" device-position=\"front\" flash=\"off\" @error=\"error\"></camera>\r\n\t\t<view class=\"surface\" v-show=\"show\">\r\n\t\t\t<view>请正对镜头</view>\r\n\t\t\t<text>{{text}}</text>\r\n\t\t</view>\r\n\t\t<image class=\"photo\" v-show=\"src\" :src=\"src\"></image>\r\n\t\t<view class=\"hint\">\r\n\t\t\t<u-icon name=\"error-circle\"></u-icon>\r\n\t\t\t 没有检测到人脸,请正对拍摄框拍摄哦~\r\n\t\t</view>\r\n\t\t<view class=\"hint1\">\r\n\t\t\t<view class=\"item\">\r\n\t\t\t\t<view class=\"\">\r\n\t\t\t\t\t<image src=\"../../../static/img/vlog/icon/icon_lightisenough.png\"></image>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view>光线充足</view>\r\n\t\t\t</view>\r\n\t\t\t<view class=\"item\">\r\n\t\t\t\t<view class=\"\">\r\n\t\t\t\t\t\r\n\t\t\t\t<image src=\"../../../static/img/vlog/icon/icon_isthelens.png\"></image>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view>正对镜头</view>\r\n\t\t\t</view>\r\n\t\t\t<view class=\"item\">\r\n\t\t\t\t<view class=\"\">\r\n\t\t\t\t\t<image src=\"../../../static/img/vlog/icon/icon_openface.png\"></image>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view>不遮挡面部</view>\r\n\t\t\t</view>\r\n\t\t</view>\r\n\t\t<u-button type=\"success\" size=\"medium\" @click=\"scanFace\" >重新拍摄</u-button>\r\n\t</view>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tsrc:\"\",//照片\r\n\t\t\t\ttext:3,//倒计时\r\n\t\t\t\tshow:true\r\n\t\t\t}\r\n\t\t},\r\n\t\tonLoad(){//代替 vue 里面的 created\r\n\t\t},\r\n\t\tonReady() {//代替 vue 里面的 mounted\r\n\t\t\tthis.takePhoto()\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\ttakePhoto(){//扫脸\r\n\t\t\t\tvar test = setInterval(()=>{\r\n\t\t\t\t\tthis.text=this.text-1;\r\n\t\t\t\t\tif(this.text===-1){\r\n\t\t\t\t\t\tclearTimeout(test)\r\n\t\t\t\t\t\tthis.show=false\r\n\t\t\t\t\t\tconst ctx = uni.createCameraContext();\r\n\t\t\t\t\t\tctx.takePhoto({\r\n\t\t\t\t\t\t quality: 'high',\r\n\t\t\t\t\t\t success: (res) => {\r\n\t\t\t\t\t\t this.src = res.tempImagePath\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t},1000)\r\n\t\t\t},\r\n\t\t\terror(e) {//相机报错\r\n\t\t\t\tconsole.log(e.detail);\r\n\t\t\t},\r\n\t\t\tscanFace(){//重新扫脸\r\n\t\t\t\tthis.src=\"\";\r\n\t\t\t\tthis.text=3;\r\n\t\t\t\tthis.show=true;\r\n\t\t\t\tthis.takePhoto()\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n\t.content{padding: 0 20rpx;height: 100%;width: 100%;text-align: center;\r\n\t\t.d1{width: 500rpx;height: 500rpx;border-radius: 50%;background-color: #CEE5FF;position: absolute;top: 150rpx;left: 50%;transform: translate(-40%)}\r\n\t\t.d2{width: 500rpx;height: 500rpx;border-radius: 50%;background-color: #ECF5FF;position: absolute;top: 150rpx;left: 50%;transform: translate(-60%)}\r\n\t\t.camera{width: 500rpx;height: 500rpx;border-radius: 50%;position: absolute;top: 150rpx;left: 50%;transform: translate(-50%)}\r\n\t\t.surface{width: 500rpx;height: 500rpx;border-radius: 50%;position: absolute;top: 150rpx;left: 50%;transform: translate(-50%);text-align: center;font-size: 40rpx;color: #fff;\r\n\t\tview{margin: 100rpx 0;}\r\n\t\ttext{font-size: 70rpx;}\r\n\t\t}\r\n\t\t.photo{width: 500rpx;height: 500rpx;border-radius: 50%;position: absolute;top: 150rpx;left: 50%;transform: translate(-50%)}\r\n\t\t.hint{color: red;padding-top: 680rpx;}\r\n\t\t.hint1{height: 300rpx;display: flex;justify-content: space-between;padding-top: 50rpx;\r\n\t\t\t.item{width: 30%;text-align: center;}\r\n\t\t\timage{height: 60rpx;width: 60rpx;}\r\n\t\t}\r\n\t}\r\n</style>\r\n","import mod from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./vlogface.vue?vue&type=style&index=0&id=04da0587&lang=scss&scoped=true&\"; export default mod; export * from \"-!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\程序应用\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./vlogface.vue?vue&type=style&index=0&id=04da0587&lang=scss&scoped=true&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1629444911848\n var cssReload = require(\"D:/程序应用/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}
\ No newline at end of file
......@@ -68,7 +68,7 @@
return {
active: false, // 当前项是否处于展开状态
activeColor: '#2979ff', // 激活时左边文字和右边对勾图标的颜色
inactiveColor: '#606266', // 未激活时左边文字和右边对勾图标的颜色
inactiveColor: '#606266' // 未激活时左边文字和右边对勾图标的颜色
}
},
computed: {
......
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