/** * 评价模型 */ define(['base', '$', 'api'], function (base, $, api) { var Review = function () { if (typeof Review.instance === 'object') { return Review.instance; } Review.instance = this; this.storagePrefix = 'review_';//存储前缀 this.reviewDatas = {};//审查数据 this.techCommentData = {};//评论数据 } var defultReviewData = {//默认评论数据 page: 0, list: [], refreshTime: 0,//刷新时间 hasMore: true }; Review.prototype = new base(); //得到评论的数据 Review.prototype.getReviewData = function(type) { if (!this.reviewDatas.hasOwnProperty(type)) { this.reviewDatas[type] = $.extend(true, {}, defultReviewData); } return this.reviewDatas[type]; }; //获取保洁师评论数据 Review.prototype.getTechCommentData = function(techID) { if (!this.techCommentData.hasOwnProperty(techID)) {//有自己的属性 this.techCommentData[techID] = $.extend(true, {}, defultReviewData); } return this.techCommentData[techID]; }; //获取列表 Review.prototype.getList = function (type, callback, reset) {//reset-重置 var that = this; var reviewData = this.getReviewData(type);//审查数据 var page = reviewData.page + 1;// if (reset) { page = 1; } //获取评论列表 api.getReviewList({ type: type, page: page }, function (res) { if (res.success) { if (res.current_page >= res.sum_page) { res.current_page = res.sum_page; reviewData.hasMore = false; } else { reviewData.hasMore = true; } reviewData.page = res.current_page;//当前页 reviewData.refreshTime = new Date().getTime(); if (reset) { reviewData.list = res.data.comments; } else { reviewData.list = reviewData.list.concat(res.data.comments); } } if (typeof (callback) == 'function') { callback(res); } }); }; //获得保洁师评论 Review.prototype.getTechComment = function (techID, callback, reset) { var that = this; var techData = this.getTechCommentData(techID); var page = techData.page + 1; if (reset) { page = 1; } api.techComment({ tech_id: techID, page: page }, function (res) { if (res.success) { if (res.current_page >= res.sum_page) {//如果当前页数大于等于总页数.则其值等于总页数 res.current_page = res.sum_page; techData.hasMore = false;//到了这里,基本上没有个多的页数了 } else { techData.hasMore = true;//否则还有更多的页数 } techData.page = res.current_page; techData.refreshTime = new Date().getTime();//刷新时间 if (reset) { techData.list = res.data.comments;//评论列表 } else { techData.list = techData.list.concat(res.data.comments);//concat 2个数组 } } if (typeof (callback) == 'function') { callback(res);//回调res } }); }; return new Review(); })