Weitere ähnliche Inhalte
Ähnlich wie 2014 02-19-titanium meetupvol16
Ähnlich wie 2014 02-19-titanium meetupvol16 (20)
Mehr von Hiroshi Oyamada (20)
2014 02-19-titanium meetupvol16
- 8. ある地点の周辺のお店検索
# ACS利用するためのおまじない
ACS = require('ti.cloud')
# 東京駅周辺の緯度と経度
latitude = 35.681382
longitude = 139.766084
# Webの管理画面からお店情報などを登録しておくと
# 以下クエリで東京駅周辺の情報が20件検索できる
ACS.Places.query
page: 1
per_page: 20
where:
lnglat:
$nearSphere:[longitude,latitude]
$maxDistance: 0.01
, (e) ->
if e.success
for place in e.places
Ti.API.info place.name
14年2月19日水曜日
- 10. 登録済のユーザ宛にメールする
# ACS利用するためのおまじない
ACS = require('ti.cloud')
ACS.Users.query
page: 1
per_page: 20
, (e) ->
if e.success
for user in e.users
# Webの管理画面からSAMPLEという名前のテンプレートを作成
# テンプレート内にmessageBodyという変数を設定
ACS.Emails.send(
template:'SAMPLE'
recipients:user.email
messageBody:”test mail to #{user.name}”
,(result) ->
Ti.API.info "sendmail result: #{result}"
)
14年2月19日水曜日
- 13. 後者についてはNode.jsをちょっと勉強してacs-nodeと
いうnpmモジュール使えば解決できる
log4js = require("log4js")
log4js.configure appenders: [
type: "file"
category: "request"
filename: "logs/request.log"
pattern: "-yyyy-MM-dd"
]
loggerRequest = log4js.getLogger("request")
loggerRequest.info "this is request log"
# 自作モジュール類の読み込み
path = require("path")
modulePath = path.resolve(__dirname, "lib/geocoder.js")
Geocoder = require(modulePath).Geocoder
geocoder = new Geocoder()
serverModulePath = path.resolve(__dirname, "lib/server.js")
Server = require(serverModulePath).Server
server = new Server()
wait = (item, callback) ->
setTimeout((->
geocodingAPI = "http://www.geocoding.jp/api/"
address = encodeURIComponent(item.address)
url = "#{geocodingAPI}?v=1.1&q=#{address}"
geocoder.start(url,(err,statusCode,body) ->
if not err
callback(body,item.clientName)
)
), 5000)
clientList =[{"clientName":"xx","address":"xxx"}]
14年2月19日水曜日
act = ()->
# パラメータが無くなっていれば終了
return if clientList.length is 0
param = clientList[0]
geocodingAPI = "http://www.geocoding.jp/api/"
address = encodeURIComponent(param.address)
clientName = param.clientName
address = param.address
url = "#{geocodingAPI}?v=1.1&q=#{address}"
geocoder.start(url,(err,statusCode,body) ->
if not err and body.lat isnt null and body.lng isnt null
clientData =
name:clientName
address:address
latitude:body.lat
longitude:body.lng
loggerRequest.info("client: #{clientName}")
server.confirmClientInfo(clientData,(response) ->
if response is true
loggerRequest.info("#{clientName} already exist!!")
else
server.registClientInfo(clientData,(response) ->
if response is false
loggerRequest.info("FAIL: #{clientName} data is
#{clientData}")
else
loggerRequest.info("success data is #{clientData}"")
)
)
else
loggerRequest.info("error clientName is #{clientName}")
)
clientList.shift()
setTimeout (->
act()
), 6500
act()