| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- import store from '@/store'
- import { getStaffApi, getShopInfoApi, getShopUserApi } from '@/api/common'
- import { postWxCode,getDictionaries } from '@/api/mini'
- import util from './util'
- //获取商城端用户信息 update为true时会重新触发请求,重置vuex的数据
- export async function getShopUser(update) {
- let userInfo = store.getters.getShopUser
- if (!util.isEmpty(userInfo) && !update) {
- return userInfo
- }
- await getShopUserApi().then((res) => {
- userInfo = res.data
- store.dispatch('setShopUser', userInfo)
- }).catch(() => {
- uni.removeStorageSync('token')
- })
- return userInfo
- }
- /**
- * 获取后台商户用户信息
- * @parmas update为true时会重新触发请求,重置vuex的数据
- */
- export async function getShopInfo(update) {
- let userInfo = store.getters.getUser
- if (!util.isEmpty(userInfo) && !update) {
- return userInfo
- }
- await getShopInfoApi().then((res) => {
- userInfo = res.data
- store.dispatch('setUser', userInfo)
- }).catch(() => {
- uni.removeStorageSync('token')
- })
- return userInfo
- }
- /**
- * 获取登录员工的基本信息
- * @parmas update为true时会重新触发请求,重置vuex的数据
- */
- export async function getSelfInfo(update) {
- let userInfo = store.getters.getSelfUser
- if (!util.isEmpty(userInfo) && !update) {
- return userInfo
- }
- await getStaffApi().then(res => {
- userInfo = res.data
- store.dispatch('setSelfInfo', userInfo)
- }).catch(() => {
- return false
- })
- return userInfo
- }
- /**
- * 微信小程序登录
- * @parmas update为true时会重新触发请求,重置vuex的数据
- */
- export async function wxLoginFn(update) {
- let dataInfo = null
- let loginInfo = store.state.login.loginInfo
- if (!util.isEmpty(loginInfo) && !update) {
- return loginInfo
- }
- return new Promise((resolve,reject) => {
- uni.login({
- provider: 'weixin',
- success: res => {
- uni.setStorageSync('code', res.code)
- postWxCode({ code: res.code }).then(subRes => {
- if (util.isEmpty(subRes)) {
- return false
- }
- var pages = getCurrentPages();
- var page = (pages[pages.length - 1]).route;
- resolve({ redirectPage: page, ...subRes })
- let token = subRes.data.token || '';
- if (util.isEmpty(token)) {
- return false
- }
- uni.setStorageSync('token', subRes.data.token)
- uni.setStorageSync('shopId', subRes.data.admin.currentShopId)
- getDictionaries({ token: subRes.data.token }).then(res => {
- if (util.isEmpty(res)) {
- return false
- }
- store.commit('setDictionariesInfo', { ...res.data.dict, ...res.data })
- store.commit('setMyShopInfo', { ...res.data.shop, ...res.data })
- })
- store.commit('setLoginInfo', { ...subRes.data.admin, ...subRes.data })
- //启动更新逻辑 shish 2020.5.18
- if (subRes.data.update == 1) {
- const updateManager = uni.getUpdateManager();
- updateManager.onCheckForUpdate(function(res) {
- // 请求完新版本信息的回调
- if (res.hasUpdate) {
- updateManager.onUpdateReady(function(res2) {
- uni.showModal({
- title: '更新提示',
- content: '发现新版本,请更新应用',
- cancelColor:'#DDDDDD',
- confirmColor:'#FF0000',
- success(res2) {
- if (res2.confirm) {
- // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
- updateManager.applyUpdate();
- }
- }
- });
- });
- }
- });
-
- updateManager.onUpdateFailed(function(res) {
- // 新的版本下载失败
- uni.showModal({
- title: '提示',
- content: '检查到有新版本,但下载失败,请检查网络连接',
- success(res) {
- if (res.confirm) {
- // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
- updateManager.applyUpdate();
- }
- }
- });
- });
- }
- })
- },
- fail:err=>{
- reject(err)
- }
- })
- })
- }
|