CommonConstants.ets 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  1. /*
  2. * Copyright (c) 2023 Huawei Device Co., Ltd.
  3. * Licensed under the Apache License, Version 2.0 (the "License");
  4. * you may not use this file except in compliance with the License.
  5. * You may obtain a copy of the License at
  6. *
  7. * http://www.apache.org/licenses/LICENSE-2.0
  8. *
  9. * Unless required by applicable law or agreed to in writing, software
  10. * distributed under the License is distributed on an "AS IS" BASIS,
  11. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. * See the License for the specific language governing permissions and
  13. * limitations under the License.
  14. */
  15. import { SettingPage } from '../../pages/SettingPage';
  16. export const STR_LOCK_VIDEO: string = '.私密音频';
  17. export const STR_FAC_VIDEO: string = '.我的收藏';
  18. export const STR_HISTORY_MUSIC: string = '.最近播放';
  19. export const VIP_FILEPATH: string = '.vv'
  20. /**
  21. * Common constants for all features.
  22. */
  23. export class CommonConstants {
  24. static readonly DEFAULT_THEME_COLOR: string = SettingPage.THEME_COLOR_LIST[0].color
  25. static readonly OPEN_DATE: string = '2025-06-10';
  26. static readonly ICP_NO: string = '闽ICP备18015191号-16A';
  27. static readonly ICP_URL: string = 'https://beian.miit.gov.cn/';
  28. static readonly CONTACT_MAIL: string = 'setup1115@foxmail.com';
  29. static readonly NEW_DUTY: string = "http://xgplayer.com/yszc/ttmusic/duty.html";
  30. //huawei的隐私政策
  31. static readonly NEW_YS_HW: string = "http://xgplayer.com/yszc/ttmusic/yszc.html";
  32. static readonly NEW_FIRST: string = "http://xgplayer.com/yszc/ttmusic/first.html";
  33. //会员协议
  34. static readonly NEW_MEMBER_AGREEMENTS: string="http://xgplayer.com/yszc/ttmusic/member.html";
  35. static readonly LRC_API: string = 'https://lrc.ss5.xyz/jsonapi';//https://lrc.ss5.xyz/jsonapi?title=%E7%A8%BB%E9%A6%99&artist=%E5%91%A8%E6%9D%B0%E4%BC%A6
  36. static readonly LRC_API_2: string = 'https://api.lrc.cx/lyrics'
  37. static readonly COVER_API: string = 'https://lrc.ss5.xyz/cover'//https://lrc.ss5.xyz/cover?title=%E5%B1%B1%E6%B0%B4%E4%B9%8B%E9%97%B4&artist=%E8%AE%B8%E5%B5%A9
  38. static readonly COVER_API2: string = 'https://api.lrc.cx/cover'
  39. static readonly PLAY_STORE:string = 'playAppStore'
  40. static readonly VIDEO_LIST: string = 'my_video_list';//本地视频
  41. static readonly FAV_VIDEO_LIST: string = 'fav_video_list';//收藏的视频
  42. static readonly PRIVATE_VIDEO_LIST: string = 'private_video_list';//私密的视频
  43. static readonly MUSIC_LIST: string = 'my_music_list';//本地音乐
  44. static readonly TAG: string = '[UserAuth]';
  45. static readonly MILLISECONDS_TO_SECONDS: number = 1;
  46. static readonly QQ_GROUP: string= "685109858"; // 替换为实际群号
  47. static readonly BREAKPOINT_TYPES: string[] = ['xs', 'sm', 'md', 'lg', 'xl'];
  48. static readonly VIDEO_FORMAT = ['.mp4','.mov','.m4v','.avi','.3gv','.wmv',
  49. '.mkv','.flv','.3g2','.rmvb','.mpg','.webm','.ogv','.f4v','.swf','.srt',
  50. '.vtt','.vob','.3gp','.mpeg','.ts', '.asf','.m2ts','.m4b','.mts','.rm','.wtv' ]
  51. static readonly MEDIA_FORMAT = ['.mp3','.wav','.wma','.mp2','.mov','.flac',
  52. '.midi','.ra','.aac','.ape','.cda','.lrc','.alac','.m4a','.mp4','.wmv','.mkv',
  53. '.3gv','.m4v','.avi','.rmvb','.flv','.3g2','.rmvb','.mpg','.webm','.ogv','.f4v','.swf'
  54. ,'.srt','.dsf','.vob','.3gp','.mpeg','.ts','.ogg','.opus','.wv','.aiff','.amr','.aif','.dff'
  55. ,'.aif','.au','.eac3','.mlp','.tak','.thd','.tta','.wv','.ac3','.amr','.mka','.mpc','.ra','.dts'
  56. , '.asf','.m2ts','.m4b','.mts','.rm','.wtv','.av3a','.dsd','.cue','.iso']
  57. static readonly REAL_MUSIC_FORMAT = ['.mp3','.mp3','.wma','.mp2','.mov','.flac',
  58. '.midi','.ra','.aac','.ape','.cda','.lrc','.alac','.m4a','.ogg','.opus','.wv','.aiff','.amr','.aif','.dff'
  59. ,'.aif','.au','.eac3','.mlp','.tak','.thd','.tta','.wv','.ac3','.amr','.mka','.mpc','.ra',
  60. '.asf','.m2ts','.m4b','.mts','.rm','.wtv','.dts','.av3a','.dsd','.dsf','.wav']
  61. // 图片帧信息常量
  62. static readonly IMAGE_FRAME_INFO: ImageFrameInfo[] = [
  63. { src: $r("app.media.app_loading0") },
  64. { src: $r("app.media.app_loading1") },
  65. { src: $r("app.media.app_loading2") },
  66. { src: $r("app.media.app_loading3") },
  67. ];
  68. // 倍数格式支持列表
  69. public static video_speed_list: number[] = [0.25, 0.5, 0.75, 1, 1.25, 1.5, 1.75, 2, 3]
  70. static readonly SORT_ARRAY = ["按艺术家升序", "按艺术家降序", "按专辑升序", "按专辑降序", "按名称升序", "按名称降序", "按添加时间升序",
  71. "按添加时间降序"]
  72. static readonly PIP_LYRIC_BG = ["音乐封面", "自定义"]
  73. static readonly TWO_FINGER_TYPE = ["小", "中", "大"]
  74. static readonly DEFAULT_LAYOUT = [ "瀑布流模式","列表模式","网格模式"]
  75. static readonly DEFAULT_HOME_TYPE = [ "本地音乐","媒体库","网盘" ,"艺术家","专辑"]
  76. //德本的接口调用微信支付下单接口返回的支付交易会话ID,该值有效期为2小时。
  77. static readonly WX_PAY_API: string = "https://pay.ss5.xyz/wechat/prepay"
  78. //微信支付商务号 剑虾
  79. static readonly WX_PAY_MCHID: string = "1557416681"
  80. //微信支付应用的id
  81. static readonly WX_PAY_APPID: string = "wx263d1c80d204c3c0"
  82. // static readonly OUT_TRADE_NO_PRE: string = "TTJT"
  83. //微信支付的证书序列号id,在账户中心,API安全
  84. static readonly WX_PAY_SERIALNO: string = "60A30CD8E9591C492497DF601456767AE4E09065"
  85. static readonly WX_PAY_RSA_PRIVATE_KEY: string ="-----BEGIN PRIVATE KEY-----\n" +
  86. "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDHS33UIr8lX/Go\n" +
  87. "TI2YR2+5ogKwme3LiiUFCL/Q2RrUoo6bYnqRHZsoGS383+/2KSv6Lw1UItGcb0MQ\n" +
  88. "inlJ1MLFZaAaEBXZiOxzIzs6pTwW1NggF9VRJdm/vMMlDVFJBRvrQ2GjFooMD2V+\n" +
  89. "dsXPWfPIzQnTN2HzmjJkKrvJh0uzy9Ydf0Fdn+91QpQCzVigjGBO/wN0pDFjc8JU\n" +
  90. "FNBaT+Ls3kEC4DjKSF15dY82bYmee7HOGt9NfDX6LKOWsoySRMTpUOV8cm/lA7b3\n" +
  91. "E9ASRfByndrfn9Qi6CtE/8P5y+WorU5neeonFdUEiSY5bOjGE+XtLS09uozH6vvu\n" +
  92. "HYm/A9gLAgMBAAECggEBAJ2eXw3/zR1KHF327aWaGgq+z1HM6/0mbNDmco5Cpq21\n" +
  93. "QwQxhq5us9+qymxM0APn3BgqTmhUgWMvu+LBIdv6oXBtR4pVXnKFkDwfiSCAvl1w\n" +
  94. "SN5Y+yUKwoSaTdxoA/m0SLhwui+6C8QuCR9T4G51vhD52ONr0dRQB7qg8ZQZpQ20\n" +
  95. "qvmeBjeFuVc1I1gL0I1VestqhCWY5qQ4UBCkA1nRNFEoeuNI2dwzkkLh1O7kWar2\n" +
  96. "Fk8/80gvdXJO0bVtghKeYGyS77CojjJ8j350Uw3dO3hPSvKNo3nIGe0GkLdifZb+\n" +
  97. "43evNH5eWohXl8njU1FJQa//AlfeIHi62bIv8LjdFkECgYEA7onm0D0/Nr/Ankci\n" +
  98. "WEAy5R9bn+1osNIqH8OB4JK2K+Ev+T4bGY4NWCo4xm/03LYNwQbNlZoJ2xmiaAQW\n" +
  99. "cGBaH2tuPMnPTZztdnwB4s1vMQt4cRBUmTuZ0W6Nx5ZrXNnay4uBytCGBYiUeyYc\n" +
  100. "4s4KB+5ZH31mR3KcVr78uyZL+48CgYEA1eIuMbitm67CMboDOrr1/RkXCxlnJHBr\n" +
  101. "KObZP68ozFTBOeu17IQdtdGHWEe/y3RN2a1PuaN4X19urD2fbn+YciaWECmloPt/\n" +
  102. "nw7n9RTemqEOt5msPhFAG7L199Cc2Fa47z+bISDPnkxBAVzomA//+XNEfnw/ScOm\n" +
  103. "CM8lD1prDcUCgYEAwqd12uif9SV1IbQaqrl4ztBQDKnHjMNz7Ie2LHSMhDI228V6\n" +
  104. "h9gLu654tjYWMyW9A49xpGsXL9wzU35CcWGvKYSZaLGmoUc14EJBp7rMydD6cAlL\n" +
  105. "f9/LHcSBniV5Z0O/7+nf+IlBVLKnt/baC5rnRKGTyMaj+BnmykMAKhiOWLECgYAm\n" +
  106. "7ydtkaq4vlVHbA8Ob947loelU5h8/6HiLjO57g7FM2CBRLE3Ps2RvXSf01/Mj31k\n" +
  107. "dLIgnutYoSyqWgVdvghoLzH9+zbVWTLgJ3x+FrB3AX6GWYkLO2SqJie0VttWXmMH\n" +
  108. "2lJI84oXzNXAg8Mrey4joKIFTGTQ7raYv+yFIPZ/6QKBgQCXomlpUQgCgZLpNItN\n" +
  109. "yNTRfpsufSshemEsaLjmCsHhzdrGeB3O11ZhbyoAtpGEcjGuNW9B1kIx42spLguC\n" +
  110. "BPCHoYG9RhXyxqDIdbqXtpgyChOnS4/kzB2e6JqzbR73qJ/TooYVibSwBzH4L1hs\n" +
  111. "4SETSa+uZyZsJuC3mpra4uztgw==\n" +
  112. "-----END PRIVATE KEY-----"
  113. static readonly LYRIC_FORMAT = ['.lrc']//歌词格式
  114. static readonly VIDEO_SRT_FORMAT = ['.srt']//视频字幕格式
  115. static readonly TYPE_IS_CSJAD: number = 8888;//穿山甲广告
  116. // static readonly pathDir:string = 'file://media//IMG_DATATIME_ID/'
  117. static readonly pathDir:string = 'file://docs/storage/Users/currentUser/'
  118. // static readonly musicBgList = [$r('app.media.ic_avatar10'),
  119. // $r('app.media.ic_avatar2'),$r('app.media.avatar'),
  120. // $r('app.media.ic_avatar4'),$r('app.media.ic_avatar5'),
  121. // $r('app.media.ic_avatar8'),$r('app.media.ic_avatar1'),
  122. // $r('app.media.ic_avatar8'),$r('app.media.ic_avatar9'),$r('app.media.ic_avatar10')
  123. // ]
  124. /**
  125. * Full percent.
  126. */
  127. static readonly FULL_PERCENT: string = '100%';
  128. /**
  129. * Ninety percent.
  130. */
  131. static readonly NINETY_PERCENT: string = '80%';
  132. /**
  133. * Fifty percent.
  134. */
  135. static readonly FIFTY_PERCENT: string = '50%';
  136. /**
  137. * Playback page path.
  138. */
  139. static readonly PAGE: string = 'pages/PlayPage';
  140. static readonly MUSIC_PAGE: string = 'pages/MSPlayPage';
  141. static readonly TYPE_IS_DIR: number = 999;//文件夹
  142. static readonly TYPE_IS_ARTIST: number = 998;//艺术家
  143. static readonly TYPE_IS_ALBUM: number = 997;//艺术家
  144. /**
  145. * Local video ID.
  146. */
  147. static readonly TYPE_LOCAL: number = 0;//本地视频
  148. /**
  149. * Network video ID.
  150. */
  151. static readonly TYPE_INTERNET: number = 1;//网络视频
  152. static readonly TYPE_WEBDAV: number = 3;//webdav文件
  153. static readonly TYPE_SMB: number = 4;//SMB文件
  154. static readonly TYPE_NAVIDROME: number = 5;//Navidrome流媒体文件
  155. static readonly TYPE_FTP: number = 6;//FTP文件
  156. static readonly TYPE_BAIDU: number = 7;//百度网盘文件
  157. static readonly TYPE_JELLYFIN: number = 8;//Jellyfin流媒体文件
  158. static readonly TYPE_EMBY: number = 9;//Emby流媒体文件
  159. static readonly TYPE_AUDIOSTATION: number = 10;//AudioStation流媒体文件
  160. static readonly TYPE_PLEX: number = 11;//Plex流媒体文件
  161. static readonly TYPE_DAOLIYU: number = 12;//道理鱼流媒体文件
  162. static readonly TYPE_LOCK: number = 200;//私密视频
  163. static readonly TYPE_LIKE: number = 201;//我收藏的视频
  164. /**
  165. * Network video ID.
  166. */
  167. static readonly TYPE_VIDEO_FAV: number = 2;//我的收藏
  168. /**
  169. * Start playing.
  170. */
  171. static readonly STATUS_START: number = 1;
  172. /**
  173. * Playing Pause.
  174. */
  175. static readonly STATUS_PAUSE: number = 2;
  176. /**
  177. * Stop Playing.
  178. */
  179. static readonly STATUS_STOP: number = 3;
  180. /**
  181. * Width-height ratio.
  182. */
  183. static readonly ASPECT_RATIO: number = 1;
  184. /**
  185. * One hundred.
  186. */
  187. static readonly ONE_HUNDRED: number = 100;
  188. /**
  189. * A thousand.
  190. */
  191. static readonly A_THOUSAND: number = 1000;
  192. /**
  193. * time system, Hour-minute-second conversion.
  194. */
  195. static readonly TIME_UNIT: number = 60;
  196. /**
  197. * Initial Time UNIT.
  198. */
  199. static readonly INITIAL_TIME_UNIT: string = '00';
  200. /**
  201. * Zero padding, 2 bits.
  202. */
  203. static readonly PADDING_LENGTH: number = 2;
  204. /**
  205. * String zero padding.
  206. */
  207. static readonly PADDING_STR: string = '0';
  208. /**
  209. * Breath screen status.
  210. */
  211. static readonly SCREEN_OFF: string = 'usual.event.SCREEN_OFF';
  212. /**
  213. * Operation status of video player 4.
  214. */
  215. static readonly OPERATE_STATE: Array<string> = ['prepared', 'playing', 'paused', 'completed'];
  216. }
  217. /**
  218. * Player component status.
  219. */
  220. export enum AvplayerStatus {
  221. IDLE = 'idle',
  222. INITIALIZED = 'initialized',
  223. PREPARED = 'prepared',
  224. PLAYING = 'playing',
  225. PAUSED = 'paused',
  226. COMPLETED = 'completed',
  227. STOPPED = 'stopped',
  228. RELEASED = 'released',
  229. ERROR = 'error'
  230. }
  231. /**
  232. * AVPlayer binding event.
  233. */
  234. export enum Events {
  235. STATE_CHANGE = 'stateChange',
  236. TIME_UPDATE = 'timeUpdate',
  237. ERROR = 'error'
  238. }
  239. /**
  240. * Slider mode.
  241. */
  242. export enum SliderMode {
  243. MOVING = 1,
  244. END = 2,
  245. CLICK = 3
  246. }