iOS版本
一.引入项目
1、参考下图引入项目
2、如图选择 Add Files... ,选择目录的 PlasoHomeworkSDK.framework 加入
3.添加完成后如图所示:
4.将压缩包内的 WebRTC.framework同样⽅式加入。
二.使用方法
1.引用头文件
#import <PlasoHomeworkSDK/PlasoHomeworkSDK.h>;
2.初始化方法
/// 初始化批注SDK
/// @param appId appId 由伯索分配的开发者账号id
/// @param imageUrls 图片链接数组
/// @param exerciseId 一份作业的唯一标识,由使用者生成
/// @param multiOutput 是否返回多个结果(一张图片对应一个结果), 默认值为false
- (instancetype)initWithAppId:(NSString *)appId
imageUrls:(NSArray *)imageUrls
exerciseId:(NSString *)exerciseId
multiOutput:(BOOL)multiOutput
3.调用说明
a. PlasoHomeworkSDK.h 中 YXTHomeworkAnnotationSDKDelegate 协议中
@required 两个方法 录制微课 和 上传批注内容 触发请求签名;
@required
/// 点击批改⻚⾯‘录制微课’会调⽤此⽅法,获取 signQuer,取得录制微课的签名 ,
callBackSignQuery ⽅法回传 signQuery
/// @param recordId 当前录制id
- (void)plasoHWSDKLetAnnotationVC:(YXTHomeworkAnnotationVC *)antVC
getWeikeUrlWithRecordId:(NSString *)recordId;
/// 发送作业所需的query,会在点击发送按钮的时候被批改⻚⾯调⽤
/// @return 上传所需的签名
- (void)plasoHWSDKGetSendQueryOfAnnotationVC:(YXTHomeworkAnnotationVC *)antVC;
@optional 功能如注释所示
@optional
/// 播放作业⾥的微课时会调⽤此⽅法
/// @param weikeId 微课Id
- (void)plasoHWSDKLetAnnotationVC:(YXTHomeworkAnnotationVC *)antVC playWeike:
(NSString *)weikeId;
/// 上传成功回调
/// @param success 成功与否
/// @param recordDictArr ⽣成的批注结果
/**{ "recordId": "5d6492469e95d05722159626", // 伯索⽣成的作业记录的id,在播放作业的
时候⽤到,使⽤者可以配合exerciseId作⼀⼀对应来存放
"accuracy": 0.5, // 正确率
"grade": 0, // [努⼒', '过关', '不错', '良好', '优秀'],返回的数字和数组下标对应
"correctNum":0,//正确个数
"wrongNum":0//错误个数
} */
- (void)plasoHWSDKLetAnnotationVC:(YXTHomeworkAnnotationVC *)antVC
uploadSuccess:(BOOL)success withRecordDictArr:(NSArray<NSDictionary *>
*)recordDictArr;
作业批注的结果地址根据返回的结果格式
{ "recordId": "5d6492469e95d05722159626", // 伯索⽣成的作业记录的id,在播放作业的时候
⽤到,使⽤者可以配合exerciseId作⼀⼀对应来存放
"accuracy": 0.5, // 正确率
"grade": 0, // [努⼒', '过关', '不错', '良好', '优秀'],返回的数字和数组下标对应
"correctNum":0,//正确个数
"wrongNum":0//错误个数
}
b. 回传 录制微课 和 上传批注内容 的签名,拿到签名后,需要调⽤⽅法回传:
///上传所需的签名
- (void)callBackSignQuery:(NSString *)signQuery withSceneType:
(PlasoHWSDKSignQuerySceneType)sceneType;
4.功能配置
backResult :点击退出批注⻚⾯,触发block回调;
gradeIsOn :评分功能打开,default true;
weikeIsOn :录课开关 default false (暂未放开);
cloudBoxIsOn :资料中⼼开关 default false (暂未放开)。
三.注一
url ⼀定要使⽤https协议,前缀为:https://wwwr.plaso.cn/static/sdk/annotate/5.00/?后 跟参数,使⽤& 符号拼接, 示例:https://wwwr.plaso.cn/static/sdk/annotate/5.00/?appType=ann otateSDK&appId=plaso-sdk-demo-id&exerciseId=abcd1234
四.注二
apiList中的 getSendQuery⾥需要的⽣成签名,请参考 签名加密 。 需要参与签名的业务参数有:
参数名 | 说明 |
---|---|
exerciseId | 客户⾃⼰⽣成的唯⼀作业id。 |
beginTime | 签名起效时间, Unix epoch格式,单位秒。 |
签名函数⼀定调⽤服务端服务, 进⾏基本鉴权, ⼀定不要将 appkey 明⽂暴露在js代码⾥。
修改于 10 个月前