cuiqian2004
2025-07-10 f57571f987f3d25730123f488fccdfa3158ec5b1
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
 
/**
 * 获取飞登录code
 * @returns 
 */
 
export const getCode = () => {
    return new Promise((resolve, reject) => {
        tt.login({
            success(res) {
                if (res.code) {
                    let code = res.code
                    resolve(code)
                } else {
                    reject(res.errString  ||res.errMsg || "")
                }
            },
            fail(res) {
                reject(JSON.stringify(res))
            }
        });
    })
}
 
 
export const token = () => {
    return new Promise((resolve, reject)=>{
        const app = getApp()
        uni.request({
            url:'https://open.feishu.cn/open-apis/auth/v3/app_access_token/internal',
            data:{
                app_id: app.globalData.appid,
                app_secret: app.globalData.appsecret,
            },
            header:{
              'Content-Type':'application/json;charset=utf-8',
            },
            method:"POST",
            dataType:"json",
            success: (result) => {
                if(result.statusCode != 200)
                {
                    return rej("访问失败,状态码:" +result.statusCode);
                }
                const res = result.data
                if(res.code==0){
                     resolve(res.app_access_token);
                }  else{
                    console.log("token 失败",result.data);
                    reject(result.data.msg);
                } 
            },
            fail: (result) => {
                console.log("feishu token fail",result)
                return reject( result);
            }
        })
    }) 
}
export const accesstoken = (sCode,sToken) => {
    return new Promise((resolve, reject)=>{
        const app = getApp()
        uni.request({
            url:'https://open.feishu.cn/open-apis/mina/v2/tokenLoginValidate',
            data:{
                code: sCode,
            },
            header:{
             'Content-Type':'application/json;charset=utf-8',
             "Authorization": 'Bearer '+sToken
            },
            method:"POST",
            dataType:"json",
            success: (result) => {
                if(result.statusCode != 200)
                {
                    return rej("访问失败,状态码:" +result.statusCode);
                }
                const res = result.data
                if(res.code==0){
                    resolve(res.data.access_token)
                }  else{
                    console.log("feishu accesstoken 失败",result.data);
                    reject(result.data.msg);
                } 
            },
            fail: (result) => {
                console.log("feishu accesstoken fail",result)
                return reject(  result);
            }
        })
    }) 
}
 
 
export const getUserInfo = (access_token) => {
    return new Promise((resolve, reject)=>{
        const app = getApp()
        uni.request({
            url:'https://open.feishu.cn/open-apis/authen/v1/user_info',
            header:{
                   "Authorization": 'Bearer '+ access_token
            },
            method:"GET",
            dataType:"json",
            success: (result) => {
                if(result.statusCode != 200)
                {
                    return rej("访问失败,状态码:" +result.statusCode);
                }
                const res = result.data
                if(res.code==0){
                    resolve(res.data)
                }  else{
                    console.log("feishu getUserInfo 失败",result.data);
                    reject(result.data.msg);
                } 
            },
            fail: (result) => {
                console.log("feishu getUserInfo fail",result)
                return reject(  result.errMsg || '未知错误!');
            }
        })
    }) 
}