server/service/src/main/java/com/doumee/biz/zbom/ZbomZhongTaiService.java
@@ -49,4 +49,5 @@ List<ZTCusCarouselImageResponse> carouselImageList(ZTContentListRequest param); ZTCusCarouselImageResponse carouselImageDetail(ZTDataDetailRequest param); ZTBasePageResponse<ZTCollectLikeInfoResponse> collectLikePage(ZTCollectLikeRequest param); ZTBaseResponse batchAddLike(ZTBatchAddListRequest param); } server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomZhongTaiServiceImpl.java
@@ -751,4 +751,25 @@ } return null; } /** * è·ååç±»ååç±»ä¸çæ ç¾ * @param param * @return */ @Override public ZTBaseResponse batchAddLike(ZTBatchAddListRequest param){ ZTBaseResponse result = sendHttpRequest( ZTConstants.IntegerUrl.BATCH_ADD_LIKE_URL, ZTConstants.IntegerName.BATCH_ADD_LIKE_NAME, param.getToken(), param.getUserType(), JSONObject.toJSONString(param ), new TypeReference<ZTBaseResponse<Object>>(){}); if(result!=null){ return result; } return null; } } server/service/src/main/java/com/doumee/biz/zbom/model/crm/response/CRMCustomerListResponse.java
@@ -20,5 +20,9 @@ private String customerPhone;// 客æ·å§å private String customerName;// å®¢æ·ææºå· private String address ;//å°å详æ private String creationDate ;//å建æ¶é´ private String customerId ;//å®¢æ· id private String platSourceId ;//ä¼ éå¹³å° id private String platSource ;//å¹³å°ç±»å 1 pad 端 2 å°ç¨åºç«¯ } server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/ZTBatchAddListRequest.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ package com.doumee.biz.zbom.model.zhongtai; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class ZTBatchAddListRequest extends ZTBaseRequst{ @ApiModelProperty(value = "å 容IDSï¼è±æéå·éå¼") private String articleIds; @ApiModelProperty(value = "å®¢æ· id") private String customerId ; @ApiModelProperty(value = "ä¼ éå¹³å° id") private String platSourceId ; @ApiModelProperty(value = "å¹³å°ç±»å 1 pad 端 2 å°ç¨åºç«¯") private String platSource ; } server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/ZTConstants.java
@@ -78,6 +78,7 @@ String REALCASE_PAGE_LIST_URL ="/content/api/realCasePageList"; String REALCASE_INFO_URL ="/content/api/realCaseDetail"; String FAVORITES_PAGE_URL ="/behavior/api/favoritesPageList"; String BATCH_ADD_LIKE_URL ="/content/api/batchAddLike"; } @@ -119,5 +120,7 @@ String REALCASE_INFO_NAME ="è·å宿¯æ¡ä¾è¯¦æ "; String FAVORITES_NAME ="è·åæç忬¢/æ¶èå表"; String BATCH_ADD_LIKE_NAME ="æ¹éç»å®å欢ç»å®¢æ·"; } } server/service/src/main/java/com/doumee/service/business/GetZhongTaiDataService.java
@@ -157,4 +157,11 @@ * @return */ ZTBasePageResponse<ZTCollectLikeInfoResponse> collectLikePage(ZTCollectLikeRequest ztCollectLikeRequest); /** * ä¸å° - æ¹éæ·»å 忬¢ç»å®¢æ· * @param param * @return */ void batchAddLike(ZTBatchAddListRequest param); } server/service/src/main/java/com/doumee/service/business/NewsService.java
@@ -115,7 +115,7 @@ * è·åæ¯æ¥ä¸æ°æ°æ® * @return */ DailyUpdatesResponse getDailyUpdatesResponse(Integer fileType); DailyUpdatesResponse getDailyUpdatesResponse(); /** * ä¿åæ¨å¹¿å¨è¯¢åäº«è®°å½ server/service/src/main/java/com/doumee/service/business/impl/GetZhongTaiDataServiceImpl.java
@@ -341,4 +341,24 @@ ZTBasePageResponse<ZTCollectLikeInfoResponse> response = zbomZhongTaiService.collectLikePage(ztCollectLikeRequest); return response; } @Override public void batchAddLike(ZTBatchAddListRequest ztBatchAddListRequest){ if(Objects.isNull(ztBatchAddListRequest) || StringUtils.isBlank(ztBatchAddListRequest.getArticleIds()) || StringUtils.isBlank(ztBatchAddListRequest.getCustomerId()) || StringUtils.isBlank(ztBatchAddListRequest.getPlatSourceId()) || StringUtils.isBlank(ztBatchAddListRequest.getPlatSource()) ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } //æ¥è¯¢ ä¸å° ZTBaseInfoResponse ztBaseInfoResponse = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz, Long.valueOf(ztBatchAddListRequest.getUserId()),ztBatchAddListRequest.getUserType()); ztBatchAddListRequest.setToken(ztBaseInfoResponse.getToken()); zbomZhongTaiService.batchAddLike(ztBatchAddListRequest); } } server/service/src/main/java/com/doumee/service/business/impl/NewsServiceImpl.java
@@ -380,19 +380,19 @@ * @return */ @Override public DailyUpdatesResponse getDailyUpdatesResponse(Integer fileType){ public DailyUpdatesResponse getDailyUpdatesResponse(){ DailyUpdatesResponse dailyUpdatesResponse = new DailyUpdatesResponse(); dailyUpdatesResponse.setDailyUpdateNum( newsMapper.selectCount(new QueryWrapper<News>().lambda() .eq(News::getIsdeleted,Constants.ZERO) .like(News::getCreateDate, DateUtil.getDateLong(new Date())) .eq(News::getType,Constants.ONE) .eq(News::getType,Constants.ZERO) )); dailyUpdatesResponse.setShareNum( actionsMapper.selectCount(new QueryWrapper<Actions>()) ); dailyUpdatesResponse.setNewsList( this.getCustomizedNewsList(Constants.ZERO,Constants.THREE,fileType) this.getCustomizedNewsList(Constants.ZERO,Constants.THREE,Constants.ZERO) ); return dailyUpdatesResponse; } server/web/src/main/java/com/doumee/api/web/CustomerApi.java
@@ -296,6 +296,7 @@ @UserLoginRequired @LoginRequired @ApiOperation(value = "åç±»æ°æ® - ä¸å°", notes = "客æ·ç«¯å°ç¨åº") @PostMapping("/getCatalogList") @@ -304,13 +305,14 @@ }) public ApiResponse<List<ZTCatalogInfoResponse>> getCatalogList (@RequestBody ZTCatalogListRequest ztCatalogListRequest ) { ztCatalogListRequest.setUserId(getMemberId()+""); ztCatalogListRequest.setUserType(ZTConstants.CUSTOMER); ztCatalogListRequest.setUserType(getUserType()); List<ZTCatalogInfoResponse> ztCatalogInfoResponseList = getZhongTaiDataService.getCatalogList(ztCatalogListRequest); return ApiResponse.success("æ¥è¯¢æå",ztCatalogInfoResponseList); } @UserLoginRequired @LoginRequired @ApiOperation(value = "æ ç¾æ°æ® - ä¸å°", notes = "客æ·ç«¯å°ç¨åº") @PostMapping("/getCataLogTagList") @@ -319,7 +321,7 @@ }) public ApiResponse<List<ZTTagInfoResponse>> getCataLogTagList(@RequestBody ZTCatalogListRequest ztCatalogListRequest ) { ztCatalogListRequest.setUserId(getMemberId()+""); ztCatalogListRequest.setUserType(ZTConstants.CUSTOMER); ztCatalogListRequest.setUserType(getUserType()); List<ZTTagInfoResponse> ztTagInfoResponseList = getZhongTaiDataService.getCataLogTagList(ztCatalogListRequest); return ApiResponse.success("æ¥è¯¢æå",ztTagInfoResponseList); } @@ -335,7 +337,7 @@ @ApiImplicitParam(paramType = "query", dataType = "String", name = "actionType", value = "è¡ä¸ºç±»åï¼æ¶èï¼collect;åæ¶æ¶èï¼collect_cancel;忬¢ï¼like;忶忬¢ï¼like_cancelï¼æµè§ï¼view;å享ï¼share;ä¸è½½ï¼download", required = true), }) public ApiResponse actionDo(@RequestParam String id,@RequestParam String actionType) { getZhongTaiDataService.actionDo(getMemberId(),ZTConstants.CUSTOMER,id,actionType); getZhongTaiDataService.actionDo(getMemberId(),getUserType(),id,actionType); return ApiResponse.success("æä½æå"); } @@ -381,7 +383,7 @@ }) public ApiResponse<ZTBasePageResponse<ZTCusFavoritesInfoResponse>> getZhongTaiCusFavorite(@RequestBody ZTContentListRequest ztContentListRequest) { ztContentListRequest.setUserId(getMemberId()+""); ztContentListRequest.setUserType(ZTConstants.CUSTOMER); ztContentListRequest.setUserType(getUserType()); ZTBasePageResponse<ZTCusFavoritesInfoResponse> ztBasePageResponse = getZhongTaiDataService.getZhongTaiCusFavorite(ztContentListRequest); return ApiResponse.success("è·åæå",ztBasePageResponse); } @@ -396,13 +398,14 @@ }) public ApiResponse<List<ZTCusCarouselImageResponse>> getZhongTaiCarouselImage(@RequestBody ZTContentListRequest ztContentListRequest) { ztContentListRequest.setUserId(getMemberId()+""); ztContentListRequest.setUserType(ZTConstants.CUSTOMER); ztContentListRequest.setUserType(getUserType()); List<ZTCusCarouselImageResponse> ztCusCarouselImageResponseList = getZhongTaiDataService.getZhongTaiCarouselImage(ztContentListRequest); return ApiResponse.success("è·åæå",ztCusCarouselImageResponseList); } @UserLoginRequired @LoginRequired @ApiOperation(value = "è½®æå¾è¯¦æ ", notes = "客æ·ç«¯å°ç¨åº") @PostMapping("/getZhongTaiCarouselImageDetail") @@ -411,12 +414,13 @@ }) public ApiResponse<ZTCusCarouselImageResponse> getZhongTaiCarouselImageDetail(@RequestBody ZTDataDetailRequest ztDataDetailRequest) { ztDataDetailRequest.setUserId(getMemberId()+""); ztDataDetailRequest.setUserType(ZTConstants.CUSTOMER); ztDataDetailRequest.setUserType(getUserType()); ZTCusCarouselImageResponse ztCusCarouselImageResponse = getZhongTaiDataService.getZhongTaiCarouselImageDetail(ztDataDetailRequest); return ApiResponse.success("è·åæå",ztCusCarouselImageResponse); } @UserLoginRequired @LoginRequired @ApiOperation(value = "å¨è¯¢å页å表 - ä¸å°", notes = "客æ·ç«¯å°ç¨åº") @PostMapping("/getZhongTaiProductNewsPage") @@ -425,12 +429,13 @@ }) public ApiResponse<ZTBasePageResponse<ZTProductNewsInfoResponse>> getZhongTaiProductNewsPage(@RequestBody ZTContentListRequest ztContentListRequest) { ztContentListRequest.setUserId(getMemberId()+""); ztContentListRequest.setUserType(ZTConstants.CUSTOMER); ztContentListRequest.setUserType(getUserType()); ZTBasePageResponse<ZTProductNewsInfoResponse> ztBasePageResponse= getZhongTaiDataService.getZhongTaiProductNewsPage(ztContentListRequest); return ApiResponse.success("æ¥è¯¢æå",ztBasePageResponse); } @UserLoginRequired @LoginRequired @ApiOperation(value = "产åå页å表 - ä¸å°", notes = "客æ·ç«¯å°ç¨åº") @PostMapping("/getZhongTaiProductPage") @@ -439,11 +444,13 @@ }) public ApiResponse<ZTBasePageResponse<ZTProductInfoResponse>> getZhongTaiProductPage(@RequestBody ZTContentListRequest ztContentListRequest) { ztContentListRequest.setUserId(getMemberId()+""); ztContentListRequest.setUserType(ZTConstants.CUSTOMER); ztContentListRequest.setUserType(getUserType()); ZTBasePageResponse<ZTProductInfoResponse> ztBasePageResponse= getZhongTaiDataService.getZhongTaiProductPage(ztContentListRequest); return ApiResponse.success("æ¥è¯¢æå",ztBasePageResponse); } @UserLoginRequired @LoginRequired @ApiOperation(value = "宿¯å页å表 - ä¸å°", notes = "客æ·ç«¯å°ç¨åº") @PostMapping("/getZhongTaiRealcasePage") @@ -452,11 +459,13 @@ }) public ApiResponse<ZTBasePageResponse<ZTRealcaseInfoResponse>> getZhongTaiRealcasePage(@RequestBody ZTContentListRequest ztContentListRequest) { ztContentListRequest.setUserId(getMemberId()+""); ztContentListRequest.setUserType(ZTConstants.CUSTOMER); ztContentListRequest.setUserType(getUserType()); ZTBasePageResponse<ZTRealcaseInfoResponse> ztBasePageResponse= getZhongTaiDataService.getZhongTaiRealcasePage(ztContentListRequest); return ApiResponse.success("æ¥è¯¢æå",ztBasePageResponse); } @UserLoginRequired @LoginRequired @ApiOperation(value = "è§é¢å页å表 - ä¸å°", notes = "客æ·ç«¯å°ç¨åº") @PostMapping("/getZhongTaiVideoPage") @@ -465,11 +474,13 @@ }) public ApiResponse<ZTBasePageResponse<ZTVideoInfoResponse>> getZhongTaiVideoPage(@RequestBody ZTContentListRequest ztContentListRequest) { ztContentListRequest.setUserId(getMemberId()+""); ztContentListRequest.setUserType(ZTConstants.CUSTOMER); ztContentListRequest.setUserType(getUserType()); ZTBasePageResponse<ZTVideoInfoResponse> ztBasePageResponse= getZhongTaiDataService.getZhongTaiVideoPage(ztContentListRequest); return ApiResponse.success("æ¥è¯¢æå",ztBasePageResponse); } @UserLoginRequired @LoginRequired @ApiOperation(value = "å ¨å±æ¡ä¾å页å表 - ä¸å°", notes = "客æ·ç«¯å°ç¨åº") @PostMapping("/getZhongTaiWholecasePage") @@ -478,11 +489,13 @@ }) public ApiResponse<ZTBasePageResponse<ZTCaseInfoResponse>> getZhongTaiWholecasePage(@RequestBody ZTContentListRequest ztContentListRequest) { ztContentListRequest.setUserId(getMemberId()+""); ztContentListRequest.setUserType(ZTConstants.CUSTOMER); ztContentListRequest.setUserType(getUserType()); ZTBasePageResponse<ZTCaseInfoResponse> ztBasePageResponse= getZhongTaiDataService.getZhongTaiWholecasePage(ztContentListRequest); return ApiResponse.success("æ¥è¯¢æå",ztBasePageResponse); } @UserLoginRequired @LoginRequired @ApiOperation(value = "å¿è¯´è£ ä¿®å页å表 - ä¸å°", notes = "客æ·ç«¯å°ç¨åº") @PostMapping("/getZhongTaiZbDecoPage") @@ -491,12 +504,14 @@ }) public ApiResponse<ZTBasePageResponse<ZTZbDecoInfoResponse>> getZhongTaiZbDecoPage(@RequestBody ZTContentListRequest ztContentListRequest) { ztContentListRequest.setUserId(getMemberId()+""); ztContentListRequest.setUserType(ZTConstants.CUSTOMER); ztContentListRequest.setUserType(getUserType()); ZTBasePageResponse<ZTZbDecoInfoResponse> ztBasePageResponse= getZhongTaiDataService.getZhongTaiZbDecoPage(ztContentListRequest); return ApiResponse.success("æ¥è¯¢æå",ztBasePageResponse); } @UserLoginRequired @LoginRequired @ApiOperation(value = "å ¨å±æ¡ä¾è¯¦æ - ä¸å°", notes = "客æ·ç«¯å°ç¨åº") @GetMapping("/getWholecaseInfo") @@ -505,11 +520,13 @@ @ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "å 容主é®", required = true), }) public ApiResponse<ZTCaseInfoResponse> getWholecaseInfo(@RequestParam String id) { ZTCaseInfoResponse ztCaseInfoResponse= getZhongTaiDataService.getWholecaseInfo(id,ZTConstants.CUSTOMER,getMemberId()); ZTCaseInfoResponse ztCaseInfoResponse= getZhongTaiDataService.getWholecaseInfo(id,getUserType(),getMemberId()); return ApiResponse.success("æ¥è¯¢æå",ztCaseInfoResponse); } @UserLoginRequired @LoginRequired @GetMapping("/getProductNewsInfo") @ApiOperation(value = "产åèµè®¯è¯¦æ - ä¸å°", notes = "客æ·ç«¯å°ç¨åº") @@ -518,12 +535,14 @@ @ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "å 容主é®", required = true), }) public ApiResponse<ZTProductNewsInfoResponse> getProductNewsInfo(@RequestParam String id) { ZTProductNewsInfoResponse ztProductNewsInfoResponse= getZhongTaiDataService.getProductNewsInfo(id,ZTConstants.CUSTOMER,getMemberId()); ZTProductNewsInfoResponse ztProductNewsInfoResponse= getZhongTaiDataService.getProductNewsInfo(id,getUserType(),getMemberId()); return ApiResponse.success("æ¥è¯¢æå",ztProductNewsInfoResponse); } @UserLoginRequired @LoginRequired @ApiOperation(value = "宿¯æ¡ä¾ - ä¸å°", notes = "客æ·ç«¯å°ç¨åº") @GetMapping("/getRealcaseInfo") @@ -532,12 +551,14 @@ @ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "å 容主é®", required = true), }) public ApiResponse<ZTRealcaseInfoResponse> getRealcaseInfo(@RequestParam String id) { ZTRealcaseInfoResponse ztRealcaseInfoResponse= getZhongTaiDataService.getRealcaseInfo(id,ZTConstants.CUSTOMER,getMemberId()); ZTRealcaseInfoResponse ztRealcaseInfoResponse= getZhongTaiDataService.getRealcaseInfo(id,getUserType(),getMemberId()); return ApiResponse.success("æ¥è¯¢æå",ztRealcaseInfoResponse); } @UserLoginRequired @LoginRequired @ApiOperation(value = "产å详æ - ä¸å°", notes = "客æ·ç«¯å°ç¨åº") @GetMapping("/getProductInfo") server/web/src/main/java/com/doumee/api/web/CustomerManageApi.java
@@ -69,11 +69,10 @@ @ApiOperation(value = "ãB端å°ç¨åºãæ¯æ¥ä¸æ°æ°æ®") @GetMapping("/getDailyUpdates") @ApiImplicitParams({ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "ç¨æ·tokenå¼", required = true), @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "fileType", value = "éä»¶ç±»å 0å¾ç 1è§é¢", required = false) @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "ç¨æ·tokenå¼", required = true) }) public ApiResponse<DailyUpdatesResponse> getDailyUpdates(Integer fileType) { return ApiResponse.success(newsService.getDailyUpdatesResponse(fileType)); public ApiResponse<DailyUpdatesResponse> getDailyUpdates() { return ApiResponse.success(newsService.getDailyUpdatesResponse()); } server/web/src/main/java/com/doumee/api/web/PersonnelApi.java
@@ -4,10 +4,7 @@ import com.doumee.biz.zbom.model.crm.CrmCustomerListRequest; import com.doumee.biz.zbom.model.crm.response.CRMBaseResponse; import com.doumee.biz.zbom.model.crm.response.CRMCustomerListResponse; import com.doumee.biz.zbom.model.zhongtai.ZTBaseRequst; import com.doumee.biz.zbom.model.zhongtai.ZTCatalogListRequest; import com.doumee.biz.zbom.model.zhongtai.ZTConstants; import com.doumee.biz.zbom.model.zhongtai.ZTContentListRequest; import com.doumee.biz.zbom.model.zhongtai.*; import com.doumee.biz.zbom.model.zhongtai.response.*; import com.doumee.config.annotation.LoginRequired; import com.doumee.config.annotation.UserLoginRequired; @@ -200,6 +197,23 @@ return ApiResponse.success(getCrmDataService.getCrmCustomerList(crmCustomerListRequest)); } @UserLoginRequired @LoginRequired @ApiOperation(value = "æ¹éæ·»å 忬¢ç»å®¢æ·", notes = "å工端å°ç¨åº") @PostMapping("/batchAddLike") @ApiImplicitParams({ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "ç¨æ·tokenå¼", required = true) }) public ApiResponse batchAddLike(@RequestBody ZTBatchAddListRequest ztBatchAddListRequest) { ztBatchAddListRequest.setUserType(getUserType()); ztBatchAddListRequest.setUserId(getUserId().toString()); getZhongTaiDataService.batchAddLike(ztBatchAddListRequest); return ApiResponse.success("æä½æå"); } @UserLoginRequired @ApiOperation(value = "ç¨æ·æ³¨é", notes = "å工端å°ç¨åº") @PostMapping("/logOff") wechat_staff/api/index.js
@@ -263,6 +263,14 @@ data }) } // è·åå 容åäº«æµ·æ¥ export const getContentShareImg = (data) => { return request({ url: '/web/personnel/getContentShareImg', method: 'POST', data }) } // 0å å®å¶ä¿¡æ¯ export const saveFreeCustomizationApply = (data) => { return request({ wechat_staff/components/detailFooter/index.js
@@ -1,10 +1,11 @@ // components/detailFooter/index.js import { getContentShareImg } from '../../api/index' Component({ /** * ç»ä»¶ç屿§å表 */ properties: { info: Object, path: String, }, /** @@ -21,6 +22,28 @@ }) }, methods: { handleEnjoy() { const { info } = this.data this.triggerEvent('enjoy', { type: 'enjoy', flag: !info.isEnjoy }) }, handleCollec() { const { info } = this.data this.triggerEvent('enjoy', { type: 'collec', flag: !info.isCollection }) }, handleDown() { const { info, path } = this.data getContentShareImg({ articleId: info.id, type: '1', pageUrl: path, imgurl: info.coverImage, }) }, openShare() { console.log('ç¹å»æå¼'); this.setData({ showShare: true }) wechat_staff/components/detailFooter/index.wxml
@@ -2,15 +2,17 @@ <view class="footer_wrap" style="padding-bottom: {{bottomLift}}px;"> <view class="content"> <view class="btns"> <view class="item"> <image src="../../static/icon/detail_nav_like_sel@2x.png"></image> <view bindtap="handleEnjoy" class="item"> <image wx:if="{{ info.isEnjoy }}" src="../../static/icon/detail_nav_like_sel@2x.png"></image> <image wx:else src="../../static/icon/detail_nav_like@2x.png"></image> <text>忬¢</text> </view> <view class="item"> <image src="../../static/icon/detail_nav_collected.png"></image> <view bindtap="handleCollec" class="item"> <image wx:if="{{ info.isCollection }}" src="../../static/icon/detail_nav_collected.png"></image> <image wx:else src="../../static/icon/detail_nav_collect.png"></image> <text>æ¶è</text> </view> <view class="item"> <view bindtap="handleDown" class="item"> <image src="../../static/icon/detail_nav_download@2x.png"></image> <text>ä¸è½½</text> </view> @@ -19,7 +21,7 @@ </view> </view> <!-- --> <view class="shade_modal" style="padding-bottom: {{bottomLift}}px;"> <view wx:if="{{ showShare }}" class="shade_modal" style="padding-bottom: {{bottomLift}}px;"> <view class="btns"> <button open-type="share" class="item" bindtap="handleShare"> <image src="../../static/icon/wechat.png"></image> @@ -32,5 +34,5 @@ </view> <view bindtap="onClose" class="cancel">åæ¶</view> </view> <view class="shade" bindtap="onClose"></view> <view wx:if="{{ showShare }}" class="shade" bindtap="onClose"></view> </view> wechat_staff/components/disCase/index.wxml
@@ -44,9 +44,9 @@ <view class="content"> <view class="name">{{ item.title }}</view> <view class="info"> <image wx:if="{{ !item.collection }}" data-code="like" bindtap="handleAction" class="icon" src="../../static/icon/detail_nav_collect.png" mode="widthFix"></image> <image wx:if="{{ !item.isCollection }}" data-code="like" bindtap="handleAction" class="icon" src="../../static/icon/detail_nav_collect.png" mode="widthFix"></image> <image wx:else data-code="like_cancel" bindtap="handleAction" class="icon" src="../../static/icon/detail_nav_collected.png" mode="widthFix"></image> <text class="num {{item.collection ? 'primary' : ''}}">{{ item.collectCount }}</text> <text class="num {{item.isCollection ? 'primary' : ''}}">{{ item.collectCount }}</text> <image class="icon" src="../../static/icon/zixun_ic_liulan.png" mode="widthFix"></image> <text>{{ item.viewCount }}</text> </view> wechat_staff/components/disRealpic/index.wxml
@@ -51,9 +51,9 @@ <view class="name">{{ item.title }}</view> </view> <view class="info"> <image wx:if="{{ !item.collection }}" data-code="like" bindtap="handleAction" class="icon" src="../../static/icon/detail_nav_collect.png" mode="widthFix"></image> <image wx:if="{{ !item.isCollection }}" data-code="like" bindtap="handleAction" class="icon" src="../../static/icon/detail_nav_collect.png" mode="widthFix"></image> <image wx:else data-code="like_cancel" bindtap="handleAction" class="icon" src="../../static/icon/detail_nav_collected.png" mode="widthFix"></image> <text class="num {{item.collection ? 'primary' : ''}}">{{ item.collectCount }}</text> <text class="num {{item.isCollection ? 'primary' : ''}}">{{ item.collectCount }}</text> <image class="icon" src="../../static/icon/zixun_ic_liulan.png" mode="widthFix"></image> <text>{{ item.viewCount }}</text> </view> wechat_staff/pages/detailDis/case.js
@@ -56,7 +56,7 @@ actionType, id: this.data.info.id }).then(res => { info.collection = !info.collection info.isCollection = !info.isCollection this.setData({info}) wx.showToast({ title: actionType == 'collect' ? 'æ¶èæå' : 'åæ¶æ¶è', wechat_staff/pages/detailDis/case.wxml
@@ -26,7 +26,7 @@ <view class="footer" style="padding-bottom: {{bottomLift}}px;"> <view class="btns"> <button class="item btn"> <image data-code="collect_cancel" bindtap="handleAction" wx:if="{{ info.collection }}" class="icon" src="../../static/icon/detail_nav_collected.png" mode="widthFix"></image> <image data-code="collect_cancel" bindtap="handleAction" wx:if="{{ info.isCollection }}" class="icon" src="../../static/icon/detail_nav_collected.png" mode="widthFix"></image> <image wx:else data-code="collect" bindtap="handleAction" class="icon" src="../../static/icon/detail_nav_collect.png" mode="widthFix"></image> <view class="name">æ¶è</view> </button> wechat_staff/pages/detailDis/product.js
@@ -3,6 +3,7 @@ getProductInfo, actionDo } from '../../api/index' import moment from "moment"; Page({ /** * 页é¢çåå§æ°æ® @@ -33,6 +34,43 @@ member }) }, // ç»ä»¶äºä»¶ handleEnjoy(e) { const enjoyList = wx.getStorageSync('enjoyList') || [] const { type, flag } = e.detail console.log('type', type); console.log('flag', flag); const info = this.data.info if(type == 'enjoy'){ // ç¹å»äºå欢 const index = enjoyList.findIndex( i => i.id === info.id ) if(index === -1){ info.isEnjoy = true this.setData({ info }) enjoyList.push({ ...info, joinType: 'product', timestamp: new Date().getTime() }) }else{ info.isEnjoy = false this.setData({ info }) enjoyList.splice(index, 1) } wx.setStorageSync('enjoyList', enjoyList) }else{ actionDo({ id: info.id, actionType: flag ? 'collect' : 'collect_cancel' }).then(res => { info.isCollection = flag wx.showToast({title: flag ? 'æ¶èæå' : 'åæ¶æ¶è'}) this.setData({ info }) }) } }, handleAction(e) { const actionType = e.currentTarget.dataset.code const { @@ -42,7 +80,7 @@ actionType, id: this.data.info.id }).then(res => { info.collection = !info.collection info.isCollection = !info.isCollection this.setData({ info }) @@ -51,12 +89,20 @@ }) }) }, onShareAppMessage() { console.log('ç¨æ·ç¹å»äºå享'); }, getDetail(id) { const enjoyList = wx.getStorageSync('enjoyList') || [] getProductInfo({ id }).then(res => { const index = enjoyList.findIndex( i => i.id === res.data.id ) this.setData({ info: res.data info: { ...res.data, isEnjoy: index > -1 } }) wx.setNavigationBarTitle({ title: res.data.title wechat_staff/pages/detailDis/product.wxml
@@ -1,14 +1,6 @@ <view class="main_app"> <buoyClient showPurpose="1" /> <detailFooter /> <view class="user" wx:if="{{ false }}"> <view class="avatar"></view> <view class="content"> <view class="name">䏿¢æ</view> <view class="desc">导è´ï½5å¹´ç»éª</view> </view> <view class="btn">èç³»TA</view> </view> <detailFooter bindenjoy="handleEnjoy" path="/pages/detailDis/product" info="{{info}}" /> <!-- bannerè½®æ --> <swiper class="banner_swiper" circular indicator-dots autoplay style="height:{{bannerHeight}}rpx" duration> <block wx:for="{{ info.bannerImgList }}"> @@ -38,7 +30,7 @@ </view> </view> <!-- å¯ææ¬ --> <view> <view wx:if="{{info.content}}"> <mp-html content="{{info.content}}"></mp-html> </view> <view class="spaceList"> wechat_staff/pages/detailDis/realpic.js
@@ -35,7 +35,7 @@ actionType, id: this.data.info.id }).then(res => { info.collection = !info.collection info.isCollection = !info.isCollection wx.showToast({ title: actionType == 'collect' ? 'æ¶èæå' : 'åæ¶æ¶è', }) wechat_staff/pages/detailDis/realpic.wxml
@@ -14,7 +14,7 @@ <view class="footer" style="padding-bottom: {{bottomLift}}px;"> <view class="btns"> <button class="item btn"> <image data-code="collect_cancel" bindtap="handleAction" wx:if="{{ info.collection }}" class="icon" src="../../static/icon/detail_nav_collected.png" mode="widthFix"></image> <image data-code="collect_cancel" bindtap="handleAction" wx:if="{{ info.isCollection }}" class="icon" src="../../static/icon/detail_nav_collected.png" mode="widthFix"></image> <image wx:else data-code="collect" bindtap="handleAction" class="icon" src="../../static/icon/detail_nav_collect.png" mode="widthFix"></image> <view class="name">æ¶è</view> </button> wechat_staff/pages/kefu/fond.js
@@ -1,11 +1,12 @@ // pages/kefu/fond.js import moment from "moment"; Page({ /** * 页é¢çåå§æ°æ® */ data: { bottomLift: 0 bottomLift: 0, enjoyList: [] }, /** @@ -16,11 +17,35 @@ this.setData({ bottomLift: app.bottomLift }) this.initData() }, /** * çå½å¨æå½æ°--çå¬é¡µé¢å次渲æå®æ */ initData() { let temp = [] let enjoyList = wx.getStorageSync('enjoyList') || [] enjoyList = enjoyList.sort((a,b)=>{ return b.timestamp - a.timestamp }) enjoyList.forEach(item => { item.joinDate = moment(item.timestamp).format('YYYYå¹´MMæDDæ¥') item.joinTime = moment(item.timestamp).format('HH:mm') item.checked = false const index = temp.findIndex( i => i.joinDate === item.joinDate ) if(index === -1){ temp.push({ joinDate: item.joinDate, list: [item] }) }else{ temp[index].list.push(item) } }); this.setData({ enjoyList: temp }) console.log('enjoyList', temp); }, onReady() { }, wechat_staff/pages/kefu/fond.less
@@ -50,7 +50,6 @@ border-radius: 8rpx; margin-left: 26rpx; margin-right: 20rpx; border: 1px solid; } } } wechat_staff/pages/kefu/fond.wxml
@@ -1,14 +1,14 @@ <view class="container"> <view class="date_item"> <view class="date">2024å¹´07æ10æ¥</view> <view wx:for="{{ enjoyList }}" wx:for-item="day" class="date_item"> <view class="date">{{ day.joinDate }}</view> <view class="list"> <view class="line"> <image class="icon" src="../../static/icon/ic_select_sel@2x.png" mode="widthFix"></image> <image class="icon" src="../../static/icon/ic_select@2x.png" mode="widthFix"></image> <image class="img" src=""></image> <view class="line" wx:for="{{ day.list }}" wx:for-item="item"> <image wx:if="{{ item.check }}" class="icon" src="../../static/icon/ic_select_sel@2x.png" mode="widthFix"></image> <image wx:else class="icon" src="../../static/icon/ic_select@2x.png" mode="widthFix"></image> <image class="img" src="{{ item.coverImage }}" mode="aspectFill"></image> <view class="content"> <view class="name">ç®çº¦è½»å¥¢ï½ä¸ç§å ¬åéï¼å·²å 为åªç®çº¦è½»å¥¢ï½ä¸ç§å ¬åéï¼å·²å 为åªç®çº¦è½»å¥¢ï½ä¸ç§å ¬åéï¼å·²å 为åª</view> <view class="time">18:00</view> <view class="name">{{ item.title }}</view> <view class="time">{{ item.joinTime }}</view> </view> </view> </view> wechat_staff/pages/kefu/fond.wxss
@@ -50,7 +50,6 @@ border-radius: 8rpx; margin-left: 26rpx; margin-right: 20rpx; border: 1px solid; } .footer { position: fixed; wechat_staff/project.private.config.json
@@ -31,8 +31,8 @@ }, { "name": "", "pathName": "pages/promotion/index", "query": "", "pathName": "pages/detailDis/product", "query": "id=1813372914895843329", "launchMode": "default", "scene": null }, @@ -42,6 +42,13 @@ "query": "", "launchMode": "default", "scene": null }, { "name": "", "pathName": "pages/kefu/fond", "query": "", "launchMode": "default", "scene": null } ] } wechat_staff/utils/config.js
@@ -1,7 +1,7 @@ // export const baseUrl = 'http://192.168.0.135:10027' export const baseUrl = 'https://dmtest.ahapp.net/web_interface' // æ¬å° export const baseUrl = 'http://192.168.0.135:10027' // export const baseUrl = 'https://dmtest.ahapp.net/web_interface' // æ¬å° // export const baseUrl = 'http://zbtest.ahapp.net/zbom_interface/jx/wechat/' //æµè¯æå¡å¨ // export const imageUrl = 'https://osswebcdn.zbom.com/jiaxuan/images/'