线下陪玩导游系统软件源码,家政预约服务源码(h5+小程序+app)

server/2024/10/17 5:57:30/

游戏陪玩系统源码陪玩小程序源码搭建基于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;



 


http://www.ppmy.cn/server/132409.html

相关文章

学习 Python 的途径

学习 Python 有许多途径,以下是一些常见的学习方法: 1. 阅读官方文档: Python 官方文档是学习和参考 Python 的权威资源,详细介绍了 Python 的语法、标准库、以及各种高级特性。文档包含教程、语言参考和库参考等内容。 - [Python 官方文档](https://docs.python.org/z…

基于SpringBoot的宇宙动漫网站系统【附源码】

基于SpringBoot的宇宙动漫网站系统 效果如下&#xff1a; 系统首页界面 用户注册界面 动漫信息页面 公告信息页面 管理员登录主页面 管理员主界面 动漫信息管理界面 订阅信息管理界面 研究背景 随着互联网技术的飞速发展&#xff0c;动漫文化在全球范围内迅速传播&#xff0…

信息与计算科学:“数学 + 计算机”,奏响未来科技新乐章

在当今科技飞速发展的时代&#xff0c;有一个专业如同一颗闪耀的新星&#xff0c;散发着独特的魅力&#xff0c;那就是信息与计算科学专业。 一、专业全貌&#xff1a;追根溯源&#xff0c;领略交叉之美 &#xff08;一&#xff09;专业的诞生与发展 1998 年&#xff0c;教育…

Android Jetpack Compose中UI刷新的几种方式

Android Jetpack Compose中UI刷新的几种方式 在 Jetpack Compose 中,如果你想强制刷新 UI,可以使用 remember 和 mutableStateOf 来创建一个可观察的状态。当这个状态变化时,Compose 会自动重组 UI。以下是一些常见的方法来实现这一点: 1. 使用 mutableStateOf 你可以使…

Redis学习笔记:跳跃表

概述 跳跃表&#xff08;skiplist&#xff09;是一种有序数据结构。相比于普通的链表访问元素需要一步一步的向后查找&#xff0c;它通过在每个节点中维持多个指向其他节点的指针&#xff0c;从而达到快速访问节点的目的。跳跃表支持平均O(logN)、最坏O(N)复杂度的节点查找。R…

【无人机设计与控制】差异化创意搜索DCS求解无人机路径规划MATLAB

摘要 差异化创意搜索算法&#xff08;DCS&#xff09;是一种用于解决复杂优化问题的启发式算法&#xff0c;广泛应用于路径规划、机器学习和智能控制等领域。在本研究中&#xff0c;将 DCS 应用于无人机路径规划&#xff0c;以找到最佳路径并避免碰撞障碍物。实验结果表明&…

[LeetCode] 217. 存在重复元素

题目描述&#xff1a; 给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 &#xff0c;返回 true &#xff1b;如果数组中每个元素互不相同&#xff0c;返回 false 。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3,1] 输出&#xff1a;true 解释&#xff1a; …

单片机输出方波

从P1.0上输出一个方波,高电平5ms&#xff0c;低电平10ms. &#xff03;include〈reg51。h〉 unsigned char flag; sbit outP1^0&#xff1b; void main() &#xff5b; flag0&#xff1b; TMOD0X02; TH06&#xff1b; TL06; TR01&#xff1b; EA1&#xff1b; ET0…