| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- import Vue from 'vue'
- import Vuex from 'vuex'
- import {
- setSycCache
- } from '../config/cache'
- Vue.use(Vuex)
- const store = new Vuex.Store({
- state: {
- hasLogin: false,
- isUniverifyLogin: false,
- loginProvider: "",
- openid: null,
- unreadCount: 0,
- noMatchLeftWindow: true,
- location: {
- city: '',
- },
- },
- mutations: {
- login(state, provider) {
- state.hasLogin = true;
- state.loginProvider = provider;
- setSycCache('userInfo', provider)
- },
- logout(state) {
- state.hasLogin = false
- state.openid = null
- setSycCache('userInfo', {})
- },
- setOpenid(state, openid) {
- state.openid = openid
- },
- setLocation(state, data) {
- state.location = data
- },
- setUnreadCount(state, count) {
- state.unreadCount = count
- },
- },
- getters: {
- },
- actions: {
- // lazy loading openid
- getUserOpenId: async function({
- commit,
- state
- }) {
- return await new Promise((resolve, reject) => {
- if (state.openid) {
- resolve(state.openid)
- } else {
- uni.login({
- success: (data) => {
- commit('login')
- setTimeout(function() { //模拟异步请求服务器获取 openid
- const openid = '123456789'
- console.log('uni.request mock openid[' +
- openid + ']');
- commit('setOpenid', openid)
- resolve(openid)
- }, 1000)
- },
- fail: (err) => {
- console.log('uni.login 接口调用失败,将无法正常使用开放接口等服务', err)
- reject(err)
- }
- })
- }
- })
- },
- getPhoneNumber: function({
- commit
- }, univerifyInfo) {
- return new Promise((resolve, reject) => {
- uni.request({
- url: 'https://97fca9f2-41f6-449f-a35e-3f135d4c3875.bspapp.com/http/univerify-login',
- method: 'POST',
- data: univerifyInfo,
- success: (res) => {
- const data = res.data
- if (data.success) {
- resolve(data.phoneNumber)
- } else {
- reject(res)
- }
- },
- fail: (err) => {
- reject(res)
- }
- })
- })
- }
- }
- })
- export default store
|