Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
5
51business
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
方斌
51business
Commits
86ca6438
Commit
86ca6438
authored
Sep 24, 2019
by
李尚科
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
course fix
parent
6042ffc4
Pipeline
#14101
passed with stage
in 21 seconds
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
70 additions
and
9 deletions
+70
-9
location.js
app/controller/course/location.js
+22
-9
lbs.js
app/service/course/lbs.js
+48
-0
No files found.
app/controller/course/location.js
View file @
86ca6438
...
...
@@ -10,17 +10,30 @@ class LocationController extends Controller {
async
getAddress
()
{
const
{
ctx
}
=
this
;
const
{
lat
,
lng
}
=
ctx
.
request
.
body
;
if
(
!
lat
||
!
lng
)
{
ctx
.
failed
(
'error lat lng'
);
let
{
lat
,
lng
}
=
ctx
.
request
.
body
;
let
address
=
''
;
if
(
lat
&&
lng
)
{
const
location_ret
=
await
ctx
.
service
.
course
.
lbs
.
getLBSLocation
({
lat
,
lng
});
const
loaction
=
location_ret
.
result
;
if
(
loaction
.
formatted_addresses
&&
loaction
.
formatted_addresses
.
recommend
)
{
address
=
loaction
.
formatted_addresses
.
recommend
;
lat
=
loaction
.
formatted_addresses
.
lat
;
lng
=
loaction
.
formatted_addresses
.
lng
;
}
}
const
location_ret
=
await
ctx
.
service
.
course
.
lbs
.
getLBSLocation
({
lat
,
lng
});
let
address
=
'获取位置信息失败'
;
if
(
location_ret
.
result
.
formatted_addresses
&&
location_ret
.
result
.
formatted_addresses
.
recommend
)
{
address
=
location_ret
.
result
.
formatted_addresses
.
recommend
;
if
(
!
address
)
{
const
ip_ret
=
await
ctx
.
service
.
course
.
lbs
.
getLBSIp
();
const
ip
=
ip_ret
.
result
;
if
(
ip
.
location
&&
ip
.
ad_info
)
{
address
=
ip
.
ad_info
.
province
+
ip
.
ad_info
.
city
?
ip
.
ad_info
.
city
:
''
+
ip
.
ad_info
.
district
?
ip
.
ad_info
.
district
:
''
;
lat
=
ip
.
location
.
lat
;
lng
=
ip
.
location
.
lng
;
}
}
ctx
.
success
({
result
:
address
});
if
(
!
address
)
{
address
=
'获取地理位置信息失败'
;
}
ctx
.
success
({
address
,
lat
,
lng
});
}
}
...
...
app/service/course/lbs.js
View file @
86ca6438
...
...
@@ -117,6 +117,54 @@ class LbsService extends Service {
return
{
result
};
}
// 地址解析
async
getLBSAddress
(
address
)
{
const
{
ctx
}
=
this
;
let
result
=
{};
const
params
=
{
address
,
key
:
ctx
.
app
.
config
.
TX_LBS_KEY
,
};
const
resp
=
await
ctx
.
helper
.
send_request
(
ctx
.
app
.
config
.
TX_LBS_ADDRESS_URL
,
params
,
{
method
:
'GET'
});
// resp.data.status 状态码,0:正常,310:请求参数信息有误,311:Key格式错误,306:请求有护持信息请检查字符串,110:请求来源未被授权
ctx
.
logger
.
info
(
'tx_lbs_location_resp: '
+
JSON
.
stringify
(
resp
));
if
(
resp
.
status
===
200
)
{
// 判断响应是否正确
if
(
resp
.
data
.
status
===
0
)
{
result
=
resp
.
data
.
result
;
}
}
return
{
result
};
}
// 逆地址解析
async
getLBSIp
()
{
const
{
ctx
}
=
this
;
let
result
=
{};
const
ip
=
ctx
.
helper
.
getClientIP
();
if
(
!
ip
)
{
return
result
;
}
const
params
=
{
ip
:
ip
,
key
:
ctx
.
app
.
config
.
TX_LBS_KEY
,
};
const
resp
=
await
ctx
.
helper
.
send_request
(
ctx
.
app
.
config
.
TX_LBS_ADDRESS_URL
+
'/ip'
,
params
,
{
method
:
'GET'
});
// resp.data.status 状态码,0:正常,310:请求参数信息有误,311:Key格式错误,306:请求有护持信息请检查字符串,110:请求来源未被授权
ctx
.
logger
.
info
(
'tx_lbs_ip_resp: '
+
JSON
.
stringify
(
resp
));
if
(
resp
.
status
===
200
)
{
// 判断响应是否正确
if
(
resp
.
data
.
status
===
0
)
{
result
=
resp
.
data
.
result
;
}
}
return
{
result
};
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment