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

游戏陪玩系统源码陪玩小程序源码搭建基于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: '', // 全局的token
		refreshCurrentPage: false, // 登录返回后重新刷新页面
		backIconTop: 26, // 详情页返回上一页的左上角图标距离顶部的位置
		// #ifdef H5
		browserIsWx: false, // 当前环境是否是基于公众号微信浏览器 是微信浏览器 true;   不是微信浏览器 false
		// #endif

		// #ifdef APP-PLUS
		appenv: '', // 当前运行环境 安卓 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 = 1
			let nameArr = payload.name.split('.')
			let saveKey = ''
			let len = nameArr.length
			if (len >= 2) {
				let obj = state[nameArr[0]]
				for (let i = 1; i < len - 1; i++) {
					obj = obj[nameArr[i]]
				}
				obj[nameArr[len - 1]] = payload.value
				saveKey = nameArr[0]
			} else {
				// 单层级变量
				state[payload.name] = payload.value
				saveKey = 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;



 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/892430.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【实战项目】——Boost搜索引擎(五万字)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、项目的相关背景 1.1、什么是Boost库&#xff1f; 1.2、什么是搜索引擎&#xff1f; 1.3、为什么要做Boost库搜索引擎&#xff1f; 二、搜索引擎的宏观原…

大数据开发电脑千元配置清单

大数据开发电脑配置清单 电脑型号HUANANZHI 台式电脑操作系统Windows 11 专业版 64位&#xff08;Version 23H2 / DirectX 12&#xff09;处理器英特尔 Xeon(至强) E5-2673 v3 2.40GHz主板HUANANZHI X99-P4T&#xff08;P55 芯片组&#xff09;显卡NVIDIA GeForce GT 610 ( 2…

负载均衡和反向代理区别和nginx负载均衡模块

目录 负载均衡和反向代理区别 相似之处&#xff1a; 区别&#xff1a; 负载均衡和反向代理使用什么服务 nginx的负载均衡模块 ​编辑 负载均衡和反向代理区别 相似之处&#xff1a; 请求分发&#xff1a;两者都可以将客户端的请求分发到多个后端服务器&#xff0c;以提…

【AI绘画】Midjourney进阶:留白构图详解

博客主页&#xff1a; [小ᶻZ࿆] 本文专栏: AI绘画 | Midjourney 文章目录 &#x1f4af;前言&#x1f4af;什么是构图为什么Midjourney要使用构图 &#x1f4af;留白构图特点使用场景提示词书写技巧测试 &#x1f4af;小结 &#x1f4af;前言 【AI绘画】Midjourney进阶&…

Java后端面试题:JVM篇

目录 1. 什么是JVM&#xff1f; 2. 请你介绍JVM的整体结构 3. 了解过字节码文件的组成吗&#xff1f; 4. 说一下运行时数据区&#xff08;介绍一下JVM内存模型&#xff09;。 5. 哪些区域会出现内存溢出&#xff0c;会有什么现象&#xff1f; 6. 请你说说类的生命周期。 …

AD9361 的 TX 输出中添加前置放大器,并在 RX 输入中添加 LNA。

AD9361 的 TX 输出中添加前置放大器&#xff0c;并在 RX 输入中添加 LNA。 https://www.analog.com/en/resources/evaluation-hardware-and-software/evaluation-boards-kits/AD-TRXBOOST1-EBZ.html https://wiki.analog.com/resources/eval/user-guides/ad-trxboost1-ebz/in…

QT--文本框 QLineEdit、qtextedit

在Qt中&#xff0c;文本框&#xff08;QLineEdit 或 QTextEdit&#xff09;和标签&#xff08;QLabel&#xff09;是两种不同的部件&#xff08;widget&#xff09;&#xff0c;它们的主要区别在于用途和功能&#xff1a; QLabel&#xff08;标签&#xff09; 用途&#xff1…

PythonExcel批量pingIP地址

问题&#xff1a; 作为一个电气工程师&#xff08;PLC&#xff09;&#xff0c;当设备掉线的时候&#xff0c;需要用ping工具来检查网线物理层是否可靠连接&#xff0c;当项目体量过大时&#xff0c;就不能一个手动输入命令了。 解决方案一&#xff1a; 使用CMD命令 for /L %…

算法.图论-BFS及其拓展

文章目录 广度优先搜索简介经典bfs习题地图分析贴纸拼词 01bfs解析基本过程相关习题 广度优先搜索简介 bfs的特点是逐层扩散, 从源头到目标点扩散了几层, 最短路就是多少 bfs的使用特征是任意两个节点的距离(权值)是相同的(无向图, 矩阵天然满足这一特点) bfs开始的时候可以是…

树莓派应用--AI项目实战篇来啦-10.OpenCV进行车牌检测

1. 介绍 本项目使用 esseract、OpenCV和Python探索光学字符识别&#xff08;OCR&#xff09;的神奇世界&#xff0c;本项目将 带你了解最受欢迎的OCR引擎 Tesseract 背后的技术&#xff0c;以及如何用 Pytesseract 和 OpenCV实现字符识别。 从图像中检测字符的技术称为…

图(Java语言实现)

一、图的概念 顶点&#xff08;Vertex&#xff09;&#xff1a;图中的数据元素&#xff0c;我们称之为顶点&#xff0c;图至少有一个顶点&#xff08;非空有穷集合&#xff09;。 边&#xff08;Edge&#xff09;&#xff1a;顶点之间的关系用边表示。 1.图&#xff08;Graph…

Python Django 数据库优化与性能调优

Python Django 数据库优化与性能调优 Django 是一个非常流行的 Python Web 框架&#xff0c;它的 ORM&#xff08;对象关系映射&#xff09;允许开发者以简单且直观的方式操作数据库。然而&#xff0c;随着数据量的增长&#xff0c;数据库操作的效率可能会成为瓶颈&#xff0c…

如何在Ubuntu上更改MySQL数据存储路径

文章目录 0 背景1 备份现有数据库数据2 停止 MySQL 服务3 复制现有的 MySQL 数据到新目录4 修改 MySQL 配置文件5 更新 AppArmor 或 SELinux 配置&#xff08;如有启用&#xff09;6. 修改 MySQL 系统文件中的 datadir7. 启动 MySQL 服务8. 验证更改参考资料 0 背景 在原先划分…

股市入门常见术语介绍

鉴于最近行情讨论火热&#xff0c;我也想借此平台&#xff0c;结合我大学时期身边同学老师的投资经历&#xff0c;写一篇交易入门术语简介。内容不多但是足以达到科普之用。 ​ 希望大家能谨慎对待投资&#xff0c;始终保持谦虚学习的态度。不要迷失在瞬息万变的金融市场&…

webstorm 编辑器配置及配置迁移

1.下载地址 WebStorm&#xff1a;JetBrains 出品的 JavaScript 和 TypeScript IDE 其他版本下载地址 2.安装 点击下一步安装&#xff0c;可根据需要是否删除已有版本 注意&#xff1a; 完成安装后需要激活 3.设置快捷键 以下为个人常用可跳过或根据需要设置 如&#xff1a…

满级抗摔续航王者,荣耀X60系列发布,起步价仅1199元

10月16日&#xff0c;荣耀X60系列暨荣耀平板新品发布会正式举办&#xff0c;荣耀X60 Pro、荣耀X60以及荣耀平板GT Pro、荣耀亲选耳机LCHSE X7e、荣耀亲选WhizKid儿童手表2 Pro等新品悉数亮相。其中&#xff0c;荣耀X60 Pro首次搭载6600mAh最大青海湖电池、绿洲护眼屏、双向北斗…

pta-7-6 学生类设计

题目要求&#xff1a; 设计一个类Student&#xff0c;并在Main类中生成Student类对象进行测试 1.对于Student类&#xff0c;设计私有属性name和age&#xff0c;并为每一个成员变量name和age设计其setXXX&#xff08;&#xff09;和getXXX&#xff08;&#xff09;方法,并对于s…

GPT-SOVIT模型部署指南

一、模型介绍 强大的小样本语音转换和文本转语音 WebUI。 具有以下特征&#xff1a; 零样本 TTS&#xff1a; 输入 5 秒的声音样本并体验即时文本到语音的转换。少量样本 TTS&#xff1a; 仅使用 1 分钟的训练数据对模型进行微调&#xff0c;以提高语音相似度和真实感。跨语…

【Oracle数据库进阶】001.SQL基础查询_查询语句

课 程 推 荐我 的 个 人 主 页&#xff1a;&#x1f449;&#x1f449; 失心疯的个人主页 &#x1f448;&#x1f448;入 门 教 程 推 荐 &#xff1a;&#x1f449;&#x1f449; Python零基础入门教程合集 &#x1f448;&#x1f448;虚 拟 环 境 搭 建 &#xff1a;&#x1…

2023年五一杯数学建模C题双碳目标下低碳建筑研究求解全过程论文及程序

2023年五一杯数学建模 C题 双碳目标下低碳建筑研究 原题再现&#xff1a; “双碳”即碳达峰与碳中和的简称&#xff0c;我国力争2030年前实现碳达峰&#xff0c;2060年前实现碳中和。“双碳”战略倡导绿色、环保、低碳的生活方式。我国加快降低碳排放步伐&#xff0c;大力推进…