Commit 0f2a9762 by 周志凯

vuex刷新条件重新获取, 抓拍记录懒加载, 添加全局方法文件

1 parent 6851308b
Showing 710 changed files with 509 additions and 1430 deletions
import Vue from 'vue'
/* 获取本地存储 */
Vue.prototype.getStorage = (key) => {
let storageVal = '';
uni.getStorage({
key: key,
success: (res) => {
storageVal = res.data;
}
})
return storageVal
}
......@@ -20,6 +20,8 @@ import 'mobile-message/dist/message.css'
// webview function
// import { webviewPub } from './common/webviewpub.js'
// vue prototype
import './common/vproto.js'
// 注册到全局
Vue.component(VTable.name, VTable)
......
......@@ -165,7 +165,7 @@
"navigationBarTitleText": "抓拍记录"
}
},{
"path": "pages/passenger/condition",
"path": "pages/passenger/conditions/captureOption",
"style": {
"navigationBarTitleText": ""
}
......@@ -175,7 +175,7 @@
"navigationBarTitleText": "客群分时统计"
}
}, {
"path":"pages/passenger/groupTimeCondition",
"path":"pages/passenger/conditions/groupTimeOption",
"style": {
"navigationBarTitleText": ""
}
......
......@@ -40,28 +40,61 @@
// console.log('multimalllist load options', options)
this.backUrl = options.backUrl;
this.analysisLevel = options.analysisLevel;
let lists = JSON.parse(JSON.stringify(this.gateList));
if(lists.length) {
this.cacheList = lists.map(item => {
// item._selected = item.id = this.checkedMallId['id'];
return item;
})
this.changeScope()
},
created() {
if(!this.checkedGateId) {
this.$store.dispatch('malls/getMallList', {
data: {
accountId: this.getStorage('accountId'),
_t:Date.parse(new Date()) / 1000
},
header: {
'Authorization': this.getStorage('atoken') //自定义请求头信息
},
isMultiple: true
})
}
this.cacheCheckedGateId = JSON.parse(JSON.stringify(this.checkedGateId));
},
computed: {
...mapState({
checkedMallId: state => state.malls.checkedMallId,
gateList: state => state.malls.gateList,
checkedGateId: state => state.malls.checkedGateId
checkedGateId: state => state.malls.checkedGateId,
}),
},
watch: {
},
created() {
checkedMallId(val) {
this.$store.dispatch('malls/getGateList', {
data: {
mallId: val.id,
status: 1,
isHasFace: 1,
_t:Date.parse(new Date()) / 1000
},
header: {
'Authorization': this.getStorage('atoken') //自定义请求头信息
},
isMultiple: true
})
},
checkedGateId(val) {
this.changeScope()
}
},
mounted() {
},
methods: {
changeScope() {
let lists = JSON.parse(JSON.stringify(this.gateList));
if(lists.length) {
this.cacheList = lists.map(item => {
// item._selected = item.id = this.checkedMallId['id'];
return item;
})
}
this.cacheCheckedGateId = JSON.parse(JSON.stringify(this.checkedGateId));
},
backClick() {
uni.navigateBack({
delta:1
......
......@@ -40,14 +40,7 @@
// console.log('multimalllist load options', options)
this.backUrl = options.backUrl;
this.analysisLevel = options.analysisLevel;
let lists = JSON.parse(JSON.stringify(this.mallList));
if(lists.length) {
this.cacheList = lists.map(item => {
// item._selected = item.id = this.checkedMallId['id'];
return item;
})
}
this.cacheCheckedMallId = JSON.parse(JSON.stringify(this.checkedMallId));
this.changeScope();
},
computed: {
...mapState({
......@@ -56,35 +49,47 @@
}),
},
watch: {
checkedMallId(val) {
this.changeScope();
}
},
created() {
if(!this.checkedMallId) { // 处理刷新获取参数失败
this.$store.dispatch('malls/getMallList', {
data: {
accountId: this.getStorage('accountId'),
_t:Date.parse(new Date()) / 1000
},
header: {
'Authorization': this.getStorage('atoken') //自定义请求头信息
},
isMultiple: true
})
}
},
mounted() {
},
methods: {
changeScope() { // 不能直接修改 vuex 的 state
let lists = JSON.parse(JSON.stringify(this.mallList));
if(lists.length) {
this.cacheList = lists.map(item => {
// item._selected = item.id = this.checkedMallId['id'];
return item;
})
}
this.cacheCheckedMallId = JSON.parse(JSON.stringify(this.checkedMallId));
},
backClick() {
uni.navigateBack({
delta:1
})
// uni.navigateTo({
// url: '../passenger/groupTimeReport/groupTime'
// })
},
searchFun(queryStr) {
let that = this;
this.isQuerying = queryStr.length > 0 ? true : false;
this.query(queryStr, function(res) {
// console.log('query res', res)
that.cacheList = res;
// .length
// ? res.map(item => {
// let isChecked = that.multiCheckedMallId.some(checkedItem => {
// return item.id === checkedItem.id;
// })
// item._selected = isChecked;
// return item;
// })
// : res;
})
},
query(queryString, cb) {
......
......@@ -50,38 +50,72 @@
}
},
onLoad(options) {
// console.log('multiGatelist load options', options)
this.backUrl = options.backUrl;
this.analysisLevel = options.analysisLevel;
let lists = JSON.parse(JSON.stringify(this.gateList));
if(lists.length) {
let count = 0;
this.cacheList = lists.map(item => {
let isChecked = this.multiCheckedGateId.some(checkedItem => {
return item.id === checkedItem.id;
})
if(isChecked) count++;
item._selected = isChecked;
this.isAll = count == lists.length;
return item;
})
}
this.checkedGateIds = JSON.parse(JSON.stringify(this.multiCheckedGateId));
// console.log('onload:', this.multiCheckedMallId, this.checkedMallIds, this.mallList, this.cacheList)
this.changeScope()
},
computed: {
...mapState({
checkedMallId: state => state.malls.checkedMallId,
gateList: state => state.malls.gateList,
multiCheckedGateId: state => state.malls.multiCheckedGateId
}),
},
watch: {
checkedMallId(val) {
this.$store.dispatch('malls/getGateList', {
data: {
mallId: val.id,
status: 1,
isHasFace: 1,
_t:Date.parse(new Date()) / 1000
},
header: {
'Authorization': this.getStorage('atoken') //自定义请求头信息
},
isMultiple: true
})
},
multiCheckedGateId: {
handler: function(val) {
this.changeScope()
},
deep: true
}
},
created() {
if(!this.multiCheckedGateId) {
this.$store.dispatch('malls/getMallList', {
data: {
accountId: this.getStorage('accountId'),
_t:Date.parse(new Date()) / 1000
},
header: {
'Authorization': this.getStorage('atoken') //自定义请求头信息
},
isMultiple: true
})
}
},
mounted() {
},
methods: {
changeScope() {
let lists = JSON.parse(JSON.stringify(this.gateList));
if(lists.length) {
let count = 0;
this.cacheList = lists.map(item => {
let isChecked = this.multiCheckedGateId.some(checkedItem => {
return item.id === checkedItem.id;
})
if(isChecked) count++;
item._selected = isChecked;
this.isAll = count == lists.length;
return item;
})
}
this.checkedGateIds = JSON.parse(JSON.stringify(this.multiCheckedGateId));
},
backClick() {
uni.navigateBack({
delta:1
......
......@@ -53,36 +53,53 @@
// console.log('multimalllist load options', options)
this.backUrl = options.backUrl;
this.analysisLevel = options.analysisLevel;
let lists = JSON.parse(JSON.stringify(this.mallList));
if(lists.length) {
let count = 0;
this.cacheList = lists.map(item => {
let isChecked = this.multiCheckedMallId.some(checkedItem => {
return item.id === checkedItem.id;
})
if(isChecked) count++;
item._selected = isChecked;
this.isAll = count == lists.length;
return item;
})
}
this.checkedMallIds = JSON.parse(JSON.stringify(this.multiCheckedMallId));
this.changeScope()
// console.log('onload:', this.multiCheckedMallId, this.checkedMallIds, this.mallList, this.cacheList)
},
computed: {
...mapState({
mallList: state => state.malls.list,
checkedMallId: state => state.malls.checkedMallId,
multiCheckedMallId: state => state.malls.multiCheckedMallId
}),
},
watch: {
multiCheckedMallId(val) {
this.changeScope();
}
},
created() {
if(!this.multiCheckedMallId) {
this.$store.dispatch('malls/getMallList', {
data: {
accountId: this.getStorage('accountId'),
_t:Date.parse(new Date()) / 1000
},
header: {
'Authorization': this.getStorage('atoken') //自定义请求头信息
},
isMultiple: true
})
}
},
mounted() {
},
methods: {
changeScope() {
let lists = JSON.parse(JSON.stringify(this.mallList));
if(lists.length) {
let count = 0;
this.cacheList = lists.map(item => {
let isChecked = this.multiCheckedMallId.some(checkedItem => {
return item.id === checkedItem.id;
})
if(isChecked) count++;
item._selected = isChecked;
this.isAll = count == lists.length;
return item;
})
}
this.checkedMallIds = JSON.parse(JSON.stringify(this.multiCheckedMallId));
},
backClick() {
uni.navigateBack({
delta:1
......
......@@ -26,7 +26,7 @@
analysisLevel: '',
titleStr: '类型选择',
leftSrc:'../../static/header/backArrow.png',
personType: {},
capturePersonType: {},
typeList: [{
id: 1,
name: '全部类型',
......@@ -47,13 +47,13 @@
this.backUrl = options.backUrl;
this.analysisLevel = options.analysisLevel;
uni.getStorage({
key: 'personType',
key: 'capturePersonType',
success: (res) => {
this.personType = res.data;
this.capturePersonType = res.data;
}
})
if(!this.personType) {
this.personType = {
if(!this.capturePersonType) {
this.capturePersonType = {
id: 1,
name: '全部类型',
value: ''
......@@ -67,10 +67,10 @@
})
},
itemFun(item) {
this.personType = item
this.capturePersonType = item
uni.setStorage({
key: 'personType',
data: JSON.stringify(this.personType)
key: 'capturePersonType',
data: JSON.stringify(this.capturePersonType)
})
uni.reLaunch({
url: `${this.backUrl}?type=${this.analysisLevel}`
......
......@@ -8,32 +8,35 @@
@rightClick="conditionFun"></headerComp>
<view class="prefix-elem"></view>
<view class="capture-main">
<view class="capture-item" v-for="item in captureList" :key="item.pic">
<view class="capture-item" v-for="(item, index) in captureList" :key="item.pic">
<view class="capture-image">
<!-- <span class="capture-date">{{ item.counttime }}</span> -->
<image class="capture-img" ref="imageRef" :src="item.pic" @error="imageError" :lazy-load="true" mode="widthFix"></image>
<!-- <image class="capture-img" ref="imageRef" :src="item.pic" @error="imageError" :lazy-load="true" mode="widthFix"></image> -->
<image class="capture-img" :class="{lazy:!item.show}" :data-index="index" @load="imageLoad" :src="item.show ? item.pic : ''" />
<image class="capture-img placeholder" :class="{loaded:item.loaded}" :src="placeholderSrc" />
</view>
<view class="capture-info">
<text>时间: {{ item.counttime }}</text>
</view>
<view class="capture-info">
<span class="capture-text__left">{{ item.age }}</span>
<span class="capture-text__right">{{ item.genderText }}</span>
<span class="capture-text__right">{{ genderFormatter(item.gender) }}</span>
</view>
<view class="capture-info">
<span class="capture-text__left">{{ item.personType }}</span>
<span class="capture-text__right">{{ item.mood }}</span>
<span class="capture-text__left">{{ personTypeFormatter(item.personType) }}</span>
<span class="capture-text__right">{{ moodFormatter(item.mood) }}</span>
</view>
</view>
</view>
<uniPagination
class="pagination-wrapper"
v-show="captureList.length > 0"
:current="pagination.current"
:total="pagination.total"
:pageSize="pagination.pageSize"
@change="paginationChangeHandle">
</uniPagination>
<view class="pagination-wrapper" v-show="captureList.length > 0">
<uniPagination
:current="pagination.current"
:total="pagination.total"
:pageSize="pagination.pageSize"
@change="paginationChangeHandle">
</uniPagination>
</view>
<!-- <view class="uni-loadmore" v-if="showLoadMore">{{ loadMoreText }}</view> -->
</view>
</template>
......@@ -66,10 +69,12 @@
pageSize: 40
},
canLoadGateId: false,
personType: {},
showLoadMore: false,
capturePersonType: {},
showLoadMore: false, // 无限加载
itemMax: 0,
loadMoreText: '加载中...'
loadMoreText: '加载中...',
placeholderSrc: defaultImg,
windowHeight: 0
}
},
onUnload() {
......@@ -78,12 +83,19 @@
// this.showLoadMore = false;
},
onLoad(options) {
this.windowHeight = uni.getSystemInfoSync().windowHeight;
if(options.type) {
this.canLoadGateId = true;
}
this.personType = this.getStorage('personType');
this.capturePersonType = this.getStorage('capturePersonType');
this.apiDics('mood');
this.apiDics('gender');
this.apiDics('personType');
this.getCaptureList();
},
onPageScroll() {
this.load();
},
onReachBottom() {
// if(this.itemMax >= this.pagination.total) {
// this.loadMoreText = "没有更多数据了!"
......@@ -95,6 +107,21 @@
// }, 300)
},
created() {
if(!this.checkedMallId) { // 处理刷新获取参数失败
this.$store.dispatch('malls/getMallList', {
data: {
accountId: this.getStorage('accountId'),
_t:Date.parse(new Date()) / 1000
},
header: {
'Authorization': this.getStorage('atoken') //自定义请求头信息
},
isMultiple: true
})
}
if(!this.selectedStartTime || !this.selectedEndTime) {
this.$store.dispatch('malls/getDateData', 15);
}
},
computed: {
...mapState({
......@@ -104,25 +131,32 @@
selectedEndTime: state => state.malls.endDayTime
})
},
watch: {
checkedMallId(val) {
this.$store.dispatch('malls/getGateList', {
data: {
mallId: val.id,
status: 1,
isHasFace: 1,
_t:Date.parse(new Date()) / 1000
},
header: {
'Authorization': this.getStorage('atoken') //自定义请求头信息
},
isMultiple: true
})
this.getCaptureList();
},
},
methods: {
backFun() {
uni.reLaunch({
url:"../passenger",
})
},
getStorage(key) {
let storageVal = '';
uni.getStorage({
key: key,
success: (res) => {
console.log('storage', res)
storageVal = res.data;
}
})
return storageVal
},
getCaptureList() {
console.log('getCaptureList:', this.selectedTime, this.checkedMallId, this.checkedGateId)
if(!this.checkedMallId && !this.selectedStartTime && !this.selectedEndTime) return;
// console.log('getCaptureList:', this.checkedMallId, this.checkedGateId)
let atoken = this.getStorage('atoken');
this.captureList = [];
uni.showLoading({
......@@ -135,8 +169,12 @@
counttime_lte: `${this.selectedEndTime} 23:59:59`,
accountId: this.getStorage('accountId'),
mallId: this.checkedMallId.id,
gateId: this.canLoadGateId ? (this.checkedGateId.id || '') : '',
personType: this.personType.value || '',
gateId: this.canLoadGateId
? this.checkedGateId
? this.checkedGateId.id
: ''
: '',
personType: this.capturePersonType.value || '',
age_gt: 0,
direction: 1,
page: this.pagination.current,
......@@ -151,28 +189,29 @@
success: (res) => {
uni.hideLoading()
let result = res.data;
console.log(result);
this.itemMax += this.pagination.pageSize;
this.pagination.total = result.data.total;
this.captureList = result.data.list.map((item, index) => {
// let dateStr = item.counttime.match(/^\d{4}\-\d{2}\-\d{2}/)[0].replace('-', '');
item.show = false;
item.loaded = false;
item.pic = 'https://vion-retail.oss-cn-beijing.aliyuncs.com/picture/' + (item.facePath && item.facePic
? item.facePath + item.facePic
: item.bodyPath + item.bodyPic);
item.orderIdx = ++index;
item.faceImagePath = item.pic || this.dealDefaultImg(item.gender);
item.age = item.age && item.age >= 0 ? item.age : 'unknown';
item.genderText = typeof(item.gender) === 'number' ? this.dealGender(item.gender) : 'unknown';
// item.genderText = typeof(item.gender) === 'number' ? this.dealGender(item.gender) : 'unknown';
item.mood = typeof(item.mood) === 'number' ? item.mood : 'unknown';
item.counttime = item.counttime ? item.counttime.split(' ')[1] : 'unknown';
item.personType = item.personType == 0 ? '顾客' : '店员'
// item.personType = item.personType == 0 ? '顾客' : '店员'
return item;
})
setTimeout(() => {
this.load()
}, 100)
}
})
// setTimeout(() => {
// uni.hideLoading()
// }, 1000)
},
dealGender(genderCode) {
return genderCode == 1 ? '男' : (genderCode == 0 ? '女' : 'unknown');
......@@ -185,22 +224,60 @@
return imagePath;
},
imageError(e) {
console.log(e, this.$refs.imageRef)
console.error('image发生error事件,携带值为' + e.detail.errMsg)
// this.$refs.imageRef.src = defaultImg;
},
genderFormatter(genderCode) {
return this.getStorage('gender-' + genderCode) || 'unknown';
},
personTypeFormatter(personTypeCode) {
return this.getStorage('personType-' + personTypeCode) || 'unknown';
},
moodFormatter(moodCode) {
return this.getStorage('mood-' + moodCode) || 'unknown';
},
paginationChangeHandle(backVal) {
console.log('paginationChangeHandle', backVal)
console.log(this.pagination)
let { current } = backVal;
this.pagination.current = current;
this.getCaptureList()
},
imageLoad(e) {
this.captureList[e.target.dataset.index].loaded = true;
},
load() {
uni.createSelectorQuery().selectAll('.lazy').boundingClientRect((images) => {
images.forEach((image, index) => {
if(image.top <= this.windowHeight) {
this.captureList[image.dataset.index].show = true;
}
})
}).exec();
},
conditionFun() {
// console.log(this.mallList)
console.log('condition function:', uni)
uni.navigateTo({
url: '../condition'
url: '../conditions/captureOption'
})
},
apiDics(dicType) {
uni.request({
url: window.url + '/dataDics',
header: {
'Authorization': this.getStorage('atoken')
},
method: 'GET',
data: {
type: dicType,
_t: Date.parse(new Date()) / 1000
},
success: (res) => {
let result = res.data;
result.data.forEach(item =>{
uni.setStorage({
key: `${item.type}-${item.key}`,
data: item.value // valueEn i18n
})
})
}
})
}
},
......@@ -224,6 +301,7 @@
}
.capture-main {
/* padding: 0 18.11upx; */
margin-bottom: 101.44upx;
box-sizing: border-box;
}
.capture-item {
......@@ -236,14 +314,16 @@
box-sizing: border-box;
}
.capture-item:nth-child(4n-1) {
margin-left: 1.3333333%;
margin-right: 1.333333%;
margin-left: 1.3333333333%;
margin-right: 1.333333333%;
}
.capture-item:nth-child(4n-2) {
margin-left: 1.333333%;
margin-left: 1.333333333%;
}
.capture-image {
position: relative;
width: 100%;
height: 181.15upx;
}
.capture-date {
position: absolute;
......@@ -254,10 +334,15 @@
color: #fff;
z-index: 1;
}
.capture-image uni-image {
width: 100%;
height: 100%;
}
.capture-img {
max-width: 100%;
position: absolute;
/* max-width: 100%;
max-height: 100%;
width: 100%;
width: 100%; */
}
.capture-info {
font-size: 21.73upx;
......@@ -278,5 +363,19 @@
width: 50%;
}
.pagination-wrapper {
width: 100%;
background-color: #fff;
padding-top: 18.11upx;
padding-bottom: 18.11upx;
position: fixed;
bottom: 0;
}
.placeholder {
opacity: 1;
transition: opacity .4s linear;
}
.placeholder.loaded {
opacity: 0;
}
</style>
......@@ -7,28 +7,28 @@
<view class="handle-content">
<view class="condition-item" @tap="goStoreList">
<span class="ctitle">{{ i18n.store }}</span>
<span class="select-item">{{ selectedMall.name }}</span>
<image class="rarrow" src="../../static/analysis/rArrow.png" mode="widthFix"></image>
<span class="select-item">{{ selectedMall ? selectedMall.name : '' }}</span>
<image class="rarrow" :src="rArrowImg" mode="widthFix"></image>
</view>
<view class="condition-item" @tap="goGateList">
<span class="ctitle">监控点</span>
<span class="select-item">{{ selectedGate.name }}</span>
<image class="rarrow" src="../../static/analysis/rArrow.png" mode="widthFix"></image>
<span class="select-item">{{ selectedGate ? selectedGate.name : '' }}</span>
<image class="rarrow" :src="rArrowImg" mode="widthFix"></image>
</view>
<view class="condition-item" @tap="goTypeList">
<span class="ctitle">类型</span>
<span class="select-item">{{ personType.name }}</span>
<image class="rarrow" src="../../static/analysis/rArrow.png" mode="widthFix"></image>
<span class="select-item">{{ capturePersonType.name }}</span>
<image class="rarrow" :src="rArrowImg" mode="widthFix"></image>
</view>
<view class="condition-item" @tap="startDateHandle">
<span class="ctitle">开始日期</span>
<span class="select-item">{{ dateStartText }}</span>
<image class="rarrow" src="../../static/analysis/rArrow.png" mode="widthFix"></image>
<span class="select-item">{{ dateStartText || '' }}</span>
<image class="rarrow" :src="rArrowImg" mode="widthFix"></image>
</view>
<view class="condition-item" @tap="endDateHandle">
<span class="ctitle">结束日期</span>
<span class="select-item">{{ dateEndText }}</span>
<image class="rarrow" src="../../static/analysis/rArrow.png" mode="widthFix"></image>
<span class="select-item">{{ dateEndText || '' }}</span>
<image class="rarrow" :src="rArrowImg" mode="widthFix"></image>
</view>
</view>
<awesome-picker
......@@ -61,8 +61,8 @@
</template>
<script>
import headerComp from '../../components/header.vue'
import leftImg from '../../static/header/backArrow.png'
import headerComp from '../../../components/header.vue'
import leftImg from '../../../static/header/backArrow.png'
import { mapState, mapActions } from 'vuex'
export default {
......@@ -71,12 +71,11 @@
},
onLoad(option) {
uni.getStorage({
key: 'personType',
key: 'capturePersonType',
success: (res) => {
this.personType = JSON.parse(res.data);
this.capturePersonType = JSON.parse(res.data);
}
})
console.log('this.personType', this.personType)
uni.getStorage({
key: 'statusBarH',
success: (res) => {
......@@ -90,14 +89,11 @@
return {
leftImg: leftImg,
rightText: '保存',
rArrowImg: '../../../static/analysis/rArrow.png',
navheight: 0,
activeType: 'mall',
// mallText: '',
// gateText: '',
typeText: '',
personType: {},
// dateText: '',
// dateData: [],
capturePersonType: {},
picker: {
textTitle:'选择',
textConfirm:'确定',
......@@ -113,6 +109,23 @@
endPickerIdx: []
}
},
created() {
if(!this.selectedMall) {
this.$store.dispatch('malls/getMallList', {
data: {
accountId: this.getStorage('accountId'),
_t:Date.parse(new Date()) / 1000
},
header: {
'Authorization': this.getStorage('atoken') //自定义请求头信息
},
isMultiple: true
})
}
if(!this.selectedStartTime || !this.selectedEndTime) {
this.$store.dispatch('malls/getDateData', 15);
}
},
computed: {
i18n() {
return this.$t("index")
......@@ -134,15 +147,55 @@
currentEndDate: state => state.malls.pickerEndDayDate
})
},
watch: {
selectedMall(val) {
this.$store.dispatch('malls/getGateList', {
data: {
mallId: val.id,
status: 1,
isHasFace: 1,
_t:Date.parse(new Date()) / 1000
},
header: {
'Authorization': this.getStorage('atoken') //自定义请求头信息
},
isMultiple: true
})
}
},
methods: {
backFun() {
uni.navigateTo({
url: `./captureReport/capture?type=${this.activeType}`
url: `../captureReport/capture?type=${this.activeType}`
})
},
save() {
if(!this.selectedMall) {
uni.showToast({
icon:'none',
title:'请选择门店'
});
}
if(!this.selectedGate) {
uni.showToast({
icon:'none',
title:'请选择监控点'
});
}
if(!this.dateStartText) {
uni.showToast({
icon:'none',
title:'请选择开始日期'
});
}
if(!this.dateEndText) {
uni.showToast({
icon:'none',
title:'请选择结束日期'
});
}
uni.navigateTo({
url: `./captureReport/capture?type=${this.activeType}`
url: `../captureReport/capture?type=${this.activeType}`
})
},
itemClick() {
......@@ -150,21 +203,21 @@
},
goStoreList() {
uni.navigateTo({
url:"../conditionList/mallList?backUrl=../passenger/condition&analysisLevel=" + this.activeType,
url:"../../conditionList/mallList?backUrl=../passenger/conditions/captureOption&analysisLevel=" + this.activeType,
animationType: 'slide-in-right',
animationDuration: 200
})
},
goGateList() {
uni.navigateTo({
url:"../conditionList/gateList?backUrl=../passenger/condition&analysisLevel=" + this.activeType,
url:"../../conditionList/gateList?backUrl=../passenger/conditions/captureOption&analysisLevel=" + this.activeType,
animationType: 'slide-in-right',
animationDuration: 200
})
},
goTypeList() {
uni.navigateTo({
url:"../conditionList/typeList?backUrl=../passenger/condition&analysisLevel=" + this.activeType,
url:"../../conditionList/typeList?backUrl=../passenger/conditions/captureOption&analysisLevel=" + this.activeType,
animationType: 'slide-in-right',
animationDuration: 200
})
......@@ -173,12 +226,12 @@
this.$refs.pickerStart.show();
},
endDateHandle() {
console.log('endDateHandle', this.currentEndDate)
// console.log('endDateHandle', this.currentEndDate)
this.$refs.pickerEnd.show();
},
dateConfirm(item) {
this.startCacheTimeStr = this.formatterTimeToStr(item);
console.log(this.startCacheTimeStr, item, !this.endCacheTimeStr, !this.endPickerIdx.length, this.comparsionSize(this.startPickerIdx, this.endPickerIdx))
// console.log(this.startCacheTimeStr, item, !this.endCacheTimeStr, !this.endPickerIdx.length, this.comparsionSize(this.startPickerIdx, this.endPickerIdx))
// if(!this.endCacheTimeStr && !this.endPickerIdx.length) {
// return;
// } else {
......
......@@ -9,7 +9,7 @@
<view class="condition-item" @tap="goStoreList">
<span class="ctitle">{{ i18n.store }}</span>
<span class="select-item">{{ multiSelectedMall.length ? multiSelectedMall[multiSelectedMall.length - 1].name : '' }}</span>
<image class="rarrow" src="../../static/analysis/rArrow.png" mode="widthFix"></image>
<image class="rarrow" :src="rArrowImg" mode="widthFix"></image>
</view>
<!-- <view class="condition-item" @tap="goGateList">
<span class="ctitle">监控点</span>
......@@ -18,25 +18,25 @@
</view> -->
<view class="condition-item" @tap="dateHandle">
<span class="ctitle">日期</span>
<span class="select-item">{{ dateText }}</span>
<image class="rarrow" src="../../static/analysis/rArrow.png" mode="widthFix"></image>
<span class="select-item">{{ dateText || '' }}</span>
<image class="rarrow" :src="rArrowImg" mode="widthFix"></image>
</view>
</view>
<view class="handle-content" v-show="activeType === 'gate'">
<view class="condition-item" @tap="goSingleStoreList">
<span class="ctitle">{{ i18n.store }}</span>
<span class="select-item">{{ selectedMall.name }}</span>
<image class="rarrow" src="../../static/analysis/rArrow.png" mode="widthFix"></image>
<span class="select-item">{{ selectedMall ? selectedMall.name : '' }}</span>
<image class="rarrow" :src="rArrowImg" mode="widthFix"></image>
</view>
<view class="condition-item" @tap="goGateList">
<span class="ctitle">监控点</span>
<span class="select-item">{{ selectedGate.name }}</span>
<image class="rarrow" src="../../static/analysis/rArrow.png" mode="widthFix"></image>
<span class="select-item">{{ multiSelectedGate.length ? multiSelectedGate[multiSelectedGate.length - 1].name : '' }}</span>
<image class="rarrow" :src="rArrowImg" mode="widthFix"></image>
</view>
<view class="condition-item" @tap="dateHandle">
<span class="ctitle">日期</span>
<span class="select-item">{{ dateText }}</span>
<image class="rarrow" src="../../static/analysis/rArrow.png" mode="widthFix"></image>
<span class="select-item">{{ dateText || '' }}</span>
<image class="rarrow" :src="rArrowImg" mode="widthFix"></image>
</view>
</view>
<awesome-picker
......@@ -53,8 +53,8 @@
</template>
<script>
import headerComp from '../../components/header.vue'
import leftImg from '../../static/header/backArrow.png'
import headerComp from '../../../components/header.vue'
import leftImg from '../../../static/header/backArrow.png'
import { mapState, mapActions } from 'vuex'
export default {
......@@ -76,6 +76,7 @@
return {
rightText: '保存',
leftImg: leftImg,
rArrowImg: '../../../static/analysis/rArrow.png',
activeType: '',
navheight: 0,
picker: {
......@@ -89,6 +90,23 @@
cachePickerIdx: []
}
},
created() {
if(!this.selectedMall) { // 处理刷新获取参数失败
this.$store.dispatch('malls/getMallList', {
data: {
accountId: this.getStorage('accountId'),
_t:Date.parse(new Date()) / 1000
},
header: {
'Authorization': this.getStorage('atoken') //自定义请求头信息
},
isMultiple: true
})
}
if(!this.dateText) {
this.$store.dispatch('malls/getDateData', 15);
}
},
computed: {
i18n() {
return this.$t("index")
......@@ -96,7 +114,7 @@
...mapState({
selectedMall: state => state.malls.checkedMallId,
multiSelectedMall: state => state.malls.multiCheckedMallId,
selectedGate: state => state.malls.checkedGateId,
multiSelectedGate: state => state.malls.multiCheckedGateId,
dateData: state => state.malls.dayDateData,
dateText: state => state.malls.selectedDayTime,
currentDate: state => state.malls.pickerDayDate
......@@ -104,18 +122,56 @@
},
watch: {
selectedMall(val) {
console.log('watch val', val)
this.$store.dispatch('malls/getGateList', {
data: {
mallId: val.id,
status: 1,
isHasFace: 1,
_t:Date.parse(new Date()) / 1000
},
header: {
'Authorization': this.getStorage('atoken') //自定义请求头信息
},
isMultiple: true
})
}
},
methods: {
backFun() {
uni.navigateTo({
url: './groupTimeReport/groupTime'
url: '../groupTimeReport/groupTime'
})
},
save() {
if(this.activeType === 'gate') {
if(!this.selectedMall) {
uni.showToast({
icon:'none',
title:'请选择门店'
});
}
if(!this.multiSelectedGate) {
uni.showToast({
icon:'none',
title:'请选择出入口'
});
}
} else {
if(!this.multiSelectedMall) {
uni.showToast({
icon:'none',
title:'请选择门店'
});
}
}
if(!this.dateText) {
uni.showToast({
icon:'none',
title:'请选择日期'
});
}
uni.navigateTo({
url: `./groupTimeReport/groupTime?analysisLevel=${this.activeType}`
url: `../groupTimeReport/groupTime?analysisLevel=${this.activeType}`
})
},
itemClick(val) {
......@@ -123,21 +179,21 @@
},
goStoreList() {
uni.navigateTo({
url:"../conditionList/multiMallList?backUrl=../passenger/groupTimeCondition&analysisLevel=" + this.activeType,
url:"../../conditionList/multiMallList?backUrl=../passenger/conditions/groupTimeOption&analysisLevel=" + this.activeType,
animationType: 'slide-in-right',
animationDuration: 200
})
},
goSingleStoreList() {
uni.navigateTo({
url:"../conditionList/mallList?backUrl=../passenger/groupTimeCondition&analysisLevel=" + this.activeType,
url:"../../conditionList/mallList?backUrl=../passenger/conditions/groupTimeOption&analysisLevel=" + this.activeType,
animationType: 'slide-in-right',
animationDuration: 200
})
},
goGateList() {
uni.navigateTo({
url:"../conditionList/multiGateList?backUrl=../passenger/groupTimeCondition&analysisLevel=" + this.activeType,
url:"../../conditionList/multiGateList?backUrl=../passenger/conditions/groupTimeCondition&analysisLevel=" + this.activeType,
animationType: 'slide-in-right',
animationDuration: 200
})
......
......@@ -78,17 +78,19 @@
},
created() {
this.accountId = this.getStorage('accountId');
// this.$store.dispatch('malls/getMallList', {
// data: {
// accountId:this.accountId,
// _t:Date.parse(new Date()) / 1000
// },
// header: {
// 'Authorization': this.atoken //自定义请求头信息
// },
// isMultiple: true
// })
// this.$store.dispatch('malls/getDateData', 15)
if(!this.checkedMallId) {
this.$store.dispatch('malls/getMallList', {
data: {
accountId:this.accountId,
_t:Date.parse(new Date()) / 1000
},
header: {
'Authorization': this.atoken //自定义请求头信息
},
isMultiple: true
})
this.$store.dispatch('malls/getDateData', 15)
}
},
computed: {
i18n() {
......@@ -104,22 +106,22 @@
},
watch: {
checkedMallId(val) {
this.$store.dispatch('malls/getGateList', {
data: {
mallId: val.id,
status: 1,
isHasFace: 1,
_t:Date.parse(new Date()) / 1000
},
header: {
'Authorization': this.atoken //自定义请求头信息
},
isMultiple: true
})
if(this.reportLevel !== 'mall') {
this.params['orgId'] = val.id;
this.getReportKey(this.reportLevel)
}
// this.$store.dispatch('malls/getGateList', {
// data: {
// mallId: val.id,
// status: 1,
// isHasFace: 1,
// _t:Date.parse(new Date()) / 1000
// },
// header: {
// 'Authorization': this.atoken //自定义请求头信息
// },
// isMultiple: true
// })
},
multiCheckedMallId(val) {
console.log('watch multiCheckedMallId', val)
......@@ -130,7 +132,7 @@
}
},
mounted() {
console.log('store state', this.mallList, this.checkedMallId, this.multiCheckedMallId)
// console.log('store state', this.mallList, this.checkedMallId, this.multiCheckedMallId)
},
methods: {
backFun() {
......@@ -140,7 +142,7 @@
},
conditionFun() {
uni.navigateTo({
url: '../groupTimeCondition'
url: '../conditions/groupTimeOption'
})
},
getReportKey(analysisLevel) {
......@@ -193,6 +195,7 @@
success: (res) => {
uni.hideLoading();
let result = res.data;
//
let bodyData = result.data.body;
let genderResource = result.data.body['faceGenderDetail'];
let columnsKey = this.createKeyObject(genderResource.xaxis.data);
......@@ -217,14 +220,15 @@
})
},
createColumns(keyObject) { // 生成列数据
return keyObject.map(item => {
return keyObject.map((item, index) => {
return {
field: item.key,
title: item.value,
width: 40,
width: 80,
titleAlign: 'center',
columnAlign: 'center',
isResize: true
isResize: true,
isFrozen: index == 0 ? true : false
}
})
},
......@@ -241,17 +245,6 @@
})
return result;
},
getStorage(key) {
let storageVal = '';
uni.getStorage({
key: key,
success: (res) => {
// console.log('storage', res)
storageVal = res.data;
}
})
return storageVal
},
},
}
......
......@@ -84,16 +84,6 @@
animationDuration: 200
})
},
getStorage(key) {
let storageVal = '';
uni.getStorage({
key: key,
success: (res) => {
storageVal = res.data;
}
})
return storageVal
},
},
}
</script>
......
......@@ -159,7 +159,6 @@ const actions = {
startTime = formatterDayTime(startDate);
pickerSt = computedPickerIdx(startTime);
pickerEt = computedPickerIdx(endTime);
console.log('开始结束日期:', pickerSt, pickerEt)
st = `${startTime['Y']}-${startTime['M']}-${startTime['D']}`;
et = `${endTime['Y']}-${endTime['M']}-${endTime['D']}`;
commit(MALLS.SET_SELECTED_CUSTOM_START_TIME, st); // 自定义开始时间文本
......
require('./common/runtime.js')
require('./common/vendor.js')
require('./common/main.js')
\ No newline at end of file
{
"pages": [
"pages/login/login",
"pages/index/index",
"pages/analysis/index",
"pages/passenger/index",
"pages/manage/index",
"pages/my/index",
"pages/list/mallList",
"pages/list/floorList"
],
"subPackages": [],
"window": {
"titleNView": false,
"navigationBarTextStyle": "black",
"navigationBarTitleText": "演示",
"navigationBarBackgroundColor": "#F8F8F8",
"backgroundColor": "#F8F8F8"
},
"usingComponents": {},
"tabBar": {
"color": "#7A7E83",
"selectedColor": "#3cc51f",
"borderStyle": "black",
"backgroundColor": "#ffffff",
"list": [
{
"pagePath": "pages/index/index",
"iconPath": "static/logo.png",
"selectedIconPath": "static/logo.png",
"text": "首页"
},
{
"pagePath": "pages/analysis/index",
"iconPath": "static/logo.png",
"selectedIconPath": "static/logo.png",
"text": "综合分析"
},
{
"pagePath": "pages/passenger/index",
"iconPath": "static/logo.png",
"selectedIconPath": "static/logo.png",
"text": "精准客流"
},
{
"pagePath": "pages/manage/index",
"iconPath": "static/logo.png",
"selectedIconPath": "static/logo.png",
"text": "后台管理"
},
{
"pagePath": "pages/my/index",
"iconPath": "static/logo.png",
"selectedIconPath": "static/logo.png",
"text": "我的"
}
]
},
"splashscreen": {
"alwaysShowBeforeRender": true,
"autoclose": false
},
"appname": "app"
}
\ No newline at end of file
@import './common/main.wxss';
@import './common/vendor.wxss';
\ No newline at end of file
This diff could not be displayed because it is too large.
(function(e){function r(r){for(var n,l,i=r[0],a=r[1],f=r[2],p=0,s=[];p<i.length;p++)l=i[p],o[l]&&s.push(o[l][0]),o[l]=0;for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n]);c&&c(r);while(s.length)s.shift()();return u.push.apply(u,f||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++){var a=t[i];0!==o[a]&&(n=!1)}n&&(u.splice(r--,1),e=l(l.s=t[0]))}return e}var n={},o={"common/runtime":0},u=[];function l(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,l),t.l=!0,t.exports}l.m=e,l.c=n,l.d=function(e,r,t){l.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},l.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,r){if(1&r&&(e=l(e)),8&r)return e;if(4&r&&"object"===typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(l.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)l.d(t,n,function(r){return e[r]}.bind(null,n));return t},l.n=function(e){var r=e&&e.__esModule?function(){return e["default"]}:function(){return e};return l.d(r,"a",r),r},l.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},l.p="/";var i=global["webpackJsonp"]=global["webpackJsonp"]||[],a=i.push.bind(i);i.push=r,i=i.slice();for(var f=0;f<i.length;f++)r(i[f]);var c=a;t()})([]);
\ No newline at end of file
<import src="/components/header.vue.wxml" />
<import src="/components/list/uni-list/uni-list.vue.wxml" />
<import src="/components/list/uni-list-item/uni-list-item.vue.wxml" />
<import src="/components/toast.vue.wxml" />
<import src="/components/lineChart.vue.wxml" />
<import src="/components/rankChart.vue.wxml" />
<import src="/pages/index/accountIndex.vue.wxml" />
<import src="/pages/index/mallIndex.vue.wxml" />
<import src="/pages/index/floorIndex.vue.wxml" />
<import src="/pages/index/zoneIndex.vue.wxml" />
<import src="/components/list/uni-icon/uni-icon.vue.wxml" />
<import src="/components/list/uni-badge/uni-badge.vue.wxml" />
<import src="/common/slots.wxml" />
<template name="2be8c3e9-default-2be8c3e9-3"><template title="全部门店" bindtap="handleProxy" data-eventid="{{'2be8c3e9-1'}}" data-comkey="{{$k}}" data="{{...$root['0'], ...$root[$kk+'2be8c3e9-1'],$root}}" is="274c3ab4"></template><template bindtap="handleProxy" data-eventid="{{'2be8c3e9-2-'+index}}" data-comkey="{{$k}}" data="{{...$root['0'], ...$root[$kk+'2be8c3e9-2-'+index],$root}}" is="274c3ab4" wx:for="{{list}}" wx:for-index="index" wx:for-item="item"></template></template>
<template name="5fd90293-default-5fd90293-2"><template bindtap="handleProxy" data-eventid="{{'5fd90293-3-'+index}}" data-comkey="{{$k}}" data="{{...$root['0'], ...$root[$kk+'5fd90293-1-'+index],$root}}" is="274c3ab4" wx:for="{{floorList}}" wx:for-index="index" wx:for-item="item"></template></template>
<template name="5fd90293-default-5fd90293-4"><template bindtap="handleProxy" data-eventid="{{'5fd90293-4-'+index}}" data-comkey="{{$k}}" data="{{...$root['0'], ...$root[$kk+'5fd90293-3-'+index],$root}}" is="274c3ab4" wx:for="{{zoneList}}" wx:for-index="index" wx:for-item="item"></template></template>
<template name="12e9cefd-default-12e9cefd-0"><label class="_span 12e9cefd selectReport" bindtap="handleProxy" data-eventid="{{'12e9cefd-0'}}" data-comkey="{{$k}}">日期</label></template>
<template name="0f6cbbbc-default-0f6cbbbc-0"><label class="_span 0f6cbbbc selectReport" bindtap="handleProxy" data-eventid="{{'0f6cbbbc-0'}}" data-comkey="{{$k}}">日期</label></template>
<template name="7f80d532-default-7f80d532-0"><label class="_span 7f80d532 selectReport" bindtap="handleProxy" data-eventid="{{'7f80d532-0'}}" data-comkey="{{$k}}">日期</label></template>
<template name="53e436cf-default-53e436cf-0"><label class="_span 53e436cf selectReport" bindtap="handleProxy" data-eventid="{{'53e436cf-0'}}" data-comkey="{{$k}}">日期</label></template>
<template name="b9d2a092"><view class="_view b9d2a092"><view class="_view b9d2a092 indexNav"><text class="_text b9d2a092 left" bindtap="handleProxy" data-eventid="{{'b9d2a092-0'}}" data-comkey="{{$k}}">{{leftText}}</text><image src="{{leftImgSrc}}" class="_image b9d2a092 lImg"></image>{{title}}<label class="_span b9d2a092 right" bindtap="handleProxy" data-eventid="{{'b9d2a092-1'}}" data-comkey="{{$k}}">{{rightText}}</label></view></view></template>
\ No newline at end of file
<template name="6d243ae0"><view class="_view 6d243ae0 linechart"><view id="{{bindId}}" class="_div 6d243ae0 chart"></view></view></template>
\ No newline at end of file
<template name="200c7df6"><text class="_text 200c7df6 uni-badge {{setClass}}" wx:if="{{text}}" bindtap="handleProxy" data-eventid="{{'200c7df6-0'}}" data-comkey="{{$k}}">{{text}}</text></template>
\ No newline at end of file
<template name="5e10dfe8"><view class="_view 5e10dfe8 uni-icon {{['uni-icon-' + type]}}" bindtap="handleProxy" data-eventid="{{'5e10dfe8-0'}}" data-comkey="{{$k}}" style=" {{('color:' + color + ';' + 'font-size:' + fontSize + ';')}}"></view></template>
\ No newline at end of file
<import src="/components/list/uni-icon/uni-icon.vue.wxml" /><import src="/components/list/uni-badge/uni-badge.vue.wxml" /><template name="274c3ab4"><view class="_view 274c3ab4 uni-list-cell {{[disabled === true || disabled === 'true' ? 'uni-list-cell--disabled' : '']}}" hover-class="{{disabled === true || disabled === 'true' || showSwitch === true || showSwitch === 'true' ? '' : 'uni-list-cell--hover'}}" bindtap="handleProxy" data-eventid="{{'274c3ab4-1'}}" data-comkey="{{$k}}"><view class="_view 274c3ab4 uni-list-cell__container"><view class="_view 274c3ab4 uni-list-cell__icon" wx:if="{{thumb}}"><image class="_image 274c3ab4 uni-list-cell__icon-img" src="{{thumb}}"></image></view><view class="_view 274c3ab4 uni-list-cell__icon" wx:elif="{{showExtraIcon === true || showExtraIcon === 'true'}}"><template data="{{...$root['0'], ...$root[$kk+'274c3ab4-0'],$root}}" is="5e10dfe8"></template></view><view class="_view 274c3ab4 uni-list-cell__content"><view class="_view 274c3ab4 uni-list-cell__content-title">{{title}}</view><view class="_view 274c3ab4 uni-list-cell__content-note" wx:if="{{note}}">{{note}}</view></view><view class="_view 274c3ab4 uni-list-cell__extra" wx:if="{{showBadge === true || showBadge === 'true' || showArrow === true || showArrow === 'true'||showSwitch === true || showSwitch === 'true'}}"><template wx:if="{{showBadge === true || showBadge === 'true'}}" data="{{...$root['0'], ...$root[$kk+'274c3ab4-1'],$root}}" is="200c7df6"></template><switch wx:if="{{showSwitch === true || showSwitch === 'true'}}" disabled="{{disabled}}" checked="{{switchChecked}}" bindchange="handleProxy" data-eventid="{{'274c3ab4-0'}}" data-comkey="{{$k}}" class="_switch 274c3ab4" /><template wx:if="{{showArrow === true || showArrow === 'true'}}" color="#bbb" size="20" type="arrowright" data="{{...$root['0'], ...$root[$kk+'274c3ab4-2'],$root}}" is="5e10dfe8"></template></view></view></view></template>
\ No newline at end of file
<import src="/common/slots.wxml" /><template name="6510b988"><view class="_view 6510b988 uni-list"><template name="default"></template><template data="{{...$root['0'], ...$root[$k], $root}}" is="{{$slotdefault || 'default'}}"></template></view></template>
\ No newline at end of file
<template name="9c1afcb0"><view class="_view 9c1afcb0 rankchart"><view id="{{bindId}}" class="_div 9c1afcb0 chart"></view></view></template>
\ No newline at end of file
<import src="/common/slots.wxml" /><template name="ebdd0886"><view class="_view ebdd0886"><template name="default"></template><view style="position: relative;" class="_div ebdd0886"><template data="{{...$root['0'], ...$root[$k], $root}}" is="{{$slotdefault || 'default'}}"></template><view class="_div ebdd0886 toast" hidden="{{!(toastShow)}}"><view class="_div ebdd0886 toastContent"><view class="_div ebdd0886 arrow"></view><label class="_span ebdd0886 typeBox" bindtap="handleProxy" data-eventid="{{'ebdd0886-0-'+index}}" data-comkey="{{$k}}" wx:for="{{typeArr}}" wx:for-index="index" wx:for-item="item">{{item.name}}</label></view></view></view><view class="_div ebdd0886 dialog" wx:if="{{toastShow}}" bindtap="handleProxy" data-eventid="{{'ebdd0886-1'}}" data-comkey="{{$k}}"></view></view></template>
\ No newline at end of file
{
"@platforms": [
"android",
"iPhone",
"iPad"
],
"id": "",
"name": "app",
"version": {
"name": "1.0.0",
"code": "100"
},
"description": "",
"launch_path": "__uniappservice.html",
"developer": {
"name": "",
"email": "",
"url": ""
},
"permissions": {},
"plus": {
"useragent": {
"value": "uni-app appservice",
"concatenate": true
},
"splashscreen": {
"target": "id:1",
"autoclose": true,
"waiting": true,
"delay": 0
},
"popGesture": "close",
"launchwebview": {
"render": "always"
},
"statusbar": {
"immersed": "supportedDevice",
"style": "dark",
"background": "#F8F8F8"
},
"distribute": {
"google": {
"permissions": [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.CALL_PHONE\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
]
},
"apple": {},
"plugins": {
"audio": {
"mp3": {
"description": "Android平台录音支持MP3格式文件"
}
}
}
},
"arguments": "{\"name\":\"test\",\"path\":\"pages/index/index\"}",
"allowsInlineMediaPlayback": true,
"safearea": {
"background": "#ffffff",
"bottom": {
"offset": "auto"
}
}
}
}
\ No newline at end of file
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/analysis/index"],{5109:function(n,t,u){"use strict";var e=function(){var n=this,t=n.$createElement,u=n._self._c||t;return u("div",[n._v("222")])},r=[];u.d(t,"a",function(){return e}),u.d(t,"b",function(){return r})},"51b7":function(n,t,u){},"7a24":function(n,t,u){"use strict";u.r(t);var e=u("51b7"),r=u.n(e);for(var a in e)"default"!==a&&function(n){u.d(t,n,function(){return e[n]})}(a);t["default"]=r.a},"94fb":function(n,t,u){"use strict";u.r(t);var e=u("5109"),r=u("7a24");for(var a in r)"default"!==a&&function(n){u.d(t,n,function(){return r[n]})}(a);var c=u("2877"),f=Object(c["a"])(r["default"],e["a"],e["b"],!1,null,null,null);t["default"]=f.exports},d9c0:function(n,t,u){"use strict";u("eb2b");var e=a(u("b0ce")),r=a(u("94fb"));function a(n){return n&&n.__esModule?n:{default:n}}Page((0,e.default)(r.default))}},[["d9c0","common/runtime","common/vendor"]]]);
\ No newline at end of file
{
"navigationBarTitleText": "综合分析"
}
\ No newline at end of file
<template name="754163d9"><view class="_div 754163d9">222</view></template>
\ No newline at end of file
<import src="./index.vue.wxml" />
<template is="754163d9" data="{{ ...$root['0'], $root }}"/>
\ No newline at end of file
<import src="/components/toast.vue.wxml" /><import src="/components/lineChart.vue.wxml" /><import src="/components/rankChart.vue.wxml" /><template name="0f6cbbbc"><view class="_view 0f6cbbbc"><view class="_view 0f6cbbbc indexNav"><template bindhandleChange="handleProxy" data-eventid="{{'0f6cbbbc-1'}}" data-comkey="{{$k}}" data="{{...$root['0'], ...$root[$kk+'0f6cbbbc-0'],$root, $slotdefault:'0f6cbbbc-default-0f6cbbbc-0'}}" is="ebdd0886"></template>{{title}}<label class="_span 0f6cbbbc searchBtn" bindtap="handleProxy" data-eventid="{{'0f6cbbbc-2'}}" data-comkey="{{$k}}">门店</label></view><view id="minirefresh" class="_div 0f6cbbbc minirefresh-wrap"><view class="_div 0f6cbbbc minirefresh-scroll"><view class="_view 0f6cbbbc _blank"><text class="_text 0f6cbbbc dateBox">{{dateText}}</text></view><view class="_div 0f6cbbbc dataBox"><label class="_span 0f6cbbbc flexBox"><label class="_span 0f6cbbbc boxs"><view class="_div 0f6cbbbc littleTit">已开业商场数量</view><view class="_div 0f6cbbbc num">{{headData.mallOpenedCount}}</view><view class="_div 0f6cbbbc unit">座</view></label><label class="_span 0f6cbbbc boxs"><view class="_div 0f6cbbbc littleTit">当日客流</view><view class="_div 0f6cbbbc num">{{headData.dayInnum}}</view><view class="_div 0f6cbbbc unit">人次</view></label><label class="_span 0f6cbbbc boxs"><view class="_div 0f6cbbbc littleTit">昨日客流</view><view class="_div 0f6cbbbc num">{{headData.yesterdayInnum}}</view><view class="_div 0f6cbbbc unit">人次</view></label></label><label class="_span 0f6cbbbc flexBox"><label class="_span 0f6cbbbc boxs"><view class="_div 0f6cbbbc littleTit">上周同期</view><view class="_div 0f6cbbbc num">{{headData.dayLastweekInnum}}</view><view class="_div 0f6cbbbc unit">人次</view></label><label class="_span 0f6cbbbc boxs"><view class="_div 0f6cbbbc littleTit">去年同期</view><view class="_div 0f6cbbbc num">{{headData.dayLastyearInnum}}</view><view class="_div 0f6cbbbc unit">人次</view></label><label class="_span 0f6cbbbc boxs"><view class="_div 0f6cbbbc littleTit">已开业面积</view><view class="_div 0f6cbbbc num">{{headData.mallOpenedArea}}</view><view class="_div 0f6cbbbc unit">平米</view></label></label></view><template wx:if="{{reportType=='day'}}" bind-id="CustomerCounting" data="{{...$root['0'], ...$root[$kk+'0f6cbbbc-1'],$root}}" is="6d243ae0"></template><template wx:if="{{reportType=='month'}}" bind-id="trafficAndSaleTrend" data="{{...$root['0'], ...$root[$kk+'0f6cbbbc-2'],$root}}" is="6d243ae0"></template><template wx:if="{{reportType=='day'}}" bind-id="costomer_ranking" data="{{...$root['0'], ...$root[$kk+'0f6cbbbc-3'],$root}}" is="9c1afcb0"></template></view></view><awesome-picker ref="daypicker" type="date" textConfirm="{{picker.textConfirm}}" colorConfirm="{{picker.colorConfirm}}" textCancel="{{picker.textCancel}}" colorCancel="{{picker.colorCancel}}" bindconfirm="handleProxy" data-eventid="{{'0f6cbbbc-3'}}" data-comkey="{{$k}}" class="_awesome-picker 0f6cbbbc"></awesome-picker><awesome-picker ref="weekpicker" data="{{weekData}}" textConfirm="{{picker.textConfirm}}" colorConfirm="{{picker.colorConfirm}}" textCancel="{{picker.textCancel}}" colorCancel="{{picker.colorCancel}}" anchor="{{currentWeek}}" bindconfirm="handleProxy" data-eventid="{{'0f6cbbbc-4'}}" data-comkey="{{$k}}" class="_awesome-picker 0f6cbbbc"></awesome-picker><awesome-picker ref="monthpicker" data="{{monthData}}" textConfirm="{{picker.textConfirm}}" colorConfirm="{{picker.colorConfirm}}" textCancel="{{picker.textCancel}}" colorCancel="{{picker.colorCancel}}" anchor="{{currentMonth}}" bindconfirm="handleProxy" data-eventid="{{'0f6cbbbc-5'}}" data-comkey="{{$k}}" class="_awesome-picker 0f6cbbbc"></awesome-picker><awesome-picker ref="yearpicker" data="{{yearData}}" textConfirm="{{picker.textConfirm}}" colorConfirm="{{picker.colorConfirm}}" textCancel="{{picker.textCancel}}" colorCancel="{{picker.colorCancel}}" anchor="{{currentYear}}" bindconfirm="handleProxy" data-eventid="{{'0f6cbbbc-6'}}" data-comkey="{{$k}}" class="_awesome-picker 0f6cbbbc"></awesome-picker></view></template>
\ No newline at end of file
<import src="/components/toast.vue.wxml" /><import src="/components/lineChart.vue.wxml" /><template name="12e9cefd"><view class="_view 12e9cefd"><view class="_view 12e9cefd indexNav"><template bindhandleChange="handleProxy" data-eventid="{{'12e9cefd-1'}}" data-comkey="{{$k}}" data="{{...$root['0'], ...$root[$kk+'12e9cefd-0'],$root, $slotdefault:'12e9cefd-default-12e9cefd-0'}}" is="ebdd0886"></template>{{title}}<image src="../../static/index/searchIcon.png" mode class="_image 12e9cefd searchIcon" bindtap="handleProxy" data-eventid="{{'12e9cefd-2'}}" data-comkey="{{$k}}"></image><label class="_span 12e9cefd searchBtn" bindtap="handleProxy" data-eventid="{{'12e9cefd-3'}}" data-comkey="{{$k}}">门店</label></view><view id="minirefresh" class="_div 12e9cefd minirefresh-wrap"><view class="_div 12e9cefd minirefresh-scroll"><view class="_view 12e9cefd _blank"><text class="_text 12e9cefd dateBox">{{dateText}}</text></view><view class="_div 12e9cefd dataBox"><label class="_span 12e9cefd flexBox"><label class="_span 12e9cefd boxs"><view class="_div 12e9cefd littleTit">已开业商场数量</view><view class="_div 12e9cefd num">20</view><view class="_div 12e9cefd unit">座</view></label><label class="_span 12e9cefd boxs"><view class="_div 12e9cefd littleTit">当日客流</view><view class="_div 12e9cefd num">1161</view><view class="_div 12e9cefd unit">人次</view></label><label class="_span 12e9cefd boxs"><view class="_div 12e9cefd littleTit">昨日客流</view><view class="_div 12e9cefd num">2925</view><view class="_div 12e9cefd unit">人次</view></label></label><label class="_span 12e9cefd flexBox"><label class="_span 12e9cefd boxs"><view class="_div 12e9cefd littleTit">已开业商场数量</view><view class="_div 12e9cefd num">20</view><view class="_div 12e9cefd unit">座</view></label><label class="_span 12e9cefd boxs"><view class="_div 12e9cefd littleTit">已开业商场数量</view><view class="_div 12e9cefd num">20</view><view class="_div 12e9cefd unit">座</view></label><label class="_span 12e9cefd boxs"><view class="_div 12e9cefd littleTit">已开业商场数量</view><view class="_div 12e9cefd num">20</view><view class="_div 12e9cefd unit">座</view></label></label></view><template wx:if="{{reportType=='day'}}" bind-id="trend15" data="{{...$root['0'], ...$root[$kk+'12e9cefd-1'],$root}}" is="6d243ae0"></template><template wx:if="{{reportType=='month'}}" bind-id="trafficAndSaleTrend" data="{{...$root['0'], ...$root[$kk+'12e9cefd-2'],$root}}" is="6d243ae0"></template></view></view><awesome-picker ref="daypicker" type="date" textConfirm="{{picker.textConfirm}}" colorConfirm="{{picker.colorConfirm}}" textCancel="{{picker.textCancel}}" colorCancel="{{picker.colorCancel}}" bindconfirm="handleProxy" data-eventid="{{'12e9cefd-4'}}" data-comkey="{{$k}}" class="_awesome-picker 12e9cefd"></awesome-picker><awesome-picker ref="weekpicker" data="{{weekData}}" textConfirm="{{picker.textConfirm}}" colorConfirm="{{picker.colorConfirm}}" textCancel="{{picker.textCancel}}" colorCancel="{{picker.colorCancel}}" anchor="{{currentWeek}}" bindconfirm="handleProxy" data-eventid="{{'12e9cefd-5'}}" data-comkey="{{$k}}" class="_awesome-picker 12e9cefd"></awesome-picker><awesome-picker ref="monthpicker" data="{{monthData}}" textConfirm="{{picker.textConfirm}}" colorConfirm="{{picker.colorConfirm}}" textCancel="{{picker.textCancel}}" colorCancel="{{picker.colorCancel}}" anchor="{{currentMonth}}" bindconfirm="handleProxy" data-eventid="{{'12e9cefd-6'}}" data-comkey="{{$k}}" class="_awesome-picker 12e9cefd"></awesome-picker><awesome-picker ref="yearpicker" data="{{yearData}}" textConfirm="{{picker.textConfirm}}" colorConfirm="{{picker.colorConfirm}}" textCancel="{{picker.textCancel}}" colorCancel="{{picker.colorCancel}}" anchor="{{currentYear}}" bindconfirm="handleProxy" data-eventid="{{'12e9cefd-7'}}" data-comkey="{{$k}}" class="_awesome-picker 12e9cefd"></awesome-picker></view></template>
\ No newline at end of file
{
"navigationBarTitleText": "首页"
}
\ No newline at end of file
<import src="/pages/index/accountIndex.vue.wxml" /><import src="/pages/index/mallIndex.vue.wxml" /><import src="/pages/index/floorIndex.vue.wxml" /><import src="/pages/index/zoneIndex.vue.wxml" /><template name="fdfd28ca"><view class="_view fdfd28ca"><template wx:if="{{type=='account'}}" data="{{...$root['0'], ...$root[$kk+'fdfd28ca-3'],$root}}" is="0f6cbbbc"></template><template wx:elif="{{type=='mall'}}" data="{{...$root['0'], ...$root[$kk+'fdfd28ca-0'],$root}}" is="7f80d532"></template><template wx:elif="{{type=='floor'}}" data="{{...$root['0'], ...$root[$kk+'fdfd28ca-1'],$root}}" is="12e9cefd"></template><template wx:elif="{{type=='zone'}}" data="{{...$root['0'], ...$root[$kk+'fdfd28ca-2'],$root}}" is="53e436cf"></template></view></template>
\ No newline at end of file
<import src="./index.vue.wxml" />
<template is="fdfd28ca" data="{{ ...$root['0'], $root }}"/>
\ No newline at end of file
<import src="/components/toast.vue.wxml" /><import src="/components/lineChart.vue.wxml" /><template name="7f80d532"><view class="_view 7f80d532"><view class="_view 7f80d532 indexNav"><template bindhandleChange="handleProxy" data-eventid="{{'7f80d532-1'}}" data-comkey="{{$k}}" data="{{...$root['0'], ...$root[$kk+'7f80d532-0'],$root, $slotdefault:'7f80d532-default-7f80d532-0'}}" is="ebdd0886"></template>{{title}}<image src="../../static/index/searchIcon.png" mode class="_image 7f80d532 searchIcon" bindtap="handleProxy" data-eventid="{{'7f80d532-2'}}" data-comkey="{{$k}}"></image><label class="_span 7f80d532 searchBtn" bindtap="handleProxy" data-eventid="{{'7f80d532-3'}}" data-comkey="{{$k}}">门店</label></view><view id="minirefresh" class="_div 7f80d532 minirefresh-wrap"><view class="_div 7f80d532 minirefresh-scroll"><view class="_view 7f80d532 _blank"><text class="_text 7f80d532 dateBox">{{dateText}}</text></view><view class="_div 7f80d532 dataBox"><label class="_span 7f80d532 flexBox"><label class="_span 7f80d532 boxs"><view class="_div 7f80d532 littleTit">已开业商场数量</view><view class="_div 7f80d532 num">20</view><view class="_div 7f80d532 unit">座</view></label><label class="_span 7f80d532 boxs"><view class="_div 7f80d532 littleTit">当日客流</view><view class="_div 7f80d532 num">1161</view><view class="_div 7f80d532 unit">人次</view></label><label class="_span 7f80d532 boxs"><view class="_div 7f80d532 littleTit">昨日客流</view><view class="_div 7f80d532 num">2925</view><view class="_div 7f80d532 unit">人次</view></label></label><label class="_span 7f80d532 flexBox"><label class="_span 7f80d532 boxs"><view class="_div 7f80d532 littleTit">已开业商场数量</view><view class="_div 7f80d532 num">20</view><view class="_div 7f80d532 unit">座</view></label><label class="_span 7f80d532 boxs"><view class="_div 7f80d532 littleTit">已开业商场数量</view><view class="_div 7f80d532 num">20</view><view class="_div 7f80d532 unit">座</view></label><label class="_span 7f80d532 boxs"><view class="_div 7f80d532 littleTit">已开业商场数量</view><view class="_div 7f80d532 num">20</view><view class="_div 7f80d532 unit">座</view></label></label></view><template wx:if="{{reportType=='day'}}" bind-id="trend15" data="{{...$root['0'], ...$root[$kk+'7f80d532-1'],$root}}" is="6d243ae0"></template><template wx:if="{{reportType=='month'}}" bind-id="trafficAndSaleTrend" data="{{...$root['0'], ...$root[$kk+'7f80d532-2'],$root}}" is="6d243ae0"></template></view></view><awesome-picker ref="daypicker" type="date" textConfirm="{{picker.textConfirm}}" colorConfirm="{{picker.colorConfirm}}" textCancel="{{picker.textCancel}}" colorCancel="{{picker.colorCancel}}" bindconfirm="handleProxy" data-eventid="{{'7f80d532-4'}}" data-comkey="{{$k}}" class="_awesome-picker 7f80d532"></awesome-picker><awesome-picker ref="weekpicker" data="{{weekData}}" textConfirm="{{picker.textConfirm}}" colorConfirm="{{picker.colorConfirm}}" textCancel="{{picker.textCancel}}" colorCancel="{{picker.colorCancel}}" anchor="{{currentWeek}}" bindconfirm="handleProxy" data-eventid="{{'7f80d532-5'}}" data-comkey="{{$k}}" class="_awesome-picker 7f80d532"></awesome-picker><awesome-picker ref="monthpicker" data="{{monthData}}" textConfirm="{{picker.textConfirm}}" colorConfirm="{{picker.colorConfirm}}" textCancel="{{picker.textCancel}}" colorCancel="{{picker.colorCancel}}" anchor="{{currentMonth}}" bindconfirm="handleProxy" data-eventid="{{'7f80d532-6'}}" data-comkey="{{$k}}" class="_awesome-picker 7f80d532"></awesome-picker><awesome-picker ref="yearpicker" data="{{yearData}}" textConfirm="{{picker.textConfirm}}" colorConfirm="{{picker.colorConfirm}}" textCancel="{{picker.textCancel}}" colorCancel="{{picker.colorCancel}}" anchor="{{currentYear}}" bindconfirm="handleProxy" data-eventid="{{'7f80d532-7'}}" data-comkey="{{$k}}" class="_awesome-picker 7f80d532"></awesome-picker></view></template>
\ No newline at end of file
<import src="/components/toast.vue.wxml" /><import src="/components/lineChart.vue.wxml" /><template name="53e436cf"><view class="_view 53e436cf"><view class="_view 53e436cf indexNav"><template bindhandleChange="handleProxy" data-eventid="{{'53e436cf-1'}}" data-comkey="{{$k}}" data="{{...$root['0'], ...$root[$kk+'53e436cf-0'],$root, $slotdefault:'53e436cf-default-53e436cf-0'}}" is="ebdd0886"></template>{{title}}<image src="../../static/index/searchIcon.png" mode class="_image 53e436cf searchIcon" bindtap="handleProxy" data-eventid="{{'53e436cf-2'}}" data-comkey="{{$k}}"></image><label class="_span 53e436cf searchBtn" bindtap="handleProxy" data-eventid="{{'53e436cf-3'}}" data-comkey="{{$k}}">门店</label></view><view id="minirefresh" class="_div 53e436cf minirefresh-wrap"><view class="_div 53e436cf minirefresh-scroll"><view class="_view 53e436cf _blank"><text class="_text 53e436cf dateBox">{{dateText}}</text></view><view class="_div 53e436cf dataBox"><label class="_span 53e436cf flexBox"><label class="_span 53e436cf boxs"><view class="_div 53e436cf littleTit">已开业商场数量</view><view class="_div 53e436cf num">20</view><view class="_div 53e436cf unit">座</view></label><label class="_span 53e436cf boxs"><view class="_div 53e436cf littleTit">当日客流</view><view class="_div 53e436cf num">1161</view><view class="_div 53e436cf unit">人次</view></label><label class="_span 53e436cf boxs"><view class="_div 53e436cf littleTit">昨日客流</view><view class="_div 53e436cf num">2925</view><view class="_div 53e436cf unit">人次</view></label></label><label class="_span 53e436cf flexBox"><label class="_span 53e436cf boxs"><view class="_div 53e436cf littleTit">已开业商场数量</view><view class="_div 53e436cf num">20</view><view class="_div 53e436cf unit">座</view></label><label class="_span 53e436cf boxs"><view class="_div 53e436cf littleTit">已开业商场数量</view><view class="_div 53e436cf num">20</view><view class="_div 53e436cf unit">座</view></label><label class="_span 53e436cf boxs"><view class="_div 53e436cf littleTit">已开业商场数量</view><view class="_div 53e436cf num">20</view><view class="_div 53e436cf unit">座</view></label></label></view><template wx:if="{{reportType=='day'}}" bind-id="trend15" data="{{...$root['0'], ...$root[$kk+'53e436cf-1'],$root}}" is="6d243ae0"></template><template wx:if="{{reportType=='month'}}" bind-id="trafficAndSaleTrend" data="{{...$root['0'], ...$root[$kk+'53e436cf-2'],$root}}" is="6d243ae0"></template></view></view><awesome-picker ref="daypicker" type="date" textConfirm="{{picker.textConfirm}}" colorConfirm="{{picker.colorConfirm}}" textCancel="{{picker.textCancel}}" colorCancel="{{picker.colorCancel}}" bindconfirm="handleProxy" data-eventid="{{'53e436cf-4'}}" data-comkey="{{$k}}" class="_awesome-picker 53e436cf"></awesome-picker><awesome-picker ref="weekpicker" data="{{weekData}}" textConfirm="{{picker.textConfirm}}" colorConfirm="{{picker.colorConfirm}}" textCancel="{{picker.textCancel}}" colorCancel="{{picker.colorCancel}}" anchor="{{currentWeek}}" bindconfirm="handleProxy" data-eventid="{{'53e436cf-5'}}" data-comkey="{{$k}}" class="_awesome-picker 53e436cf"></awesome-picker><awesome-picker ref="monthpicker" data="{{monthData}}" textConfirm="{{picker.textConfirm}}" colorConfirm="{{picker.colorConfirm}}" textCancel="{{picker.textCancel}}" colorCancel="{{picker.colorCancel}}" anchor="{{currentMonth}}" bindconfirm="handleProxy" data-eventid="{{'53e436cf-6'}}" data-comkey="{{$k}}" class="_awesome-picker 53e436cf"></awesome-picker><awesome-picker ref="yearpicker" data="{{yearData}}" textConfirm="{{picker.textConfirm}}" colorConfirm="{{picker.colorConfirm}}" textCancel="{{picker.textCancel}}" colorCancel="{{picker.colorCancel}}" anchor="{{currentYear}}" bindconfirm="handleProxy" data-eventid="{{'53e436cf-7'}}" data-comkey="{{$k}}" class="_awesome-picker 53e436cf"></awesome-picker></view></template>
\ No newline at end of file
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/list/floorList"],{"0d8a":function(t,e,a){"use strict";a.r(e);var n=a("3a8f"),o=a.n(n);for(var i in n)"default"!==i&&function(t){a.d(e,t,function(){return n[t]})}(i);e["default"]=o.a},"12c9":function(t,e,a){},"3a8f":function(t,e,a){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=s(a("c09e")),o=s(a("af25")),i=s(a("26f3"));function s(t){return t&&t.__esModule?t:{default:t}}var c={data:function(){return{leftSrc:"../../static/header/backArrow.png",titleStr:"门店选择",accountId:"",atoken:"",mallId:"",floorList:[],zoneList:[],selectFloor:!0,selectZone:!1}},onLoad:function(t){this.atoken=t.atoken,this.accountId=t.accountId,this.mallId=t.mallId,this.getListData()},components:{headerComp:n.default,uniList:o.default,uniListItem:i.default},methods:{tapFloor:function(){this.selectFloor=!0,this.selectZone=!1},tapZone:function(){this.selectFloor=!1,this.selectZone=!0},selectItem:function(e,a){t.setStorage({key:"orgIds",data:e}),t.setStorage({key:"orgName",data:a}),this.selectFloor?t.setStorage({key:"type",data:"floor"}):t.setStorage({key:"type",data:"zone"}),t.reLaunch({url:"../index/index"})},getListData:function(){var e=this;t.request({url:"https://store.keliuyun.com/report/floors",data:{accountId:this.accountId,mallId:this.mallId,_t:Date.parse(new Date)/1e3},header:{Authorization:this.atoken},method:"GET",success:function(t){e.floorList=t.data.data}}),t.request({url:"https://store.keliuyun.com/report/zones",data:{accountId:this.accountId,mallId:this.mallId,_t:Date.parse(new Date)/1e3},header:{Authorization:this.atoken},method:"GET",success:function(t){e.zoneList=t.data.data}})},backClick:function(){t.navigateBack({delta:1})}}};e.default=c}).call(this,a("649d")["default"])},"59d1":function(t,e,a){"use strict";var n=a("12c9"),o=a.n(n);o.a},"6e11":function(t,e,a){"use strict";a("eb2b");var n=i(a("b0ce")),o=i(a("e750"));function i(t){return t&&t.__esModule?t:{default:t}}Page((0,n.default)(o.default))},"7f62":function(t,e,a){"use strict";var n=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("view",[a("headerComp",{attrs:{leftImgSrc:t.leftSrc,title:t.titleStr,eventid:"5fd90293-0",mpcomid:"5fd90293-0"},on:{leftClick:t.backClick}}),a("view",{staticClass:"hearSwich"},[a("span",{staticClass:"swichButton",class:{active:t.selectFloor},attrs:{eventid:"5fd90293-1"},on:{click:t.tapFloor}},[t._v("楼层")]),a("span",{staticClass:"swichButton",class:{active:t.selectZone},attrs:{eventid:"5fd90293-2"},on:{click:t.tapZone}},[t._v("区域")])]),a("uni-list",{directives:[{name:"show",rawName:"v-show",value:t.selectFloor,expression:"selectFloor"}],attrs:{mpcomid:"5fd90293-2"}},t._l(t.floorList,function(e,n){return a("uni-list-item",{attrs:{title:e.name,eventid:"5fd90293-3-"+n,mpcomid:"5fd90293-1-"+n},on:{click:function(a){t.selectItem(e.id,e.name)}}})})),a("uni-list",{directives:[{name:"show",rawName:"v-show",value:t.selectZone,expression:"selectZone"}],attrs:{mpcomid:"5fd90293-4"}},t._l(t.zoneList,function(e,n){return a("uni-list-item",{attrs:{title:e.name,eventid:"5fd90293-4-"+n,mpcomid:"5fd90293-3-"+n},on:{click:function(a){t.selectItem(e.id,e.name)}}})}))],1)},o=[];a.d(e,"a",function(){return n}),a.d(e,"b",function(){return o})},e750:function(t,e,a){"use strict";a.r(e);var n=a("7f62"),o=a("0d8a");for(var i in o)"default"!==i&&function(t){a.d(e,t,function(){return o[t]})}(i);a("59d1");var s=a("2877"),c=Object(s["a"])(o["default"],n["a"],n["b"],!1,null,null,null);e["default"]=c.exports}},[["6e11","common/runtime","common/vendor"]]]);
\ No newline at end of file
{
"navigationBarTitleText": "门店列表"
}
\ No newline at end of file
<import src="/components/header.vue.wxml" /><import src="/components/list/uni-list/uni-list.vue.wxml" /><import src="/components/list/uni-list-item/uni-list-item.vue.wxml" /><template name="5fd90293"><view class="_view 5fd90293"><template bindleftClick="handleProxy" data-eventid="{{'5fd90293-0'}}" data-comkey="{{$k}}" data="{{...$root['0'], ...$root[$kk+'5fd90293-0'],$root}}" is="b9d2a092"></template><view class="_view 5fd90293 hearSwich"><label class="_span 5fd90293 swichButton {{[selectFloor ? 'active' : '']}}" bindtap="handleProxy" data-eventid="{{'5fd90293-1'}}" data-comkey="{{$k}}">楼层</label><label class="_span 5fd90293 swichButton {{[selectZone ? 'active' : '']}}" bindtap="handleProxy" data-eventid="{{'5fd90293-2'}}" data-comkey="{{$k}}">区域</label></view><template hidden="{{!(selectFloor)}}" data="{{...$root['0'], ...$root[$kk+'5fd90293-2'],$root, $slotdefault:'5fd90293-default-5fd90293-2'}}" is="6510b988"></template><template hidden="{{!(selectZone)}}" data="{{...$root['0'], ...$root[$kk+'5fd90293-4'],$root, $slotdefault:'5fd90293-default-5fd90293-4'}}" is="6510b988"></template></view></template>
\ No newline at end of file
<import src="./floorList.vue.wxml" />
<template is="5fd90293" data="{{ ...$root['0'], $root }}"/>
\ No newline at end of file
.hearSwich{
width: 100%;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient:horizontal;
-webkit-box-direction:normal;
-webkit-flex-direction:row;
-ms-flex-direction:row;
flex-direction:row;
border: 1px solid #0069FF;
border-radius: 10.86rpx;
font-size:21.73rpx;
margin-top: 7.24rpx;
}
.swichButton{
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
text-align: center;
padding: 7.24rpx 0;
}
.active{
background: #0069FF;
color: #FFFFFF;
}
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/list/mallList"],{"443d":function(t,e,a){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=o(a("c09e")),i=o(a("af25")),c=o(a("26f3"));function o(t){return t&&t.__esModule?t:{default:t}}var u={data:function(){return{leftSrc:"../../static/header/backArrow.png",titleStr:"商场选择",id:"",atoken:"",list:[],accountName:""}},onLoad:function(e){var a=this;this.atoken=e.atoken,this.id=e.accountId,t.getStorage({key:"accountName",success:function(t){a.accountName=t.data}}),this.getListData()},components:{headerComp:n.default,uniList:i.default,uniListItem:c.default},methods:{selectStore:function(e,a){t.setStorage({key:"orgIds",data:e}),e==this.id?(t.setStorage({key:"type",data:"account"}),t.setStorage({key:"orgName",data:this.accountName})):(t.setStorage({key:"type",data:"mall"}),t.setStorage({key:"orgName",data:a})),t.reLaunch({url:"../index/index"})},getListData:function(){var e=this;t.request({url:"https://store.keliuyun.com/report/malls",data:{accountId:this.id,_t:Date.parse(new Date)/1e3},header:{Authorization:this.atoken},method:"GET",success:function(t){e.list=t.data.data}})},backClick:function(){t.navigateBack({delta:1})}}};e.default=u}).call(this,a("649d")["default"])},8772:function(t,e,a){"use strict";a("eb2b");var n=c(a("b0ce")),i=c(a("f919"));function c(t){return t&&t.__esModule?t:{default:t}}Page((0,n.default)(i.default))},"95e5":function(t,e,a){"use strict";var n=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("view",[a("headerComp",{attrs:{leftImgSrc:t.leftSrc,title:t.titleStr,eventid:"2be8c3e9-0",mpcomid:"2be8c3e9-0"},on:{leftClick:t.backClick}}),a("uni-list",{attrs:{mpcomid:"2be8c3e9-3"}},[a("uni-list-item",{attrs:{title:"全部门店",eventid:"2be8c3e9-1",mpcomid:"2be8c3e9-1"},on:{click:function(e){t.selectStore(t.id)}}}),t._l(t.list,function(e,n){return a("uni-list-item",{attrs:{title:e.name,eventid:"2be8c3e9-2-"+n,mpcomid:"2be8c3e9-2-"+n},on:{click:function(a){t.selectStore(e.id,e.name)}}})})],2)],1)},i=[];a.d(e,"a",function(){return n}),a.d(e,"b",function(){return i})},a0b4:function(t,e,a){"use strict";a.r(e);var n=a("443d"),i=a.n(n);for(var c in n)"default"!==c&&function(t){a.d(e,t,function(){return n[t]})}(c);e["default"]=i.a},f919:function(t,e,a){"use strict";a.r(e);var n=a("95e5"),i=a("a0b4");for(var c in i)"default"!==c&&function(t){a.d(e,t,function(){return i[t]})}(c);var o=a("2877"),u=Object(o["a"])(i["default"],n["a"],n["b"],!1,null,null,null);e["default"]=u.exports}},[["8772","common/runtime","common/vendor"]]]);
\ No newline at end of file
{
"navigationBarTitleText": "商场列表"
}
\ No newline at end of file
<import src="/components/header.vue.wxml" /><import src="/components/list/uni-list/uni-list.vue.wxml" /><import src="/components/list/uni-list-item/uni-list-item.vue.wxml" /><template name="2be8c3e9"><view class="_view 2be8c3e9"><template bindleftClick="handleProxy" data-eventid="{{'2be8c3e9-0'}}" data-comkey="{{$k}}" data="{{...$root['0'], ...$root[$kk+'2be8c3e9-0'],$root}}" is="b9d2a092"></template><template data="{{...$root['0'], ...$root[$kk+'2be8c3e9-3'],$root, $slotdefault:'2be8c3e9-default-2be8c3e9-3'}}" is="6510b988"></template></view></template>
\ No newline at end of file
<import src="./mallList.vue.wxml" />
<template is="2be8c3e9" data="{{ ...$root['0'], $root }}"/>
\ No newline at end of file
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/login/login"],{1637:function(t,e,a){"use strict";a.r(e);var n=a("d686"),o=a.n(n);for(var s in n)"default"!==s&&function(t){a.d(e,t,function(){return n[t]})}(s);e["default"]=o.a},"7dfa":function(t,e,a){"use strict";a("eb2b");var n=s(a("b0ce")),o=s(a("ee79"));function s(t){return t&&t.__esModule?t:{default:t}}Page((0,n.default)(o.default))},"96d3":function(t,e,a){"use strict";var n=a("c811"),o=a.n(n);o.a},c020:function(t,e,a){"use strict";var n=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("view",[a("view",{staticClass:"loginBg"},[a("view",{staticClass:"loginBox"},[a("text",{staticClass:"loginTitle"},[t._v("智慧商业客流6.0")]),a("view",{staticClass:"inputBox userBox"},[a("image",{attrs:{src:"../../static/login/user.png",mode:""}}),a("input",{directives:[{name:"model",rawName:"v-model",value:t.username,expression:"username"}],staticClass:"uni-input userInput",attrs:{focus:"",placeholder:"请输入用户名",eventid:"7f776b89-0"},domProps:{value:t.username},on:{input:function(e){e.target.composing||(t.username=e.target.value)}}})]),a("view",{staticClass:"inputBox pwdBox"},[a("image",{attrs:{src:"../../static/login/pwd.png",mode:""}}),a("input",{directives:[{name:"model",rawName:"v-model",value:t.password,expression:"password"}],staticClass:"uni-input pwdInput",attrs:{placeholder:"请输入密码",password:"",eventid:"7f776b89-1"},domProps:{value:t.password},on:{input:function(e){e.target.composing||(t.password=e.target.value)}}})]),a("button",{staticClass:"loginBtn",attrs:{eventid:"7f776b89-2"},on:{tap:t.login}},[t._v("登录")])],1)])])},o=[];a.d(e,"a",function(){return n}),a.d(e,"b",function(){return o})},c811:function(t,e,a){},d686:function(t,e,a){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var a={data:function(){return{username:"vion",password:123456}},onLoad:function(){},methods:{login:function(){this.username.length<=0?t.showToast({icon:"none",title:"请输入用户名"}):this.password.length<=0?t.showToast({icon:"none",title:"请输入密码"}):t.request({url:"https://store.keliuyun.com/report/users/login",data:{loginName:this.username,password:this.password},method:"POST",success:function(e){var a=e.data;200==a.code?(t.request({url:"https://store.keliuyun.com/report/accounts",data:{id:a.data.user.accountId,_t:Date.parse(new Date)/1e3},header:{Authorization:a.data.atoken},method:"GET",success:function(e){if(200==e.data.code){var a=e.data.data;t.setStorage({key:"orgName",data:a[0].name}),t.setStorage({key:"accountName",data:a[0].name})}}}),t.switchTab({url:"../index/index"}),t.setStorage({key:"atoken",data:a.data.atoken}),t.setStorage({key:"accountId",data:a.data.user.accountId}),t.setStorage({key:"orgIds",data:a.data.user.accountId}),t.setStorage({key:"type",data:"account"})):t.showToast({icon:"none",title:a.msg})}})}}};e.default=a}).call(this,a("649d")["default"])},ee79:function(t,e,a){"use strict";a.r(e);var n=a("c020"),o=a("1637");for(var s in o)"default"!==s&&function(t){a.d(e,t,function(){return o[t]})}(s);a("96d3");var r=a("2877"),u=Object(r["a"])(o["default"],n["a"],n["b"],!1,null,null,null);e["default"]=u.exports}},[["7dfa","common/runtime","common/vendor"]]]);
\ No newline at end of file
{
"navigationBarTitleText": "登录"
}
\ No newline at end of file
<template name="7f776b89"><view class="_view 7f776b89"><view class="_view 7f776b89 loginBg"><view class="_view 7f776b89 loginBox"><text class="_text 7f776b89 loginTitle">智慧商业客流6.0</text><view class="_view 7f776b89 inputBox userBox"><image src="../../static/login/user.png" mode class="_image 7f776b89"></image><input class="_input 7f776b89 uni-input userInput" focus placeholder="请输入用户名" value="{{username}}" bindinput="handleProxy" data-eventid="{{'7f776b89-0'}}" data-comkey="{{$k}}" /></view><view class="_view 7f776b89 inputBox pwdBox"><image src="../../static/login/pwd.png" mode class="_image 7f776b89"></image><input class="_input 7f776b89 uni-input pwdInput" placeholder="请输入密码" password value="{{password}}" bindinput="handleProxy" data-eventid="{{'7f776b89-1'}}" data-comkey="{{$k}}" /></view><button class="_button 7f776b89 loginBtn" bindtap="handleProxy" data-eventid="{{'7f776b89-2'}}" data-comkey="{{$k}}">登录</button></view></view></view></template>
\ No newline at end of file
<import src="./login.vue.wxml" />
<template is="7f776b89" data="{{ ...$root['0'], $root }}"/>
\ No newline at end of file
.loginBg{
background: url(../../static/img/loginBg.521f9b73.png) no-repeat;
background-size: 100% 100%;
height: 731.88rpx;
}
.loginBox{
background: #ffffff;
width: 670.28rpx;
height: 663.04rpx;
position: relative;
top: 311.59rpx;
margin: 0 auto;
-webkit-box-shadow:0px 0px 12.68rpx 0px rgba(0,0,0,0.14);
box-shadow:0px 0px 12.68rpx 0px rgba(0,0,0,0.14);
border-radius:7.24rpx;
padding-top:85.14rpx;
}
.loginTitle{
font-size:43.47rpx;
color:rgba(74,74,74,1);
letter-spacing:1.81rpx;
text-align: center;
display: block;
position: relative;
margin-bottom: 119.56rpx;
}
.inputBox{
width: 528.98rpx;
border-bottom: 1.81rpx solid #9B9B9B;
margin: 0 auto;
padding-left: 12.68rpx;
}
.userBox{
margin-bottom: 43.47rpx;
}
.userBox image{
height:32.6rpx;
width: 25.5rpx;
display: inline-block;
top: -3.8rpx;
}
.pwdBox image{
height:32.6rpx;
width: 32.6rpx;
display: inline-block;
top: -3.8rpx;
}
.userInput{
display: inline-block;
font-size: 30.79rpx;
top: 9.05rpx;
left: 32.6rpx;
}
.pwdInput{
display: inline-block;
font-size: 30.79rpx;
top: 9.05rpx;
left: 25.36rpx;
}
.pwdBox{
margin-bottom: 94.2rpx;
}
.loginBtn{
width:516.36rpx;
height:76.08rpx;
background:rgba(0,105,255,1);
border-radius:21px;
font-size:36.23rpx;
color:rgba(255,255,255,1);
line-height:76.08rpx;
letter-spacing: 25.36rpx;
padding: 0;
padding-left: 25.36rpx;
}
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/manage/index"],{"0934":function(n,t,e){"use strict";e("eb2b");var u=a(e("b0ce")),r=a(e("74c6"));function a(n){return n&&n.__esModule?n:{default:n}}Page((0,u.default)(r.default))},"44ed":function(n,t,e){},"74c6":function(n,t,e){"use strict";e.r(t);var u=e("8768"),r=e("9882");for(var a in r)"default"!==a&&function(n){e.d(t,n,function(){return r[n]})}(a);var c=e("2877"),o=Object(c["a"])(r["default"],u["a"],u["b"],!1,null,null,null);t["default"]=o.exports},8768:function(n,t,e){"use strict";var u=function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("div",[n._v("222")])},r=[];e.d(t,"a",function(){return u}),e.d(t,"b",function(){return r})},9882:function(n,t,e){"use strict";e.r(t);var u=e("44ed"),r=e.n(u);for(var a in u)"default"!==a&&function(n){e.d(t,n,function(){return u[n]})}(a);t["default"]=r.a}},[["0934","common/runtime","common/vendor"]]]);
\ No newline at end of file
{
"navigationBarTitleText": "后台管理"
}
\ No newline at end of file
<template name="4783ba22"><view class="_div 4783ba22">222</view></template>
\ No newline at end of file
<import src="./index.vue.wxml" />
<template is="4783ba22" data="{{ ...$root['0'], $root }}"/>
\ No newline at end of file
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/my/index"],{"39ac":function(n,t,e){"use strict";e.r(t);var u=e("72ed"),r=e("425b");for(var a in r)"default"!==a&&function(n){e.d(t,n,function(){return r[n]})}(a);var c=e("2877"),f=Object(c["a"])(r["default"],u["a"],u["b"],!1,null,null,null);t["default"]=f.exports},"425b":function(n,t,e){"use strict";e.r(t);var u=e("caf4"),r=e.n(u);for(var a in u)"default"!==a&&function(n){e.d(t,n,function(){return u[n]})}(a);t["default"]=r.a},"72ed":function(n,t,e){"use strict";var u=function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("div",[n._v("222")])},r=[];e.d(t,"a",function(){return u}),e.d(t,"b",function(){return r})},caf4:function(n,t,e){},de6b:function(n,t,e){"use strict";e("eb2b");var u=a(e("b0ce")),r=a(e("39ac"));function a(n){return n&&n.__esModule?n:{default:n}}Page((0,u.default)(r.default))}},[["de6b","common/runtime","common/vendor"]]]);
\ No newline at end of file
{
"navigationBarTitleText": "我的"
}
\ No newline at end of file
<template name="732de629"><view class="_div 732de629">222</view></template>
\ No newline at end of file
<import src="./index.vue.wxml" />
<template is="732de629" data="{{ ...$root['0'], $root }}"/>
\ No newline at end of file
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/passenger/index"],{5177:function(n,t,e){"use strict";e("eb2b");var u=a(e("b0ce")),r=a(e("5eda"));function a(n){return n&&n.__esModule?n:{default:n}}Page((0,u.default)(r.default))},"5eda":function(n,t,e){"use strict";e.r(t);var u=e("970b"),r=e("9620");for(var a in r)"default"!==a&&function(n){e.d(t,n,function(){return r[n]})}(a);var c=e("2877"),o=Object(c["a"])(r["default"],u["a"],u["b"],!1,null,null,null);t["default"]=o.exports},9620:function(n,t,e){"use strict";e.r(t);var u=e("a47c"),r=e.n(u);for(var a in u)"default"!==a&&function(n){e.d(t,n,function(){return u[n]})}(a);t["default"]=r.a},"970b":function(n,t,e){"use strict";var u=function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("div",[n._v("222")])},r=[];e.d(t,"a",function(){return u}),e.d(t,"b",function(){return r})},a47c:function(n,t,e){}},[["5177","common/runtime","common/vendor"]]]);
\ No newline at end of file
{
"navigationBarTitleText": "精准客流"
}
\ No newline at end of file
<template name="30750e63"><view class="_div 30750e63">222</view></template>
\ No newline at end of file
<import src="./index.vue.wxml" />
<template is="30750e63" data="{{ ...$root['0'], $root }}"/>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title></title>
<style>
* {
margin: 0;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-webkit-tap-highlight-color: transparent;
}
html {
-webkit-user-select: none;
user-select: none;
height: 100%;
width: 100%;
background: transparent;
}
body {
-webkit-user-select: none;
user-select: none;
width: 100%;
overflow-x: hidden;
background: transparent;
}
</style>
</head>
<body>
<div id="container" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden;">
</div>
<script>
var containerElem = document.getElementById('container')
function plusReady(callback) {
if (window.plus && window.plus.isReady) {
callback()
} else {
document.addEventListener('plusready', callback)
}
}
var UniPlusBridge = {
subscribe: function(eventType, args, callbackId) {
console.log(eventType, args)
switch (eventType) {
case 'insertScrollView':
insertScrollView(args, callbackId)
break
case 'updateScrollView':
updateScrollView(args, callbackId)
break
case 'insertTextView':
insertTextView(args, callbackId)
break
case 'updateTextView':
updateTextView(args, callbackId)
break
case 'insertImageView':
insertImageView(args, callbackId)
break
case 'updateImageView':
updateImageView(args, callbackId)
break
case 'animateCoverView':
animateCoverView(args, callbackId)
break
case 'removeScrollView':
case 'removeTextView':
case 'removeImageView':
removeCoverView(eventType, args, callbackId)
break
}
},
publish: function(eventType, args) {
plusReady(function() {
plus.webview.currentWebview().parent().evalJS(
"PlusJSBridge.subscribeHandler(" + eventType + ", " + JSON.stringify(args) + ")")
})
},
invoke: function(callbackId, args) {
plusReady(function() {
plus.webview.currentWebview().parent().evalJS(
"PlusJSBridge.invokeCallbackHandler(" + callbackId + ", " + JSON.stringify(args) + ")")
})
}
}
function hexToRgba(hex) {
var r,
g,
b,
a;
hex = hex.replace('#', '');
if (8 === hex.length) {
r = hex.substring(0, 2);
g = hex.substring(2, 4);
b = hex.substring(4, 6);
a = hex.substring(6, 8);
} else {
return '';
}
if ('undefined' === typeof a) {
a = 'ff';
}
if (1 === r.length) {
r += r;
}
if (1 === g.length) {
g += g;
}
if (1 === b.length) {
b += b;
}
if (1 === a.length) {
a += a;
}
r = parseInt(r, 16);
g = parseInt(g, 16);
b = parseInt(b, 16);
a = parseInt(a, 16) / 255;
return 'rgba(' + r + ',' + g + ',' + b + ',' + a + ')';
}
function updatePosition(elem, position) {
elem.style.left = position.left + 'px'
elem.style.top = position.top + 'px'
elem.style.width = position.width + 'px'
elem.style.height = position.height + 'px'
}
var pxProps = ['left', 'top', 'width', 'height', 'borderRadius', 'borderWidth', 'fontSize', 'lineHeight']
var hexProps = ['bgColor', 'borderColor', 'color']
function updateStyle(elem, styles) {
styles = styles || {}
var elemStyle = elem.style
for (var name in styles) {
if (styles.hasOwnProperty(name)) {
if (pxProps.indexOf(name) !== -1) {
elemStyle[name] = styles[name] + 'px'
} else if (hexProps.indexOf(name) !== -1) {
elemStyle[name === 'bgColor' ? 'backgroundColor' : name] = hexToRgba(styles[name])
} else if (name === 'fixed') {
if (styles['fixed']) {
elemStyle.position = 'fixed'
} else {
elemStyle.position = 'absolute'
}
} else if (name === 'padding') {
elemStyle.padding = styles['padding'].join('px ') + 'px'
} else if (name === 'content') {
elem.innerText = styles[name]
} else {
elemStyle[name] = styles[name]
}
}
}
}
function removeCoverView(eventType, args, callbackId) {
var viewId = args.viewId
var coverViewElem = document.querySelector('#cover-view-' + viewId)
if (coverViewElem) {
coverViewElem.parentNode && coverViewElem.parentNode.removeChild(coverViewElem)
UniPlusBridge.invoke(callbackId, {
errMsg: eventType + ':ok'
})
} else {
UniPlusBridge.invoke(callbackId, {
errMsg: eventType + ':fail'
})
}
}
function insertScrollView(args, callbackId) {
}
function updateScrollView(args, callbackId) {
}
function insertTextView(args, callbackId) {
var viewId = args.viewId
var parentId = args.parentId
var coverViewElem = document.createElement('div')
var labelElem = document.createElement('div')
coverViewElem.id = 'cover-view-' + viewId
labelElem.id = 'cover-view-label-' + viewId
updateStyle(coverViewElem, args.position)
updateStyle(coverViewElem, args.style)
updateStyle(labelElem, args.label)
coverViewElem.appendChild(labelElem)
var parentElem = document.querySelector('#cover-view-' + parentId) || document.querySelector('#container')
parentElem.appendChild(coverViewElem)
UniPlusBridge.invoke(callbackId, {
errMsg: 'insertTextView:ok'
})
}
function updateTextView(args, callbackId) {
var viewId = args.viewId
var coverViewElem = document.querySelector('#cover-view-' + viewId)
if (coverViewElem) {
labelElem = coverViewElem.querySelector('#cover-view-label-' + viewId)
updateStyle(coverViewElem, args.position)
updateStyle(coverViewElem, args.style)
updateStyle(labelElem, args.label)
UniPlusBridge.invoke(callbackId, {
errMsg: 'updateTextView:ok'
})
} else {
UniPlusBridge.invoke(callbackId, {
errMsg: 'updateTextView:fail'
})
}
}
function insertImageView(args, callbackId) {
var viewId = args.viewId
var parentId = args.parentId
var coverViewElem = document.createElement('div')
var coverImageElem = document.createElement('img')
coverViewElem.id = 'cover-view-' + viewId
coverImageElem.id = 'cover-view-image-' + viewId
updateStyle(coverViewElem, args.position)
updateStyle(coverViewElem, args.style)
if (args.iconPath) {
coverImageElem.src = args.iconPath
}
coverViewElem.appendChild(coverImageElem)
var parentElem = document.querySelector('#cover-view-' + parentId) || document.querySelector('#container')
parentElem.appendChild(coverViewElem)
UniPlusBridge.invoke(callbackId, {
errMsg: 'insertImageView:ok'
})
}
function updateImageView(args, callbackId) {
var viewId = args.viewId
var coverViewElem = document.querySelector('#cover-view-' + viewId)
if (coverViewElem) {
coverImageElem = coverViewElem.querySelector('#cover-view-image-' + viewId)
updateStyle(coverViewElem, args.position)
updateStyle(coverViewElem, args.style)
if (args.iconPath) {
coverImageElem.src = args.iconPath
}
UniPlusBridge.invoke(callbackId, {
errMsg: 'updateImageView:ok'
})
} else {
UniPlusBridge.invoke(callbackId, {
errMsg: 'updateImageView:fail'
})
}
}
function animateCoverView(args, callbackId) {
}
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title></title>
<style>
html,
body,
.container {
margin: 0;
padding: 0;
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
background: #000000;
}
iframe {
width: 100%;
height: 100%;
display: block;
}
.actTonav {
display: none;
position: absolute;
right: 16px;
bottom: 56px;
width: 60px;
height: 60px;
border-radius: 60px;
}
</style>
</head>
<body>
<div id="container" class="container">
<iframe id="map" allow="geolocation" seamless sandbox="allow-scripts allow-same-origin allow-forms" frameborder="0"></iframe>
<!-- 去这里 -->
<div id="actTonav" class="actTonav"></div>
</div>
<script>
var loc;
var serviceWebview;
var back = function () {
var webview = plus.webview.currentWebview()
if (webview.__uniapp_dark) {
plus.navigator.setStatusBarStyle('dark')
}
webview.close('auto');
};
var isIos = !!navigator.userAgent.match(/iPhone|iPad|iPod/i);
/**
* 调用系统第三方程序进行导航
*/
function openSysMap(lat, lng, title) {
/**
* 网页版地图源
*/
var mapsSourceWeb = [{
title: '腾讯地图网页版',
getUrl: function () {
var url
url = 'https://apis.map.qq.com/uri/v1/routeplan?type=drive' + '&to=' +
encodeURIComponent(title) + '&tocoord=' + encodeURIComponent(lat + ',' + lng) +
'&referer=APP'
return url
}
},
{
title: '谷歌地图网页版',
getUrl: function () {
var url
url = 'https://maps.google.cn/?daddr=' + encodeURIComponent(title) + '&sll=' +
encodeURIComponent(lat + ',' + lng)
return url
}
}
]
/**
* APP版地图源
*/
var mapsSource = [{
title: '高德地图',
pname: 'com.autonavi.minimap',
action: !isIos ? 'amapuri://' : 'iosamap://',
getUrl: function () {
var url
if (!isIos) {
url = 'amapuri://route/plan/'
} else {
url = 'iosamap://path'
}
url += '?sourceApplication=APP&dname=' + encodeURIComponent(title) + '&dlat=' + lat +
'&dlon=' + lng + '&dev=0'
return url
}
},
{
title: '百度地图',
pname: 'com.baidu.BaiduMap',
action: 'baidumap://',
getUrl: function () {
var url
url = 'baidumap://map/direction?destination=' + encodeURIComponent('latlng:' + lat +
',' + lng + '|name:' + title) + '&mode=driving&src=APP'
return url
}
},
{
title: '腾讯地图',
pname: 'com.tencent.map',
action: 'qqmap://',
getUrl: function () {
var url
url = 'qqmap://map/routeplan?type=drive' + (isIos ? ('&from=' + encodeURIComponent(
'我的位置')) : '') + '&to=' + encodeURIComponent(title) + '&tocoord=' +
encodeURIComponent(lat + ',' + lng) + '&referer=APP'
return url
}
},
{
title: '谷歌地图',
pname: 'com.google.android.apps.maps',
action: 'comgooglemapsurl://',
getUrl: function () {
var url
if (!isIos) {
url = 'https://maps.google.com/'
} else {
url = 'comgooglemapsurl://maps.google.com/'
}
url += '?daddr=' + encodeURIComponent(title) + '&sll=' + encodeURIComponent(lat + ',' +
lng)
return url
}
},
]
var maps = []
mapsSource.forEach(function (mapsSource) {
var installed = plus.runtime.isApplicationExist({
pname: mapsSource.pname,
action: mapsSource.action,
})
if (installed) {
maps.push(mapsSource)
}
})
if (isIos) {
maps.unshift({
title: 'Apple 地图',
getUrl: function () {
var url
url = 'https://maps.apple.com/?daddr=' + encodeURIComponent(title) + '&sll=' +
encodeURIComponent(lat + ',' + lng)
return url
}
})
}
if (maps.length === 0) {
maps = maps.concat(mapsSourceWeb)
}
plus.nativeUI.actionSheet({
title: '导航方式',
cancel: '取消',
buttons: maps,
}, function (res) {
var index = res.index
var map
if (index > 0) {
map = maps[index - 1]
plus.runtime.openURL(map.getUrl(), function () {}, map.pname)
}
})
}
window.__chooseLocationConfirm__ = function () {
if (!loc) {
plus.nativeUI.alert('您尚未选择位置!');
return;
}
serviceWebview.evalJS('window.__chooseLocationCallback__&&__chooseLocationCallback__(' + JSON.stringify(
loc) + ')');
back();
}
document.addEventListener('plusready', function () {
serviceWebview = plus.webview.getWebviewById('__W2A_CONTEXT_') || plus.webview.getLaunchWebview();
plus.key.addEventListener('backbutton', back);
})
var mapElem = document.getElementById('map');
var defaultReferer = 'wxdevtools';
var defaultKey = 'JMRBZ-R4HCD-X674O-PXLN4-B7CLH-42BSB';
window.__openLocation__ = function (params) {
var key = params.key || defaultKey;
var referer = params.referer = defaultReferer;
var latitude = params.latitude;
var longitude = params.longitude;
var scale = params.scale;
var name = params.name;
var address = params.address;
var marker = 'coord:' + latitude + ',' + longitude;
if (name) {
marker += ';title:' + encodeURIComponent(name);
}
if (address) {
marker += ';addr:' + encodeURIComponent(address);
}
var url = 'http://apis.map.qq.com/tools/poimarker?type=0&marker=' + marker + '&key=' + defaultKey +
'&referer=' + referer;
mapElem.src = url;
var actTonav = document.getElementById('actTonav')
actTonav.style.display = 'block';
actTonav.onclick = function () {
openSysMap(latitude, longitude, name)
}
};
window.__chooseLocation__ = function (params) {
var params = params || {};
var key = params.key || defaultKey;
var referer = params.referer = defaultReferer;
var coord = params.coord || {};
var lat = coord.lat;
var lng = coord.lng;
var coordtype = coord.type || 5;
var url = 'http://apis.map.qq.com/tools/locpicker?type=1&search=1&coord=' + (lat && lng ? (lat + ',' +
lng) : '') + '&coordtype=' + coordtype + '&key=' + defaultKey + '&referer=' + referer;
mapElem.src = url;
};
window.addEventListener('message', function (event) {
var _loc = event.data;
if (_loc && _loc.module == 'locationPicker') {
loc = _loc;
}
}, false);
</script>
</body>
</html>
This diff could not be displayed because it is too large.
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<script>
var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))
document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')
</script>
<title>扫码</title>
<style>
html,
body,
.container {
margin: 0;
padding: 0;
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
background: #000000;
}
</style>
</head>
<body>
<div id="scan" class="container">
</div>
<script>
var scan;
var lightImg;
var lightView;
var back = function () {
lightImg && lightImg.clear();
lightView && lightView.clear();
scan && scan.close();
var webview = plus.webview.currentWebview();
if (webview.__uniapp_dark) {
plus.navigator.setStatusBarStyle('dark');
}
webview.close('auto');
}
/**
* 绘制照亮开关
*/
function drawLight() {
var offImg =
'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAABjklEQVRoQ+1ZbVHEQAx9TwE4ABTcOQAknANQAKcAUAAOAAXgAHAACsDCKQiTmbYDzJZtNt2bFrJ/m6+Xl2yyU2LmhzOPH/8PgIjcADirxNyapNoffMwMiMgzgMPBHmyCLySPLCoBwJKtAbJbYaBmD1yRvBwAtBMxl5DF+DZkiwCIyBLAzsgBbki+Wm2WAlCaL6zOMvKnJO+sNksB7ALQbO1ZHfbIv5FUVs2nCIB6EZETALdmj2mFY5I6X8ynGEADQllYmL1+VzBfnV/VvQB0aj45ARyQ/Ci14QLQsOBZLe5JaikWnzEA7AN4L4hgA2Dpyb76dANwsOCq/TZhASAYKGie0a7R1lDPI0ebtF0NUi+4yfdAtxr3PEMnD6BbD0QkNfACQO05EAwMuaBqDrIVycdmTpwDuP4R0OR7QFftVRP0g+49cwOQq4DJMxAAchmofY3m/EcJBQOZbTRKKJeBKKEoIePvpFRJ1VzmciUccyCa+C81cerBkuuB7sGTE/zt+yhN7AnAqxsAvBn06n8CkyPwMZKwm+UAAAAASUVORK5CYII=';
var onImg =
'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAB4klEQVRoQ+1ZQU7CUBCdaWVBLFETqUtxB7iQG4hH4AZ4AvUE4gnkBuoJ9AbiDXAhZadby4IQICaS9psqJBVLy5/fkhKHbefPzPvzZv6bgLDmP1zz/OH/ARjZpSYAniVSORQXRt5qyviWrsDQLrUQ8FgmyLK2AsRTzrSqy9p7dgxA5raibFdSgSR7QAi4yu11GlFA/d+lKSTjfBW2JAAj+7Cio7MVZ4KO0AeG+dKW9UkCMHwvNxDhUjZYuL17apjdW1mfJACiX9gef2bbgLgvG3CB/bNhdioUXyQAXqCRXawDaDeUoPNnBLonuXy3RfFFBvADouxx9ogSeHaGMjpjm0LDXrGKQntUAaBn3IPsTveN6kOpAl5QNWkh7gzTqlOTJ0mJ+WAf/WLBmWivskkIEIONjKio3H4sAKhVUOX+7MKUKcQAZLk3Z88VWEQhr0kRYCoN/m5wqe8BvzQOkuDpB+CTB0EPHgOYNnNiTewXaFyBkFGbWAVQE7XNXevhW7X2Sucg8NqfR+p7AADaesateUk7E+0eAH4tLOsAIPSNZQBJT6EoicMV4Ar4OEJZK5lCTCGmkPy/MUGjOTEtxO9A1A1wE3MTp6iJgxaWKAr7F54o27DvsUwhlQRUzzIA1RtUPf8FRKRYQOI+9hQAAAAASUVORK5CYII=';
var onText = '轻触照亮';
var offText = '轻触关闭';
var on = false;
var viewWidth = 48;
var fontSize = 12;
var imgWidth = 30;
function changeType() {
lightView.reset();
lightImg.loadBase64Data(on ? onImg : offImg, function () {
lightView.drawBitmap(lightImg, {}, {
top: 0,
left: (viewWidth - imgWidth) / 2 + 'px',
width: imgWidth + 'px',
height: imgWidth + 'px'
});
});
lightView.drawText(on ? offText : onText, {
top: imgWidth + 'px',
left: '0px',
width: '100%',
height: fontSize + 'px'
}, {
color: '#ffffff',
size: fontSize + 'px'
});
scan.setFlash(on);
on = !on;
}
lightImg = new plus.nativeObj.Bitmap('lightImg');
lightView = new plus.nativeObj.View('lightView', {
width: viewWidth + 'px',
height: viewWidth + 'px',
top: window.innerHeight / 2 + 50 + 'px',
left: (window.innerWidth - viewWidth) / 2 + 'px',
position: 'static'
});
lightView.addEventListener('click', function () {
changeType();
});
plus.webview.currentWebview().append(lightView);
changeType();
}
document.addEventListener('plusready', function () {
var serviceWebview = plus.webview.getWebviewById('__W2A_CONTEXT_') || plus.webview.getLaunchWebview();
plus.key.addEventListener('backbutton', back);
setTimeout(function () {
var webview = plus.webview.currentWebview();
scan = new plus.barcode.Barcode('scan', webview.__uniapp_scan_type, {
frameColor: '#118CE9',
scanbarColor: '#118CE9'
});
scan.onmarked = function (type, code, file) {
var res = {
type: type,
code: code
};
back()
serviceWebview.evalJS('window.__scanCodeCallback__&&__scanCodeCallback__(' +
JSON.stringify(res) + ')');
};
scan.onerror = function (error) {
back()
serviceWebview.evalJS(
'window.__scanCodeCallback__&&__scanCodeCallback__(false)');
};
scan.start();
drawLight();
}, 500)
})
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<script>
var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))
document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')
</script>
<title>Service</title>
<style>
html,
body {
margin: 0;
}
</style>
<script>
var __wxConfig = {"debug":false,"appname":"app","entryPagePath":"pages/login/login.html","page":{"pages/login/login.html":{"window":{"navigationBarTitleText":"登录"}},"pages/index/index.html":{"window":{"navigationBarTitleText":"首页"}},"pages/analysis/index.html":{"window":{"navigationBarTitleText":"综合分析"}},"pages/passenger/index.html":{"window":{"navigationBarTitleText":"精准客流"}},"pages/manage/index.html":{"window":{"navigationBarTitleText":"后台管理"}},"pages/my/index.html":{"window":{"navigationBarTitleText":"我的"}},"pages/list/mallList.html":{"window":{"navigationBarTitleText":"商场列表"}},"pages/list/floorList.html":{"window":{"navigationBarTitleText":"门店列表"}}},"global":{"window":{"titleNView":false,"navigationBarTextStyle":"black","navigationBarTitleText":"演示","navigationBarBackgroundColor":"#F8F8F8","backgroundColor":"#F8F8F8"}},"tabBar":{"color":"#7A7E83","selectedColor":"#3cc51f","backgroundColor":"#ffffff","borderStyle":"black","list":[{"pagePath":"pages/index/index.html","iconPath":"static/logo.png","selectedIconPath":"static/logo.png","text":"首页"},{"pagePath":"pages/analysis/index.html","iconPath":"static/logo.png","selectedIconPath":"static/logo.png","text":"综合分析"},{"pagePath":"pages/passenger/index.html","iconPath":"static/logo.png","selectedIconPath":"static/logo.png","text":"精准客流"},{"pagePath":"pages/manage/index.html","iconPath":"static/logo.png","selectedIconPath":"static/logo.png","text":"后台管理"},{"pagePath":"pages/my/index.html","iconPath":"static/logo.png","selectedIconPath":"static/logo.png","text":"我的"}],"position":"bottom"},"networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000},"platform":"devtools","pages":["pages/login/login","pages/index/index","pages/analysis/index","pages/passenger/index","pages/manage/index","pages/my/index","pages/list/mallList","pages/list/floorList"],"subPackages":[],"usingComponents":{},"splashscreen":{"alwaysShowBeforeRender":true,"autoclose":false}}
</script>
<script src="__uniappes6.js"></script>
</head>
<body>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<script>
var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))
document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')
</script>
<title>View</title>
<style>
* {
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-webkit-tap-highlight-color: transparent;
}
input[type="search"i]::-webkit-search-cancel-button {
display: none;
}
</style>
<script>
var __wxConfig = {"debug":false,"appname":"app","entryPagePath":"pages/login/login.html","page":{"pages/login/login.html":{"window":{"navigationBarTitleText":"登录"}},"pages/index/index.html":{"window":{"navigationBarTitleText":"首页"}},"pages/analysis/index.html":{"window":{"navigationBarTitleText":"综合分析"}},"pages/passenger/index.html":{"window":{"navigationBarTitleText":"精准客流"}},"pages/manage/index.html":{"window":{"navigationBarTitleText":"后台管理"}},"pages/my/index.html":{"window":{"navigationBarTitleText":"我的"}},"pages/list/mallList.html":{"window":{"navigationBarTitleText":"商场列表"}},"pages/list/floorList.html":{"window":{"navigationBarTitleText":"门店列表"}}},"global":{"window":{"titleNView":false,"navigationBarTextStyle":"black","navigationBarTitleText":"演示","navigationBarBackgroundColor":"#F8F8F8","backgroundColor":"#F8F8F8"}},"tabBar":{"color":"#7A7E83","selectedColor":"#3cc51f","backgroundColor":"#ffffff","borderStyle":"black","list":[{"pagePath":"pages/index/index.html","iconPath":"static/logo.png","selectedIconPath":"static/logo.png","text":"首页"},{"pagePath":"pages/analysis/index.html","iconPath":"static/logo.png","selectedIconPath":"static/logo.png","text":"综合分析"},{"pagePath":"pages/passenger/index.html","iconPath":"static/logo.png","selectedIconPath":"static/logo.png","text":"精准客流"},{"pagePath":"pages/manage/index.html","iconPath":"static/logo.png","selectedIconPath":"static/logo.png","text":"后台管理"},{"pagePath":"pages/my/index.html","iconPath":"static/logo.png","selectedIconPath":"static/logo.png","text":"我的"}],"position":"bottom"},"networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000},"platform":"devtools","pages":["pages/login/login","pages/index/index","pages/analysis/index","pages/passenger/index","pages/manage/index","pages/my/index","pages/list/mallList","pages/list/floorList"],"subPackages":[],"usingComponents":{},"splashscreen":{"alwaysShowBeforeRender":true,"autoclose":false}}
</script>
<script>
var __id__ = '';
window.__dispatchGenerateFunc__ = function(page) {
__id__ = page;
document.title = page;
// window.history.pushState('', '', page);
plus.webview.currentWebview().setJsFile('_www/' + page.replace('.html', '.js'));
};
</script>
<script src="__uniappes6.js"></script>
<script src="uniapp://ready"></script>
</head>
<body>
<div></div>
</body>
</html>
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
{
"@platforms": [
"android",
"iPhone",
"iPad"
],
"id": "",
"name": "app",
"version": {
"name": "1.0.0",
"code": "100"
},
"description": "",
"launch_path": "__uniappservice.html",
"developer": {
"name": "",
"email": "",
"url": ""
},
"permissions": {},
"plus": {
"useragent": {
"value": "uni-app appservice",
"concatenate": true
},
"splashscreen": {
"target": "id:1",
"autoclose": true,
"waiting": true,
"delay": 0
},
"popGesture": "close",
"launchwebview": {
"render": "always"
},
"statusbar": {
"immersed": "supportedDevice",
"style": "dark",
"background": "#F8F8F8"
},
"distribute": {
"google": {
"permissions": [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.CALL_PHONE\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
]
},
"apple": {},
"plugins": {
"audio": {
"mp3": {
"description": "Android平台录音支持MP3格式文件"
}
}
}
},
"arguments": "{\"name\":\"test\",\"path\":\"pages/index/index\"}",
"allowsInlineMediaPlayback": true,
"safearea": {
"background": "#ffffff",
"bottom": {
"offset": "auto"
}
}
}
}
\ No newline at end of file
!(function(){
var uniAppViewReadyCallback = function(){
document.dispatchEvent(new CustomEvent("generateFuncReady", { detail: { generateFunc: $gwx('./pages/analysis/index.wxml') } }));
}
if(window.__uniAppViewReady__){
uniAppViewReadyCallback()
}else{
document.addEventListener('uniAppViewReady',uniAppViewReadyCallback)
}
})();
\ No newline at end of file
!(function(){
var uniAppViewReadyCallback = function(){
setCssToHead([".",[1],"hearSwich{ width: 100%; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient:horizontal; -webkit-box-direction:normal; -webkit-flex-direction:row; -ms-flex-direction:row; flex-direction:row; border: 1px solid #0069FF; border-radius: ",[0,10.86],"; font-size:",[0,21.73],"; margin-top: ",[0,7.24],"; }\n.",[1],"swichButton{ -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; text-align: center; padding: ",[0,7.24]," 0; }\n.",[1],"active{ background: #0069FF; color: #FFFFFF; }\n",],undefined,{path:"./pages/list/floorList.wxss"})();
document.dispatchEvent(new CustomEvent("generateFuncReady", { detail: { generateFunc: $gwx('./pages/list/floorList.wxml') } }));
}
if(window.__uniAppViewReady__){
uniAppViewReadyCallback()
}else{
document.addEventListener('uniAppViewReady',uniAppViewReadyCallback)
}
})();
\ No newline at end of file
!(function(){
var uniAppViewReadyCallback = function(){
document.dispatchEvent(new CustomEvent("generateFuncReady", { detail: { generateFunc: $gwx('./pages/list/mallList.wxml') } }));
}
if(window.__uniAppViewReady__){
uniAppViewReadyCallback()
}else{
document.addEventListener('uniAppViewReady',uniAppViewReadyCallback)
}
})();
\ No newline at end of file
!(function(){
var uniAppViewReadyCallback = function(){
setCssToHead([".",[1],"loginBg{ background: url(../../static/img/loginBg.521f9b73.png-do-not-use-local-path-./pages/login/login.wxss\x263\x2613) no-repeat; background-size: 100% 100%; height: ",[0,731.88],"; }\n.",[1],"loginBox{ background: #ffffff; width: ",[0,670.28],"; height: ",[0,663.04],"; position: relative; top: ",[0,311.59],"; margin: 0 auto; -webkit-box-shadow:0px 0px ",[0,12.68]," 0px rgba(0,0,0,0.14); box-shadow:0px 0px ",[0,12.68]," 0px rgba(0,0,0,0.14); border-radius:",[0,7.24],"; padding-top:",[0,85.14],"; }\n.",[1],"loginTitle{ font-size:",[0,43.47],"; color:rgba(74,74,74,1); letter-spacing:",[0,1.81],"; text-align: center; display: block; position: relative; margin-bottom: ",[0,119.56],"; }\n.",[1],"inputBox{ width: ",[0,528.98],"; border-bottom: ",[0,1.81]," solid #9B9B9B; margin: 0 auto; padding-left: ",[0,12.68],"; }\n.",[1],"userBox{ margin-bottom: ",[0,43.47],"; }\n.",[1],"userBox wx-image{ height:",[0,32.6],"; width: ",[0,25.5],"; display: inline-block; top: ",[0,-3.8],"; }\n.",[1],"pwdBox wx-image{ height:",[0,32.6],"; width: ",[0,32.6],"; display: inline-block; top: ",[0,-3.8],"; }\n.",[1],"userInput{ display: inline-block; font-size: ",[0,30.79],"; top: ",[0,9.05],"; left: ",[0,32.6],"; }\n.",[1],"pwdInput{ display: inline-block; font-size: ",[0,30.79],"; top: ",[0,9.05],"; left: ",[0,25.36],"; }\n.",[1],"pwdBox{ margin-bottom: ",[0,94.2],"; }\n.",[1],"loginBtn{ width:",[0,516.36],"; height:",[0,76.08],"; background:rgba(0,105,255,1); border-radius:21px; font-size:",[0,36.23],"; color:rgba(255,255,255,1); line-height:",[0,76.08],"; letter-spacing: ",[0,25.36],"; padding: 0; padding-left: ",[0,25.36],"; }\n",],undefined,{path:"./pages/login/login.wxss"})();
document.dispatchEvent(new CustomEvent("generateFuncReady", { detail: { generateFunc: $gwx('./pages/login/login.wxml') } }));
}
if(window.__uniAppViewReady__){
uniAppViewReadyCallback()
}else{
document.addEventListener('uniAppViewReady',uniAppViewReadyCallback)
}
})();
\ No newline at end of file
This file is too large to display.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!