|
|
@@ -3,6 +3,28 @@ import request from "./request";
|
|
|
// 全局变量
|
|
|
let loginData = {};
|
|
|
|
|
|
+function getUserInfoCache() {
|
|
|
+ return new Promise((resolve) => {
|
|
|
+ let userInfo = null;
|
|
|
+ const uinfoStr = uni.getStorageSync("userinfo");
|
|
|
+ if (uinfoStr) {
|
|
|
+ userInfo = JSON.parse(uinfoStr);
|
|
|
+ }
|
|
|
+ if (userInfo) {
|
|
|
+ resolve(userInfo);
|
|
|
+ } else {
|
|
|
+ wxLogin(resolve);
|
|
|
+ }
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+function setUserInfoCache(userInfo) {
|
|
|
+ uni.setStorageSync(
|
|
|
+ "userinfo",
|
|
|
+ typeof userInfo === "string" ? userInfo : JSON.stringify(userInfo)
|
|
|
+ );
|
|
|
+}
|
|
|
+
|
|
|
// 进行登录
|
|
|
function getUserInfo(data) {
|
|
|
return new Promise((resolve, reject) => {
|
|
|
@@ -14,9 +36,9 @@ function getUserInfo(data) {
|
|
|
.then((res) => {
|
|
|
if (res.errno == 10000 && res.data) {
|
|
|
uni.setStorageSync("userinfo", JSON.stringify(res.data));
|
|
|
- resolve({ ...res.data, coupons: res.coupons || null });
|
|
|
+ resolve(res.data);
|
|
|
} else {
|
|
|
- reject({ errMsg: res.errmsg });
|
|
|
+ reject({ errmsg: res.errmsg });
|
|
|
}
|
|
|
})
|
|
|
.catch((e) => {
|
|
|
@@ -35,7 +57,7 @@ function setPhoneNumber(data) {
|
|
|
uni.setStorageSync("userinfo", JSON.stringify(res.data));
|
|
|
resolve(res.data);
|
|
|
} else {
|
|
|
- reject({ errMsg: res.errmsg });
|
|
|
+ reject({ errmsg: res.errmsg });
|
|
|
}
|
|
|
})
|
|
|
.catch((e) => {
|
|
|
@@ -54,7 +76,7 @@ function wxLogout() {
|
|
|
|
|
|
//
|
|
|
function tryLogin() {
|
|
|
- if (loginData.userInfo && loginData.code) {
|
|
|
+ if (loginData.code) {
|
|
|
const xdata = loginData;
|
|
|
loginData = {};
|
|
|
getUserInfo(xdata)
|
|
|
@@ -88,8 +110,10 @@ function tryLogin() {
|
|
|
// 微信授权获取用户手机号
|
|
|
function setPhoneData(params) {
|
|
|
if (params.phone_code) {
|
|
|
- loginData = params;
|
|
|
- tryLogin("phone");
|
|
|
+ wxLogin(function (data) {
|
|
|
+ loginData = { ...params, session: data.session };
|
|
|
+ tryLogin("phone");
|
|
|
+ });
|
|
|
} else {
|
|
|
uni.showToast({
|
|
|
icon: "none",
|
|
|
@@ -100,28 +124,28 @@ function setPhoneData(params) {
|
|
|
|
|
|
// 微信授权获取用户信息
|
|
|
function wxLogin(callback) {
|
|
|
- loginData.userInfo = null;
|
|
|
+ // loginData.userInfo = null;
|
|
|
loginData.code = null;
|
|
|
|
|
|
loginData.callback = callback;
|
|
|
- uni.getUserProfile({
|
|
|
- desc: "获取你的昵称、头像、地区及性别",
|
|
|
- success(data) {
|
|
|
- loginData.userInfo = {
|
|
|
- signature: data.signature,
|
|
|
- encryptedData: data.encryptedData,
|
|
|
- iv: data.iv,
|
|
|
- rawData: data.rawData,
|
|
|
- };
|
|
|
- tryLogin("userProfile");
|
|
|
- },
|
|
|
- fail() {
|
|
|
- uni.showToast({
|
|
|
- icon: "none",
|
|
|
- title: "授权失败",
|
|
|
- });
|
|
|
- },
|
|
|
- });
|
|
|
+ // uni.getUserProfile({
|
|
|
+ // desc: "获取你的昵称、头像、地区及性别",
|
|
|
+ // success(data) {
|
|
|
+ // loginData.userInfo = {
|
|
|
+ // signature: data.signature,
|
|
|
+ // encryptedData: data.encryptedData,
|
|
|
+ // iv: data.iv,
|
|
|
+ // rawData: data.rawData,
|
|
|
+ // };
|
|
|
+ // tryLogin("userProfile");
|
|
|
+ // },
|
|
|
+ // fail() {
|
|
|
+ // uni.showToast({
|
|
|
+ // icon: "none",
|
|
|
+ // title: "1授权失败",
|
|
|
+ // });
|
|
|
+ // },
|
|
|
+ // });
|
|
|
|
|
|
uni.login({
|
|
|
success(res) {
|
|
|
@@ -138,7 +162,7 @@ function wxLogin(callback) {
|
|
|
fail() {
|
|
|
uni.showToast({
|
|
|
icon: "none",
|
|
|
- title: "授权失败",
|
|
|
+ title: "2授权失败",
|
|
|
});
|
|
|
},
|
|
|
});
|
|
|
@@ -148,4 +172,6 @@ export default {
|
|
|
logout: wxLogout,
|
|
|
setPhoneData: setPhoneData,
|
|
|
wxLogin: wxLogin,
|
|
|
+ getUserInfo: getUserInfoCache,
|
|
|
+ setUserInfo: setUserInfoCache,
|
|
|
};
|