Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
haihang
Overview
Overview
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
徐丛奇
haihang
Commits
80ffadd3
Commit
80ffadd3
authored
Aug 31, 2018
by
徐丛奇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
sssssssssssss
parent
97c0c4b0
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
118 additions
and
180 deletions
+118
-180
EyeApplication.java
app/src/main/java/com/oo/eye/EyeApplication.java
+2
-0
EyeChartsPresenter.java
app/src/main/java/com/oo/eye/mvp/presenter/EyeChartsPresenter.java
+20
-25
EyeHistroyPresenter.java
app/src/main/java/com/oo/eye/mvp/presenter/EyeHistroyPresenter.java
+20
-25
EyeTestPresenter.java
app/src/main/java/com/oo/eye/mvp/presenter/EyeTestPresenter.java
+37
-47
EyeApiService.java
app/src/main/java/com/oo/eye/net/EyeApiService.java
+12
-31
EyeDataManager.java
app/src/main/java/com/oo/eye/net/EyeDataManager.java
+0
-50
EyeNetManager.java
app/src/main/java/com/oo/eye/net/EyeNetManager.java
+3
-2
NetConfig.java
app/src/main/java/com/oo/eye/net/NetConfig.java
+24
-0
No files found.
app/src/main/java/com/oo/eye/EyeApplication.java
View file @
80ffadd3
...
@@ -2,6 +2,7 @@ package com.oo.eye;
...
@@ -2,6 +2,7 @@ package com.oo.eye;
import
com.app.baselibrary.base.app.BaseApplication
;
import
com.app.baselibrary.base.app.BaseApplication
;
import
com.app.baselibrary.commonUtil.LogUtil
;
import
com.app.baselibrary.commonUtil.LogUtil
;
import
com.oo.seex.netlibrary.net.BaseApiConfig
;
/**
/**
* Created by xucon on 2018/8/30.
* Created by xucon on 2018/8/30.
...
@@ -12,6 +13,7 @@ public class EyeApplication extends BaseApplication {
...
@@ -12,6 +13,7 @@ public class EyeApplication extends BaseApplication {
@Override
@Override
public
void
onCreate
()
{
public
void
onCreate
()
{
super
.
onCreate
();
super
.
onCreate
();
BaseApiConfig
.
setIsDebug
(
true
);
CrashHandler
crashHandler
=
CrashHandler
.
getInstance
();
CrashHandler
crashHandler
=
CrashHandler
.
getInstance
();
crashHandler
.
init
(
getApplicationContext
());
crashHandler
.
init
(
getApplicationContext
());
crashHandler
.
setRestart
(
true
);
crashHandler
.
setRestart
(
true
);
...
...
app/src/main/java/com/oo/eye/mvp/presenter/EyeChartsPresenter.java
View file @
80ffadd3
...
@@ -2,19 +2,14 @@ package com.oo.eye.mvp.presenter;
...
@@ -2,19 +2,14 @@ package com.oo.eye.mvp.presenter;
import
android.content.Context
;
import
android.content.Context
;
import
com.app.baselibrary.commonUtil.SnUtils
;
import
com.oo.eye.EyeConfig
;
import
com.oo.eye.EyeConfig
;
import
com.oo.eye.bean.EyeChartsBean
;
import
com.oo.eye.bean.EyeChartsBean
;
import
com.oo.eye.db.DbManager
;
import
com.oo.eye.db.DbManager
;
import
com.oo.eye.gen.EyeChartsBeanDao
;
import
com.oo.eye.gen.EyeChartsBeanDao
;
import
com.oo.eye.mvp.contract.EyeChartsContract
;
import
com.oo.eye.mvp.contract.EyeChartsContract
;
import
com.oo.eye.net.EyeDataManager
;
import
com.oo.seex.netlibrary.net.response.NewResponseImpl
;
import
com.oo.seex.netlibrary.net.response.RxCallback
;
import
org.greenrobot.greendao.query.QueryBuilder
;
import
org.greenrobot.greendao.query.QueryBuilder
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -54,26 +49,26 @@ public class EyeChartsPresenter implements EyeChartsContract.Presenter {
...
@@ -54,26 +49,26 @@ public class EyeChartsPresenter implements EyeChartsContract.Presenter {
private
void
getEyeChartsNet
(
int
limit
){
private
void
getEyeChartsNet
(
int
limit
){
EyeDataManager
.
getInstance
().
getEyeTestCharts
(
SnUtils
.
getSN
(),
limit
)
//
EyeDataManager.getInstance().getEyeTestCharts(SnUtils.getSN(),limit)
.
subscribe
(
new
RxCallback
<
NewResponseImpl
<
ArrayList
<
EyeChartsBean
>>>()
{
//
.subscribe(new RxCallback<NewResponseImpl<ArrayList<EyeChartsBean>>>() {
@Override
//
@Override
public
void
onSuccess
(
NewResponseImpl
<
ArrayList
<
EyeChartsBean
>>
response
)
{
//
public void onSuccess(NewResponseImpl<ArrayList<EyeChartsBean>> response) {
if
(
mView
!=
null
&&
mView
.
isActive
()){
//
if(mView != null && mView.isActive()){
if
(
response
.
isSuccess
()){
//
if(response.isSuccess()){
mView
.
getEyeChartsSuccee
(
response
.
getData
());
//
mView.getEyeChartsSuccee(response.getData());
}
else
{
//
}else{
mView
.
getEyeChartsFail
(
"数据获取失败"
);
//
mView.getEyeChartsFail("数据获取失败");
}
//
}
}
//
}
}
//
}
//
@Override
//
@Override
public
void
onError
(
int
errorCode
,
String
errorMessage
)
{
//
public void onError(int errorCode, String errorMessage) {
if
(
mView
!=
null
&&
mView
.
isActive
()){
//
if(mView != null && mView.isActive()){
mView
.
getEyeChartsFail
(
"数据获取失败"
);
//
mView.getEyeChartsFail("数据获取失败");
}
//
}
}
//
}
});
//
});
}
}
}
}
app/src/main/java/com/oo/eye/mvp/presenter/EyeHistroyPresenter.java
View file @
80ffadd3
...
@@ -2,17 +2,12 @@ package com.oo.eye.mvp.presenter;
...
@@ -2,17 +2,12 @@ package com.oo.eye.mvp.presenter;
import
android.content.Context
;
import
android.content.Context
;
import
com.app.baselibrary.commonUtil.SnUtils
;
import
com.oo.eye.bean.EyeHistroyBean
;
import
com.oo.eye.bean.EyeHistroyBean
;
import
com.oo.eye.db.DbManager
;
import
com.oo.eye.db.DbManager
;
import
com.oo.eye.mvp.contract.EyeHistroyContract
;
import
com.oo.eye.mvp.contract.EyeHistroyContract
;
import
com.oo.eye.net.EyeDataManager
;
import
com.oo.seex.netlibrary.net.response.NewResponseImpl
;
import
com.oo.seex.netlibrary.net.response.RxCallback
;
import
org.greenrobot.greendao.query.QueryBuilder
;
import
org.greenrobot.greendao.query.QueryBuilder
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -53,25 +48,25 @@ public class EyeHistroyPresenter implements EyeHistroyContract.Presenter {
...
@@ -53,25 +48,25 @@ public class EyeHistroyPresenter implements EyeHistroyContract.Presenter {
}
}
private
void
getEyeHistroyNet
(
int
page
,
int
limit
){
private
void
getEyeHistroyNet
(
int
page
,
int
limit
){
EyeDataManager
.
getInstance
().
getEyeTestData
(
SnUtils
.
getSN
(),
page
,
limit
)
//
EyeDataManager.getInstance().getEyeTestData(SnUtils.getSN(),page,limit)
.
subscribe
(
new
RxCallback
<
NewResponseImpl
<
ArrayList
<
EyeHistroyBean
>>>()
{
//
.subscribe(new RxCallback<NewResponseImpl<ArrayList<EyeHistroyBean>>>() {
@Override
//
@Override
public
void
onSuccess
(
NewResponseImpl
<
ArrayList
<
EyeHistroyBean
>>
response
)
{
//
public void onSuccess(NewResponseImpl<ArrayList<EyeHistroyBean>> response) {
if
(
mView
!=
null
&&
mView
.
isActive
()){
//
if(mView != null && mView.isActive()){
if
(
response
.
isSuccess
()){
//
if(response.isSuccess()){
mView
.
getEyeHistroyNetSuccee
(
response
.
getData
(),
response
.
getPage
());
//
mView.getEyeHistroyNetSuccee(response.getData(),response.getPage());
}
else
{
//
}else{
mView
.
getEyeHistroyFail
(
"数据获取失败"
);
//
mView.getEyeHistroyFail("数据获取失败");
}
//
}
}
//
}
}
//
}
//
@Override
//
@Override
public
void
onError
(
int
errorCode
,
String
errorMessage
)
{
//
public void onError(int errorCode, String errorMessage) {
if
(
mView
!=
null
&&
mView
.
isActive
()){
//
if(mView != null && mView.isActive()){
mView
.
getEyeHistroyFail
(
"数据获取失败"
);
//
mView.getEyeHistroyFail("数据获取失败");
}
//
}
}
//
}
});
//
});
}
}
}
}
app/src/main/java/com/oo/eye/mvp/presenter/EyeTestPresenter.java
View file @
80ffadd3
...
@@ -2,17 +2,7 @@ package com.oo.eye.mvp.presenter;
...
@@ -2,17 +2,7 @@ package com.oo.eye.mvp.presenter;
import
android.content.Context
;
import
android.content.Context
;
import
com.oo.eye.EyeConfig
;
import
com.oo.eye.bean.EyeChartsBean
;
import
com.oo.eye.bean.EyeHistroyBean
;
import
com.oo.eye.db.DbManager
;
import
com.oo.eye.mvp.contract.EyeTestContract
;
import
com.oo.eye.mvp.contract.EyeTestContract
;
import
com.oo.eye.net.EyeDataManager
;
import
com.oo.seex.netlibrary.net.response.NewResponseImpl
;
import
com.oo.seex.netlibrary.net.response.RxCallback
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
/**
/**
* Created by xucon on 2017/12/26.
* Created by xucon on 2017/12/26.
...
@@ -28,42 +18,42 @@ public class EyeTestPresenter implements EyeTestContract.Presenter {
...
@@ -28,42 +18,42 @@ public class EyeTestPresenter implements EyeTestContract.Presenter {
public
void
postEyeTestData
(
Context
context
,
String
sn
,
double
leftEye
,
double
rightEye
,
public
void
postEyeTestData
(
Context
context
,
String
sn
,
double
leftEye
,
double
rightEye
,
int
leftLine
,
int
rightLine
)
{
int
leftLine
,
int
rightLine
)
{
if
(
EyeConfig
.
getInstance
().
isNetData
())
{
//
if (EyeConfig.getInstance().isNetData()) {
EyeDataManager
.
getInstance
()
//
EyeDataManager.getInstance()
.
postEyeTestData
(
sn
,
String
.
valueOf
(
leftEye
),
String
.
valueOf
(
rightEye
),
String
.
valueOf
(
leftLine
),
String
.
valueOf
(
rightLine
))
//
.postEyeTestData(sn, String.valueOf(leftEye), String.valueOf(rightEye), String.valueOf(leftLine), String.valueOf(rightLine))
.
subscribe
(
new
RxCallback
<
NewResponseImpl
<
String
>>()
{
//
.subscribe(new RxCallback<NewResponseImpl<String>>() {
@Override
//
@Override
public
void
onSuccess
(
NewResponseImpl
<
String
>
stringEyeResponse
)
{
//
public void onSuccess(NewResponseImpl<String> stringEyeResponse) {
if
(
mView
!=
null
&&
mView
.
isActive
())
//
if (mView != null && mView.isActive())
mView
.
postEyeTestDataSuccee
();
//
mView.postEyeTestDataSuccee();
}
//
}
//
@Override
//
@Override
public
void
onError
(
int
errorCode
,
String
errorMessage
)
{
//
public void onError(int errorCode, String errorMessage) {
if
(
mView
!=
null
&&
mView
.
isActive
())
//
if (mView != null && mView.isActive())
mView
.
postEyeTestDataFail
(
errorMessage
);
//
mView.postEyeTestDataFail(errorMessage);
}
//
}
});
//
});
}
else
{
//
} else {
Date
date
=
new
Date
();
//
Date date = new Date();
EyeHistroyBean
histroyBean
=
new
EyeHistroyBean
();
//
EyeHistroyBean histroyBean = new EyeHistroyBean();
histroyBean
.
setLeft_eye
(
leftEye
);
//
histroyBean.setLeft_eye(leftEye);
histroyBean
.
setRight_eye
(
rightEye
);
//
histroyBean.setRight_eye(rightEye);
histroyBean
.
setLeft_line
(
leftLine
);
//
histroyBean.setLeft_line(leftLine);
histroyBean
.
setRight_line
(
rightLine
);
//
histroyBean.setRight_line(rightLine);
histroyBean
.
setCreated_time
(
date
.
getTime
());
//
histroyBean.setCreated_time(date.getTime());
histroyBean
.
setType
(
2
);
//
histroyBean.setType(2);
DbManager
.
getDaoMaster
(
context
).
newSession
().
insert
(
histroyBean
);
//
DbManager.getDaoMaster(context).newSession().insert(histroyBean);
EyeChartsBean
chartsBean
=
new
EyeChartsBean
();
//
EyeChartsBean chartsBean = new EyeChartsBean();
chartsBean
.
setLeft_eye
(
leftEye
);
//
chartsBean.setLeft_eye(leftEye);
chartsBean
.
setRight_eye
(
rightEye
);
//
chartsBean.setRight_eye(rightEye);
chartsBean
.
setType
(
2
);
//
chartsBean.setType(2);
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
"yyyy-MM"
);
//
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM");
chartsBean
.
setCreated_month
(
simpleDateFormat
.
format
(
date
));
//
chartsBean.setCreated_month(simpleDateFormat.format(date));
DbManager
.
getDaoMaster
(
context
).
newSession
().
insertOrReplace
(
chartsBean
);
//
DbManager.getDaoMaster(context).newSession().insertOrReplace(chartsBean);
if
(
mView
!=
null
)
{
//
if (mView != null) {
mView
.
postEyeTestDataSuccee
();
//
mView.postEyeTestDataSuccee();
}
//
}
}
//
}
}
}
}
}
app/src/main/java/com/oo/eye/net/EyeApiService.java
View file @
80ffadd3
package
com
.
oo
.
eye
.
net
;
package
com
.
oo
.
eye
.
net
;
import
com.app.baselibrary.bean.UserInfo
;
import
com.oo.eye.bean.EyeChartsBean
;
import
com.oo.eye.bean.EyeHistroyBean
;
import
com.oo.eye.bean.EyeHistroyBean
;
import
com.oo.eye.bean.
InitDataBean
;
import
com.oo.eye.bean.
Student
;
import
com.oo.seex.netlibrary.net.response.
New
ResponseImpl
;
import
com.oo.seex.netlibrary.net.response.
Old
ResponseImpl
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
retrofit2.http.Field
;
import
retrofit2.http.Field
Map
;
import
retrofit2.http.FormUrlEncoded
;
import
retrofit2.http.FormUrlEncoded
;
import
retrofit2.http.GET
;
import
retrofit2.http.POST
;
import
retrofit2.http.POST
;
import
retrofit2.http.Query
;
import
rx.Observable
;
import
rx.Observable
;
/**
/**
...
@@ -25,33 +23,16 @@ public interface EyeApiService {
...
@@ -25,33 +23,16 @@ public interface EyeApiService {
* 上传视力测试结果
* 上传视力测试结果
*/
*/
@FormUrlEncoded
@FormUrlEncoded
@POST
(
"/SeexApi/Vision/add"
)
@POST
(
NetConfig
.
ADD_EYE
)
Observable
<
NewResponseImpl
<
String
>>
postEyeTestData
(
@Field
(
"deviceSN"
)
String
deviceSn
Observable
<
OldResponseImpl
<
String
>>
postEyeTestData
(
@FieldMap
Map
<
String
,
String
>
params
);
,
@Field
(
"left"
)
String
leftEye
,
@Field
(
"right"
)
String
rightEye
,
@Field
(
"leftLine"
)
String
leftLine
,
@Field
(
"rightLine"
)
String
rightLine
);
/**
/**
* 获取视力测试历史结果
* 获取视力测试历史结果
*/
*/
@GET
(
"/SeexApi/Vision"
)
@POST
(
NetConfig
.
GET_STUDENT_TEST_HISTORY
)
Observable
<
NewResponseImpl
<
ArrayList
<
EyeHistroyBean
>>>
getEyeTestData
(
@Query
(
"deviceSN"
)
String
deviceSn
Observable
<
OldResponseImpl
<
ArrayList
<
EyeHistroyBean
>>>
getEyeTestData
(
@FieldMap
Map
<
String
,
String
>
params
);
,
@Query
(
"page"
)
int
page
,
@Query
(
"limit"
)
int
limit
);
/**
* 获取视力测试历史结果
*/
@GET
(
"/SeexApi/Vision/charts"
)
Observable
<
NewResponseImpl
<
ArrayList
<
EyeChartsBean
>>>
getEyeTestCharts
(
@Query
(
"deviceSN"
)
String
deviceSn
,
@Query
(
"limit"
)
int
limit
);
/**
* @param deviceSN
* @return
*/
@GET
(
"/SeexApi/Device/status"
)
Observable
<
NewResponseImpl
<
UserInfo
>>
getUserInfo
(
@Query
(
"deviceSN"
)
String
deviceSN
);
/**
/**
* 获取
初始数据
* 获取
学生信息
*/
*/
@
GET
(
"/SeexApi/Teenage/default"
)
@
POST
(
NetConfig
.
CLASS_STUDENT
)
Observable
<
NewResponseImpl
<
InitDataBean
>>
getEyeInit
(
@Query
(
"deviceSN"
)
String
deviceSn
);
Observable
<
OldResponseImpl
<
List
<
Student
>>>
getEyeInit
(
@FieldMap
Map
<
String
,
String
>
params
);
}
}
app/src/main/java/com/oo/eye/net/EyeDataManager.java
View file @
80ffadd3
...
@@ -3,17 +3,6 @@ package com.oo.eye.net;
...
@@ -3,17 +3,6 @@ package com.oo.eye.net;
import
android.content.Context
;
import
android.content.Context
;
import
com.app.baselibrary.base.app.BaseApplication
;
import
com.app.baselibrary.base.app.BaseApplication
;
import
com.app.baselibrary.bean.UserInfo
;
import
com.oo.eye.bean.EyeChartsBean
;
import
com.oo.eye.bean.EyeHistroyBean
;
import
com.oo.eye.bean.InitDataBean
;
import
com.oo.seex.netlibrary.net.response.NewResponseImpl
;
import
java.util.ArrayList
;
import
rx.Observable
;
import
rx.android.schedulers.AndroidSchedulers
;
import
rx.schedulers.Schedulers
;
/**
/**
* Desc:app管理类;(网络本地管理)
* Desc:app管理类;(网络本地管理)
...
@@ -38,43 +27,4 @@ public class EyeDataManager {
...
@@ -38,43 +27,4 @@ public class EyeDataManager {
mContext
=
BaseApplication
.
getAppContext
();
mContext
=
BaseApplication
.
getAppContext
();
}
}
/**
* 上传视力测试结果
*/
public
Observable
<
NewResponseImpl
<
String
>>
postEyeTestData
(
String
deviceSn
,
String
leftEye
,
String
rightEye
,
String
leftLine
,
String
rightLine
)
{
return
EyeNetManager
.
getInstance
().
getApiService
(
EyeApiService
.
class
).
postEyeTestData
(
deviceSn
,
leftEye
,
rightEye
,
leftLine
,
rightLine
).
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
());
}
/**
* 获取用户信息
*/
public
Observable
<
NewResponseImpl
<
UserInfo
>>
getUserInfo
(
String
deviceSN
)
{
return
EyeNetManager
.
getInstance
().
getApiService
(
EyeApiService
.
class
).
getUserInfo
(
deviceSN
).
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
());
}
/**
* 获取初始数据
*/
public
Observable
<
NewResponseImpl
<
InitDataBean
>>
getEyeInit
(
String
deviceSn
)
{
return
EyeNetManager
.
getInstance
().
getApiService
(
EyeApiService
.
class
).
getEyeInit
(
deviceSn
).
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
());
}
/**
*获取视力测试历史结果
* @return
*/
public
Observable
<
NewResponseImpl
<
ArrayList
<
EyeHistroyBean
>>>
getEyeTestData
(
String
deviceSn
,
int
page
,
int
limit
)
{
return
EyeNetManager
.
getInstance
().
getApiService
(
EyeApiService
.
class
).
getEyeTestData
(
deviceSn
,
page
,
limit
).
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
());
}
/**
* 获取视力测试历史结果
*/
public
Observable
<
NewResponseImpl
<
ArrayList
<
EyeChartsBean
>>>
getEyeTestCharts
(
String
deviceSn
,
int
limit
)
{
return
EyeNetManager
.
getInstance
().
getApiService
(
EyeApiService
.
class
).
getEyeTestCharts
(
deviceSn
,
limit
).
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
());
}
}
}
app/src/main/java/com/oo/eye/net/EyeNetManager.java
View file @
80ffadd3
package
com
.
oo
.
eye
.
net
;
package
com
.
oo
.
eye
.
net
;
import
com.oo.seex.netlibrary.net.BaseApiConfig
;
import
com.oo.seex.netlibrary.net.BaseNetManager
;
import
com.oo.seex.netlibrary.net.BaseNetManager
;
/**
/**
...
@@ -21,8 +22,8 @@ public class EyeNetManager extends BaseNetManager {
...
@@ -21,8 +22,8 @@ public class EyeNetManager extends BaseNetManager {
@Override
@Override
protected
void
setBaseNet
()
{
protected
void
setBaseNet
()
{
// BaseApiConfig.setReleaseHost("https://seex.dev.iouou.cn"
);
BaseApiConfig
.
setReleaseHost
(
NetConfig
.
REALY_HOST
);
// BaseApiConfig.setDebugHost("https://seex.inner.iouou.cn"
);
BaseApiConfig
.
setDebugHost
(
NetConfig
.
DEBUG_HOST
);
}
}
}
}
app/src/main/java/com/oo/eye/net/NetConfig.java
0 → 100644
View file @
80ffadd3
package
com
.
oo
.
eye
.
net
;
/**
* Created by xucon on 2018/8/31.
*/
public
class
NetConfig
{
public
static
final
String
REALY_HOST
=
"https://seex.dev.iouou.cn"
;
public
static
final
String
DEBUG_HOST
=
"https://seex.roll.iouou.cn"
;
/**
* 获取班级学生
*/
public
static
final
String
CLASS_STUDENT
=
"/Api/Vision/getStudentInfo"
;
/**
* 上传视力测量信息
*/
public
static
final
String
ADD_EYE
=
"/Api/Vision/add"
;
/**
* 获取所以学生视力记录
*/
public
static
final
String
GET_STUDENT_TEST_HISTORY
=
"/Api/Vision/getVisionHistory"
;
}
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