| 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;
 
 
  |