|
|
import LoginService from '../service/login-service.js';
|
|
|
import regeneratorRuntime from '../../libs/regenerator-runtime/index.js';
|
|
|
import { toPromiseWX, setStorageValueForKey } from '../index.js';
|
|
|
import { toPromiseTT, setStorageValueForKey } from '../index.js';
|
|
|
|
|
|
const login = new LoginService();
|
|
|
const loginPromise = toPromiseWX('login');
|
|
|
const loginPromise = toPromiseTT('login');
|
|
|
|
|
|
export const addLoginListenner = () => {
|
|
|
const event = global.event;
|
|
|
const app = getApp();
|
|
|
event.on('user-is-login', (logged, loginSuccess) => {
|
|
|
const userInfo = wx.getStorageSync('userInfo');
|
|
|
const userInfo = tt.getStorageSync('userInfo');
|
|
|
if (userInfo && userInfo.uid && userInfo.session_key) {
|
|
|
app.globalData.userInfo = userInfo;
|
|
|
if (logged) {
|
|
|
logged(userInfo);
|
|
|
}
|
|
|
} else {
|
|
|
wx.navigateTo({
|
|
|
tt.navigateTo({
|
|
|
url: '/login/login-page/login-page',
|
|
|
});
|
|
|
if (loginSuccess) {
|
...
|
...
|
@@ -33,18 +33,16 @@ export const checkLogin = (logged, loginSuccess) => { |
|
|
|
|
|
const saveLoginData = (loginData) => {
|
|
|
setStorageValueForKey('open_id', loginData.openid);
|
|
|
setStorageValueForKey('srd_session', loginData.srd_session);
|
|
|
if (loginData && loginData.unionid) {
|
|
|
setStorageValueForKey('union_id', loginData.unionid);
|
|
|
}
|
|
|
setStorageValueForKey('session_key', loginData.session_key);
|
|
|
setStorageValueForKey('anonymous_openid', loginData.anonymous_openid);
|
|
|
}
|
|
|
|
|
|
export const wxLogin = async () => {
|
|
|
export const ttLogin = async () => {
|
|
|
try {
|
|
|
// 调用 wx.login
|
|
|
// 调用 tt.login
|
|
|
const res = await loginPromise();
|
|
|
// 根据上传的 code 返回 open_id 等信息
|
|
|
const loginData = await login.checkLogin(res.code);
|
|
|
const loginData = await login.checkLogin(res.code, res.anonymousCode);
|
|
|
// 本地存储 open_id srd_session union_id
|
|
|
await saveLoginData(loginData);
|
|
|
} catch (error) {
|
...
|
...
|
@@ -65,7 +63,7 @@ const clearLoginDetail = () => { |
|
|
app.globalData.userInfo = {};
|
|
|
app.globalData.session_key = '';
|
|
|
setStorageValueForKey('userInfo', {});
|
|
|
wx.removeStorageSync('userInfo');
|
|
|
tt.removeStorageSync('userInfo');
|
|
|
};
|
|
|
|
|
|
export const getUserInfo = async (e) => {
|
...
|
...
|
@@ -73,7 +71,7 @@ export const getUserInfo = async (e) => { |
|
|
try {
|
|
|
if (e.detail.errMsg === 'getUserInfo:ok') {
|
|
|
await setStorageValueForKey('userInfo', e.detail.userInfo);
|
|
|
const srd_session = wx.getStorageSync('srd_session') || '';
|
|
|
const srd_session = tt.getStorageSync('srd_session') || '';
|
|
|
const json = await login.decodeUserInfo(srd_session, e.detail.encryptedData, e.detail.iv);
|
|
|
if (json && json.union_id) {
|
|
|
wechatUnionIdIsBind(json.union_id, e.detail.userInfo);
|
...
|
...
|
@@ -92,9 +90,9 @@ export const getPhoneNumber = async (e) => { |
|
|
const event = global.event;
|
|
|
try {
|
|
|
if (e.detail.errMsg === 'getPhoneNumber:ok') {
|
|
|
const srd_session = wx.getStorageSync('srd_session') || '';
|
|
|
const union_id = wx.getStorageSync('union_id') || '';
|
|
|
let userInfo = wx.getStorageSync('userInfo') || {};
|
|
|
const srd_session = tt.getStorageSync('srd_session') || '';
|
|
|
const union_id = tt.getStorageSync('union_id') || '';
|
|
|
let userInfo = tt.getStorageSync('userInfo') || {};
|
|
|
const phoneNumberInfo = await login.decodeUserInfo(srd_session, e.detail.encryptedData, e.detail.iv);
|
|
|
const { phoneNumber, countryCode } = phoneNumberInfo;
|
|
|
if (!(countryCode && phoneNumber)) {
|
...
|
...
|
@@ -111,7 +109,7 @@ export const getPhoneNumber = async (e) => { |
|
|
event.emit('wechat-login-success', newUserInfo);
|
|
|
}, 1000);
|
|
|
event.emit('login-success', newUserInfo);
|
|
|
wx.showToast({
|
|
|
tt.showToast({
|
|
|
icon: 'none',
|
|
|
title: '手机号授权成功!\r\n为享受更多权益,已为您注册有货会员!',
|
|
|
duration: 3000
|
...
|
...
|
@@ -136,8 +134,8 @@ export const getPhoneNumber = async (e) => { |
|
|
}
|
|
|
|
|
|
export const checkUnionIdIsBind = (e) => {
|
|
|
let union_id = wx.getStorageSync('union_id') || '';
|
|
|
let userInfo = wx.getStorageSync('userInfo') || {};
|
|
|
let union_id = tt.getStorageSync('union_id') || '';
|
|
|
let userInfo = tt.getStorageSync('userInfo') || {};
|
|
|
wechatUnionIdIsBind(union_id, userInfo);
|
|
|
}
|
|
|
|
...
|
...
|
@@ -189,9 +187,9 @@ export const sendSmsWithUnionId = (params) => { |
|
|
export const checkSmsWithUnionId = async (params) => {
|
|
|
let result = await login.checkSmsWithUnionId(params);
|
|
|
const event = global.event;
|
|
|
let userInfo = wx.getStorageSync('userInfo') || {};
|
|
|
let userInfo = tt.getStorageSync('userInfo') || {};
|
|
|
result = Object.assign(userInfo, result);
|
|
|
wx.showToast({
|
|
|
tt.showToast({
|
|
|
title: '登录成功',
|
|
|
icon: 'none'
|
|
|
});
|
...
|
...
|
@@ -203,12 +201,12 @@ export const phoneNumberLogin = async (params) => { |
|
|
const result = await login.phoneNumberLogin(params);
|
|
|
const event = global.event;
|
|
|
if (result.nFlag === 'Y') {
|
|
|
wx.showToast({
|
|
|
tt.showToast({
|
|
|
title: '欢迎加入Yoho!Family!新人礼包已发放到个人中心-优惠券,请注意查收',
|
|
|
icon: 'none'
|
|
|
});
|
|
|
} else {
|
|
|
wx.showToast({
|
|
|
tt.showToast({
|
|
|
title: '登录成功',
|
|
|
icon: 'none'
|
|
|
});
|
...
|
...
|
|