| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 | import DiyApi from '@/sheep/api/promotion/diy';import {	defineStore} from 'pinia';import $platform from '@/sheep/platform';import $router from '@/sheep/router';import user from './user';import sys from './sys';const app = defineStore({	id: 'app',	state: () => ({		info: {			// 应用信息			name: '', // 商城名称			logo: '', // logo			version: '', // 版本号			copyright: '', // 版权信息 I			copytime: '', // 版权信息 II			cdnurl: '', // 云存储域名			filesystem: '', // 云存储平台		},		platform: {			share: {				methods: [], // 支持的分享方式				forwardInfo: {}, // 默认转发信息				posterInfo: {}, // 海报信息				linkAddress: '', // 复制链接地址			},			bind_mobile: 0, // 登陆后绑定手机号提醒 (弱提醒,可手动关闭)		},		chat: {},		template: {			// 店铺装修模板			basic: {}, // 基本信息			home: {				// 首页模板				style: {},				data: [],			},			user: {				// 个人中心模板				style: {},				data: [],			},		},		shareInfo: {}, // 全局分享信息		has_wechat_trade_managed: 0 // 小程序发货信息管理  0 没有 || 1 有	}),	actions: {		// 获取Shopro应用配置和模板		async init(templateId = null) {			// 检查网络			const networkStatus = await $platform.checkNetwork();			if (!networkStatus) {				$router.error('NetworkError');			}			// 加载装修配置			await adaptTemplate(this.template, templateId)			// TODO 芋艿:未来支持管理后台可配;对应			if (true) {				this.info = {					name: '常来此购',					logo: '/static/zxlogo.png',					version: '1.1.13',					copyright: '全部开源,个人与企业可 100% 免费使用',					copytime: 'Copyright© 2018-2024',					cdnurl: 'https://file.sheepjs.com', // 云存储域名					filesystem: 'qcloud', // 云存储平台				};				this.platform = {					share: {						methods: ["poster", "link"],						// linkAddress: "http://localhost/#/", //跳转链接 						linkAddress: import.meta.env.SHOPRO_BASE_URL+'/#/', //跳转链接 						posterInfo: {							"user_bg": "/static/user-poster-bg.jpg",							"goods_bg": "/static/user-poster-bg.jpg",							"groupon_bg": "/static/img/shop/config/groupon-poster-bg.png"						}					},					bind_mobile: 0				};				this.chat = {					chat_domain: "https://api.shopro.sheepjs.com/chat",					room_id: "admin"				}				this.has_wechat_trade_managed = 0;				// 加载主题				const sysStore = sys();				sysStore.setTheme();				// 模拟用户登录				const userStore = user();				if (userStore.isLogin) {					userStore.loginAfter();				}				return Promise.resolve(true);			} else {				$router.error('InitError', res.msg || '加载失败');			}		},	},	persist: {		enabled: true,		strategies: [{			key: 'app-store',		}, ],	},});// todo: @owen 先做数据适配,后期重构const adaptTemplate = async (appTemplate, templateId) => {	const {		data: diyTemplate	} = templateId		// 查询指定模板,一般是预览时使用		?		await DiyApi.getDiyTemplate(templateId) :		await DiyApi.getUsedDiyTemplate();	// 模板不存在	if (!diyTemplate) {		$router.error('TemplateError');		return	}	const tabBar = diyTemplate?.property?.tabBar;	if (tabBar) {		appTemplate.basic.tabbar = tabBar		if (tabBar?.theme) {			appTemplate.basic.theme = tabBar?.theme;		}	}		appTemplate.home = diyTemplate?.home;	appTemplate.user = diyTemplate?.user;	}export default app;
 |