2.4 KiB
2.4 KiB
微信分享功能重构总结
目标
使用统一的WeChatShareHelper和WeChatShareUtil替换分散在各个Activity中的微信分享实现,提高代码复用性和维护性。
主要更改
1. NewwebviewActivity.java
- photosharefriend(): 替换为使用
WeChatShareUtil.shareImage(),分享到微信好友(scene = 0) - photosharefriends(): 替换为使用
WeChatShareUtil.shareImage(),分享到微信朋友圈(scene = 1) - 导入: 添加了
import com.jx.jyhd.simcpux.util.WeChatShareUtil;
2. webviewActivity.java
- photosharefriend(): 替换为使用
WeChatShareUtil.shareImage(),分享到微信好友(scene = 0) - photosharefriends(): 替换为使用
WeChatShareUtil.shareImage(),分享到微信朋友圈(scene = 1) - 导入: 添加了
import com.jx.jyhd.simcpux.util.WeChatShareUtil;
保持不变的功能
关键变量和状态保持
apputil.wxtype = 1- 微信分享类型标识Wxistrue.sharetype- 分享类型(NewwebviewActivity: 2, webviewActivity: 1/2)bitmappath- 分享图片的路径
分享回调机制
- 保持了原有的成功、失败、取消回调逻辑
- 使用
runOnUiThread()确保UI操作在主线程执行 - 保留了所有现有的处理逻辑框架
WeChatShareUtil的优势
- 统一图片处理: 自动处理图片压缩和格式转换
- 错误处理: 完善的异常处理和错误回调
- Base64支持: 自动处理Base64编码的图片数据
- 文件检查: 自动检查图片文件是否存在
- 回调机制: 统一的成功/失败/取消回调接口
代码简化效果
原始代码(每个方法约50行)
- 手动创建WXImageObject和WXMediaMessage
- 手动处理Bitmap解码和压缩
- 手动设置缩略图
- 手动构建SendMessageToWX.Req
- 重复的图片大小检查和压缩逻辑
重构后代码(每个方法约30行)
- 单行调用
weChatShareUtil.shareImage() - 自动处理所有图片相关操作
- 统一的回调处理机制
- 清晰的参数传递(路径和分享场景)
维护性提升
- 集中管理: 微信分享逻辑集中在WeChatShareUtil中
- 错误处理: 统一的错误处理和用户提示
- 功能扩展: 新增分享类型时只需修改工具类
- 代码复用: 多个Activity共享同一套分享逻辑
这次重构显著提高了代码的可维护性和复用性,同时保持了所有现有功能的完整性。