Linjiajia
2023-08-27 1df231fd6aafa221aef3532d069c7e27d4331be7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
package com.android.app_base.manager;
 
import android.Manifest;
import android.app.Activity;
import android.os.Build;
 
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
 
import com.android.app_base.utils.GlideEngine;
import com.android.app_base.utils.SPUtils;
import com.android.app_base.utils.ToastUtils;
import com.blankj.utilcode.util.PermissionUtils;
import com.luck.picture.lib.basic.PictureSelector;
import com.luck.picture.lib.config.SelectMimeType;
import com.luck.picture.lib.engine.CropEngine;
import com.luck.picture.lib.entity.LocalMedia;
import com.luck.picture.lib.interfaces.OnResultCallbackListener;
 
import java.io.File;
import java.util.ArrayList;
 
/**
 * @author Ljj
 * @date 2023.03.25. 19:50
 * @desc
 */
public class UserManager {
    private static UserManager instance;
 
    private UserManager(){
 
    }
 
    public static UserManager getInstance() {
        if (instance == null){
            instance = new UserManager();
        }
        return instance;
    }
    /**
     * 是否有权限
     */
    public boolean isGranted(@NonNull String... permissions) {
        return PermissionUtils.isGranted(permissions);
    }
    /**
     * 获取权限
     */
    public void getPermissions(PermissionUtils.SimpleCallback simpleCallback, @NonNull String... permissions) {
//        if (isGranted(permissions)){
//            simpleCallback.onGranted();
//            return;
//        }
        PermissionUtils.permission(permissions).callback(simpleCallback).request();
    }
 
    /**
     * 选择图片
     * @param activity 上下文
     * @param chooseMode 选择模式  SelectMimeType.TYPE_ALL = 0;TYPE_IMAGE = 1;TYPE_VIDEO = 2;TYPE_AUDIO = 3;
     * @param maxSelectNum 最大选择数量
     * @param onResultCallbackListener 回调
     */
    public void selectImage(Activity activity,int chooseMode,int maxSelectNum,OnResultCallbackListener<LocalMedia> onResultCallbackListener){
        String[] permissions;
        if (Build.VERSION.SDK_INT >= 33) {
            permissions = new String[]{Manifest.permission.READ_MEDIA_IMAGES, Manifest.permission.READ_MEDIA_VIDEO, Manifest.permission.READ_MEDIA_AUDIO, Manifest.permission.CAMERA};
        }else {
            permissions = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.CAMERA};
        }
        getPermissions(new PermissionUtils.SimpleCallback() {
            @Override
            public void onGranted() {
                PictureSelector.create(activity)
                        .openGallery(chooseMode)
                        .setImageEngine(GlideEngine.createGlideEngine())
                        .isMaxSelectEnabledMask(true)// 达到最大选择数是否开启禁选蒙层
                        .isWithSelectVideoImage(true)// 图片和视频是否可以同选,只在ofAll模式下有效
                        .setMaxSelectNum(maxSelectNum)
                        .forResult(onResultCallbackListener);
            }
            //
            @Override
            public void onDenied() {
                ToastUtils.showShort("请开启相关权限");
            }
        }, permissions);
    }
 
 
 
 
    public void setToken(String token){
        SPUtils.getInstance("tokenInfo").put("token",token);
    }
    public void clearToken(){
        SPUtils.getInstance("tokenInfo").clear();
    }
    public String getToken(){
        return SPUtils.getInstance("tokenInfo").getString("token");
    }
 
    public void setUserName(String userName){
        SPUtils.getInstance("userInfo").put("userName",userName);
    }
    public String getUserName(){
        return SPUtils.getInstance("userInfo").getString("userName");
    }
    public void clearUserName(){
        SPUtils.getInstance("userInfo").remove("userName");
    }
    public void clearUserInfo(){
        SPUtils.getInstance("userInfo").clear();
    }
 
    public void setUserAvatar(String userAvatar){
        SPUtils.getInstance("userInfo").put("userAvatar",userAvatar);
    }
    public String getUserAvatar(){
        return SPUtils.getInstance("userInfo").getString("userAvatar");
    }
    public void clearUserAvatar(){
        SPUtils.getInstance("userInfo").remove("userAvatar");
    }
 
    public void loginOut(){
        clearToken();
        clearUserInfo();
    }
 
}