Authored by QC-L

添加手机号及 tt.login 的调用

import { getYHStorageSync } from './utils/util';
import {WeToast} from './vendors/toast/wetoast';
import { ttLogin } from './login/utils/login/login';
import { Event } from './login/utils/index';
global.event = new Event();
App({
globalData: {
... ... @@ -27,7 +31,8 @@ App({
user_union_type_imageUrl: '', // 联盟图片
user_nounion_type_imageUrl: '', // 非联盟用户分享banner图片
shareId: '',
shareInfo: {}
shareInfo: {},
open_id: ''
},
onLaunch: function () {
let res = tt.getSystemInfoSync();
... ... @@ -39,6 +44,10 @@ App({
}
this.globalData.systemInfo = res;
ttLogin();
// 用于支付
let open_id = getYHStorageSync('open_id', 'app');
this.globalData.open_id = open_id;
},
isLogin: function () {
// return this.globalData.userInfo.uid > 0 ? true : false
... ...
... ... @@ -25,7 +25,9 @@
"pages/productListFilter/productListFilterPage",
"pages/productListFilter/alphabetBrandList",
"pages/productListFilter/sizesList",
"pages/productListFilter/categoryList"
"pages/productListFilter/categoryList",
"login/bind-phone-number/bind-phone-number",
"login/select-country/select-country"
],
"window":{
"navigationBarBackgroundColor": "#3a3a3a",
... ...
export default {
appid: 'wx207f18be42db9028',
mini_app_type: '60',
mini_app_type: '64',
payment_code: '68',
domains: {
// production
... ...
... ... @@ -50,14 +50,14 @@ Page({
*/
onLoad: async function (options) {
this.checkGraphicsImages();
await this.checkUserAuthSetting();
// await this.checkUserAuthSetting();
},
async checkUserAuthSetting() {
let res = await getSettingPromise();
if (res.authSetting["scope.userInfo"]) {
const union_id = wx.getStorageSync('union_id') || '';
const userInfo = wx.getStorageSync('userInfo') || {};
const union_id = tt.getStorageSync('union_id') || '';
const userInfo = tt.getStorageSync('userInfo') || {};
this.setData({
isAuth: true,
union_id,
... ... @@ -94,7 +94,7 @@ Page({
},
goToSelectCountry() {
wx.navigateTo({
tt.navigateTo({
url: '../select-country/select-country',
});
},
... ... @@ -128,7 +128,7 @@ Page({
} else {
await sendSms(params);
}
wx.showToast({
tt.showToast({
title: '发送成功',
icon: 'none'
})
... ... @@ -137,7 +137,7 @@ Page({
// 更新验证码
this.checkGraphicsImages();
} catch(error) {
wx.showToast({
tt.showToast({
title: error.message,
icon: 'none'
})
... ... @@ -166,7 +166,7 @@ Page({
let { phoneNumber, country, captchaCode, isAuth, union_id, userInfo } = this.data;
if (!(phoneNumber && captchaCode)) return;
if (!(phoneNumber && phoneNumber.length === 11)) {
wx.showToast({
tt.showToast({
title: '请输入有效手机号',
icon: 'none'
});
... ... @@ -174,7 +174,7 @@ Page({
}
if (!(captchaCode && captchaCode.length === 4)) {
wx.showToast({
tt.showToast({
title: '请输入有效验证码',
icon: 'none'
});
... ... @@ -200,11 +200,13 @@ Page({
})
await phoneNumberLogin(params);
}
console.log('111111');
setTimeout(() => {
this.redirectAction();
}, 1000);
} catch (error) {
wx.showToast({
console.log(error);
tt.showToast({
title: error.message,
icon: 'none'
})
... ... @@ -212,7 +214,8 @@ Page({
},
redirectAction() {
wx.navigateBack({
console.log('执行回调');
tt.navigateBack({
delta: 2,
});
},
... ...
... ... @@ -23,7 +23,7 @@ Page({
},
async checkUnionId() {
const union_id = wx.getStorageSync('union_id');
const union_id = tt.getStorageSync('union_id');
let res = await getSettingPromise();
if (res.authSetting["scope.userInfo"]) {
... ... @@ -61,13 +61,13 @@ Page({
loginError(error) {
console.log(error);
wx.navigateTo({
tt.navigateTo({
url: '../bind-phone-number/bind-phone-number',
})
},
goReferer() {
wx.navigateBack({
tt.navigateBack({
delta: 1
});
},
... ...
... ... @@ -35,7 +35,7 @@ Page({
previousPages.setData({
country
});
wx.navigateBack({
tt.navigateBack({
delta: 1
});
},
... ...
... ... @@ -13,9 +13,9 @@ export const toPromise = (platform) => {
}
export const toPromiseTT = toPromise(tt);
export const getSettingPromise = toPromiseWX('getSetting');
export const getSettingPromise = toPromiseTT('getSetting');
const setStoragePromise = toPromiseWX('setStorage');
const setStoragePromise = toPromiseTT('setStorage');
export const setStorageValueForKey = (key, value) => {
return setStoragePromise({
key,
... ...
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'
});
... ...
... ... @@ -4,22 +4,21 @@
* @param other 其他参数(自选)
*
*/
import { GET } from '../../../request/request';
import config from '../../../config.js';
import api from '../../../common/api.js';
import regeneratorRuntime from '../../libs/regenerator-runtime/index.js';
export default class BaseService {
constructor(props) {
this.url = config.domains.yohoApi;
}
async GET(params, options) {
let url = this.url;
return await GET({
url: url,
path: options && options.path ? options.path: '',
params: params,
complete: options && options.complete ? options.complete: null
console.log(api.get);
return await api.get({
url: options && options.path ? options.path: '',
data: params,
}).then(res => {
if (res && res.code === 200) {
return res.data;
} else {
throw new Error(res.message);
}
})
}
}
\ No newline at end of file
... ...
... ... @@ -22,13 +22,12 @@ const WechatPath = '/wechat/';
const SmartWay = '/smart/way';
export default class LoginService extends BaseService {
async checkLogin(code) {
async checkLogin(code, anonymous_code) {
return await this.GET({
method: WECHAT_SMALLPROGRAM_ONLOGIN,
jsCode: code,
anonymous_code: anonymous_code,
miniapp_type: config.mini_app_type
}, {
path: WechatPath
})
}
... ... @@ -102,8 +101,8 @@ export default class LoginService extends BaseService {
}
imageCheckGenerator(timeStamp) {
const udid = wx.getStorageSync('udid') || '';
return `${config.domains.yohoApi}/passport/img-check?business_line=miniapp&udid=${udid}&fromPage=bindPhoneNumber&timeStamp=${timeStamp}`;
const udid = tt.getStorageSync('udid') || '';
return `${config.domains.api}/passport/img-check?business_line=miniapp&udid=${udid}&fromPage=bindPhoneNumber&timeStamp=${timeStamp}`;
}
async getCountryArea() {
... ...
... ... @@ -2,6 +2,7 @@ import api from '../../common/api.js';
import { getChannelCode, getGenderCode, getRecPosCode, getRecommandContentCode } from '../../utils/home';
import { parseBrandListData } from '../../utils/productListUtil';
import { shouldDiscardTap, getGoodDetailParam, getYHStorageSync } from '../../utils/util';
import router from '../../router/index.js'
// import { decodePhoneNumber, wechatLoginAction, getUnionID, decodeUnionId, openAuthorizeSettings, listen} from '../../utils/login';
// import {
... ... @@ -195,26 +196,7 @@ Page(extend({},Toast,{
* 新的授权方式
*/
getUserInfo: function (e) {
console.log(tt);
// tt.navigateTo('');
tt.login({
success(res) {
console.log(res);
tt.getUserInfo({
withCredentials: true,
success: (res) => {
console.log(res);
},
fail: (err) => {
console.log(err);
}
});
},
fail(err) {
}
});
router.go('bindPhoneNumber');
// console.log(tt);
// var that = this;
// // console.log(e);
... ...
... ... @@ -19,6 +19,8 @@ export default {
},
statements: {
path: '../statements/statements'
},
bindPhoneNumber: {
path: '/login/bind-phone-number/bind-phone-number'
}
}
... ...
... ... @@ -334,7 +334,7 @@ function getYHStorageSync(key,fromPage) {
error_code: e.code,
from_page: fromPage,
});
// console.log(e)
console.log(e)
return null;
}
}
... ...