From e13367edf304cb78f978e321f1679299a66b3a23 Mon Sep 17 00:00:00 2001 From: quanyawei <401863037@qq.com> Date: Wed, 10 Jan 2024 16:08:18 +0800 Subject: [PATCH] fix:地图 --- pages/actionChange/agencyPage/index.vue | 2 pages/actionChange/newPage/index.vue | 60 ++++++++++++++++++- manifest.json | 4 pages.json | 9 +++ libs/amap-wx.js | 31 ++++++++++ App.vue | 51 ++++++++++++++++ pages/index/index.vue | 6 + 7 files changed, 153 insertions(+), 10 deletions(-) diff --git a/App.vue b/App.vue index 80f737c..d4a820d 100644 --- a/App.vue +++ b/App.vue @@ -8,7 +8,8 @@ httpGet } from '@/utils/http.js' export default { - onShow: function(options) { + onShow(options) { + this.checkUpdate() console.log('optionsonShow', options) if (options.scene === 1007 || options.scene === 1014 || options.scene === 1008) { // ������������������������������������ @@ -72,6 +73,54 @@ } }, methods: { + checkUpdate() { + // ������������������������������������������������������,������������������������������v1.9.90���������������getUpdateManager������������������������������������������ + if (uni.canIUse('getUpdateManager')) { + const updateManager = uni.getUpdateManager() + // ��������������������������������� + updateManager.onCheckForUpdate(function(res) { + // ��������������������������������������������������� + console.log('res.hasUpdate', res.hasUpdate) + console.log('������������', res) + if (res.hasUpdate) { + // ��������������������� + updateManager.onUpdateReady(function() { + uni.showModal({ + title: '������������', + content: '���������������', + showCancel: false, + success(res) { + if (res.confirm) { + // ������������������������������������ applyUpdate ������������������������ + updateManager.applyUpdate() + } + } + }) + }) + // ��������������������� + updateManager.onUpdateFailed(function() { + uni.showModal({ + title: '������������', + content: '������������������������~������������������������������������������������������~', + showCancel: false + }) + }) + } + }) + } else { + // ��������������������������������������������������������������������������������������������� + uni.showModal({ + title: '������', + content: '���������������������������������������������������������������������������������������������������������', + success(res) { + if (res.confirm) { + // ������������������������������������������������������������������ + uni.updateWeChatApp() + } + } + }) + } + }, /** * ������������ * ��������������������������������������������������������������������� diff --git a/libs/amap-wx.js b/libs/amap-wx.js new file mode 100644 index 0000000..718d6ef --- /dev/null +++ b/libs/amap-wx.js @@ -0,0 +1,31 @@ +function AMapWX(a){this.key=a.key;this.requestConfig={key:a.key,s:"rsx",platform:"WXJS",appname:a.key,sdkversion:"1.2.0",logversion:"2.0"};this.MeRequestConfig={key:a.key,serviceName:"https://restapi.amap.com/rest/me"}} +AMapWX.prototype.getWxLocation=function(a,b){wx.getLocation({type:"gcj02",success:function(c){c=c.longitude+","+c.latitude;wx.setStorage({key:"userLocation",data:c});b(c)},fail:function(c){wx.getStorage({key:"userLocation",success:function(d){d.data&&b(d.data)}});a.fail({errCode:"0",errMsg:c.errMsg||""})}})}; +AMapWX.prototype.getMEKeywordsSearch=function(a){if(!a.options)return a.fail({errCode:"0",errMsg:"\u7f3a\u5c11\u5fc5\u8981\u53c2\u6570"});var b=a.options,c=this.MeRequestConfig,d={key:c.key,s:"rsx",platform:"WXJS",appname:a.key,sdkversion:"1.2.0",logversion:"2.0"};b.layerId&&(d.layerId=b.layerId);b.keywords&&(d.keywords=b.keywords);b.city&&(d.city=b.city);b.filter&&(d.filter=b.filter);b.sortrule&&(d.sortrule=b.sortrule);b.pageNum&&(d.pageNum=b.pageNum);b.pageSize&&(d.pageSize=b.pageSize);b.sig&&(d.sig= +b.sig);wx.request({url:c.serviceName+"/cpoint/datasearch/local",data:d,method:"GET",header:{"content-type":"application/json"},success:function(e){(e=e.data)&&e.status&&"1"===e.status&&0===e.code?a.success(e.data):a.fail({errCode:"0",errMsg:e})},fail:function(e){a.fail({errCode:"0",errMsg:e.errMsg||""})}})}; +AMapWX.prototype.getMEIdSearch=function(a){if(!a.options)return a.fail({errCode:"0",errMsg:"\u7f3a\u5c11\u5fc5\u8981\u53c2\u6570"});var b=a.options,c=this.MeRequestConfig,d={key:c.key,s:"rsx",platform:"WXJS",appname:a.key,sdkversion:"1.2.0",logversion:"2.0"};b.layerId&&(d.layerId=b.layerId);b.id&&(d.id=b.id);b.sig&&(d.sig=b.sig);wx.request({url:c.serviceName+"/cpoint/datasearch/id",data:d,method:"GET",header:{"content-type":"application/json"},success:function(e){(e=e.data)&&e.status&&"1"===e.status&& +0===e.code?a.success(e.data):a.fail({errCode:"0",errMsg:e})},fail:function(e){a.fail({errCode:"0",errMsg:e.errMsg||""})}})}; +AMapWX.prototype.getMEPolygonSearch=function(a){if(!a.options)return a.fail({errCode:"0",errMsg:"\u7f3a\u5c11\u5fc5\u8981\u53c2\u6570"});var b=a.options,c=this.MeRequestConfig,d={key:c.key,s:"rsx",platform:"WXJS",appname:a.key,sdkversion:"1.2.0",logversion:"2.0"};b.layerId&&(d.layerId=b.layerId);b.keywords&&(d.keywords=b.keywords);b.polygon&&(d.polygon=b.polygon);b.filter&&(d.filter=b.filter);b.sortrule&&(d.sortrule=b.sortrule);b.pageNum&&(d.pageNum=b.pageNum);b.pageSize&&(d.pageSize=b.pageSize); +b.sig&&(d.sig=b.sig);wx.request({url:c.serviceName+"/cpoint/datasearch/polygon",data:d,method:"GET",header:{"content-type":"application/json"},success:function(e){(e=e.data)&&e.status&&"1"===e.status&&0===e.code?a.success(e.data):a.fail({errCode:"0",errMsg:e})},fail:function(e){a.fail({errCode:"0",errMsg:e.errMsg||""})}})}; +AMapWX.prototype.getMEaroundSearch=function(a){if(!a.options)return a.fail({errCode:"0",errMsg:"\u7f3a\u5c11\u5fc5\u8981\u53c2\u6570"});var b=a.options,c=this.MeRequestConfig,d={key:c.key,s:"rsx",platform:"WXJS",appname:a.key,sdkversion:"1.2.0",logversion:"2.0"};b.layerId&&(d.layerId=b.layerId);b.keywords&&(d.keywords=b.keywords);b.center&&(d.center=b.center);b.radius&&(d.radius=b.radius);b.filter&&(d.filter=b.filter);b.sortrule&&(d.sortrule=b.sortrule);b.pageNum&&(d.pageNum=b.pageNum);b.pageSize&& +(d.pageSize=b.pageSize);b.sig&&(d.sig=b.sig);wx.request({url:c.serviceName+"/cpoint/datasearch/around",data:d,method:"GET",header:{"content-type":"application/json"},success:function(e){(e=e.data)&&e.status&&"1"===e.status&&0===e.code?a.success(e.data):a.fail({errCode:"0",errMsg:e})},fail:function(e){a.fail({errCode:"0",errMsg:e.errMsg||""})}})}; +AMapWX.prototype.getGeo=function(a){var b=this.requestConfig,c=a.options;b={key:this.key,extensions:"all",s:b.s,platform:b.platform,appname:this.key,sdkversion:b.sdkversion,logversion:b.logversion};c.address&&(b.address=c.address);c.city&&(b.city=c.city);c.batch&&(b.batch=c.batch);c.sig&&(b.sig=c.sig);wx.request({url:"https://restapi.amap.com/v3/geocode/geo",data:b,method:"GET",header:{"content-type":"application/json"},success:function(d){(d=d.data)&&d.status&&"1"===d.status?a.success(d):a.fail({errCode:"0", +errMsg:d})},fail:function(d){a.fail({errCode:"0",errMsg:d.errMsg||""})}})}; +AMapWX.prototype.getRegeo=function(a){function b(d){var e=c.requestConfig;wx.request({url:"https://restapi.amap.com/v3/geocode/regeo",data:{key:c.key,location:d,extensions:"all",s:e.s,platform:e.platform,appname:c.key,sdkversion:e.sdkversion,logversion:e.logversion},method:"GET",header:{"content-type":"application/json"},success:function(g){if(g.data.status&&"1"==g.data.status){g=g.data.regeocode;var h=g.addressComponent,f=[],k=g.roads[0].name+"\u9644\u8fd1",m=d.split(",")[0],n=d.split(",")[1];if(g.pois&& +g.pois[0]){k=g.pois[0].name+"\u9644\u8fd1";var l=g.pois[0].location;l&&(m=parseFloat(l.split(",")[0]),n=parseFloat(l.split(",")[1]))}h.provice&&f.push(h.provice);h.city&&f.push(h.city);h.district&&f.push(h.district);h.streetNumber&&h.streetNumber.street&&h.streetNumber.number?(f.push(h.streetNumber.street),f.push(h.streetNumber.number)):f.push(g.roads[0].name);f=f.join("");a.success([{iconPath:a.iconPath,width:a.iconWidth,height:a.iconHeight,name:f,desc:k,longitude:m,latitude:n,id:0,regeocodeData:g}])}else a.fail({errCode:g.data.infocode, +errMsg:g.data.info})},fail:function(g){a.fail({errCode:"0",errMsg:g.errMsg||""})}})}var c=this;a.location?b(a.location):c.getWxLocation(a,function(d){b(d)})}; +AMapWX.prototype.getWeather=function(a){function b(g){var h="base";a.type&&"forecast"==a.type&&(h="all");wx.request({url:"https://restapi.amap.com/v3/weather/weatherInfo",data:{key:d.key,city:g,extensions:h,s:e.s,platform:e.platform,appname:d.key,sdkversion:e.sdkversion,logversion:e.logversion},method:"GET",header:{"content-type":"application/json"},success:function(f){if(f.data.status&&"1"==f.data.status)if(f.data.lives){if((f=f.data.lives)&&0<f.length){f=f[0];var k={city:{text:"\u57ce\u5e02",data:f.city}, +weather:{text:"\u5929\u6c14",data:f.weather},temperature:{text:"\u6e29\u5ea6",data:f.temperature},winddirection:{text:"\u98ce\u5411",data:f.winddirection+"\u98ce"},windpower:{text:"\u98ce\u529b",data:f.windpower+"\u7ea7"},humidity:{text:"\u6e7f\u5ea6",data:f.humidity+"%"}};k.liveData=f;a.success(k)}}else f.data.forecasts&&f.data.forecasts[0]&&a.success({forecast:f.data.forecasts[0]});else a.fail({errCode:f.data.infocode,errMsg:f.data.info})},fail:function(f){a.fail({errCode:"0",errMsg:f.errMsg||""})}})} +function c(g){wx.request({url:"https://restapi.amap.com/v3/geocode/regeo",data:{key:d.key,location:g,extensions:"all",s:e.s,platform:e.platform,appname:d.key,sdkversion:e.sdkversion,logversion:e.logversion},method:"GET",header:{"content-type":"application/json"},success:function(h){if(h.data.status&&"1"==h.data.status){h=h.data.regeocode;if(h.addressComponent)var f=h.addressComponent.adcode;else h.aois&&0<h.aois.length&&(f=h.aois[0].adcode);b(f)}else a.fail({errCode:h.data.infocode,errMsg:h.data.info})}, +fail:function(h){a.fail({errCode:"0",errMsg:h.errMsg||""})}})}var d=this,e=d.requestConfig;a.city?b(a.city):d.getWxLocation(a,function(g){c(g)})}; +AMapWX.prototype.getPoiAround=function(a){function b(e){e={key:c.key,location:e,s:d.s,platform:d.platform,appname:c.key,sdkversion:d.sdkversion,logversion:d.logversion};a.querytypes&&(e.types=a.querytypes);a.querykeywords&&(e.keywords=a.querykeywords);wx.request({url:"https://restapi.amap.com/v3/place/around",data:e,method:"GET",header:{"content-type":"application/json"},success:function(g){if(g.data.status&&"1"==g.data.status){if((g=g.data)&&g.pois){for(var h=[],f=0;f<g.pois.length;f++){var k=0== +f?a.iconPathSelected:a.iconPath;h.push({latitude:parseFloat(g.pois[f].location.split(",")[1]),longitude:parseFloat(g.pois[f].location.split(",")[0]),iconPath:k,width:22,height:32,id:f,name:g.pois[f].name,address:g.pois[f].address})}a.success({markers:h,poisData:g.pois})}}else a.fail({errCode:g.data.infocode,errMsg:g.data.info})},fail:function(g){a.fail({errCode:"0",errMsg:g.errMsg||""})}})}var c=this,d=c.requestConfig;a.location?b(a.location):c.getWxLocation(a,function(e){b(e)})}; +AMapWX.prototype.getStaticmap=function(a){function b(e){c.push("location="+e);a.zoom&&c.push("zoom="+a.zoom);a.size&&c.push("size="+a.size);a.scale&&c.push("scale="+a.scale);a.markers&&c.push("markers="+a.markers);a.labels&&c.push("labels="+a.labels);a.paths&&c.push("paths="+a.paths);a.traffic&&c.push("traffic="+a.traffic);e="https://restapi.amap.com/v3/staticmap?"+c.join("&");a.success({url:e})}var c=[];c.push("key="+this.key);var d=this.requestConfig;c.push("s="+d.s);c.push("platform="+d.platform); +c.push("appname="+d.appname);c.push("sdkversion="+d.sdkversion);c.push("logversion="+d.logversion);a.location?b(a.location):this.getWxLocation(a,function(e){b(e)})}; +AMapWX.prototype.getInputtips=function(a){var b=Object.assign({},this.requestConfig);a.location&&(b.location=a.location);a.keywords&&(b.keywords=a.keywords);a.type&&(b.type=a.type);a.city&&(b.city=a.city);a.citylimit&&(b.citylimit=a.citylimit);wx.request({url:"https://restapi.amap.com/v3/assistant/inputtips",data:b,method:"GET",header:{"content-type":"application/json"},success:function(c){c&&c.data&&c.data.tips&&a.success({tips:c.data.tips})},fail:function(c){a.fail({errCode:"0",errMsg:c.errMsg|| +""})}})}; +AMapWX.prototype.getDrivingRoute=function(a){var b=Object.assign({},this.requestConfig);a.origin&&(b.origin=a.origin);a.destination&&(b.destination=a.destination);a.strategy&&(b.strategy=a.strategy);a.waypoints&&(b.waypoints=a.waypoints);a.avoidpolygons&&(b.avoidpolygons=a.avoidpolygons);a.avoidroad&&(b.avoidroad=a.avoidroad);wx.request({url:"https://restapi.amap.com/v3/direction/driving",data:b,method:"GET",header:{"content-type":"application/json"},success:function(c){c&&c.data&&c.data.route&&a.success({paths:c.data.route.paths, +taxi_cost:c.data.route.taxi_cost||""})},fail:function(c){a.fail({errCode:"0",errMsg:c.errMsg||""})}})}; +AMapWX.prototype.getWalkingRoute=function(a){var b=Object.assign({},this.requestConfig);a.origin&&(b.origin=a.origin);a.destination&&(b.destination=a.destination);wx.request({url:"https://restapi.amap.com/v3/direction/walking",data:b,method:"GET",header:{"content-type":"application/json"},success:function(c){c&&c.data&&c.data.route&&a.success({paths:c.data.route.paths})},fail:function(c){a.fail({errCode:"0",errMsg:c.errMsg||""})}})}; +AMapWX.prototype.getTransitRoute=function(a){var b=Object.assign({},this.requestConfig);a.origin&&(b.origin=a.origin);a.destination&&(b.destination=a.destination);a.strategy&&(b.strategy=a.strategy);a.city&&(b.city=a.city);a.cityd&&(b.cityd=a.cityd);wx.request({url:"https://restapi.amap.com/v3/direction/transit/integrated",data:b,method:"GET",header:{"content-type":"application/json"},success:function(c){c&&c.data&&c.data.route&&(c=c.data.route,a.success({distance:c.distance||"",taxi_cost:c.taxi_cost|| +"",transits:c.transits}))},fail:function(c){a.fail({errCode:"0",errMsg:c.errMsg||""})}})}; +AMapWX.prototype.getRidingRoute=function(a){var b=Object.assign({},this.requestConfig);a.origin&&(b.origin=a.origin);a.destination&&(b.destination=a.destination);wx.request({url:"https://restapi.amap.com/v3/direction/riding",data:b,method:"GET",header:{"content-type":"application/json"},success:function(c){c&&c.data&&c.data.route&&a.success({paths:c.data.route.paths})},fail:function(c){a.fail({errCode:"0",errMsg:c.errMsg||""})}})};module.exports.AMapWX=AMapWX; \ No newline at end of file diff --git a/manifest.json b/manifest.json index 9298203..4d2cda1 100644 --- a/manifest.json +++ b/manifest.json @@ -2,8 +2,8 @@ "name": "test", "appid": "__UNI__93C3197", "description": "", - "versionName": "1.0.0", - "versionCode": "100", + "versionName": "1.0.1", + "versionCode": 101, "transformPx": false, "app-plus": { "usingComponents": true, diff --git a/pages.json b/pages.json index 611ae1b..67f5ae8 100644 --- a/pages.json +++ b/pages.json @@ -12,18 +12,27 @@ "style": { "navigationBarTitleText": "������", "navigationStyle": "custom", + "app-plus": { + "bounce": "none" + }, // ������ios��������������� "enablePullDownRefresh": false } }, { "path": "pages/login/login", "style": { "navigationBarTitleText": "������", + "app-plus": { + "bounce": "none" + }, // ������ios��������������� "enablePullDownRefresh": false } }, { "path": "pages/actionChange/newPage/index", "style": { "navigationBarTitleText": "���������������", + "app-plus": { + "bounce": "none" + }, // ������ios��������������� "enablePullDownRefresh": false } }, { diff --git a/pages/actionChange/agencyPage/index.vue b/pages/actionChange/agencyPage/index.vue index 46d84cb..a4694dc 100644 --- a/pages/actionChange/agencyPage/index.vue +++ b/pages/actionChange/agencyPage/index.vue @@ -117,7 +117,7 @@ <p class="rowTip"> <view class="wholeLine"> <text class="rowTipContenetLabel">������������:</text> - <text class="rowTipContenetAll">{{ item.pollutePosition }}</text> + <u--text class="rowTipContenetAll" :lines="1" :text="item.pollutePosition"></u--text> </view> </p> </view> diff --git a/pages/actionChange/newPage/index.vue b/pages/actionChange/newPage/index.vue index 6c34083..bd696c2 100644 --- a/pages/actionChange/newPage/index.vue +++ b/pages/actionChange/newPage/index.vue @@ -10,11 +10,18 @@ @confirm="checkTime" @cancel='showeEscalationTime=false' /> </u-form-item> <u-form-item border-bottom label="������������:" prop="pollutePosition" required> - <u-input v-model="form.pollutePosition" border="none" placeholder="���������" type="text"> + <view style="display: flex;align-items: center;"> + <u--textarea v-model="form.pollutePosition" border="none" placeholder="���������" + autoHeight></u--textarea> + <view style="width: 60px;"> + <u-button @tap="authVerification()" text="������������" type="success" size="mini"></u-button> + </view> + </view> + <!-- <u-input v-model="form.pollutePosition" border="none" placeholder="���������" type="text"> <template slot="suffix"> <u-button @tap="authVerification()" text="������������" type="success" size="mini"></u-button> </template> - </u-input> + </u-input> --> </u-form-item> <u-form-item border-bottom label="������������:" prop="unitId" required @click=" showCheckBox = true; @@ -88,6 +95,7 @@ </template> <script> import fileUpload from '../components/fileUpload.vue' + import amap from '../../../libs/amap-wx.js' export default { components: { fileUpload @@ -175,11 +183,18 @@ unitList: [], polluteList: [], fileBaseList: [], + key: '04a1196c84f5d193c7d91c66150908be', + amapPlugin: null, } }, onReady() { //onReady ���uni-app��������������������������� this.$refs.uForm.setRules(this.rules) + }, + onLoad() { + this.amapPlugin = new amap.AMapWX({ + key: this.key //���key ���������������������������������������key + }) }, onShow() { uni.hideTabBar() @@ -230,7 +245,8 @@ handerLocation() { let that = this uni.getLocation({ - type: 'wgs84', + type: 'gcj02', + isHighAccuracy: true, //��������������������� success: function(res) { console.log('111', res) that.handerChooseLocation(res.latitude, res.longitude) @@ -338,12 +354,14 @@ this.sumbitForm.changeType = this.form.changeType this.sumbitForm.keyPoint = this.form.keyPoint this.sumbitForm.state = '20' - console.log('this.sumbitForm', this.sumbitForm) this.$http.httpPost('/allocation/insert', { ...this.sumbitForm }).then(res => { uni.$u.toast('������������') this.close() + }).catch(errors => { + uni.$u.toast(errors.split(',')[0]) + console.log(errors) }) }).catch(errors => { uni.$u.toast('������������') @@ -366,12 +384,39 @@ this.sumbitForm.unitId = userInfor.unitId this.form.escalationUnitId = data this.sumbitForm.escalationUnitId = userInfor.unitId + } else { + if (this.unitList.length > 0) { + this.form.unitId = this.unitList[0].unitName + this.sumbitForm.unitId = this.unitList[0].unitId + this.form.escalationUnitId = this.unitList[0].unitName + this.sumbitForm.escalationUnitId = this.unitList[0].unitId + } } this.form.escalationName = userInfor.userName || '' this.sumbitForm.escalationName = userInfor.userName || '' this.form.investigationType = 1 this.sumbitForm.investigationType = 1 - console.log('this.sumbitForm', this.sumbitForm) + let that = this + uni.getLocation({ + type: 'gcj02', + isHighAccuracy: true, //��������������������� + success: function(res) { + that.amapPlugin.getRegeo({ + type: 'gcj02', + location: '' + res.longitude + ',' + res.latitude + '', + success: function(e) { + that.addressInfor.address = e[0].regeocodeData.name + that.addressInfor.latitude = e[0].latitude + that.addressInfor.longitude = e[0].longitude + that.addressInfor.name = e[0].desc + that.form.pollutePosition = e[0].regeocodeData.formatted_address + }, + fail: res => { + console.log(JSON.stringify(res)) + } + }) + } + }) }, // ������������������list getUnitList() { @@ -413,6 +458,11 @@ padding-left: 10px; } + /deep/.u-textarea { + padding: 0 !important; + width: calc(100%-70px); + } + // /deep/.u-form-item__body { // padding: 8px 0px !important; // font-size: 15px !important; diff --git a/pages/index/index.vue b/pages/index/index.vue index 0836458..07d33a8 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -82,4 +82,8 @@ } } </script> -<style></style> \ No newline at end of file +<style> + .newIndex { + width: calc(100vw); + } +</style> \ No newline at end of file -- Gitblit v1.8.0