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