改版登录接口

master
liaoanqi 4 years ago
parent e2293553e7
commit bc616d3a6a

@ -8,22 +8,22 @@
onShow: function() {
//
var ua = navigator.userAgent.toLowerCase();
if (ua.search(/MicroMessenger/i) > -1 && !uni.getStorageSync('appType')) {
//
uni.setStorageSync('appType', 2)
http.mpAuthLogin()
}
const state = util.getUrlKey('state')
const code = util.getUrlKey('code')
if ((state == 'needCode' || state == 'unNeedCode') && code) {
let path = window.location.href
if (path.indexOf('code=') > 0 && path.indexOf('&state=unNeedCode') > -1) {
http.mpLogin(null, code)
path = path.substring(0, path.indexOf('code=') - 1)
history.replaceState({}, '', path)
}
// if (ua.search(/MicroMessenger/i) > -1 && !uni.getStorageSync('appType')) {
// //
// uni.setStorageSync('appType', 2)
// http.mpAuthLogin()
// }
// const state = util.getUrlKey('state')
// const code = util.getUrlKey('code')
// if ((state == 'needCode' || state == 'unNeedCode') && code) {
// let path = window.location.href
// if (path.indexOf('code=') > 0 && path.indexOf('&state=unNeedCode') > -1) {
// http.mpLogin(null, code)
// path = path.substring(0, path.indexOf('code=') - 1)
// history.replaceState({}, '', path)
// }
http.getCartCount()
}
// }
},
globalData: {
//

@ -14,7 +14,10 @@
"author": "",
"license": "ISC",
"devDependencies": {
"uni-read-pages": "^1.0.5",
"query-string": "^6.13.1"
"query-string": "^6.13.1",
"uni-read-pages": "^1.0.5"
},
"dependencies": {
"crypto-js": "^4.1.1"
}
}

@ -33,6 +33,7 @@
<script>
var http = require("../../utils/http");
var util = require('../../utils/util.js');
import { encrypt } from '../../utils/crypto.js'
import {
AppType
} from '../../utils/constant.js'
@ -138,7 +139,7 @@
// credentials: this.credentials,
// loginType: 0, //
// }
// // #endif
// // #endif
if (this.principal.length == 0) {
this.setData({
@ -156,30 +157,24 @@
})
// #ifdef H5 || APP-PLUS
var params = {
url: "/webLogin",
url: "/login",
method: "post",
data: {
"principal": this.principal,
"credentials": this.credentials
"userName": this.principal,
"passWord": encrypt(this.credentials)
},
callBack: res => {
console.log("login",res)
// var loginResult = '';
// uni.setStorageSync("loginResult",res);
// uni.setStorageSync('token', 'bearer' + res.access_token);
// return
http.loginSuccess(res, () => {
uni.showToast({
title: "登录成功",
icon: 'none',
complete: () => {
// this.$Router.pushTab('/pages/index/index')
setTimeout(() => {
wx.switchTab({
url: '/pages/index/index'
});
},1000)
}
})
})
@ -188,25 +183,25 @@
http.request(params)
// #endif
// #ifdef MP-WEIXIN
wx.login({
success: (res) => {
var params = {
url: "/login",
method: "post",
data: {
appType: 1,
credentials: this.credentials,
loginType: 0,
principal: this.principal + ':' + res.code
},
callBack: result => {
http.loginSuccess(result)
this.$Router.pushTab('/pages/index/index')
},
}
http.request(params)
},
})
// wx.login({
// success: (res) => {
// var params = {
// url: "/login",
// method: "post",
// data: {
// appType: 1,
// credentials: this.credentials,
// loginType: 0,
// principal: this.principal + ':' + res.code
// },
// callBack: result => {
// http.loginSuccess(result)
// this.$Router.pushTab('/pages/index/index')
// },
// }
// http.request(params)
// },
// })
// #endif
}
},

@ -39,6 +39,7 @@
// pages/register/register.js
var http = require("../../utils/http");
var util = require("../../utils/util.js");
import { encrypt } from '../../utils/crypto.js'
export default {
data() {
@ -143,11 +144,10 @@
data: {
// appType: 1,
// 1 2 3 PC 4 H5
userMail: this.principal,
password: this.credentials,
userName: this.principal,
passWord: encrypt(this.credentials),
},
callBack: res => {
console.log("1111",res)
uni.hideLoading();
uni.showToast({
title: "注册成功,请登录",

@ -20,7 +20,7 @@
<view class="userinfo-con">
<view class="userinfo-avatar">
<!-- <open-data type="userAvatarUrl"></open-data> -->
<image :src="loginResult.pic?loginResult.pic:'../../static/images/icon/head04.png'"></image>
<image :src="loginResult.pic ? (loginResult.pic.indexOf('http') === -1 ? picDomain + loginResult.pic : loginResult.pic) : '../../static/images/icon/head04.png'"></image>
</view>
<view class="userinfo-name">
<view>{{loginResult.nickName ? loginResult.nickName : "用户昵称"}}</view>
@ -139,6 +139,7 @@
// pages/user/user.js
var http = require("../../utils/http.js");
var util = require("../../utils/util.js");
var config = require("../../utils/config.js");
export default {
data() {
@ -148,6 +149,7 @@
collectionCount: 0,
isAuthInfo: false,
loginResult: '',
picDomain: config.picDomain
};
},
@ -170,7 +172,7 @@
onShow: function() {
//
var ths = this; // var status = ths.data.status
console.log(uni.getStorageSync("loginResult"))
ths.setData({
loginResult: uni.getStorageSync("loginResult"),
// isAuthInfo: Boolean(wx.getStorageSync('loginResult').userId),
@ -321,8 +323,8 @@
logout: function() {
// 退
http.request({
url: '/p/user/logout',
method: 'GET',
url: '/logOut',
method: 'post',
callBack: res => {
util.removeTabBadge()

@ -0,0 +1,11 @@
import CryptoJS from 'crypto-js'
// 加密
const keyStr = '-mall4j-password' // 解密用的key
export function encrypt (word) {
const time = Date.now()
const key = CryptoJS.enc.Utf8.parse(keyStr)
const srcs = CryptoJS.enc.Utf8.parse(time + word) // 加密方式: 时间戳 + 密文
const encrypted = CryptoJS.AES.encrypt(srcs, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7})
return encrypted.toString()
}

@ -12,16 +12,16 @@ function request(params, isGetTonken) {
// globalData.requestQueue.push(params);
// return;
// }
if (Object.prototype.toString.call(params.data) == '[object Array]') {
params.data = JSON.stringify(params.data);
} else if (Object.prototype.toString.call(params.data) == '[object Number]') {
params.data = params.data + '';
}
var needToken = false
if (params.url.indexOf("/p/") == 0 || params.url.indexOf("/user/registerOrBindUser") == 0) {
needToken = true
}
// if (params.url.indexOf("/p/") == 0 || params.url.indexOf("/user/registerOrBindUser") == 0) {
// needToken = true
// }
wx.request({
// url: config.domain + params.url,
@ -31,7 +31,7 @@ function request(params, isGetTonken) {
header: {
// 'content-type': params.method == "GET" ? 'application/x-www-form-urlencoded' : 'application/json;charset=utf-8',
// 'Authorization': params.login ? undefined : uni.getStorageSync('token')
'Authorization': !needToken ? undefined : uni.getStorageSync('token') || uni.getStorageSync('tempToken'),
'Authorization': uni.getStorageSync('token') ,
},
method: params.method == undefined ? "POST" : params.method,
dataType: 'json',
@ -81,7 +81,7 @@ function request(params, isGetTonken) {
url = '/pages/accountLogin/accountLogin'
}
// #endif
// #ifdef APP-PLUS
var url = '/pages/accountLogin/accountLogin'
// #endif
@ -104,12 +104,12 @@ function request(params, isGetTonken) {
success: res => {
if (res.confirm) {
// 跳转登录页面
// #ifdef H5
// #ifdef H5
uni.navigateTo({
url: uni.getStorageSync('appType') == AppType.MP ? '/pages/login/login' : '/pages/accountLogin/accountLogin'
})
// #endif
// #ifdef MP-WEIXIN
uni.navigateTo({
url: '/pages/login/login'
@ -123,12 +123,12 @@ function request(params, isGetTonken) {
}
})
// // 跳转登录页面
// // #ifdef H5
// // #ifdef H5
// uni.navigateTo({
// url: uni.getStorageSync('appType') == AppType.MP ? '/pages/login/login' : '/pages/accountLogin/accountLogin'
// })
// // #endif
// // #ifdef MP-WEIXIN
// uni.navigateTo({
// url: '/pages/login/login'
@ -145,7 +145,7 @@ function request(params, isGetTonken) {
} else {
//如果有定义了params.errCallBack则调用 params.errCallBack(res.data)
if (params.errCallBack) {
params.errCallBack(res);
}
uni.hideLoading();
@ -247,24 +247,24 @@ var getToken = function (fn) {
* @param {Object} fn 登录成功后的回调
*/
function loginSuccess (result, fn) {
if (!result.enabled) {
uni.showModal({
showCancel: false,
title: "提示",
content: "您已被禁用,不能购买,请联系客服",
cancelText: "取消",
confirmText: "确定",
success: function (res) {
if (res.confirm) {
uni.switchTab({
url: '/pages/index/index'
});
}
}
})
wx.setStorageSync('token', '');
return
}
// if (!result.enabled) {
// uni.showModal({
// showCancel: false,
// title: "提示",
// content: "您已被禁用,不能购买,请联系客服",
// cancelText: "取消",
// confirmText: "确定",
// success: function (res) {
// if (res.confirm) {
// wx.switchTab({
// url: '/pages/index/index'
// });
// }
// }
// })
// wx.setStorageSync('token', '');
// return
// }
// 保存登陆信息
wx.setStorageSync('loginResult', result)
@ -273,21 +273,53 @@ function loginSuccess (result, fn) {
// 没有获取到用户昵称,说明服务器没有保存用户的昵称,也就是用户授权的信息并没有传到服务器
// if (!result.pic) {
// updateUserInfo();
// }
// }
const expiresTimeStamp = result.expiresIn * 1000 / 2 + new Date().getTime()
// 缓存token的过期时间
uni.setStorageSync('expiresTimeStamp', expiresTimeStamp)
wx.setStorageSync('token', 'bearer' + result.access_token); //把token存入缓存请求接口数据时要用
if (result.userId) {
wx.setStorageSync('hadBindUser', true);
getCartCount()
} else {
wx.setStorageSync('hadBindUser', false);
}
// var globalData = getApp().globalData;
// globalData.isLanding = false;
// while (globalData.requestQueue.length) {
// request(globalData.requestQueue.pop());
// }
wx.setStorageSync('token', result.accessToken); //把token存入缓存请求接口数据时要用
// const routeUrlAfterLogin = uni.getStorageSync('routeUrlAfterLogin')
// const pages = getCurrentPages()
// if (pages.length === 1) {
// uni.reLaunch({
// url: routeUrlAfterLogin
// })
// uni.removeStorageSync('routeUrlAfterLogin')
// return
// }
// const prevPage = pages[pages.length - 2]
// if (!prevPage) {
// wx.switchTab({
// url: '/pages/index/index'
// });
// return
// }
// // 判断上一页面是否为tabbar页面 (首页和分类页无需登录接口)
// const isTabbar = prevPage.route === 'pages/user/user' || prevPage.route === 'pages/basket/basket'
// if (isTabbar) {
// wx.switchTab({
// url: '/' + prevPage.route
// });
// } else {
// // 非tabbar页面
// let backDelata = 0
// pages.forEach((page, index) => {
// if (page.$page.fullPath === routeUrlAfterLogin) {
// backDelata = pages.length - index - 1
// }
// })
// if (backDelata) {
// uni.navigateBack({
// delta: backDelata
// })
// } else {
// wx.switchTab({
// url: '/pages/index/index'
// });
// }
// }
if (fn) {
fn()

Loading…
Cancel
Save