123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- import Consts from '../Consts';
- import AJAXHelper from './AJAXHelper';
- import userDataStorage from '../userDataStorage';
- import Utils from '../Utils';
- class APIClient {
- constructor() { }
- // 添加缓存参数,安卓截获带有此参数的请求
- static addCacheParam(params, cacheKeySrc=null, cacheKey=null){
- let eid = userDataStorage.getEid();
- if (eid) {
- params.eid = eid;
- params.cache = true;
- if (cacheKey) {
- params.cacheKey = cacheKey;
- } else if (cacheKeySrc) {
- let cacheHash = CryptoJS.SHA1(cacheKeySrc + eid);
- params.cacheKey = cacheHash.toString(CryptoJS.enc.Base64).toUpperCase();
- }
- }
- return params;
- }
- // 账户登录,获取token,绑定设备
- static userLoginAndBindDevice(data, callback) {
- let deviceCode = localStorage.getItem('deviceCode');
- if (!deviceCode) {
- if (window.efunbox) {
- deviceCode = window.efunbox.getUuidForDevice();
- } else {
- deviceCode = Utils.getUuidForWeb();
- }
- localStorage.setItem('deviceCode', deviceCode);
- }
- let params = {
- deviceCode,
- eid: data.usercode,
- password: data.password,
- };
- AJAXHelper.post('/token', params, callback);
- }
- // 退出登录,解除设备绑定
- static userLogoutAndUnbindDevice(callback) {
- AJAXHelper.delete('/token', null, callback);
- }
- // 通过deviceCode登录刷新token
- static refreshTokenByDeviceCode(callback) {
- let params = {
- deviceCode: localStorage.getItem('deviceCode'),
- };
- AJAXHelper.put('/token', params, callback);
- }
- // 获取终端详情
- static getTerminalInfo(callback) {
- let params = APIClient.addCacheParam({});
- AJAXHelper.get('/user', params, callback);
- }
- // 获取首页推荐列表
- static getRecommendList(callback) {
- let params = APIClient.addCacheParam({});
- AJAXHelper.get('/recommend/courses', params, callback);
- }
- // 获取标签组下的标签列表(标签组概念已去除,改用标签类型)
- static getTagListByGroupCode(type, callback) {
- const typeToCode = {
- 'RESOURCE': 'RESOURCE',
- 'TRAINING': 'TRAINING',
- 'PERIPHERY': 'SUPPORT',
- 'GUIDANCE': 'GUIDANCE',
- };
- let params = APIClient.addCacheParam({});
- //AJAXHelper.get(`/tagGroup/${typeToCode[type]}`, params, callback);
- AJAXHelper.get(`/tagType/${typeToCode[type]}`, params, callback);
- }
- // 获取标签下的课程/配套列表
- static getProductListByTagId(tagId, pageNo, callback) {
- let params = { pageNo, pageSize: 20 };
- params = APIClient.addCacheParam(params);
- AJAXHelper.get(`/tag/${tagId}`, params, callback);
- }
- // 获取推荐海报列表
- static getRecommendPosters(callback) {
- let params = APIClient.addCacheParam({});
- AJAXHelper.get('/recommend/posters', params, callback);
- }
- // 获取瀑布流内数据
- static getWaterfallList(callback) {
- let params = APIClient.addCacheParam({});
- AJAXHelper.get('/tagType/waterfall/INDEX_WATERFALL', params, callback);
- }
- // 获取待续费产品列表
- static getRenewProductList(callback) {
- let params = APIClient.addCacheParam({});
- AJAXHelper.get('/user/messages/productExpiredAlert', params, callback);
- }
- // 获取还未过期产品列表
- static getValidProductList(callback) {
- let params = APIClient.addCacheParam({});
- AJAXHelper.get('/user/product/valid', params, callback);
- }
- // 根据courseId获取相关的课程包列表
- static getRelatedPackageList(productId, callback) {
- let params = APIClient.addCacheParam({ productId });
- AJAXHelper.get(`/product/${productId}/relatedPkg`, params, callback);
- }
- // 根据课程获取课列表
- static getLessonList(courseId, callback) {
- let params = APIClient.addCacheParam({});
- AJAXHelper.get(`/course/${courseId}/lessons`, params, callback);
- }
- // 获取课程详情
- static getCourseDetail(courseId, callback) {
- let params = APIClient.addCacheParam({});
- AJAXHelper.get(`/course/${courseId}/detail`, params, callback);
- }
- // 获取课内的课件列表
- static getWareList(lessonId, courseId, callback) {
- let params = { courseId };
- params = APIClient.addCacheParam(params);
- AJAXHelper.get(`/lesson/${lessonId}`, params, callback);
- }
- // 获取该课程相关配套列表
- static getCourseAboutSupport(courseId, callback) {
- let params = APIClient.addCacheParam({});
- AJAXHelper.get(`/course/${courseId}/supports`, params, callback);
- }
- // 获取配套详情
- static getSupportDetail(supportId, callback) {
- let params = APIClient.addCacheParam({});
- AJAXHelper.get(`/support/${supportId}`, params, callback);
- }
- // 获取购物车列表
- static getShopCartList(callback) {
- let params = { pageNo: 1, pageSize: 100 };
- AJAXHelper.get('/user/shopcart', params, callback);
- }
- // 添加到购物车
- static addToShopCart(goodsId, callback) {
- let params = { goodsId };
- AJAXHelper.put('/user/shopcart', params, callback);
- }
- // 从购物车中删除
- static removeFromShopCart(goodsId, callback) {
- AJAXHelper.delete(`/user/shopcart/${goodsId}`, null, callback);
- }
- // 获取购物车内商品数量
- static getShopCartCount(callback) {
- AJAXHelper.get('/user/shopcart/totalNum', null, callback);
- }
- // 发送购物车
- static postShopCart(callback) {
- AJAXHelper.post('/user/shopcart/buymsg', null, callback);
- }
- // 获取收藏列表
- static getCollectionList(tagId, pageNo, callback) {
- let params = { tagId, pageNo, pageSize: 20 };
- params = APIClient.addCacheParam(params);
- AJAXHelper.get('/user/collection', params, callback);
- }
- // 添加收藏操作
- static addToCollection(pid, callback) {
- let params = { pid };
- AJAXHelper.post('/user/collection', params, callback);
- }
- // 取消收藏操作
- static removeFromCollection(pid, callback) {
- AJAXHelper.delete(`/user/collection/${pid}`, null, callback);
- }
- // 发送用户行为数据
- static putUserAction(eventType, tarName, tarId, value, callback) {
- let params = { eventType, tarName, tarId, value };
- AJAXHelper.post('/callback/event', params, callback);
- }
- }
- module.exports = APIClient;
|