|
@@ -16,7 +16,7 @@
|
|
|
<script>
|
|
|
|
|
|
import { ICON_CFG } from '@/common/EnumConst';
|
|
|
-import { getImageUrl, setStorageObj } from '@/util';
|
|
|
+import { getImageUrl, setStorageObj, syncWxlogin } from '@/util';
|
|
|
|
|
|
export default {
|
|
|
name: 'login',
|
|
@@ -33,11 +33,20 @@ export default {
|
|
|
methods: {
|
|
|
getImageUrl,
|
|
|
// 获取用户信息
|
|
|
- getUserInfo(e) {
|
|
|
+ async getUserInfo(e) {
|
|
|
if (e.mp.detail.userInfo) {
|
|
|
this.userInfo = e.mp.detail.userInfo;
|
|
|
this.hasUserInfo = true;
|
|
|
- this.login();
|
|
|
+ const {
|
|
|
+ success,
|
|
|
+ data,
|
|
|
+ } = await syncWxlogin();
|
|
|
+ if (success) {
|
|
|
+ // 将用户信息和session存储到本地
|
|
|
+ setStorageObj('userInfo', data.user);
|
|
|
+ setStorageObj('token', data.token);
|
|
|
+ this.realoadPage();
|
|
|
+ }
|
|
|
} else {
|
|
|
uni.showModal({
|
|
|
title: '警告',
|
|
@@ -52,52 +61,6 @@ export default {
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
- // 登录并获取用户信息
|
|
|
- login() {
|
|
|
- uni.login({
|
|
|
- provider: 'weixin',
|
|
|
- success: (loginRes) => {
|
|
|
- // 登录成功,获取用户code
|
|
|
- const { code } = loginRes;
|
|
|
- // 发送code到后台换取openId, sessionKey, unionId
|
|
|
- uni.request({
|
|
|
- url: `${process.env.UNI_API_PREFIX}/cp/usr/wx/login`, // 你的登录API地址
|
|
|
- method: 'POST',
|
|
|
- data: {
|
|
|
- code,
|
|
|
- ...this.userInfo,
|
|
|
- },
|
|
|
- success: (res) => {
|
|
|
- if (res.data && res.data.code === 200) {
|
|
|
- const { data } = res.data;
|
|
|
- // 将用户信息和session存储到本地
|
|
|
- setStorageObj('userInfo', data.user);
|
|
|
- setStorageObj('token', data.token);
|
|
|
- this.realoadPage();
|
|
|
- } else {
|
|
|
- uni.showToast({
|
|
|
- title: '登录失败',
|
|
|
- icon: 'none',
|
|
|
- });
|
|
|
- }
|
|
|
- },
|
|
|
- fail: () => {
|
|
|
- uni.showToast({
|
|
|
- title: '请求失败',
|
|
|
- icon: 'none',
|
|
|
- });
|
|
|
- },
|
|
|
- });
|
|
|
- },
|
|
|
- fail: (err) => {
|
|
|
- console.log('uni.login 接口调用失败,将无法正常使用开放接口等服务', err);
|
|
|
- uni.showToast({
|
|
|
- title: '登录失败',
|
|
|
- icon: 'none',
|
|
|
- });
|
|
|
- },
|
|
|
- });
|
|
|
- },
|
|
|
realoadPage() {
|
|
|
let pages = getCurrentPages(); //获取当前页面
|
|
|
let beforePage = pages[pages.length - 2]; //获取上一个页面的实例
|