纸通宝商家版本的小程序,原生微信开发。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

112 lines
4.6 KiB

const wxmap = require('../../libs/wxmap.js')
const app = getApp()
Page({
data: {
safeBottom: app.globalData.safeBottom,
fHeight: app.globalData.safeFragmentHeight,
tabList: [
{ value: 'source', badge: 0, name: '首页', blue: '/assets/icon/mall-blue.png', gray: '/assets/icon/mall-gray.png' },
{ value: 'manager', badge: 0, name: '纸掌柜', blue: '/assets/icon/store-blue.png', gray: '/assets/icon/store-gray.png' },
{ value: 'package', badge: 0, name: '我的', blue: '/assets/icon/home-blue.png', gray: '/assets/icon/home-gray.png' }
],
tabIndex: 0,
cityName: '',
},
onLoad: function (options) {
if (options.url) {
var path = options.url
if (options.key && options.value) {
path += '?' + options.key + '=' + options.value
}
wx.navigateTo({ url: path })
}
const fHeight = (app.globalData.safeFragmentHeight + app.globalData.statusBarHeight) - 100
this.setData({
fHeight: fHeight,
safeBottom: app.globalData.safeBottom,
cityName: this.data.cityName,
customHeight: app.globalData.customHeight,
customWidth: app.globalData.Custom.left,
StatusBar: app.globalData.StatusBar || 40,
})
this.locationing()
},
/********************************************************getLocation**************************************************************/
locationing: function() {
var that = this
wx.getLocation({
type: 'gcj02',
success (res) {
app.nowLocation = res
wxmap.geocoder(app.nowLocation.latitude, app.nowLocation.longitude).then(resp => {
app.nowLocation.cityName = resp.result.address_component.city.replace('市', '')
app.nowLocation.cityCode = resp.result.ad_info.city_code.replace('156', '')
app.nowLocation.address = resp.result.address
app.nowLocation.districtCode = resp.result.ad_info.adcode
if(!app.nowCity){
app.nowCity = { cityName: app.nowLocation.cityName, cityCode: app.nowLocation.cityCode }
app.nowCity.latitude = parseFloat(app.nowLocation.latitude.toFixed(6))
app.nowCity.longitude = parseFloat(app.nowLocation.longitude.toFixed(6))
that.setData({ cityName: app.nowLocation.cityName })
}
})
},
fail (e){
if (e && (e.errCode == 2 || e.errCode == 404)) {
Dialog.alert({ title: '温馨提示', message: '位置信息获取失败,请检查手机“位置信息”是否未开启' }).then(() => {})
} else if (e && ((e.errMsg.indexOf('getLocation:fail auth deny') != -1) || (e.errMsg.indexOf('system permission denied') != -1))) {
wx.getSetting({
success(res){
if(res && (res.authSetting["scope.userLocation"] !== undefined && res.authSetting["scope.userLocation"] !==true)){
that.detectSettings()
} else {
Dialog.alert({ title: '温馨提示', message: '位置信息获取失败,请检查微信是否有定位权限' }).then(() => {})
}
}
})
} else if (e && e.errMsg.indexOf('getLocation:fail connect ETIMEDOUT') != -1) {
Dialog.alert({ title: '温馨提示', message: '位置信息获取失败,请检查网络是否连接' }).then(() => {})
}
}
})
},
detectSettings: function(){
var message = '小程序没有定位权限,无法提供您周边的纸厂报价和相关信息服务,请前往设置微信小程序的定位权限。'
Dialog.confirm({ title: '温馨提示', message, confirmButtonText: '前往设置' }).then(() => {
wx.openSetting({
success(result){
if(result && (result.authSetting["scope.userLocation"] !== undefined && result.authSetting["scope.userLocation"] === true)){
this.locationing()
}
}
})
})
},
/********************************************************Tabbar*************************************************************/
onTabClick: function(e){
if(this.data.tabIndex == e.currentTarget.dataset.index){
return
}
this.setData({ tabIndex: e.currentTarget.dataset.index })
this.onShow()
},
stopTouchMove: function(e){
return false
},
onShow: function () {
var pageView = this.selectComponent('#' + this.data.tabList[this.data.tabIndex].value)
if (pageView && pageView.onRestart) {
pageView.onRestart()
}
},
onShareAppMessage: function (e) {
console.log(e)
return {
title: '纸通宝工厂版——',
path: 'pages/login/index?qrcode=562333739288498176',
imageUrl: '/assets/image/icon_logo.png',
success: function (res) {}
}
}
})