import Taro from "@tarojs/taro"; globalThis.app = { appName: "",//小程序名称 apiUrl: "https://test-distribution-api.zanxiangnet.com",//接口地址头部 appId: "",//当前小程序ID system: "",//当前系统环境 showLog: true,//控制台是否打印日志 isLoding: false,//是否显示每次请求的加载loding弹窗 initToken: "",//初始化toekn用于登录时使用 token: "",//登录后的token tokenValid:false,//token是否有效,有效才放行请求,否则重新登录 appInfo: null,//初始化 proVersion: "", payVersion: "", iosShowPay: true, envVersion: "develop", payData: null, enumDictList: null, } type ConfigParamList = {} export interface AppInfo { appCategory: 1 | 2,//1长篇 2短篇 appName: string,//小程序名称 appVersion: string,//小程序版本 configParamList: ConfigParamList[],//小程序配置 distributorId: 1,//分销商ID enabled: true,//启用状态 homePage: string,//主页路径 id: 4,// wechatAppId: string,//小程序ID appPageComponentList: AppPageComponent[],//组件配置 appRechargeTemplateList: RechargeTemplate[],//支付模板 } interface RechargeTemplate { templateDescription: string,//模板描述 templateName: string,//模板名称 templateType: 1 | 2,//模板类型 1书币 2vip remark: string,//备注 appType: 1 | 2,//1微信 2抖音 id: number, activateTemplate: boolean,//激活 rechargeConfigs: { firstRecharge: boolean,//是否是首充档位 rechargeConfigList: Config[],// }[] } interface Config { color: boolean,//背景色 description: string,//整数购买文案 extra: string,//右上角描述值 gearType: 1 | 2,//充值类型 1书币 2 vip gift: string,//赠送 obtain: string,//获得书币/vip每天价格 price: number,//价格 subscript: string,//右上角文案 首充|超值等 vipDays: number,//vip天数 } interface AppPageComponent { pageName: string,//页面名称 pagePath: string,//页面路径 id: number,//组件ID sharePicUrl: string,//分享图 shareTitles: string,//分享标题 pageDesc: string,//页面描述 appComponentListVOS: { workDirection: 0 | 1,//男频女频 appComponentListVOS: AppComponent[] }[] } interface AppComponent { componentType: "banners" | "hot_books" | "hot_category", id: number } export interface App { appName?: string;//小程序名称 apiUrl?: string;//接口地址头部 appId?: string;//当前小程序ID system?: string,//当前系统环境 showLog?: boolean,//控制台是否打印日志 isLoding?: boolean,//是否显示每次请求的加载loding弹窗 initToken?: string,//初始化toekn用于登录时使用 token?: string,//登录后的token pathParams?: any,//路径参数 userInfo?: any /**app初始化信息*/ appInfo?: AppInfo | null, /**当前小程序线上版本*/ proVersion: string, /**当前小程序支付版本*/ payVersion: string, /**ios是否展示支付*/ iosShowPay: boolean, /**支付数据*/ payData: any, /**枚举*/ enumDictList: any /**小程序环境*/ envVersion: "develop" | "trial" | "release", tokenValid:boolean } export interface SetApp { appName?: string;//小程序名称 apiUrl?: string;//接口地址头部 appId?: string;//当前小程序ID system?: string,//当前系统环境 showLog?: boolean,//控制台是否打印日志 isLoding?: boolean,//是否显示每次请求的加载loding弹窗 initToken?: string,//初始化toekn用于登录时使用 token?: string,//登录后的token pathParams?: any,//路径参数 userInfo?: any /**app初始化信息*/ appInfo?: AppInfo, /**当前小程序线上版本*/ proVersion?: string, /**当前小程序支付版本*/ payVersion?: string, /**ios是否展示支付*/ iosShowPay?: boolean, /**支付数据*/ payData?: any, /**枚举*/ enumDictList?: any, /**小程序环境*/ envVersion?: "develop" | "trial" | "release", tokenValid?:boolean } // // 定义全局日志函数 globalThis.log = app.showLog ? console.log : () => { }; /** * 传入参数设置全局变量(进入APP后固定不变的参数,并存入到本地) */ export function setApp(props?: SetApp) { // log("初始化设置APP关键固定参数===>", props) if (props) { Object.keys(props).forEach((key) => { globalThis.app[key] = props[key] }) } // log("app====>",app) Taro.setStorageSync("app", app) } /** * 初始化app全局变量 * */ export function initApp() { // log("初始化app全局变量") app = Taro.getStorageSync("app") || app }