游戏陪玩系统源码陪玩小程序源码搭建基于PHP+MySQL陪玩系统app源码陪玩系统定制开发服务、成品陪玩系统源码
系统基于Nginx或者Apache PHP7.3 数据库mysql5.6
前端为uniapp-vue2.0 后端为thinkphp6
有域名授权加密,其他开源可二开
演示源码下载
开源bbs和圈子社区系统圈子社区论坛交友分享系统 小程序
import Vue from 'vue'
import Vuex from 'vuex'import {checkTypeFn,assertObject,cloneFn
} from '@/tools/tools'// 站点域名
import {host,} from '@/siteinfo.js'
import userInfo from './user-info';///原始//let lifeData = {}// 尝试获取本地是否存在lifeData变量,第一次启动时不存在
try {lifeData = uni.getStorageSync('lifeData')
} catch (e) {}// 标记需要永久存储的变量,在每次启动时取出,在state中的变量名
let saveStateKeys = ['vuex_user']// 保存变量到本地存储
const saveLifeData = function(key, value) {// 判断变量是否在存储数组中if (saveStateKeys.indexOf(key) != -1) {// 获取本地存储的lifeData对象,将变量添加到对象中let tmpLifeData = uni.getStorageSync('lifeData')// 第一次启动时不存在,则放一个空对象tmpLifeData = tmpLifeData ? tmpLifeData : {},tmpLifeData[key] = value// 将变量再次放回本地存储中uni.setStorageSync('lifeData', tmpLifeData)}
}Vue.use(Vuex);
const store = new Vuex.Store({modules: {userInfo},state: {my_money:0,my_score:0,appStaticPath: '', // 设置程序里使用的静态图片路径 (永远不换的图片)configInfo: {}, // 全局的设置数据MenuList: [], // tab-bar 的数据isiPhoneX: false, // 是否iphonx homeTemplateIdList: [], // 首页的模板消息id字符串 数组homeTemplateIdSettingFlag: true, // 设置过 允许并且 不再提示globalMainSwitch: false, // 小程序设置里 允许发送发送模板消息的 设置defaultHomeToastModalStatus: true, // 默认首页 弹出 确认 权限的 模态框isUserCloneFlag: false, // 是否是 用户 手动关闭的token: '', // 全局的tokenrefreshCurrentPage: false, // 登录返回后重新刷新页面backIconTop: 26, // 详情页返回上一页的左上角图标距离顶部的位置// #ifdef H5browserIsWx: false, // 当前环境是否是基于公众号微信浏览器 是微信浏览器 true; 不是微信浏览器 false// #endif// #ifdef APP-PLUSappenv: '', // 当前运行环境 安卓 or 苹果// #endif// 如果上面从本地获取的lifeData对象下有对应的属性,就赋值给state中对应的变量// 加上vuex_前缀,是防止变量名冲突,也让人一目了然vuex_user: lifeData.vuex_user ? lifeData.vuex_user : {name: '图鸟'},// 如果vuex_version无需保存到本地永久存储,无需lifeData.vuex_version方式// app版本vuex_version: "1.0.0",// 是否使用自定义导航栏vuex_custom_nav_bar: true,// 状态栏高度vuex_status_bar_height: 0,// 自定义导航栏的高度vuex_custom_bar_height: 0},mutations: {$tStore(state, payload) {// 判断是否多层调用,state中为对象存在的情况,例如user.info.score = 1let nameArr = payload.name.split('.')let saveKey = ''let len = nameArr.lengthif (len >= 2) {let obj = state[nameArr[0]]for (let i = 1; i < len - 1; i++) {obj = obj[nameArr[i]]}obj[nameArr[len - 1]] = payload.valuesaveKey = nameArr[0]} else {// 单层级变量state[payload.name] = payload.valuesaveKey = payload.name}// 保存变量到本地中saveLifeData(saveKey, state[saveKey])},setmoney(store, huobi) {store.my_money = huobi;},setsore(store, jifen) {store.my_score = jifen;},// 赋值 给token 值setToken(store, tokenStr) {store.token = tokenStr;},// 设置程序里使用的静态图片路径 (永远不换的图片)setAppStaticPath(store) {store.appStaticPath = `${host}/wx-image`;},// 赋值 全局的设置数据setConfigInfo(store, configInfo) {store.configInfo = configInfo},// 赋值 tab-bar 的数据setMenuList(store, arg) {store.MenuList = arg;},// 赋值 是否iphonx setIsiPhoneX(store, bool) {store.isiPhoneX = bool;},// 设置发送优惠券模板id 数组setHomeTemplateIdList(store, list) {store.homeTemplateIdList = list;},// 设置首页模板消息id 是否被永久 允许了setHomeTemplateIdSettingFlag(store, bool) {store.homeTemplateIdSettingFlag = bool;},// 赋值 小程序设置里 允许发送发送模板消息的 设置setGlobalMainSwitch(store, bool) {store.globalMainSwitch = bool;},// 赋值 首页弹框状态setDefaultHomeToastModalStatus(store, bool) {store.defaultHomeToastModalStatus = bool;},// 赋值 是否是用户手动关闭的状态setIsUserCloneFlag(store, bool) {store.isUserCloneFlag = bool;},// 赋值当前页面是否需要刷新setRefreshCurrentPage(store, bool) {store.refreshCurrentPage = bool;},// 赋值 详情页返回上一页的左上角图标距离顶部的距离setBackIconTop(store, height) {store.backIconTop = height},// #ifdef H5// 赋值 当前环境是否是基于公众号微信浏览器setBrowserIsWx(store, flag) {store.browserIsWx = flag},// #endif// 赋值 平台的购买记录数据setBuyHistoryList(store, list) {store.buyHistoryList = list},// #ifdef APP-PLUS// 赋值 给当前运行环境 安卓 or 苹果setAppenv(store, envStr) {store.appenv = envStr},// #endif},actions: {},getters: {/* 返回是否 审核状态true 在审核false 不审核*/miniProgrameCheck(state) {return state.configInfo.mini_program_check == 1;},/*@description 是否开启了会员功能@return <Boolean>true 表示开启了vip功能false 表示关闭了vip功能*/isOpenVipFunc(state) {return state.configInfo.user_vip_card == 1 ? true : false},/* @description 是否打开 全栈搜索功能@return <Boolean>true 表示开启了全栈搜索功能false 表示关闭了全栈搜索功能*/isOpenHomeSearchFunc(state) {return assertObject(state.configInfo).search_is_show == 1 ? true : false}}
})export default store;