123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- /**
- * 用户相关服务
- */
- import store from '@/store'
- import request from '@/common/request'
- /**
- * Promise封装wx.checkSession
- */
- function checkSession() {
- return new Promise(function(resolve, reject) {
- wx.checkSession({
- success: function() {
- resolve(true);
- },
- fail: function() {
- reject(false);
- }
- })
- });
- }
- /**
- * Promise封装wx.login
- */
- function login() {
- return new Promise(function(resolve, reject) {
- wx.login({
- success: function(res) {
- if (res.code) {
- resolve(res);
- } else {
- reject(res);
- }
- },
- fail: function(err) {
- reject(err);
- }
- });
- });
- }
- /**
- * 调用微信登录
- */
- function loginByWeixinCode() {
- return new Promise(function(resolve, reject) {
- return login().then((res) => {
- var code = res.code;
- //登录远程服务器
- request.post('/api/common/login', {
- wechat_code: code
- }).then(res => {
- if (res.code == 200) {
- if (res.data.token) {
- store.commit('setJwt', res.data.token);
- store.commit('setUser', res.data);
- store.commit('login');
- resolve(res);
- } else {
- uni.showToast({
- title: '登录失败'
- })
- reject(res);
- }
- } else {
- reject(res);
- }
- }).catch((err) => {
- reject(err);
- });
- }).catch((err) => {
- reject(err);
- })
- });
- }
- /**
- * 调用微信登录
- */
- function loginByWeixin(userInfo) {
- return new Promise(function(resolve, reject) {
- return login().then((res) => {
- var code = res.code;
- //登录远程服务器
- request.post('/api/common/login', {
- up_id: uni.getStorageSync("up_id"),
- wechat_code: code,
- nickname: userInfo.nickName,
- avatar: userInfo.avatarUrl,
- }).then(res => {
- if (res.code == 200) {
- if (res.data.token) {
- store.commit('setJwt', res.data.token);
- store.commit('setUser', res.data);
- store.commit('login');
- resolve(res);
- } else {
- reject(res);
- }
- } else {
- reject(res);
- }
- }).catch((err) => {
- reject(err);
- });
- }).catch((err) => {
- reject(err);
- })
- });
- }
- /**
- * 判断用户是否登录
- */
- function checkLogin() {
- return new Promise(function(resolve, reject) {
- if (store.getters['verifyJwt']) {
- checkSession().then(() => {
- resolve(true);
- }).catch(() => {
- reject(false);
- });
- } else {
- reject(false);
- }
- });
- }
- module.exports = {
- loginByWeixin,
- loginByWeixinCode,
- checkLogin,
- };
|