You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
133 lines
3.2 KiB
133 lines
3.2 KiB
5 years ago
|
import { SIGN_IN } from 'api/user';
|
||
|
import { ERR_CODE } from 'config/config.default';
|
||
|
import { http as axios } from 'plugins/request/index';
|
||
|
import { SIGN_IN_CLIENTS, SIGN_IN_TYPES } from 'config/config.user';
|
||
|
|
||
|
/**
|
||
|
* 保存token
|
||
|
* @param {string} token 服务端返回的token数据
|
||
|
*/
|
||
|
export const setToken = token => {
|
||
|
uni.setStorageSync('token', token);
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* 获取token
|
||
|
* @return {string} 本地保存的token
|
||
|
*/
|
||
|
export const getToken = () => uni.getStorageSync('token');
|
||
|
|
||
|
/**
|
||
|
* 提交登录信息
|
||
|
* @param {object} params 提交的参数
|
||
|
*/
|
||
|
export const signIn = params => {
|
||
|
return new Promise((resolve, reject) => {
|
||
|
axios
|
||
|
.post(SIGN_IN, params)
|
||
|
.then(res => {
|
||
|
const { success, code, data, msg } = res.data;
|
||
|
if (success && code === ERR_CODE) {
|
||
|
if (!data || !data.token) {
|
||
|
reject('服务端返回数据不正确');
|
||
|
} else {
|
||
|
resolve(data);
|
||
|
}
|
||
|
} else {
|
||
|
reject(`登录请求失败 ${msg}`);
|
||
|
}
|
||
|
})
|
||
|
.catch(err => {
|
||
|
reject(err);
|
||
|
});
|
||
|
});
|
||
|
};
|
||
|
|
||
|
// 微信登录
|
||
|
export const wxLogin = () => {
|
||
|
return new Promise((resolve, reject) => {
|
||
|
uni.login({
|
||
|
provider: 'weixin',
|
||
|
success(response) {
|
||
|
if (response.code) {
|
||
|
const params = {
|
||
|
client: SIGN_IN_CLIENTS['mp'],
|
||
|
type: SIGN_IN_TYPES['mp'],
|
||
|
data: { identifier: response.code, credential: 'health' },
|
||
|
// redirect: 'https://test.tall.wiki/gateway/health/initMsg',
|
||
|
redirect: 'https://www.tall.wiki/gateway/health/initMsg',
|
||
|
};
|
||
|
resolve(params);
|
||
|
} else {
|
||
|
reject(response.errMsg);
|
||
|
}
|
||
|
},
|
||
|
fail() {
|
||
|
console.log('fail');
|
||
|
reject('微信登录失败');
|
||
|
},
|
||
|
});
|
||
|
});
|
||
|
};
|
||
|
|
||
|
// 企业微信登录
|
||
|
export const wxWorkLogin = () => {
|
||
|
return new Promise((resolve, reject) => {
|
||
|
wx.qy.login({
|
||
|
provider: 'weixin',
|
||
|
success(response) {
|
||
|
if (response.code) {
|
||
|
const params = {
|
||
|
client: SIGN_IN_CLIENTS['wx_work'],
|
||
|
type: SIGN_IN_TYPES['wx_work'],
|
||
|
data: { identifier: response.code, credential: 'health' },
|
||
|
// redirect: 'https://test.tall.wiki/gateway/health/initMsg',
|
||
|
redirect: 'https://www.tall.wiki/gateway/health/initMsg',
|
||
|
};
|
||
|
resolve(params);
|
||
|
} else {
|
||
|
reject(response.errMsg);
|
||
|
}
|
||
|
},
|
||
|
fail() {
|
||
|
console.log('fail');
|
||
|
reject('微信登录失败');
|
||
|
},
|
||
|
});
|
||
|
});
|
||
|
};
|
||
|
|
||
|
// 小程序登录
|
||
|
export const mpLogin = () => {
|
||
|
try {
|
||
|
const res = uni.getSystemInfoSync();
|
||
|
if (res.environment === 'wxwork') {
|
||
|
return wxWorkLogin();
|
||
|
} else {
|
||
|
return wxLogin();
|
||
|
}
|
||
|
} catch (err) {
|
||
|
console.log('err: ', err);
|
||
|
}
|
||
|
};
|
||
|
|
||
|
// 钉钉登录
|
||
|
export const ddLogin = () => {
|
||
|
console.log('dingtalk login.........');
|
||
|
try {
|
||
|
dd.getAuthCode({
|
||
|
success(res) {
|
||
|
console.log('res: ', res);
|
||
|
/*{
|
||
|
authCode: 'hYLK98jkf0m' // string authCode
|
||
|
}*/
|
||
|
},
|
||
|
fail: function(err) {
|
||
|
console.log('err: ', err);
|
||
|
},
|
||
|
});
|
||
|
} catch (error) {
|
||
|
console.log('error: ', error);
|
||
|
}
|
||
|
};
|