config.ts 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. import Taro from "@tarojs/taro";
  2. globalThis.app = {
  3. appName: "",//小程序名称
  4. apiUrl: "https://test-distribution-api.zanxiangnet.com",//接口地址头部
  5. appId: "",//当前小程序ID
  6. system: "",//当前系统环境
  7. showLog: true,//控制台是否打印日志
  8. isLoding: false,//是否显示每次请求的加载loding弹窗
  9. initToken: "",//初始化toekn用于登录时使用
  10. token: "",//登录后的token
  11. tokenValid:false,//token是否有效,有效才放行请求,否则重新登录
  12. appInfo: null,//初始化
  13. proVersion: "",
  14. payVersion: "",
  15. iosShowPay: true,
  16. envVersion: "develop",
  17. payData: null,
  18. enumDictList: null,
  19. }
  20. type ConfigParamList = {}
  21. export interface AppInfo {
  22. appCategory: 1 | 2,//1长篇 2短篇
  23. appName: string,//小程序名称
  24. appVersion: string,//小程序版本
  25. configParamList: ConfigParamList[],//小程序配置
  26. distributorId: 1,//分销商ID
  27. enabled: true,//启用状态
  28. homePage: string,//主页路径
  29. id: 4,//
  30. wechatAppId: string,//小程序ID
  31. appPageComponentList: AppPageComponent[],//组件配置
  32. appRechargeTemplateList: RechargeTemplate[],//支付模板
  33. }
  34. interface RechargeTemplate {
  35. templateDescription: string,//模板描述
  36. templateName: string,//模板名称
  37. templateType: 1 | 2,//模板类型 1书币 2vip
  38. remark: string,//备注
  39. appType: 1 | 2,//1微信 2抖音
  40. id: number,
  41. activateTemplate: boolean,//激活
  42. rechargeConfigs: {
  43. firstRecharge: boolean,//是否是首充档位
  44. rechargeConfigList: Config[],//
  45. }[]
  46. }
  47. interface Config {
  48. color: boolean,//背景色
  49. description: string,//整数购买文案
  50. extra: string,//右上角描述值
  51. gearType: 1 | 2,//充值类型 1书币 2 vip
  52. gift: string,//赠送
  53. obtain: string,//获得书币/vip每天价格
  54. price: number,//价格
  55. subscript: string,//右上角文案 首充|超值等
  56. vipDays: number,//vip天数
  57. }
  58. interface AppPageComponent {
  59. pageName: string,//页面名称
  60. pagePath: string,//页面路径
  61. id: number,//组件ID
  62. sharePicUrl: string,//分享图
  63. shareTitles: string,//分享标题
  64. pageDesc: string,//页面描述
  65. appComponentListVOS: {
  66. workDirection: 0 | 1,//男频女频
  67. appComponentListVOS: AppComponent[]
  68. }[]
  69. }
  70. interface AppComponent {
  71. componentType: "banners" | "hot_books" | "hot_category",
  72. id: number
  73. }
  74. export interface App {
  75. appName?: string;//小程序名称
  76. apiUrl?: string;//接口地址头部
  77. appId?: string;//当前小程序ID
  78. system?: string,//当前系统环境
  79. showLog?: boolean,//控制台是否打印日志
  80. isLoding?: boolean,//是否显示每次请求的加载loding弹窗
  81. initToken?: string,//初始化toekn用于登录时使用
  82. token?: string,//登录后的token
  83. pathParams?: any,//路径参数
  84. userInfo?: any
  85. /**app初始化信息*/
  86. appInfo?: AppInfo | null,
  87. /**当前小程序线上版本*/
  88. proVersion: string,
  89. /**当前小程序支付版本*/
  90. payVersion: string,
  91. /**ios是否展示支付*/
  92. iosShowPay: boolean,
  93. /**支付数据*/
  94. payData: any,
  95. /**枚举*/
  96. enumDictList: any
  97. /**小程序环境*/
  98. envVersion: "develop" | "trial" | "release",
  99. tokenValid:boolean
  100. }
  101. export interface SetApp {
  102. appName?: string;//小程序名称
  103. apiUrl?: string;//接口地址头部
  104. appId?: string;//当前小程序ID
  105. system?: string,//当前系统环境
  106. showLog?: boolean,//控制台是否打印日志
  107. isLoding?: boolean,//是否显示每次请求的加载loding弹窗
  108. initToken?: string,//初始化toekn用于登录时使用
  109. token?: string,//登录后的token
  110. pathParams?: any,//路径参数
  111. userInfo?: any
  112. /**app初始化信息*/
  113. appInfo?: AppInfo,
  114. /**当前小程序线上版本*/
  115. proVersion?: string,
  116. /**当前小程序支付版本*/
  117. payVersion?: string,
  118. /**ios是否展示支付*/
  119. iosShowPay?: boolean,
  120. /**支付数据*/
  121. payData?: any,
  122. /**枚举*/
  123. enumDictList?: any,
  124. /**小程序环境*/
  125. envVersion?: "develop" | "trial" | "release",
  126. tokenValid?:boolean
  127. }
  128. // // 定义全局日志函数
  129. globalThis.log = app.showLog ? console.log : () => { };
  130. /**
  131. * 传入参数设置全局变量(进入APP后固定不变的参数,并存入到本地)
  132. */
  133. export function setApp(props?: SetApp) {
  134. // log("初始化设置APP关键固定参数===>", props)
  135. if (props) {
  136. Object.keys(props).forEach((key) => {
  137. globalThis.app[key] = props[key]
  138. })
  139. }
  140. // log("app====>",app)
  141. Taro.setStorageSync("app", app)
  142. }
  143. /**
  144. * 初始化app全局变量
  145. * */
  146. export function initApp() {
  147. // log("初始化app全局变量")
  148. app = Taro.getStorageSync("app") || app
  149. }