Commit 84c46eb4 by Yu-Tung

Add GetSid api

parent 0a44e592
...@@ -10,7 +10,6 @@ import android.content.pm.PackageManager; ...@@ -10,7 +10,6 @@ import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo; import android.content.pm.ResolveInfo;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.BitmapFactory; import android.graphics.BitmapFactory;
import android.media.MediaRecorder;
import android.net.Uri; import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
...@@ -43,17 +42,12 @@ import java.util.List; ...@@ -43,17 +42,12 @@ import java.util.List;
import java.util.Locale; import java.util.Locale;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.MediaType; import okhttp3.MediaType;
import okhttp3.MultipartBody; import okhttp3.MultipartBody;
import okhttp3.OkHttpClient; import okhttp3.OkHttpClient;
import okhttp3.Request; import okhttp3.Request;
import okhttp3.RequestBody; import okhttp3.RequestBody;
import okhttp3.Response; import okhttp3.Response;
import retrofit2.http.Body;
public class MainActivity extends BaseActivity implements MainContract.View, View.OnClickListener { public class MainActivity extends BaseActivity implements MainContract.View, View.OnClickListener {
...@@ -80,6 +74,7 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie ...@@ -80,6 +74,7 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
private List<String> filepath = new ArrayList<>(); private List<String> filepath = new ArrayList<>();
private List<String> filename = new ArrayList<>(); private List<String> filename = new ArrayList<>();
String sidData ="";
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) { protected void onCreate(@Nullable Bundle savedInstanceState) {
...@@ -91,6 +86,7 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie ...@@ -91,6 +86,7 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
mPresenter = new MainPresenter(this); mPresenter = new MainPresenter(this);
mMainData = new MainData(); mMainData = new MainData();
mChooseDeviceItemData = new ChooseDeviceItemData(); mChooseDeviceItemData = new ChooseDeviceItemData();
mPresenter.onGetSid();
} }
@Override @Override
...@@ -235,6 +231,7 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie ...@@ -235,6 +231,7 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
Log.e("eee", getPath(data.getData())); Log.e("eee", getPath(data.getData()));
} }
//照片的uri //照片的uri
// mPresenter.onGetSid();
onUploadFile(uriList, getResourceString(R.string.on_upload_image)); onUploadFile(uriList, getResourceString(R.string.on_upload_image));
// onUploadFile1(); // onUploadFile1();
} }
...@@ -365,6 +362,8 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie ...@@ -365,6 +362,8 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
//如果能改成用retrofit加rxjava最好,已經嘗試過三天的,可能有缺什麼,不過緊急所以先求功能 //如果能改成用retrofit加rxjava最好,已經嘗試過三天的,可能有缺什麼,不過緊急所以先求功能
private void onUploadFile(final ArrayList<String> uriList, String type) { private void onUploadFile(final ArrayList<String> uriList, String type) {
// ongetsid();
showProgressDialog(type); showProgressDialog(type);
new Thread(new Runnable() { new Thread(new Runnable() {
@Override @Override
...@@ -404,45 +403,54 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie ...@@ -404,45 +403,54 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
String apiname = "SYNO.FileStation.Upload"; String apiname = "SYNO.FileStation.Upload";
String method = "upload"; String method = "upload";
String version = "2"; String version = "2";
String sid = "Tx2aTlIDdA5zLsxYDOYP95AnZqw1iUaEBGnDbsszo1QqaJzIe3B7AFZY5quVBataqzdMt3h-59L-AUhM9R_5hQ"; String sid = "4CY9mdpmlP5eh8KGLob3h3bqm6VvygRIu8BPwMIOy3UlYGBJ3VkM7Dgtw-hLIdH3ipntHHmJDK7y72Tio9ybLk";
String path1 = "/仁武氯乙烯廠製造一課/1_SOP導讀"; String path1 = "/仁武氯乙烯廠製造一課/1_SOP導讀";
Boolean a = true; Boolean a = true;
Boolean b = false; Boolean b = false;
OkHttpClient client = new OkHttpClient().newBuilder() OkHttpClient client = new OkHttpClient().newBuilder()
.connectTimeout(30, TimeUnit.SECONDS) .connectTimeout(60, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS) .readTimeout(60, TimeUnit.SECONDS)
.writeTimeout(30, TimeUnit.SECONDS) .writeTimeout(60, TimeUnit.SECONDS)
.build(); .build();
// MediaType mediaType = MediaType.parse("application/octet-stream"); // MediaType mediaType = MediaType.parse("application/octet-stream");
MediaType mediaType = MediaType.parse("text/plain"); // MediaType mediaType = MediaType.parse("multiparty/form-data");
MediaType mediaType = MediaType.parse("image/jpg");
MultipartBody.Builder buildernew = new MultipartBody.Builder() MultipartBody.Builder buildernew = new MultipartBody.Builder()
.setType(MultipartBody.FORM) .setType(MultipartBody.FORM)
.addFormDataPart("api", apiname) // .addFormDataPart("api", apiname)
.addFormDataPart("method", method) // .addFormDataPart("method", method)
.addFormDataPart("version", version) // .addFormDataPart("version", version)
.addFormDataPart("_sid", sid) // .addFormDataPart("_sid", sid)
.addFormDataPart("path",path1) .addFormDataPart("path",path1)
.addFormDataPart("create_parents", ""+b) .addFormDataPart("create_parents", a.toString())
.addFormDataPart("overwrite", ""+a); .addFormDataPart("overwrite", a.toString())
.addFormDataPart("data", "")
.addFormDataPart("success", "");
Log.e("test_path",path1);
Log.e("test_create_parents",b.toString());
Log.e("test_overwrite",a.toString());
// .addFormDataPart("file", "b525a7db0c5da640_1.jpg", // .addFormDataPart("file", "b525a7db0c5da640_1.jpg",
// RequestBody.create(mediaType,new File("/storage/emulated/0/Watashi AHD V.2/temp_images/b525a7db0c5da640_1.jpg") // RequestBody.create(mediaType,new File("/storage/emulated/0/Watashi AHD V.2/temp_images/b525a7db0c5da640_1.jpg")
// )); // ));
Log.e("test",""+buildernew.build().parts().get(0)); // Log.e("test",""+buildernew.build().parts().get(0));
for (String path : uriList) { for (String path : uriList) {
File uploadFile = new File(path); File uploadFile = new File(path);
// RequestBody fileBody = RequestBody.create(mediaType,uploadFile); // RequestBody fileBody = RequestBody.create(mediaType,uploadFile);
buildernew.addFormDataPart("file", uploadFile.getName(), buildernew.addFormDataPart("file", uploadFile.getName(),
RequestBody.create(MediaType.parse("application/octet-stream"), path)); RequestBody.create(MediaType.parse("multiparty/form-data"), path));
Log.e("pathname", uploadFile.getName()); // RequestBody.create(MediaType.parse("application/octet-stream"), path));
Log.e("test_filename", uploadFile.getName());
Log.e("path", path); Log.e("path", path);
Log.e("file", uploadFile.getAbsolutePath()); Log.e("test_file", uploadFile.getAbsolutePath());
} }
RequestBody body = buildernew.build(); RequestBody body = buildernew.build();
// buildernew.build(); // buildernew.build();
Request request = new Request.Builder() Request request = new Request.Builder()
.url("https://fpcrtpms.synology.me:5001/webapi/entry.cgi?api="+apiname+"&method="+method+"&version="+version+"&_sid="+sid) .url("https://fpcrtpms.synology.me:5001/webapi/entry.cgi?api="+apiname+"&method="+method+"&version="+version+"&_sid="+sidData)
// .url("https://fpcrtpms.synology.me:5001/webapi/entry.cgi") // .url("https://fpcrtpms.synology.me:5001/webapi/entry.cgi")
.method("POST", body) .method("POST", body)
// .header("api",apiname) // .header("api",apiname)
...@@ -453,7 +461,7 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie ...@@ -453,7 +461,7 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
// .post(buildernew.build()) // .post(buildernew.build())
.build(); .build();
Log.e("requrstBody", request.toString()); Log.e("test_url", request.url().toString());
try { try {
Response response = client.newCall(request).execute(); Response response = client.newCall(request).execute();
Log.e("response", response.body().string()); Log.e("response", response.body().string());
...@@ -517,6 +525,26 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie ...@@ -517,6 +525,26 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
}).start(); }).start();
} }
private void ongetsid(){
new Thread(new Runnable() {
@Override
public void run() {
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
Request request = new Request.Builder()
.url("https://webapp.fpcitc.com.tw/SOP/api/FileUpload/GetLogin")
.method("GET", null)
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.build();
try {
Response response = client.newCall(request).execute();
Log.e("response", response.body().string());
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
@Override @Override
public void setCOData(List<COResponse> adapterData) { public void setCOData(List<COResponse> adapterData) {
dialogString.clear(); dialogString.clear();
...@@ -567,6 +595,12 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie ...@@ -567,6 +595,12 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
showItemDialog(dialogString, onShootTypeCategoryDialogItemClick); showItemDialog(dialogString, onShootTypeCategoryDialogItemClick);
} }
@Override
public void setSIDData(String sid) {
sidData = sid;
}
private DialogInterface.OnClickListener onCompanyDialogItemClick = new DialogInterface.OnClickListener() { private DialogInterface.OnClickListener onCompanyDialogItemClick = new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
......
...@@ -3,6 +3,7 @@ package com.example.audiovisualrecord.ui.main; ...@@ -3,6 +3,7 @@ package com.example.audiovisualrecord.ui.main;
import com.example.audiovisualrecord.base.BaseView; import com.example.audiovisualrecord.base.BaseView;
import com.example.audiovisualrecord.utils.api.apidata.CORequest.COResponse; import com.example.audiovisualrecord.utils.api.apidata.CORequest.COResponse;
import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPEResponse; import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPEResponse;
import com.example.audiovisualrecord.utils.api.searcheqkd.EQKDResponse; import com.example.audiovisualrecord.utils.api.searcheqkd.EQKDResponse;
import com.example.audiovisualrecord.utils.api.searchmntfct.MNTFCTResponse; import com.example.audiovisualrecord.utils.api.searchmntfct.MNTFCTResponse;
...@@ -17,6 +18,7 @@ public interface MainContract { ...@@ -17,6 +18,7 @@ public interface MainContract {
void setDPNMData(List<PMFCTResponse> adapterData); void setDPNMData(List<PMFCTResponse> adapterData);
void setEQKDData(List<EQKDResponse> adapterData); void setEQKDData(List<EQKDResponse> adapterData);
void setTYPEData(List<TYPEResponse> adapterData); void setTYPEData(List<TYPEResponse> adapterData);
void setSIDData(String sid);
} }
interface Presenter<V extends MainContract.View> { interface Presenter<V extends MainContract.View> {
...@@ -27,5 +29,6 @@ public interface MainContract { ...@@ -27,5 +29,6 @@ public interface MainContract {
void onGetSHIFTData(String CO, String PMFCT); void onGetSHIFTData(String CO, String PMFCT);
void segVideo(String path,String name); void segVideo(String path,String name);
void onGetTYPEData(String CO,String PMFCT); void onGetTYPEData(String CO,String PMFCT);
void onGetSid();
} }
} }
...@@ -25,6 +25,7 @@ public class MainData { ...@@ -25,6 +25,7 @@ public class MainData {
private List<PMFCTResponse> mPMFCTDataList; private List<PMFCTResponse> mPMFCTDataList;
private List<EQKDResponse> mEQKDDataList; private List<EQKDResponse> mEQKDDataList;
private List<TYPEResponse> mTYPEDataList; private List<TYPEResponse> mTYPEDataList;
private String MSidData;
public List<COResponse> getmCODataList() { public List<COResponse> getmCODataList() {
...@@ -67,6 +68,14 @@ public class MainData { ...@@ -67,6 +68,14 @@ public class MainData {
this.mTYPEDataList = mTYPEDataList; this.mTYPEDataList = mTYPEDataList;
} }
public String getMSidData() {
return MSidData;
}
public void setMSidData(String MSidData) {
this.MSidData = MSidData;
}
// public String getmCO() { // public String getmCO() {
// return mMNTCO; // return mMNTCO;
// } // }
......
...@@ -11,6 +11,7 @@ import com.example.audiovisualrecord.utils.api.ApiService; ...@@ -11,6 +11,7 @@ import com.example.audiovisualrecord.utils.api.ApiService;
import com.example.audiovisualrecord.utils.api.HttpMethods; import com.example.audiovisualrecord.utils.api.HttpMethods;
import com.example.audiovisualrecord.utils.api.apidata.CORequest.CORequest; import com.example.audiovisualrecord.utils.api.apidata.CORequest.CORequest;
import com.example.audiovisualrecord.utils.api.apidata.CORequest.COResultList; import com.example.audiovisualrecord.utils.api.apidata.CORequest.COResultList;
import com.example.audiovisualrecord.utils.api.apidata.searchsid.SIDDataList;
import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPERequest; import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPERequest;
import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPEResultList; import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPEResultList;
import com.example.audiovisualrecord.utils.api.searcheqkd.EQKDRequest; import com.example.audiovisualrecord.utils.api.searcheqkd.EQKDRequest;
...@@ -205,6 +206,34 @@ public class MainPresenter<V extends MainContract.View> implements MainContract. ...@@ -205,6 +206,34 @@ public class MainPresenter<V extends MainContract.View> implements MainContract.
} }
@Override @Override
public void onGetSid() {
// TYPERequest mTypeRequest = new TYPERequest(KEY_SEARCH_TYPE,USER_ID,CO, PMFCT);
String url = view.getResourceString(R.string.api_on_getSID);
compositeDisposable.add(api.getSID(url)
.subscribeOn(schedulerProviderImp.io())
.observeOn(schedulerProviderImp.ui())
.subscribeWith(new DisposableObserver<SIDDataList>() {
@Override
public void onNext(SIDDataList mSIDDataList) {
view.setSIDData(mSIDDataList.getsIdDataList().getSid());
Log.e("sss",mSIDDataList.getSuccess());
}
@Override
public void onError(Throwable e) {
// view.showDialogCaveatMessage(view.getResourceString( R.string.add_device_error));
Log.e("aaaa",e.getMessage());
}
@Override
public void onComplete() {
}
})
);
}
@Override
public void segVideo(String path,String name) { public void segVideo(String path,String name) {
File video = new File(path); File video = new File(path);
int sizeLimit = 50 * 1024 * 1024; int sizeLimit = 50 * 1024 * 1024;
......
...@@ -4,6 +4,7 @@ import com.example.audiovisualrecord.utils.api.apidata.CORequest.CORequest; ...@@ -4,6 +4,7 @@ import com.example.audiovisualrecord.utils.api.apidata.CORequest.CORequest;
import com.example.audiovisualrecord.utils.api.apidata.CORequest.COResultList; import com.example.audiovisualrecord.utils.api.apidata.CORequest.COResultList;
import com.example.audiovisualrecord.utils.api.apidata.login.LoginRequest; import com.example.audiovisualrecord.utils.api.apidata.login.LoginRequest;
import com.example.audiovisualrecord.utils.api.apidata.login.LoginResponse; import com.example.audiovisualrecord.utils.api.apidata.login.LoginResponse;
import com.example.audiovisualrecord.utils.api.apidata.searchsid.SIDDataList;
import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPERequest; import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPERequest;
import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPEResultList; import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPEResultList;
import com.example.audiovisualrecord.utils.api.searcheqkd.EQKDRequest; import com.example.audiovisualrecord.utils.api.searcheqkd.EQKDRequest;
...@@ -15,6 +16,7 @@ import com.example.audiovisualrecord.utils.api.searchpmfct.PMFCTResultList; ...@@ -15,6 +16,7 @@ import com.example.audiovisualrecord.utils.api.searchpmfct.PMFCTResultList;
import io.reactivex.Observable; import io.reactivex.Observable;
import retrofit2.http.Body; import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST; import retrofit2.http.POST;
import retrofit2.http.Url; import retrofit2.http.Url;
...@@ -31,4 +33,6 @@ public interface ApiService { ...@@ -31,4 +33,6 @@ public interface ApiService {
Observable<TYPEResultList>getTYPE(@Url String url, @Body TYPERequest mTypeRequest); Observable<TYPEResultList>getTYPE(@Url String url, @Body TYPERequest mTypeRequest);
@POST @POST
Observable<LoginResponse> onLogin(@Url String url, @Body LoginRequest mLoginRequest); Observable<LoginResponse> onLogin(@Url String url, @Body LoginRequest mLoginRequest);
@GET
Observable<SIDDataList> getSID(@Url String url);
} }
package com.example.audiovisualrecord.utils.api.apidata.searchsid;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class SIDDataList {
@SerializedName("data")
@Expose
private getSID sIdDataList;
@SerializedName("success")
@Expose
private java.lang.String success;
public getSID getsIdDataList() {
return sIdDataList;
}
public void setsIdDataList(getSID sIdDataList) {
this.sIdDataList = sIdDataList;
}
public java.lang.String getSuccess() {
return success;
}
public void setSuccess(java.lang.String success) {
this.success = success;
}
}
package com.example.audiovisualrecord.utils.api.apidata.searchsid;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class getSID {
@SerializedName("sid")
@Expose
private java.lang.String sid;
public java.lang.String getSid() {
return sid;
}
public void setSid(java.lang.String sid) {
this.sid = sid;
}
}
...@@ -45,6 +45,8 @@ ...@@ -45,6 +45,8 @@
<string name="api_on_getEQNO">SearchEQNO</string> <string name="api_on_getEQNO">SearchEQNO</string>
<string name="api_on_Login">https://cloud.fpcetg.com.tw/FPC/API/FM/SopRecord_API/INFO/Access</string> <string name="api_on_Login">https://cloud.fpcetg.com.tw/FPC/API/FM/SopRecord_API/INFO/Access</string>
<string name="api_on_DisposableToken">DisposableToken</string> <string name="api_on_DisposableToken">DisposableToken</string>
<string name="api_on_getSID">https://webapp.fpcitc.com.tw/SOP/api/FileUpload/GetLogin</string>
<!--addDevice部分--> <!--addDevice部分-->
<string name="get_pmfct_error_no_data">廠課無資料</string> <string name="get_pmfct_error_no_data">廠課無資料</string>
...@@ -64,5 +66,8 @@ ...@@ -64,5 +66,8 @@
<string name="add_device_no_data_file">檔案還未選擇</string> <string name="add_device_no_data_file">檔案還未選擇</string>
<string name="add_device_error">查詢資料失敗,請重試或檢查網路狀態,或檢查資料是否正確</string> <string name="add_device_error">查詢資料失敗,請重試或檢查網路狀態,或檢查資料是否正確</string>
<!-- getsid-->
<string name="get_sid_error_no_data">sid無資料</string>
</resources> </resources>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment