Apl.onloadComment = function(){
//Webストレージに保存した全てのデータを取得します
Apl.getLocalStorageData();
//動作モードに応じてhtml表示を変更します。
Apl.showOperationMode();
//ネイティブカメラを停止します。
AR.Camera.stopCameraView(Apl.noop, Apl.stopCameraViewError);
};入力がない場合はalertを表示、入力されていた場合はAR実行サーバへPOSTするオブジェクトを生成しWebストレージに保存します。
Apl.onClickOK = function(){
//入力データを取得します。
var data = Apl.getCommentData();
if(data){
Apl.userData = data;
//AR実行サーバに登録するクエリデータを作成します。
Apl.postData = new Object();
Apl.postData.query = "quads";
Apl.postData.body = Apl.createCommentDataQuad(data);
//Webストレージに保存します。
localStorage.setItem("userData", JSON.stringify(Apl.userData));
localStorage.setItem("postData", JSON.stringify(Apl.postData));
if(Apl.operationMode == "serverMode"){ // サーバ通信モードの場合
Apl.upload();
} else { // スタンドアローンモードの場合
alert("データを保存しました。サーバ通信モードでアップロードしてください。");
if(location.href != "work.html") location.href = "work.html";
}
}
};Apl.getCommentData = function(){
var fName = document.comment_form.f_name.value;
//名前が入力されていない場合はalert表示
if(fName == null || fName == ""){
alert("名前が入力されていません。入力してください。");
return;
}//名前が長い場合はalert表示
if(fName.length>30){
alert("名前が長すぎます。30文字以下にしてください。");
return;
}
var fTemperature = document.comment_form.f_comment.value;
//温度が入力されていない場合はalert表示
if(fTemperature == null || fTemperature == ""){
alert("温度が入力されていません。入力してください。");
return;
}
//温度が長い場合はalert表示 0~999
if(fTemperature.length > 3){
alert("温度は0~999の範囲で入力してください。");
return;
}
//ユーザデータオブジェクト作成
var data = new Object();
data.name = fName;
data.temperature = parseInt(fTemperature);
data.time = new Date().getTime();
return data;
};Apl.createCommentDataQuad = function(_data){
// QUADを作成します。
var quad = new Apl.Quad();
// QUADのタイプネームを設定します。
quad.qtypeName = "usr_sample";
// QUADの値を作成します。
// QValue ar_idを作成します。
var arId = new Apl.QValue();
arId.qtypeName = "usr_sample";
arId.qattributeName = "ar_id";
arId.stringValue = null;
arId.longValue = 1;
arId.floatValue = null;
// QValue ar_nameを作成します。
var arName = new Apl.QValue();
arName.qtypeName = "usr_sample";
arName.qattributeName = "ar_name";
arName.stringValue = "点検結果";
arName.longValue = null;
arName.floatValue = null;
// QValue ar_descriptionを作成します。
var arDescription = new Apl.QValue();
arDescription.qtypeName = "usr_sample";
arDescription.qattributeName = "ar_description";
arDescription.stringValue = "AR業務サンプルアプリケーションの点検結果です。";
arDescription.longValue = null;
arDescription.floatValue = null;
// QValue ar_registrationtimeを作成します。
var arRegistrationtime = new Apl.QValue();
arRegistrationtime.qtypeName = "usr_sample";
arRegistrationtime.qattributeName = "ar_registrationtime";
arRegistrationtime.stringValue = null;
arRegistrationtime.longValue = _data.time;
arRegistrationtime.floatValue = null
// QValue ar_modificationtimeを作成します。
var arModificationtime = new Apl.QValue();
arModificationtime.qtypeName = "usr_sample";
arModificationtime.qattributeName = "ar_modificationtime";
arModificationtime.stringValue = null;
arModificationtime.longValue = _data.time;
arModificationtime.floatValue = null;
// QValue usr_nameを作成します。
var usrName = new Apl.QValue();
usrName.qtypeName = "usr_sample";
usrName.qattributeName = "usr_name";
usrName.stringValue = _data.name;
usrName.longValue = null;
usrName.floatValue = null;
// QValue usr_temperatureを作成します。
var usrTemperature = new Apl.QValue();
usrTemperature.qtypeName = "usr_sample";
usrTemperature.qattributeName = "usr_temperature";
usrTemperature.stringValue = null;
usrTemperature.longValue = _data.temperature;
usrTemperature.floatValue = null;
// QValueをQUADに設定します。
quad.qvalues = [arId, arName, arDescription, arRegistrationtime, arModificationtime, usrName,
usrTemperature]
//文字列に変換します。
var rtndata = JSON.stringify(quad);
return rtndata;
};