邓洁 : 区域下拉框数据获取及完善定位功能
This commit is contained in:
@@ -27,6 +27,8 @@
|
||||
import HomeNoticeBar from "./HomeMainContent/HomeNoticeBar.vue"
|
||||
import HomeNavCard from "./HomeMainContent/HomeNavCard.vue"
|
||||
import Statistics from "./HomeMainContent/Statistics.vue"
|
||||
import QQMapWX from "@/utils/qqmap-wx-jssdk.min.js"
|
||||
import aesEncrypt1 from "@/utils/aesEncrypt.js"
|
||||
export default {
|
||||
components: {
|
||||
HomeNavCard,
|
||||
@@ -45,10 +47,13 @@
|
||||
this.getBanner()
|
||||
this.getNotice()
|
||||
this.getStat()
|
||||
this.open()
|
||||
this.getRegionList()
|
||||
},
|
||||
methods: {
|
||||
getBanner(){
|
||||
this.$api.getBanner().then(res=>{
|
||||
console.log('lunbo',res.data.data);
|
||||
this.swiperList = res.data.data.map(item=>item.img)
|
||||
})
|
||||
},
|
||||
@@ -61,10 +66,101 @@
|
||||
this.$api.getStat().then(res=>{
|
||||
this.statisticsNum = res.data.data
|
||||
})
|
||||
},
|
||||
getRegionList() {
|
||||
var that = this
|
||||
uni.request({
|
||||
url: 'https://apis.map.qq.com/ws/district/v1/getchildren?id=' + uni.getStorageSync('city_code') + '&key=' +
|
||||
that.$api.key,
|
||||
success(res) {
|
||||
uni.setStorageSync('regionList', JSON.stringify(res.data.result[0].map(item => item.fullname)));
|
||||
},
|
||||
fail(err) {
|
||||
console.log('请求区域失败:', err);
|
||||
}
|
||||
})
|
||||
},
|
||||
getUserLocation() {
|
||||
var that = this
|
||||
let qqmapsdk = new QQMapWX({
|
||||
key: that.$api.key
|
||||
});
|
||||
uni.getFuzzyLocation({
|
||||
type: 'wgs84',
|
||||
success(res) {
|
||||
console.log('res.latitude', res.latitude);
|
||||
console.log('res.longitude', res.longitude);
|
||||
uni.setStorageSync('latitude', res.latitude);
|
||||
uni.setStorageSync('longitude', res.longitude);
|
||||
qqmapsdk.reverseGeocoder({
|
||||
location: {
|
||||
latitude: res.latitude,
|
||||
longitude: res.longitude
|
||||
},
|
||||
success: (re) => {
|
||||
console.log("解析地址成功", re);
|
||||
console.log(re.result.ad_info.city);
|
||||
console.log(re.result.ad_info.district);
|
||||
let city = re.result.ad_info.city
|
||||
let district = re.result.ad_info.district
|
||||
console.log('city-code',re.result.ad_info.city_code.substring(3));
|
||||
uni.setStorageSync('city_code', re.result.ad_info.city_code.substring(3));
|
||||
uni.setStorageSync('city', city.slice(0, 2));
|
||||
uni.setStorageSync('district', district);
|
||||
// that.position = city.slice(0, 2) + district.slice(0, 2)
|
||||
},
|
||||
fail: (re) => {
|
||||
console.log(re, '失败信息');
|
||||
}
|
||||
})
|
||||
},
|
||||
fail(err) {
|
||||
console.log("获取经纬度失败", err);
|
||||
},
|
||||
});
|
||||
},
|
||||
//提示用户开启定位服务
|
||||
open() {
|
||||
var that = this
|
||||
uni.getSetting({
|
||||
success: function (res) {
|
||||
if (res.authSetting['scope.userFuzzyLocation']) {
|
||||
console.log('用户已经授权定位权限');
|
||||
} else {
|
||||
console.log('用户未授权定位权限');
|
||||
uni.authorize({
|
||||
scope: 'scope.userFuzzyLocation',
|
||||
success: function() {
|
||||
console.log('授权成功');
|
||||
that.getUserLocation()
|
||||
},
|
||||
fail: function() {
|
||||
console.log('授权失败');
|
||||
uni.showModal({
|
||||
content: '检测到您没打开获取信息功能权限,是否去设置打开?',
|
||||
confirmText: "确认",
|
||||
cancelText: '取消',
|
||||
success: (res) => {
|
||||
if (res.confirm) {
|
||||
uni.openSetting({
|
||||
success: (res) => {
|
||||
console.log(res);
|
||||
that.getUserLocation();
|
||||
}
|
||||
})
|
||||
} else {
|
||||
console.log('取消');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
})
|
||||
return false;
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<view class="arrow-icon">
|
||||
<u-icon name="arrow-right" size="30px"></u-icon>
|
||||
</view>
|
||||
<u-picker mode="region" :show="show1" :closeOnClickOverlay="true" @close="show1 = false"></u-picker>
|
||||
<u-picker :columns="regionColumns" :show="show1" :closeOnClickOverlay="true" @close="show1 = false"></u-picker>
|
||||
</u-form-item>
|
||||
<u-form-item label="业态" label-position="top" border-bottom="true" label-width="100%">
|
||||
<text @click="show3 = true" class="checktext">请选择行业业态</text>
|
||||
@@ -48,6 +48,7 @@
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
regionColumns:[JSON.parse(uni.getStorageSync('regionList'))]||[],
|
||||
ShopInfomation:{
|
||||
city:'',
|
||||
area:'',
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<view class="arrow-icon">
|
||||
<u-icon name="arrow-right" size="30px"></u-icon>
|
||||
</view>
|
||||
<u-picker mode="region" :show="show1" :closeOnClickOverlay="true" @close="show1 = false"></u-picker>
|
||||
<u-picker :columns="regionColumns" :show="show1" :closeOnClickOverlay="true" @close="show1 = false"></u-picker>
|
||||
</u-form-item>
|
||||
<u-form-item label="项目地址" label-position="top" border-bottom="true" label-width="100%">
|
||||
<u-input v-model="form.name" placeholder="请输入店铺地址" placeholder-class="input-class" border="none"></u-input>
|
||||
@@ -54,6 +54,7 @@
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
regionColumns:[JSON.parse(uni.getStorageSync('regionList'))]||[],
|
||||
ShopInfomation:{
|
||||
city:'',
|
||||
area:'',
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<view class="arrow-icon">
|
||||
<u-icon name="arrow-right" size="30px"></u-icon>
|
||||
</view>
|
||||
<u-picker mode="region" :show="show1" :closeOnClickOverlay="true" @close="show1 = false"></u-picker>
|
||||
<u-picker :columns="regionColumns" :show="show1" :closeOnClickOverlay="true" @close="show1 = false"></u-picker>
|
||||
</u-form-item>
|
||||
<u-form-item label="地址" label-position="top" border-bottom="true" >
|
||||
<u-input v-model="form.name" placeholder="请输入店铺地址" placeholder-class="input-class" border="none"></u-input>
|
||||
@@ -52,6 +52,7 @@
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
regionColumns:[JSON.parse(uni.getStorageSync('regionList'))]||[],
|
||||
ShopInfomation:{
|
||||
city:'',
|
||||
area:'',
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<view class="arrow-icon">
|
||||
<u-icon name="arrow-right" size="30px"></u-icon>
|
||||
</view>
|
||||
<u-picker mode="region" :show="show1" :closeOnClickOverlay="true" @close="show1 = false" v-model="form.region"></u-picker>
|
||||
<u-picker :columns="regionColumns" :show="show1" :closeOnClickOverlay="true" @close="show1 = false" v-model="form.region"></u-picker>
|
||||
</u-form-item>
|
||||
<u-form-item label="地址" label-position="top" border-bottom="true" prop="place">
|
||||
<u-input v-model="form.place" placeholder="请输入店铺地址" placeholder-class="input-class" border="none" ></u-input>
|
||||
@@ -62,6 +62,7 @@
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
regionColumns:[JSON.parse(uni.getStorageSync('regionList'))]||[],
|
||||
ShopInfomation:{
|
||||
city:'',
|
||||
area:'',
|
||||
|
||||
Reference in New Issue
Block a user