import appApi from '@/sheep/api/app'; 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: '', // 版本号 cdnurl: '', // 云存储域名 filesystem: '', // 云存储平台 user_protocol: {}, // 用户协议 privacy_protocol: {}, // 隐私协议 about_us: {}, // 关于我们 copyright: '', // 版权信息 I copytime: '', // 版权信息 II }, platform: { payment: [], // 支持的支付方式 share: { methods: [], // 支持的分享方式 forwardInfo: {}, // 默认转发信息 posterInfo: {}, // 海报信息 linkAddress: '', // 复制链接地址 }, auto_login: 0, // 自动登陆 bind_mobile: 0, // 登陆后绑定手机号提醒 (弱提醒,可手动关闭) }, chat: {}, template: { // 店铺装修模板 basic: {}, // 基本信息 home: { // 首页模板 style: {}, data: [], }, user: { // 个人中心模板 style: {}, data: [], }, }, shareInfo: {}, // 全局分享信息 }), actions: { // 获取Shopro应用配置和模板 async init(templateId = null) { //检查网络 const networkStatus = await $platform.checkNetwork(); if (!networkStatus) { $router.error('NetworkError'); } const res = await appApi.init(templateId); if (res.code === 1) { this.info = res.data.app; this.platform = res.data.platform; this.template = res.data.template; if (!res.data.template) { $router.error('TemplateError'); } this.chat = res.data.chat; // 加载主题 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', }, ], }, }); export default app;