Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
闫晓茹 2023-10-24 10:57:05 +08:00
commit 7b451c3516
15 changed files with 449 additions and 696 deletions

View File

@ -3,20 +3,20 @@
"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
},
"pages": [ //pageshttps://uniapp.dcloud.io/collocation/pages
{
"path": "pages/startup/startup",
"style": {
"navigationStyle": "custom",
"enablePullDownRefresh": false
}
},
{
"path": "pages/homepage/homepage",
"style": {
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
},
{
"path": "pages/startup/startup",
"style": {
"navigationStyle": "custom",
"enablePullDownRefresh": false
}
},
{
"path": "pages/homepage/homepage",
"style": {
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
},
{
"path": "pages/myinformation/myinformation",
"style": {
@ -31,8 +31,6 @@
"enablePullDownRefresh": false
}
},
{
"path": "pages/medicalservice/medicalservice",
"style": {
@ -58,16 +56,12 @@
"navigationBarTitleText": "人脸采集",
"enablePullDownRefresh": false
}
},
{
}, {
"path": "pages/location/location",
"style": {
"navigationBarTitleText": "定位",
"navigationStyle": "default",
"enablePullDownRefresh": false
// "navigationBarBackgroundColor": "#ffffff"
}
}
],
"subPackages": [{
@ -454,13 +448,13 @@
"enablePullDownRefresh": false
}
},
// {
// "path": "Filinginformation/Filinginformation",
// "style": {
// "navigationBarTitleText": "查看建档信息"
// // "enablePullDownRefresh": false
// }
// },
{
"path": "Filinginformation/Filinginformation",
"style": {
"navigationBarTitleText": "查看建档信息",
"enablePullDownRefresh": false
}
},
{
"path": "Onlinesigning/Onlinesigning",
"style": {
@ -659,4 +653,4 @@
}
]
}
}
}

View File

@ -94,8 +94,8 @@
image {
vertical-align: middle;
width: 22rpx;
height: 12rpx;
width: 25rpx;
height: 30rpx;
}
text{
margin-left: 10rpx;

View File

@ -2,21 +2,25 @@
<view class="app">
<view class="content">
<image src="/static/pageC/homepage.png" mode=""></image>
<view class="loginmount">
<image src="/static/pageC/TAB.png" mode=""></image>
<text v-if="patientName">{{patientName}},你好</text>
<text @tap="login" v-else>你好,请登录</text>
</view>
<view class="address" @tap="city">
<view class="loginmount" @tap="city">
<!-- <image src="/static/pageC/TAB.png" mode=""></image> -->
<image src="../../static/pages/address.png" mode=""></image>
<text v-if="address">
{{address}}
</text>
<text v-else>
请选择城市
</text>
</view>
<!-- <view class="address" @tap="city">
<image src="../../static/pages/address.png" mode=""></image>
<text v-if="address">
{{address}}
</text>
<text v-else>
请选择城市
</text>
</view> -->
</view>
<view class="contentcenter">
<view class="home" @tap="goonline">
@ -81,7 +85,6 @@
detail,
checkSignApply
} from '@/api/pages/homepage/homepage.js'
import QQMapWX from '@/utils/qqMap/qqmap-wx-jssdk.js';
export default {
data() {
return {
@ -97,17 +100,16 @@
},
onShow() {
this.address = uni.getStorageSync('location')
console.log(this.address,'000')
console.log(this.address, '000')
if (this.address == '德州市') {
uni.setStorageSync("region", 1)
} else if (this.address == '东营市') {
uni.setStorageSync("region", 2)
}
else if (this.address == '济南市') {
uni.setStorageSync("region", 3)
} else if (this.address == '济南市') {
uni.setStorageSync("region", 1)
}
this.userinfo = uni.getStorageSync('userinfo');
if (this.userinfo) {
if (this.userinfo) {
this.patientName = this.userinfo.patientName
checkSignApply(this.userinfo.cardNo).then(res => {
if (res.data.code != 0) {
@ -116,8 +118,8 @@
this.checkSign = false
}
})
}else{
this.patientName=''
} else {
this.patientName = ''
}
},
@ -279,4 +281,4 @@
<style lang="scss">
@import "./homepage.scss";
</style>
</style>

249
pages/location/location.vue Normal file
View File

@ -0,0 +1,249 @@
<template>
<view class="location">
<view class="top_search">
<u-search @change="searchChange" v-model="searchValue" shape="round" @clear="clear" :clearabled="true"
:showAction="false" placeholder="请输入城市名"></u-search>
<view
style="width: 90%;margin: 0 auto; background: #fff;height: 200px; position: absolute;top: 40px;padding: 40rpx;box-shadow: 0pc 0px 10px #ccc;"
v-show="isShowFont">
<view @click="fontClick">{{ showFont }}</view>
</view>
</view>
<view class="atAddress">
<!-- 当前定位 -->
<text class="atAddress_txt">当前定位</text>
<view class="atAddress_city">
<view>
<image style="width: 30rpx;height: 38rpx;" src="../../static/dw2x.png" mode=""></image>
</view>
<view style="margin-left: 15rpx;"><text>{{ address }}</text></view>
<view class="atAddress_regain" style="margin-left: 27rpx;" @click="anewGain">重新获取...</view>
</view>
<!-- 推荐城市 -->
<view class="recommend_city">
<text class="atAddress_txt">推荐城市</text>
<view class="city_con">
<view class="city_item" @click="getAddressCon('1')">
<text>德州市</text>
</view>
<view class="city_item" @click="getAddressCon('2')">
<text>东营市</text>
</view>
<view class="city_item" @click="getAddressCon('3')">
<text>济南市</text>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
//
isShowFont: false,
//
showFont: '',
//
address: '',
searchValue: '',
}
},
onLoad() {
this.address = uni.getStorageSync('location')
},
methods: {
searchChange(value) {
if (value == '德' || value == '德州' || value == '东' || value == '东营' || value == '济' || value == '济南' ||
value == '东营市' || value == '德州市' || value == '济南市') {
this.isShowFont = true
if (value == '德' || value == '德州' || value == '德州市') {
this.showFont = '德州市'
} else if (value == '东' || value == '东营' || value == '东营市') {
this.showFont = '东营市'
} else if (value == '济' || value == '济南' || value == '济南市') {
this.showFont = '济南市'
}
} else {
this.isShowFont = false
}
},
fontClick() {
uni.setStorageSync('location', this.showFont)
this.isShowFont = false
this.address = uni.getStorageSync('location')
// console.log('fontClick',this.address);
},
getAddressCon(value) {
if (value == '1') {
uni.setStorageSync('location', '德州市')
uni.setStorageSync("region", 1)
this.address = '德州市'
} else if (value == '2') {
uni.setStorageSync('location', '东营市')
uni.setStorageSync("region", 2)
this.address = '东营市'
} else if (value == '3') {
uni.setStorageSync('location', '济南市')
uni.setStorageSync("region", 3)
this.address = '济南市'
}
},
clear() {
this.searchValue = ''
},
//
anewGain() {
this.getAddress()
},
//
getAddress() {
//vm === vue
let vm = this;
uni.getLocation({
type: 'wgs84',
//
success: (res) => {
//
let location = res.latitude + ',' + res.longitude
//
uni.request({
url: 'https://apis.map.qq.com/ws/geocoder/v1/?location=location', //
data: {
location: location,
'key': "Q4DBZ-UIMC2-B63UX-CUZ6A-S3UT7-TBF3V", //Key
},
method: "GET",
success(res) {
console.log(res)
uni.setStorageSync('location', res.data.result.address_component.city)
},
fail: res => {
console.log(res.errMsg, '解析失败返回的错误信息');
}
})
},
//
fail: (res) => {
// console.log('fail' + JSON.stringify(res))
uni.showToast({
icon: 'none',
title: '获取地址失败,请打开定位',
})
}
})
},
}
}
</script>
<style lang="scss">
.location {
margin-top: 20rpx;
.top_search {
position: relative;
width: 90%;
margin: 0 auto;
margin-bottom: 40rpx;
.u-search {
margin-top: 10px;
}
.u-icon__icon {
font-size: 26px !important;
}
.u-search__content {
height: 35px;
}
.u-search__content__input,
.u-search__content {
background: rgb(247, 249, 248) !important;
border-radius: 34px !important;
input::placeholder {
font-size: 20rpx !important;
}
}
}
.atAddress {
width: 90%;
margin: 0 auto;
margin-bottom: 43rpx;
.atAddress_txt {
font-size: 28rpx;
color: rgb(51, 51, 51);
font-family: "微软雅黑";
font-weight: 900;
}
.atAddress_city {
display: flex;
align-items: center;
margin-top: 36rpx;
text {
font-family: "微软雅黑";
font-weight: 900;
font-size: 30rpx;
}
.atAddress_regain {
height: 14px;
font-size: 24rpx;
color: rgb(93, 204, 227);
}
}
.recommend_city {
margin-top: 62rpx;
.city_con {
display: flex;
align-items: center;
margin-top: 32rpx;
justify-content: space-around;
.city_item {
width: 178rpx;
height: 68rpx;
background-color: rgb(246, 246, 246);
border-radius: 34rpx;
text-align: center;
line-height: 70rpx;
font-size: 24rpx;
text {
color: #999;
}
}
}
}
}
.city_list {
.province_txt {
width: 100%;
background-color: rgb(246, 246, 246);
color: rgb(102, 102, 102);
font-size: 24rpx;
height: 40rpx;
line-height: 40rpx;
}
.city_txt {
font-size: 28rpx;
color: rgb(51, 51, 51);
height: 80rpx;
line-height: 80rpx;
border-bottom: 1px solid #F6F6F6;
}
}
}
</style>

View File

@ -1,10 +1,10 @@
<template>
<view class="app">
<view class="address">
<image src="../../static/pages/address.png" mode=""></image>
<!-- <image src="../../static/pages/address.png" mode=""></image>
<text>
{{location?location:''}}
</text>
</text> -->
</view>
<view class="topbar">
<image src="../../static/pages/wenzhenpingtai.png" mode="" @tap="goconsultationplatform"></image>

View File

@ -21,7 +21,7 @@
</view>
<u-tabs :list="hospitalDepartmentList" :current="tabcurrent" @change="tabchange" active-color='#26A888'
:show-bar='false'></u-tabs>
<view class="list">
<view class="list" v-if="HospitalPersonlist">
<view class="item" @tap="godoctordetails" v-for="item in HospitalPersonlist">
<image v-if="item.personPictureUrl" :src="baseurl+item.personPictureUrl" mode=""></image>
<image v-else src="@/static/pagesB/yis.png" mode=""></image>

View File

@ -61,7 +61,7 @@
</view>
<view class="input">
<input v-model="formdata.problemDescription" class="uinput noimageuinput" placeholder="不多于五个字"
type="text" placeholder-class="phsy" />
type="text" placeholder-class="phsy" :maxlength="5" />
</view>
<view class="text">
患者个体情况说明
@ -248,4 +248,4 @@
<style lang="scss">
@import './createnewconsultation.scss';
</style>
</style>

View File

@ -22,7 +22,7 @@
{{item.doctorName?item.doctorName:''}}
</view>
<view class="text">
{{item.problemDescription?item.problemDescription:''}}
{{item.content?item.content:''}}
</view>
<view class="messageCount" v-if="item.messageCount>0">
{{item.messageCount}}

View File

@ -93,7 +93,7 @@
</view>
<view class="titletext">
<text>解约原因</text>
<textarea name="" id="" cols="30" rows="10" style="width: 60%;" placeholder="请输入解原因"
<textarea name="" id="" cols="30" rows="10" style="width: 60%;height: 200rpx;" placeholder="请输入解原因"
v-model="list.rescindReason"></textarea>
</view>
<view class="btnss">
@ -151,7 +151,7 @@
rescindapplysave(this.list).then(res => {
if (res.code == 200) {
this.$refs.uToast.show({
title: '您已解约成功',
title: '解约申请提交成功',
type: 'success',
})
setTimeout(() => {
@ -215,4 +215,4 @@
<style lang="scss">
@import './mysigning.scss';
</style>
</style>

View File

@ -87,7 +87,7 @@
return {
baseurl: '',
title: '',
SOCKETURL: 'ws://8.131.93.145:54088/webSocket/',
SOCKETURL: 'ws://192.168.16.212:8088/webSocket/',
socketOpen: false,
sendInfo: {},
currentItem: '',

View File

@ -0,0 +1,146 @@
.app {
width: 94%;
margin: 20rpx auto;
padding: 20rpx 0 100rpx 0;
background-color: #fff;
font-size: 24rpx;
.text {
width: 92%;
margin: 30rpx auto;
font-weight: 500;
color: #EE8F15;
}
.list {
width: 92%;
margin: 0 auto;
.item {
margin: 40rpx auto;
height: 120rpx;
position: relative;
border-bottom: 2rpx solid #E6E6E6;
.Selected {
width: 108rpx;
height: 40rpx;
border: 1px solid #26A888;
border-radius: 5rpx;
position: absolute;
right: 0%;
top: 10%;
font-weight: 500;
color: #26A888;
line-height: 40rpx;
text-align: center;
}
.title {
font-size: 30rpx;
font-weight: 500;
color: #333333;
}
.address {
font-weight: 400;
color: #8E8E8E;
position: absolute;
left: 0%;
bottom: 10%;
}
.distance {
font-weight: 400;
color: #8E8E8E;
position: absolute;
right: 0%;
bottom: 10%;
display: flex;
align-items: center;
image {
padding-right: 10rpx;
width: 17rpx;
height: 21rpx;
}
}
}
}
.top {
width: 90%;
margin: 0 auto;
display: flex;
height: 84rpx;
justify-content: space-around;
.inputs {
background-color: #fff;
width: 65%;
height: 60rpx;
border-radius: 5rpx;
background-color: #Ffffff;
z-index: 999;
position: relative;
top: 50%;
transform: translateY(-50%);
background: #F6F6F6;
border: 1px solid #F6F6F6;
border-radius: 38rpx;
.input {
margin: 0 auto;
position: absolute;
height: 60rpx;
// top: 8%;
left: 13%;
width: 80%;
font-size: 26rpx;
color: #000000;
}
.icon {
background: url(@/static/pagesB/sousuo.png) no-repeat;
width: 30rpx;
height: 28rpx;
background-size: cover;
position: absolute;
top: 50%;
transform: translateY(-50%);
left: 3%;
}
}
::v-deep .u-flex {
width: 100% !important;
}
::v-deep .u-dropdown__content {
overflow-y: scroll !important;
height: 500rpx;
.u-flex {
width: 0 !important;
}
}
::v-deep .u-dropdown__content__mask {
background: none !important;
}
::v-deep .u-dropdown__menu__item {
width: 100% !important;
}
::v-deep .u-cell__value {
flex: 0;
}
::v-deep .u-dropdown {
:v-deep .u-dropdown__menu {}
}
::v-deep .u-cell-box {}
}
}

View File

@ -152,150 +152,5 @@
</script>
<style lang="scss">
.app {
width: 94%;
margin: 20rpx auto;
padding: 20rpx 0 100rpx 0;
background-color: #fff;
font-size: 24rpx;
.text {
width: 92%;
margin: 30rpx auto;
font-weight: 500;
color: #EE8F15;
}
.list {
width: 92%;
margin: 0 auto;
.item {
margin: 40rpx auto;
height: 120rpx;
position: relative;
border-bottom: 2rpx solid #E6E6E6;
.Selected {
width: 108rpx;
height: 40rpx;
border: 1px solid #26A888;
border-radius: 5rpx;
position: absolute;
right: 0%;
top: 10%;
font-weight: 500;
color: #26A888;
line-height: 40rpx;
text-align: center;
}
.title {
font-size: 30rpx;
font-weight: 500;
color: #333333;
}
.address {
font-weight: 400;
color: #8E8E8E;
position: absolute;
left: 0%;
bottom: 10%;
}
.distance {
font-weight: 400;
color: #8E8E8E;
position: absolute;
right: 0%;
bottom: 10%;
display: flex;
align-items: center;
image {
padding-right: 10rpx;
width: 17rpx;
height: 21rpx;
}
}
}
}
.top {
width: 90%;
margin: 0 auto;
display: flex;
height: 84rpx;
justify-content: space-around;
.inputs {
background-color: #fff;
width: 65%;
height: 60rpx;
border-radius: 5rpx;
background-color: #Ffffff;
z-index: 999;
position: relative;
top: 50%;
transform: translateY(-50%);
background: #F6F6F6;
border: 1px solid #F6F6F6;
border-radius: 38rpx;
.input {
margin: 0 auto;
position: absolute;
height: 60rpx;
// top: 8%;
left: 13%;
width: 80%;
font-size: 26rpx;
color: #000000;
}
.icon {
background: url(@/static/pagesB/sousuo.png) no-repeat;
width: 30rpx;
height: 28rpx;
background-size: cover;
position: absolute;
top: 50%;
transform: translateY(-50%);
left: 3%;
}
}
::v-deep .u-flex {
width: 100% !important;
}
::v-deep .u-dropdown__content {
overflow-y: scroll !important;
height: 500rpx;
.u-flex {
width: 0 !important;
}
}
::v-deep .u-dropdown__content__mask {
background: none !important;
}
::v-deep .u-dropdown__menu__item {
width: 100% !important;
}
::v-deep .u-cell__value {
flex: 0;
}
::v-deep .u-dropdown {
:v-deep .u-dropdown__menu {}
}
::v-deep .u-cell-box {}
}
}
@import './selectInstitution.scss';
</style>

View File

@ -1,29 +0,0 @@
export function getSex(idCard) {
if (idCard.length === 15) {
return ['女', '男'][idCard.substr(14, 1) % 2]
} else if (idCard.length === 18) {
return ['女', '男'][idCard.substr(16, 1) % 2]
}
return ''
}
export function getBirthday(idCard) {
var birthday = "";
if (idCard != null && idCard != "") {
if (idCard.length == 15) {
birthday = "19" + idCard.substr(6, 6);
} else if (idCard.length == 18) {
birthday = idCard.substr(6, 8);
}
birthday = birthday.replace(/(.{4})(.{2})/, "$1-$2-");
}
return birthday;
};
// 出生日期转年龄
export function getAgeFun(value) {
var birthdays = new Date(value.replace(/-/g, "/")); //value 是传入的值
var time = new Date(); //当前时间
var age = time.getFullYear() - birthdays.getFullYear() - (time.getMonth() < birthdays.getMonth() || (time.getMonth() == birthdays.getMonth() &&
time.getDate() < birthdays.getDate()) ? 1 : 0);
return age;
}

View File

@ -1,462 +0,0 @@
/**
* 微信小程序JavaScriptSDK
*
* @version 1.0
* @date 2017-01-10
* @author jaysonzhou@tencent.com
*/
var ERROR_CONF = {
KEY_ERR: 311,
KEY_ERR_MSG: 'key格式错误',
PARAM_ERR: 310,
PARAM_ERR_MSG: '请求参数信息有误',
SYSTEM_ERR: 600,
SYSTEM_ERR_MSG: '系统错误',
WX_ERR_CODE: 1000,
WX_OK_CODE: 200
};
var BASE_URL = 'https://apis.map.qq.com/ws/';
var URL_SEARCH = BASE_URL + 'place/v1/search';
var URL_SUGGESTION = BASE_URL + 'place/v1/suggestion';
var URL_GET_GEOCODER = BASE_URL + 'geocoder/v1/';
var URL_CITY_LIST = BASE_URL + 'district/v1/list';
var URL_AREA_LIST = BASE_URL + 'district/v1/getchildren';
var URL_DISTANCE = BASE_URL + 'distance/v1/';
var Utils = {
/**
* 得到终点query字符串
* @param {Array|String} 检索数据
*/
location2query(data) {
if (typeof data == 'string') {
return data;
}
var query = '';
for (var i = 0; i < data.length; i++) {
var d = data[i];
if (!!query) {
query += ';';
}
if (d.location) {
query = query + d.location.lat + ',' + d.location.lng;
}
if (d.latitude && d.longitude) {
query = query + d.latitude + ',' + d.longitude;
}
}
return query;
},
/**
* 使用微信接口进行定位
*/
getWXLocation(success, fail, complete) {
wx.getLocation({
type: 'gcj02',
success: success,
fail: fail,
complete: complete
});
},
/**
* 获取location参数
*/
getLocationParam(location) {
if (typeof location == 'string') {
var locationArr = location.split(',');
if (locationArr.length === 2) {
location = {
latitude: location.split(',')[0],
longitude: location.split(',')[1]
};
} else {
location = {};
}
}
return location;
},
/**
* 回调函数默认处理
*/
polyfillParam(param) {
param.success = param.success || function () { };
param.fail = param.fail || function () { };
param.complete = param.complete || function () { };
},
/**
* 验证param对应的key值是否为空
*
* @param {Object} param 接口参数
* @param {String} key 对应参数的key
*/
checkParamKeyEmpty(param, key) {
if (!param[key]) {
var errconf = this.buildErrorConfig(ERROR_CONF.PARAM_ERR, ERROR_CONF.PARAM_ERR_MSG + key +'参数格式有误');
param.fail(errconf);
param.complete(errconf);
return true;
}
return false;
},
/**
* 验证参数中是否存在检索词keyword
*
* @param {Object} param 接口参数
*/
checkKeyword(param){
return !this.checkParamKeyEmpty(param, 'keyword');
},
/**
* 验证location值
*
* @param {Object} param 接口参数
*/
checkLocation(param) {
var location = this.getLocationParam(param.location);
if (!location || !location.latitude || !location.longitude) {
var errconf = this.buildErrorConfig(ERROR_CONF.PARAM_ERR, ERROR_CONF.PARAM_ERR_MSG + ' location参数格式有误')
param.fail(errconf);
param.complete(errconf);
return false;
}
return true;
},
/**
* 构造错误数据结构
* @param {Number} errCode 错误码
* @param {Number} errMsg 错误描述
*/
buildErrorConfig(errCode, errMsg) {
return {
status: errCode,
message: errMsg
};
},
/**
* 构造微信请求参数公共属性处理
*
* @param {Object} param 接口参数
* @param {Object} param 配置项
*/
buildWxRequestConfig(param, options) {
var that = this;
options.header = { "content-type": "application/json" };
options.method = 'GET';
options.success = function (res) {
var data = res.data;
if (data.status === 0) {
param.success(data);
} else {
param.fail(data);
}
};
options.fail = function (res) {
res.statusCode = ERROR_CONF.WX_ERR_CODE;
param.fail(that.buildErrorConfig(ERROR_CONF.WX_ERR_CODE, result.errMsg));
};
options.complete = function (res) {
var statusCode = +res.statusCode;
switch(statusCode) {
case ERROR_CONF.WX_ERR_CODE: {
param.complete(that.buildErrorConfig(ERROR_CONF.WX_ERR_CODE, res.errMsg));
break;
}
case ERROR_CONF.WX_OK_CODE: {
var data = res.data;
if (data.status === 0) {
param.complete(data);
} else {
param.complete(that.buildErrorConfig(data.status, data.message));
}
break;
}
default:{
param.complete(that.buildErrorConfig(ERROR_CONF.SYSTEM_ERR, ERROR_CONF.SYSTEM_ERR_MSG));
}
}
}
return options;
},
/**
* 处理用户参数是否传入坐标进行不同的处理
*/
locationProcess(param, locationsuccess, locationfail, locationcomplete) {
var that = this;
locationfail = locationfail || function (res) {
res.statusCode = ERROR_CONF.WX_ERR_CODE;
param.fail(that.buildErrorConfig(ERROR_CONF.WX_ERR_CODE, res.errMsg));
};
locationcomplete = locationcomplete || function (res) {
if (res.statusCode == ERROR_CONF.WX_ERR_CODE) {
param.complete(that.buildErrorConfig(ERROR_CONF.WX_ERR_CODE, res.errMsg));
}
};
if (!param.location) {
that.getWXLocation(locationsuccess, locationfail, locationcomplete);
} else if (that.checkLocation(param)) {
var location = Utils.getLocationParam(param.location);
locationsuccess(location);
}
}
}
class QQMapWX {
/**
* 构造函数
*
* @param {Object} options 接口参数,key 为必选参数
*/
constructor(options) {
if (!options.key) {
throw Error('key值不能为空');
}
this.key = options.key;
}
/**
* POI周边检索
*
* @param {Object} options 接口参数对象
*
* 参数对象结构可以参考
* @see http://lbs.qq.com/webservice_v1/guide-search.html
*/
search(options) {
var that = this;
options = options || {};
Utils.polyfillParam(options);
if (!Utils.checkKeyword(options)) {
return;
}
var requestParam = {
keyword: options.keyword,
orderby: options.orderby || '_distance',
page_size: options.page_size || 10,
page_index: options.page_index || 1,
output: 'json',
key: that.key
};
if (options.address_format) {
requestParam.address_format = options.address_format;
}
if (options.filter) {
requestParam.filter = options.filter;
}
var distance = options.distance || "1000";
var auto_extend = options.auto_extend || 1;
var locationsuccess = function (result) {
requestParam.boundary = "nearby(" + result.latitude + "," + result.longitude + "," + distance + "," + auto_extend +")";
wx.request(Utils.buildWxRequestConfig(options, {
url: URL_SEARCH,
data: requestParam
}));
}
Utils.locationProcess(options, locationsuccess);
}
/**
* sug模糊检索
*
* @param {Object} options 接口参数对象
*
* 参数对象结构可以参考
* http://lbs.qq.com/webservice_v1/guide-suggestion.html
*/
getSuggestion(options) {
var that = this;
options = options || {};
Utils.polyfillParam(options);
if (!Utils.checkKeyword(options)) {
return;
}
var requestParam = {
keyword: options.keyword,
region: options.region || '全国',
region_fix: options.region_fix || 0,
policy: options.policy || 0,
output: 'json',
key: that.key
};
wx.request(Utils.buildWxRequestConfig(options, {
url: URL_SUGGESTION,
data: requestParam
}));
}
/**
* 逆地址解析
*
* @param {Object} options 接口参数对象
*
* 请求参数结构可以参考
* http://lbs.qq.com/webservice_v1/guide-gcoder.html
*/
reverseGeocoder(options) {
var that = this;
options = options || {};
Utils.polyfillParam(options);
var requestParam = {
coord_type: options.coord_type || 5,
get_poi: options.get_poi || 0,
output: 'json',
key: that.key
};
if (options.poi_options) {
requestParam.poi_options = options.poi_options
}
var locationsuccess = function (result) {
requestParam.location = result.latitude + ',' + result.longitude;
wx.request(Utils.buildWxRequestConfig(options, {
url: URL_GET_GEOCODER,
data: requestParam
}));
};
Utils.locationProcess(options, locationsuccess);
}
/**
* 地址解析
*
* @param {Object} options 接口参数对象
*
* 请求参数结构可以参考
* http://lbs.qq.com/webservice_v1/guide-geocoder.html
*/
geocoder(options) {
var that = this;
options = options || {};
Utils.polyfillParam(options);
if (Utils.checkParamKeyEmpty(options, 'address')) {
return;
}
var requestParam = {
address: options.address,
output: 'json',
key: that.key
};
wx.request(Utils.buildWxRequestConfig(options, {
url: URL_GET_GEOCODER,
data: requestParam
}));
}
/**
* 获取城市列表
*
* @param {Object} options 接口参数对象
*
* 请求参数结构可以参考
* http://lbs.qq.com/webservice_v1/guide-region.html
*/
getCityList(options) {
var that = this;
options = options || {};
Utils.polyfillParam(options);
var requestParam = {
output: 'json',
key: that.key
};
wx.request(Utils.buildWxRequestConfig(options, {
url: URL_CITY_LIST,
data: requestParam
}));
}
/**
* 获取对应城市ID的区县列表
*
* @param {Object} options 接口参数对象
*
* 请求参数结构可以参考
* http://lbs.qq.com/webservice_v1/guide-region.html
*/
getDistrictByCityId(options) {
var that = this;
options = options || {};
Utils.polyfillParam(options);
if (Utils.checkParamKeyEmpty(options, 'id')) {
return;
}
var requestParam = {
id: options.id || '',
output: 'json',
key: that.key
};
wx.request(Utils.buildWxRequestConfig(options, {
url: URL_AREA_LIST,
data: requestParam
}));
}
/**
* 用于单起点到多终点的路线距离(非直线距离)计算
* 支持两种距离计算方式步行和驾车
* 起点到终点最大限制直线距离10公里
*
* @param {Object} options 接口参数对象
*
* 请求参数结构可以参考
* http://lbs.qq.com/webservice_v1/guide-distance.html
*/
calculateDistance(options) {
var that = this;
options = options || {};
Utils.polyfillParam(options);
if (Utils.checkParamKeyEmpty(options, 'to')) {
return;
}
var requestParam = {
mode: options.mode || 'walking',
to: Utils.location2query(options.to),
output: 'json',
key: that.key
};
var locationsuccess = function (result) {
requestParam.from = result.latitude + ',' + result.longitude;
wx.request(Utils.buildWxRequestConfig(options, {
url: URL_DISTANCE,
data: requestParam
}));
}
if (options.from) {
options.location = options.from;
}
Utils.locationProcess(options, locationsuccess);
}
}
module.exports = QQMapWX;

File diff suppressed because one or more lines are too long