Commit 306fed17 by wangyalan-git

登录流程修改/分享码上下级修改

parent 52207aa2
......@@ -2,17 +2,20 @@
var http = require("utils/http.js");
App({
onLaunch: function () {
http.getToken();
wx.getSetting({
success(res) {
if (!res.authSetting['scope.userInfo']) {
this.overShare()
},
onShow() {
const token = wx.getStorageSync('token')
if (token) {
let user = wx.getStorageSync('user')
this.globalData.userInfo = JSON.parse(user)
}
},
goLogin: function () {
console.log("登录")
wx.navigateTo({
url: '/pages/login/login',
})
}
}
})
this.overShare()
},
//重写分享方法
overShare: function () {
......
......@@ -25,10 +25,43 @@ Page({
})
},
onLoad: function () {
let token = wx.getStorageSync('token')
this.getAllData();
// 如果是点击转发跳转进来,分析参数page
if (options.shareCode) {
app.globalData.shareCode = options.shareCode
token && this.boundParentByShareCode(options.shareCode); // 绑定内容获取
}
// 登录返回
app.globalData.shareCode && token && this.boundParentByShareCode(app.globalData.shareCode);
// 扫码页面渲染完成
if (options.scene) {
let scene = decodeURIComponent(options.scene);
app.globalData.shareCode = scene.split("=")[1];
token && this.boundParentByShareCode(app.globalData.shareCode)
}
},
bound() {
var token = wx.getStorageSync('token');
if (token) {
app.globalData.shareCode = options.shareCode
}
},
boundParentByShareCode(code) {
var params = {
url: "/p/user/boundParentByShareCode",
method: "POST",
data: {
shareCode: code
},
callBack: (res) => {
app.globalData.shareCode = ''
console.log("绑定成功", res)
}
};
http.request(params);
},
// 页面滚动到指定位置指定元素固定在顶部
onPageScroll: function (e) { //监听页面滚动
this.setData({
......@@ -80,43 +113,15 @@ Page({
},
onShow: function () {
console.log('页面参路径',this.options)
var that =this
wx.getSetting({
success(res) {
if (!res.authSetting['scope.userInfo']) {
if (that.options.shareCode) {
wx.navigateTo({
url: '/pages/login/login?shareCode=' + that.options.shareCode,
})
} else {
wx.navigateTo({
url: '/pages/login/login',
})
}
} else {
if (that.options.shareCode) {
that.boundParentByShareCode(options.shareCode); // 绑定内容获取
}
}
}
})
},
boundParentByShareCode(code) {
var params = {
url: "/p/user/boundParentByShareCode",
method: "POST",
data: {
shareCode: code
},
callBack: (res) => {
console.log("绑定成功", res)
}
};
http.request(params);
console.log('页面参数路径', this.options)
},
getAllData() {
let user = app.globalData.userInfo
if (user && user.id) {
http.getCartCount(); //重新计算购物车总数量
}
this.getIndexImgs();
this.getNoticeList();
this.getTag();
......
......@@ -8,10 +8,88 @@ Page({
},
onGotUserInfo: function (res) {
http.updateUserInfo();
wx.navigateBack({
delta: 1
onGotUserInfo: function (data) {
const that = this, userInfo = data.detail.userInfo
this.data.wxUserInfo = data.detail.userInfo
console.log('info', data.detail.userInfo)
if (userInfo) {
this.getToken()
}
},
//通过code获取token,并保存到缓存
getToken: function () {
console.log('getToken')
wx.login({
success: res => {
console.log('token1', res)
// 发送 res.code 到后台换取 openId, sessionKey, unionId
http.request({
login: true,
url: '/login?grant_type=mini_app',
data: {
principal: res.code
},
callBack: result => {
console.log('token2', result)
// 没有获取到用户昵称,说明服务器没有保存用户的昵称,也就是用户授权的信息并没有传到服务器
if (!result.nickName) {
updateUserInfo();
}
if (result.userStutas == 0) {
wx.showModal({
showCancel: false,
title: '提示',
content: '您已被禁用,不能购买,请联系客服'
})
wx.setStorageSync('token', '');
} else {
wx.setStorageSync('token', 'bearer' + result.access_token); //把token存入缓存,请求接口数据时要用
this.getUserInfo()
}
var globalData = getApp().globalData;
globalData.isLanding = false;
while (globalData.requestQueue.length) {
http.request(globalData.requestQueue.pop());
}
}
}, true)
}
})
},
// 用户信息
getUserInfo() {
var params = {
url: "/p/user/getUserInfo",
method: "GET",
data: {},
callBack: (res) => {
console.log('用户信息', res.result)
var app = getApp();
wx.setStorageSync("user", JSON.stringify(res.result))
app.globalData.userInfo = res.result
wx.switchTab({
url: '/pages/index/index',
})
}
};
http.request(params);
},
// 更新用户头像昵称
updateUserInfo: function () {
wx.getUserInfo({
success: (res) => {
var userInfo = JSON.parse(res.rawData)
http.request({
url: "/p/user/setUserInfo",
method: "PUT",
data: {
avatarUrl: userInfo.avatarUrl,
nickName: userInfo.nickName
}
});
}
})
},
boundParentByShareCode(code) {
......@@ -22,7 +100,7 @@ Page({
shareCode: code
},
callBack: (res) => {
console.log("绑定成功",res)
console.log("绑定成功", res)
}
};
http.request(params);
......
{
"usingComponents": {}
"usingComponents": {},
"navigationBarTitleText": "登录"
}
\ No newline at end of file
// pages/user/user.js
var http = require("../../utils/http.js");
var app = getApp()
Page({
/**
......@@ -31,7 +32,9 @@ Page({
* 生命周期函数--监听页面显示
*/
onShow: function () {
this.setData({
userInfo: app.globalData.userInfo
})
//加载订单数字
var ths = this;
// var status = ths.data.status
......
......@@ -3,10 +3,12 @@
<!-- 用户信息 -->
<view class='userinfo'>
<view class='userinfo-avatar'>
<open-data type="userAvatarUrl"></open-data>
<!-- <open-data type="userAvatarUrl"></open-data> -->
<image class="user-icon" src="{{userInfo.pic}}"></image>
</view>
<view class='userinfo-name'>
<open-data type="userNickName"></open-data>
<!-- <open-data type="userNickName"></open-data> -->
<view>{{userInfo.nickName || '未登录'}}</view>
</view>
</view>
<view class="prod-col" style="margin-top: 0;padding-top: 0;">
......
......@@ -24,7 +24,10 @@ page {
box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.2);
margin: auto;
}
.userinfo .userinfo-avatar .user-icon{
width: 100%;
height: 100%;
}
.userinfo .userinfo-name {
font-size: 30rpx;
font-weight: bold;
......
var domain = "http://192.168.31.113:8086/capi"; //统一接口域名,测试环境
var domain = "http://192.168.31.108:8086/capi"; //统一接口域名,测试环境
exports.domain = domain;
......@@ -5,10 +5,11 @@ function request(params, isGetTonken) {
// 全局变量
var globalData = getApp().globalData;
// 如果正在进行登陆,就将非登陆请求放在队列中等待登陆完毕后进行调用
if (!isGetTonken && globalData.isLanding) {
globalData.requestQueue.push(params);
return;
}
// if (!isGetTonken && globalData.isLanding) {
// console.log('shibai')
// globalData.requestQueue.push(params);
// return;
// }
wx.request({
url: config.domain + params.url, //接口请求地址
data: params.data,
......@@ -35,11 +36,11 @@ function request(params, isGetTonken) {
// 添加到请求队列
globalData.requestQueue.push(params);
// 是否正在登陆
if (!globalData.isLanding) {
// if (!globalData.isLanding) {
globalData.isLanding = true
//重新获取token,再次请求接口
getToken();
}
getApp().goLogin()
// }
} else if (res.statusCode == 400) {
wx.showToast({
title: res.data,
......@@ -66,74 +67,7 @@ function request(params, isGetTonken) {
})
}
//通过code获取token,并保存到缓存
var getToken = function () {
wx.login({
success: res => {
// 发送 res.code 到后台换取 openId, sessionKey, unionId
request({
login: true,
url: '/login?grant_type=mini_app',
data: {
principal: res.code
},
callBack: result => {
// 没有获取到用户昵称,说明服务器没有保存用户的昵称,也就是用户授权的信息并没有传到服务器
if (!result.nickName) {
updateUserInfo();
}
if (result.userStutas == 0) {
wx.showModal({
showCancel: false,
title: '提示',
content: '您已被禁用,不能购买,请联系客服'
})
wx.setStorageSync('token', '');
} else {
wx.setStorageSync('token', 'bearer' + result.access_token); //把token存入缓存,请求接口数据时要用
getUserInfo()
}
var globalData = getApp().globalData;
globalData.isLanding = false;
while (globalData.requestQueue.length) {
request(globalData.requestQueue.pop());
}
}
}, true)
}
})
}
// 用户信息
function getUserInfo() {
var params = {
url: "/p/user/getUserInfo",
method: "GET",
data: {},
callBack: (res) => {
console.log('用户信息', res.result)
var app = getApp();
app.globalData.userInfo = res.result
}
};
request(params);
}
// 更新用户头像昵称
function updateUserInfo() {
wx.getUserInfo({
success: (res) => {
var userInfo = JSON.parse(res.rawData)
request({
url: "/p/user/setUserInfo",
method: "PUT",
data: {
avatarUrl: userInfo.avatarUrl,
nickName: userInfo.nickName
}
});
}
})
}
//获取购物车商品数量
function getCartCount() {
......@@ -162,7 +96,5 @@ function getCartCount() {
}
exports.getToken = getToken;
exports.request = request;
exports.getCartCount = getCartCount;
\ No newline at end of file
exports.updateUserInfo = updateUserInfo;
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment