| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- import Vue from 'vue'
- import Vuex from 'vuex'
- import Http from '../common/js/http.js'
- Vue.use(Vuex)
- const store = new Vuex.Store({
- state: {
- rootSize: '100px',
- first: 0,
- second: -1,
- third: -1,
- currRoute: '',
- siteInfo: null,
- memberInfo: null,
- pendOrderNum: 0,
- storeInfo: null,
- userInfo: null,
- addon: [],
- menu: [],
- defaultImg: {
- goods: '',
- head: '',
- store: '',
- article: ''
- },
- },
- mutations: {
- setRootSize(state, value) {
- state.rootSize = value;
- },
- setMemuIndex(state, value) {
- state[value.level] = value.index;
- },
- setCurrRoute(state, value) {
- state.currRoute = value;
- },
- setSiteInfo(state, value) {
- state.siteInfo = value;
- },
- setMemberInfo(state, value) {
- state.memberInfo = value;
- },
- setPendOrderNum(state, value) {
- state.pendOrderNum = value;
- },
- setStoreInfo(state, value) {
- state.storeInfo = value;
- uni.setStorageSync('store_info', value);
- },
- setAddon(state, value) {
- state.addon = value;
- },
- setUserInfo(state, value) {
- state.userInfo = value;
- },
- setMenu(state, value) {
- state.menu = value;
- },
- setDefaultImg(state, value) {
- uni.setStorageSync('default_img', value)
- state.defaultImg = value;
- },
- },
- actions: {
- getSiteInfo() {
- Http.sendRequest({
- url: '/siteapi/site/info',
- success: res => {
- if (res.code == 0) {
- this.commit('setSiteInfo', res.data)
- }
- }
- })
- },
- getStoreInfo(state, params) {
- Http.sendRequest({
- url: '/cashier/storeapi/store/info',
- success: res => {
- if (res.code == 0) {
- if (res.data && res.data.status == 0) {
- uni.navigateTo({
- url: '/pages/store/close'
- });
- return;
- }
- this.commit('setStoreInfo', res.data);
- if (params && params.callback) params.callback();
- }
- }
- })
- },
- getAddonIsExit() {
- Http.sendRequest({
- url: '/storeapi/addon/addonisexit',
- success: res => {
- if (res.code == 0) {
- this.commit('setAddon', res.data)
- }
- }
- })
- },
- getUserInfo() {
- Http.sendRequest({
- url: '/cashier/storeapi/user/userinfo',
- success: res => {
- if (res.code == 0) {
- this.commit('setUserInfo', res.data)
- }
- }
- })
- },
- getUserGroup() {
- Http.sendRequest({
- url: '/cashier/storeapi/user/usergroupauth',
- success: res => {
- if (res.code == 0) {
- if (res.code == 0 && res.data) {
- let menu = require('@/common/menu/store.js').default ?? [];
- let addon = this.state.addon;
- const checkAuth = function(menu, auth) {
- let newMenu = [];
- menu.map(item => {
- if (item.children) {
- item.children = checkAuth(item.children, auth);
- }
- if (item.addon && addon.indexOf(item.addon) == -1)
- return;
- if (item.name && !res.data.is_admin && auth
- .length && auth.indexOf(item.name) == -1)
- return;
- newMenu.push(item);
- })
- return newMenu;
- }
- menu = checkAuth(JSON.parse(JSON.stringify(menu)), res.data.menu_array ?
- res.data.menu_array.split(',') : []);
- this.commit('setMenu', menu);
- }
- }
- }
- })
- },
- getDefautlImg() {
- Http.sendRequest({
- url: '/api/config/defaultimg',
- success: res => {
- if (res.code == 0) {
- this.commit('setDefaultImg', res.data)
- }
- }
- })
- },
- }
- })
- export default store
|