package com.iailab.module.system.service.social; import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo; import com.iailab.framework.common.pojo.PageResult; import com.iailab.module.system.controller.admin.socail.vo.client.SocialClientPageReqVO; import com.iailab.module.system.controller.admin.socail.vo.client.SocialClientSaveReqVO; import com.iailab.module.system.dal.dataobject.social.SocialClientDO; import com.iailab.module.system.enums.social.SocialTypeEnum; import com.xingyuv.jushauth.model.AuthUser; import me.chanjar.weixin.common.bean.WxJsapiSignature; import javax.validation.Valid; /** * 社交应用 Service æŽ¥å£ * * @author iailab */ public interface SocialClientService { /** * 获得社交平å°çš„æŽˆæƒ URL * * @param socialType 社交平å°çš„类型 {@link SocialTypeEnum} * @param userType 用户类型 * @param redirectUri é‡å®šå‘ URL * @return 社交平å°çš„æŽˆæƒ URL */ String getAuthorizeUrl(Integer socialType, Integer userType, String redirectUri); /** * 请求社交平å°ï¼ŒèŽ·å¾—授æƒçš„用户 * * @param socialType 社交平å°çš„类型 * @param userType 用户类型 * @param code 授æƒç * @param state æŽˆæƒ state * @return 授æƒçš„用户 */ AuthUser getAuthUser(Integer socialType, Integer userType, String code, String state); // =================== 微信公众å·ç‹¬æœ‰ =================== /** * 创建微信公众å·çš„ JS SDK åˆå§‹åŒ–所需的ç¾å * * @param userType 用户类型 * @param url 访问的 URL åœ°å€ * @return ç¾å */ WxJsapiSignature createWxMpJsapiSignature(Integer userType, String url); // =================== 微信å°ç¨‹åºç‹¬æœ‰ =================== /** * 获得微信å°ç¨‹åºçš„æ‰‹æœºä¿¡æ¯ * * @param userType 用户类型 * @param phoneCode 手机授æƒç * @return æ‰‹æœºä¿¡æ¯ */ WxMaPhoneNumberInfo getWxMaPhoneNumberInfo(Integer userType, String phoneCode); // =================== å®¢æˆ·ç«¯ç®¡ç† =================== /** * 创建社交客户端 * * @param createReqVO åˆ›å»ºä¿¡æ¯ * @return ç¼–å· */ Long createSocialClient(@Valid SocialClientSaveReqVO createReqVO); /** * 更新社交客户端 * * @param updateReqVO æ›´æ–°ä¿¡æ¯ */ void updateSocialClient(@Valid SocialClientSaveReqVO updateReqVO); /** * åˆ é™¤ç¤¾äº¤å®¢æˆ·ç«¯ * * @param id ç¼–å· */ void deleteSocialClient(Long id); /** * 获得社交客户端 * * @param id ç¼–å· * @return 社交客户端 */ SocialClientDO getSocialClient(Long id); /** * 获得社交客户端分页 * * @param pageReqVO 分页查询 * @return 社交客户端分页 */ PageResult<SocialClientDO> getSocialClientPage(SocialClientPageReqVO pageReqVO); }