1,接口实例改写:
当前版本接口采取统一前缀
http://10.4.8.86:8081/itsapi/api/foreign/,只需更改接口具体名字就行,但是课件大师的接口地址前缀差异较大。所以需封装一个新的axios对象。
- ITS版axios对象代码
    baseURL: 'http://itsapi.speiyou.com/itsapi/api/foreign/',
    // baseURL: 'http://10.4.8.86:8081/itsapi/api/foreign/',
    timeout: 30000
});  
- 改写代码 -- 给axios对象添加baseURL
class instanceNew {
    constructor(baseURL) {
        if(baseURL) {
          this.baseURL = baseURL
        } else {
          this.baseURL = 'http://itsapi.speiyou.com/itsapi/api/foreign/'
        }
    }
    create () {
      return axios.create({
            baseURL: this.baseURL,
            timeout: 30000
        })
    }
}
2,具体接口替换
《1》login接口
- ITS版接口为 /login,具体入参与输出见慧芳整理的接口文档,代码如下:
instance.post('/login', { randomPwd: randomPwd, area: self.selectedRegion.id }) 
- 课件大师接口
 接口地址:http://clazz.api.speiyou.cn/stone-clazz/teacher/loginByTemporaryPasswordForIcs
 方式: GET
 返回实例:见课件大师的接口文档
 代码如下:
let loginApi = new instanceNew('http://clazz.api.speiyou.cn/stone-clazz').create()
loginApi.get('/teacher/loginByTemporaryPasswordForIcs?randPass='+randomPwd)
具体差异:
1,ITS版为POST请求,课件大师为GET请求
2,ITS版为两个参数(randomPwd, area),课件大师只有(randPass)
《2》 获取公共资源接口
- ITS版本为/getXesCommonInfo,具体入参与输出见慧芳整理的接口文档,代码如下:
instance.get('/getXesCommonInfo')
- 课件大师接口
 接口地址:http://kjds2.speiyou.com/ICS/cw/queryCommon.mvc
 方式:GET
 返回实例:见课件大师的接口文档
 代码如下:
let getCommonInfoApi = new instanceNew('http://kjds2.speiyou.com/ICS/cw').create() 
getCommonInfoApi.get('/queryCommon.mvc')
这两个接口只有接口名字区别。
《3》 查询老师最近一节课接口
- ITS版本为/queryTeacherClassing,具体入参与输出见慧芳整理的接口文档,代码如下:
instance.post('/queryTeacherClassing',
            {
                teacherId: self.user.id,
                area: acache.getAreaCode()
            })
- 课件大师接口
 接口地址:http://clazz.api.speiyou.cn/stone-clazz/teacher/closestCurriculum
 方式:GET
 返回实例:见课件大师的接口文档
 代码如下:
let queryTeacherClassApi = new instanceNew('http://clazz.api.speiyou.cn/stone-clazz/teacher').create()
queryTeacherClassApi.get('/closestCurriculum?teacherId='+self.user.id)
区别:
1,POST请求改为GET请求。
2,ITS版参数两个(teacherId, area),课件大师版只有一个参数(teacherId)
3,返回值结构不同://self.classData = response.data.data.teacherClassing; // ITS版本
self.classData = response.data.data; // 课件大师版本
《4》 查询老师几天内的所有课接口
- ITS版本为/getClassTypeList_V3,具体入参与输出见慧芳整理的接口文档,代码如下:
instance.post('/getClassTypeList_V3',
                {
                    teacherId: self.user.id,
                    area: acache.getAreaCode(),
                    days: '7',
                    gradeId: self.classData.gradeId,
                    subjectId: self.classData.subjectId,
                    year: self.classData.year,
                    termId: self.classData.teamId,
                    classLevelId: self.classData.classlevelId
                })
- 课件大师接口
 接口地址:http://clazz.api.speiyou.cn/stone-clazz/ clazz/classTypeList
 方式:GET
 返回实例:见课件大师的接口文档
 代码如下:
let takeLectureApi = new instanceNew('http://clazz.api.speiyou.cn/stone-clazz/clazz').create()
var apiParam = '/classTypeList?teacherId=' +
    self.user.id +'&days=7&gradeId' + self.classData.gradeId +
    '&subjectId=' +self.classData.subjectId+ '&year=' +self.classData.year+
    '&termId=' +self.classData.teamId+ '&classLevelId=' + self.classData.classlevelId
takeLectureApi.get(apiParam)
区别:
1,POST改为GET
2,参数少了一个area参数,这个参数是在请求的Header里
3,返回值区别:var nowNumbweData = self.allCourseNumberData.find(function (v) { //return v.classlevelId == '0' return v.classlevelId == classLevelNew });这段代码作用是在返回的数组对象中取出当前课所在的那一组对象。
4,HTML页面代码中用到了该接口返回值:《未清除完》
《5》 查询老师的课件接口
- ITS版本为/takeLectureCacheURL_V4,具体入参与输出见慧芳整理的接口文档,代码如下:
var params = {
                areaCode: acache.getAreaCode(),
                year: this.classData.year,
                term: this.classData.teamId,
                grade: this.classData.gradeId,
                subject: this.classData.subjectId,
                classLevel: this.classData.classlevelId,
                lecture: this.classData.classNum
            };
instance.post('/takeLectureCacheURL_V4', params)
- 课件大师接口
 接口地址:http://kjds2.speiyou.com/ICS/cw/queryCourseware.mvc
 方式:GET
 返回实例:见课件大师的接口文档
 代码如下:
let takeLectureApi = new instanceNew('http://kjds2.speiyou.com/ICS/cw').create()
let apiParam = '/queryCourseware.mvc?year='+params.year+
              '&term=' +params.term+ '&grade=' +params.grade+
              '&subject=' +params.subject+ '&classLevel=' +params.classLevel+
              '&lecture=' +params.lecture+ '&areaCode=' +params.areaCode
 takeLectureApi.get(apiParam)
区别:
1,POST改为GET
2,注意:这个接口没少area参数
3,返回值差别很大,课件大师的只有三个有用值(version, id,url)但是能完全替代ITS版,因为ITS返回太多无用的元素。
4,返回值结构变化,ITS为response.data.data,课件大师为response.data.result
5,ITS的接口文档中有问题:接口地址出错http://180.76.162.82/ICS/cw/queryCourseware.mvc应改为http://kjds2.speiyou.com/ICS/cw/queryCourseware.mvc