/** * 获取飞登录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 || '未知错误!'); } }) }) }