张善主

Merge remote-tracking branch 'origin/main'

Showing 59 changed files with 1651 additions and 391 deletions

Too many changes to show.

To preserve performance only 59 of 59+ files are displayed.

@@ -34,8 +34,8 @@ @@ -34,8 +34,8 @@
34 { 34 {
35 "name": "default", 35 "name": "default",
36 "signingConfig": "default", 36 "signingConfig": "default",
37 - "compileSdkVersion": "4.1.0(11)",  
38 - "compatibleSdkVersion": "4.1.0(11)", 37 + "compileSdkVersion": "5.0.0(12)",
  38 + "compatibleSdkVersion": "5.0.0(12)",
39 "runtimeOS": "HarmonyOS", 39 "runtimeOS": "HarmonyOS",
40 } 40 }
41 ], 41 ],
@@ -155,9 +155,15 @@ function buildErrorMsg(httpStatus: number): string { @@ -155,9 +155,15 @@ function buildErrorMsg(httpStatus: number): string {
155 case HttpStatusCode.HttpVersionNotSupported: 155 case HttpStatusCode.HttpVersionNotSupported:
156 message = "HTTP版本不受支持(505)"; 156 message = "HTTP版本不受支持(505)";
157 break; 157 break;
158 - default:  
159 - // 网络连接故障  
160 - message = `连接出错(${httpStatus})!`; 158 + default:{
  159 + // 网络连接故障
  160 + if(httpStatus != undefined){
  161 + message = `连接出错(${httpStatus})!`;
  162 + }else{
  163 + message = `连接出错!`;
  164 + }
  165 + }
  166 +
161 } 167 }
162 return message; 168 return message;
163 } 169 }
@@ -38,6 +38,17 @@ class AppLoginAuthInfo { @@ -38,6 +38,17 @@ class AppLoginAuthInfo {
38 Authorization: string = '' 38 Authorization: string = ''
39 } 39 }
40 40
  41 +interface IDataJson {
  42 + jumpType:number
  43 + jumpUrl:string
  44 + newsId:string
  45 + newsObjectLevel:string
  46 + newsObjectType:number
  47 + newsRelId:string
  48 + newsTitle:string
  49 + pageId:string
  50 +}
  51 +
41 /** 52 /**
42 * h5调用native代码 53 * h5调用native代码
43 * @param data 54 * @param data
@@ -121,6 +132,16 @@ function handleJsCallReceiveH5Data(data: Message) { @@ -121,6 +132,16 @@ function handleJsCallReceiveH5Data(data: Message) {
121 case '5': 132 case '5':
122 ProcessUtils.processPage(JSON.parse(data?.data?.dataJson || '{}')) 133 ProcessUtils.processPage(JSON.parse(data?.data?.dataJson || '{}'))
123 break; 134 break;
  135 + case '6':
  136 + let contentJson: IDataJson = JSON.parse(data?.data?.dataJson || '{}')
  137 + let content: ContentDTO = {
  138 + objectId: contentJson?.newsId,
  139 + relId: contentJson?.newsRelId,
  140 + pageId: contentJson?.pageId,
  141 + objectType: String(contentJson?.newsObjectType)
  142 + } as ContentDTO
  143 + ProcessUtils.processPage(content)
  144 + break;
124 default: 145 default:
125 break; 146 break;
126 } 147 }
@@ -134,7 +155,8 @@ function handleJsCallAppInnerLinkMethod(data: Message) { @@ -134,7 +155,8 @@ function handleJsCallAppInnerLinkMethod(data: Message) {
134 relId: urlParams.get('relId') || '', 155 relId: urlParams.get('relId') || '',
135 relType: urlParams.get('relType') || '', 156 relType: urlParams.get('relType') || '',
136 pageId: urlParams.get('pageId') || '', 157 pageId: urlParams.get('pageId') || '',
137 - objectType: '' 158 + objectType: '',
  159 + linkUrl: urlParams.get('url') || ''
138 } as ContentDTO 160 } as ContentDTO
139 if (urlParams.get('skipType') === '1') { 161 if (urlParams.get('skipType') === '1') {
140 162
@@ -48,7 +48,8 @@ export struct WdWebLocalComponent { @@ -48,7 +48,8 @@ export struct WdWebLocalComponent {
48 48
49 Row() { 49 Row() {
50 RelativeContainer() { 50 RelativeContainer() {
51 - Web({ src: this.webResource, controller: this.webviewControl }) 51 + Web({ src: this.webResource, controller: this.webviewControl, renderMode: RenderMode.SYNC_RENDER })
  52 + // Web({ src: this.webResource, controller: this.webviewControl})
52 .domStorageAccess(true) 53 .domStorageAccess(true)
53 .databaseAccess(true) 54 .databaseAccess(true)
54 .javaScriptAccess(true) 55 .javaScriptAccess(true)
@@ -56,7 +57,9 @@ export struct WdWebLocalComponent { @@ -56,7 +57,9 @@ export struct WdWebLocalComponent {
56 .mixedMode(MixedMode.All) 57 .mixedMode(MixedMode.All)
57 .onlineImageAccess(true) 58 .onlineImageAccess(true)
58 .enableNativeEmbedMode(true) 59 .enableNativeEmbedMode(true)
59 - .height(this.webHeight) 60 + .layoutMode(WebLayoutMode.FIT_CONTENT)
  61 + // .nestedScroll({ scrollForward: NestedScrollMode.SELF_FIRST, scrollBackward: NestedScrollMode.PARENT_FIRST })
  62 + // .height(this.webHeight)
60 .onPageBegin((event) => { 63 .onPageBegin((event) => {
61 this.onPageBegin(event?.url); 64 this.onPageBegin(event?.url);
62 }) 65 })
@@ -18,7 +18,8 @@ @@ -18,7 +18,8 @@
18 "wdRouter": "file:../../commons/wdRouter", 18 "wdRouter": "file:../../commons/wdRouter",
19 "wdNetwork": "file:../../commons/wdNetwork", 19 "wdNetwork": "file:../../commons/wdNetwork",
20 "wdJsBridge": "file:../../commons/wdJsBridge", 20 "wdJsBridge": "file:../../commons/wdJsBridge",
21 - "wdDetailPlayApi":"file:../../features/wdDetailPlayApi",  
22 - "wdHwAbility": "file:../../features/wdHwAbility" 21 + "wdDetailPlayApi": "file:../../features/wdDetailPlayApi",
  22 + "wdHwAbility": "file:../../features/wdHwAbility",
  23 + "wdShare": "file:../../features/wdShare"
23 } 24 }
24 } 25 }
@@ -50,7 +50,7 @@ export struct ImageAndTextPageComponent { @@ -50,7 +50,7 @@ export struct ImageAndTextPageComponent {
50 @State operationButtonList: string[] = ['comment', 'collect', 'share'] 50 @State operationButtonList: string[] = ['comment', 'collect', 'share']
51 @State isNetConnected: boolean = true 51 @State isNetConnected: boolean = true
52 @State info: Area | null = null 52 @State info: Area | null = null
53 - 53 + @State likeNum: number = 0
54 build() { 54 build() {
55 Column() { 55 Column() {
56 // 发布时间 56 // 发布时间
@@ -67,7 +67,6 @@ export struct ImageAndTextPageComponent { @@ -67,7 +67,6 @@ export struct ImageAndTextPageComponent {
67 .padding({ left: 15, right: 15, }) 67 .padding({ left: 15, right: 15, })
68 .justifyContent(FlexAlign.SpaceBetween) 68 .justifyContent(FlexAlign.SpaceBetween)
69 .alignItems(VerticalAlign.Bottom) 69 .alignItems(VerticalAlign.Bottom)
70 - .backgroundColor(Color.White)  
71 70
72 Row() { 71 Row() {
73 Image($r('app.media.line')) 72 Image($r('app.media.line'))
@@ -87,9 +86,10 @@ export struct ImageAndTextPageComponent { @@ -87,9 +86,10 @@ export struct ImageAndTextPageComponent {
87 action: this.action, 86 action: this.action,
88 isPageEnd: $isPageEnd 87 isPageEnd: $isPageEnd
89 }) 88 })
  89 + .padding({bottom:10})
90 Column() { 90 Column() {
91 // 点赞 91 // 点赞
92 - if (this.contentDetailData[0]?.openLikes) { 92 + if (this.contentDetailData[0]?.openLikes && this.contentDetailData[0]?.likesStyle !== 4) {
93 Row() { 93 Row() {
94 Row() { 94 Row() {
95 if (this.newsStatusOfUser?.likeStatus === '1') { 95 if (this.newsStatusOfUser?.likeStatus === '1') {
@@ -105,17 +105,17 @@ export struct ImageAndTextPageComponent { @@ -105,17 +105,17 @@ export struct ImageAndTextPageComponent {
105 $r('app.media.icon_candle'))) 105 $r('app.media.icon_candle')))
106 .width(24) 106 .width(24)
107 .height(24) 107 .height(24)
108 - .margin({ right: 5 })  
109 } 108 }
110 - if (this.interactData?.likeNum != 0) {  
111 - Text(NumberFormatterUtils.formatNumberWithWan(this.interactData?.likeNum)) 109 + if (this.likeNum > 0) {
  110 + Text(NumberFormatterUtils.formatNumberWithWan(this.likeNum))
112 .fontSize(16) 111 .fontSize(16)
113 .fontColor(this.newsStatusOfUser?.likeStatus === '1' ? '#ED2800' : '#999999') 112 .fontColor(this.newsStatusOfUser?.likeStatus === '1' ? '#ED2800' : '#999999')
114 .fontWeight(500) 113 .fontWeight(500)
  114 + .margin({ left: 5 })
115 } 115 }
116 } 116 }
117 - .width(140)  
118 - .height(36) 117 + .width(154)
  118 + .height(40)
119 .justifyContent(FlexAlign.Center) 119 .justifyContent(FlexAlign.Center)
120 .alignItems(VerticalAlign.Center) 120 .alignItems(VerticalAlign.Center)
121 .borderRadius(20) 121 .borderRadius(20)
@@ -127,7 +127,8 @@ export struct ImageAndTextPageComponent { @@ -127,7 +127,8 @@ export struct ImageAndTextPageComponent {
127 this.toggleLikeStatus() 127 this.toggleLikeStatus()
128 }) 128 })
129 129
130 - }.width(CommonConstants.FULL_WIDTH).height(80) 130 + }.width(CommonConstants.FULL_WIDTH)
  131 + .padding({top:14,bottom:24})
131 .justifyContent(FlexAlign.Center) 132 .justifyContent(FlexAlign.Center)
132 } 133 }
133 if (this.recommendList.length > 0) { 134 if (this.recommendList.length > 0) {
@@ -179,6 +180,7 @@ export struct ImageAndTextPageComponent { @@ -179,6 +180,7 @@ export struct ImageAndTextPageComponent {
179 } 180 }
180 .width(CommonConstants.FULL_WIDTH) 181 .width(CommonConstants.FULL_WIDTH)
181 .height(CommonConstants.FULL_HEIGHT) 182 .height(CommonConstants.FULL_HEIGHT)
  183 + .backgroundColor(Color.White)
182 } 184 }
183 185
184 private async getDetail() { 186 private async getDetail() {
@@ -301,7 +303,7 @@ export struct ImageAndTextPageComponent { @@ -301,7 +303,7 @@ export struct ImageAndTextPageComponent {
301 } 303 }
302 PageRepository.getContentInteract(params).then(res => { 304 PageRepository.getContentInteract(params).then(res => {
303 if (res.data) { 305 if (res.data) {
304 - this.interactData =res.data[0] 306 + this.likeNum = Number(res.data[0]?.likeNum) || 0
305 } 307 }
306 }) 308 })
307 } 309 }
@@ -99,8 +99,8 @@ export struct MorningEveningPaperComponent { @@ -99,8 +99,8 @@ export struct MorningEveningPaperComponent {
99 99
100 async aboutToAppear() { 100 async aboutToAppear() {
101 let windowHight: window.Window = await window.getLastWindow(getContext(this)); 101 let windowHight: window.Window = await window.getLastWindow(getContext(this));
102 - await windowHight.setWindowLayoutFullScreen(true);  
103 - WindowModel.shared.setWindowSystemBarProperties({ statusBarContentColor: '#ffffff', }) 102 + // await windowHight.setWindowLayoutFullScreen(true);
  103 + // WindowModel.shared.setWindowSystemBarProperties({ statusBarContentColor: '#ffffff', })
104 this.topSafeHeight = px2vp(windowHight.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM).topRect.height) 104 this.topSafeHeight = px2vp(windowHight.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM).topRect.height)
105 105
106 const dailyPaperTopicPageId = await SPHelper.default.getSync('dailyPaperTopicPageId', "") as String 106 const dailyPaperTopicPageId = await SPHelper.default.getSync('dailyPaperTopicPageId', "") as String
@@ -178,9 +178,9 @@ export struct MorningEveningPaperComponent { @@ -178,9 +178,9 @@ export struct MorningEveningPaperComponent {
178 } 178 }
179 179
180 async aboutToDisappear() { 180 async aboutToDisappear() {
181 - let windowHight: window.Window = await window.getLastWindow(getContext(this));  
182 - await windowHight.setWindowLayoutFullScreen(false);  
183 - WindowModel.shared.setWindowSystemBarProperties({ statusBarContentColor: '#000000', }) 181 + // let windowHight: window.Window = await window.getLastWindow(getContext(this));
  182 + // await windowHight.setWindowLayoutFullScreen(false);
  183 + // WindowModel.shared.setWindowSystemBarProperties({ statusBarContentColor: '#000000', })
184 } 184 }
185 185
186 onPageHide() { 186 onPageHide() {
@@ -209,25 +209,19 @@ export struct MorningEveningPaperComponent { @@ -209,25 +209,19 @@ export struct MorningEveningPaperComponent {
209 }) 209 })
210 } 210 }
211 } 211 }
212 - // .backgroundColor('#fff7b348')  
213 - // .backgroundColor(Color.Blue)  
214 .height('100%') 212 .height('100%')
215 213
216 - // .margin({ left: 12, right: 12 })  
217 -  
218 - PaperTitleComponent()// PaperTitleComponent({  
219 - // // title: this.morningEveningPaperDTO?.topicInfo?.title ?? "",  
220 - // title: this.title ?? "",  
221 - // // subtitle: this.morningEveningPaperDTO?.topicInfo?.topicDate ?? ''  
222 - // subtitle: this.subTitle  
223 - // })  
224 - // .margin({ left: 14, right: 14 }) 214 + PaperTitleComponent()
225 } 215 }
226 .width('100%') 216 .width('100%')
  217 + .height('100%')
  218 + .padding({
  219 + top: this.topSafeHeight
  220 + })
227 // .backgroundColor(Color.Black) 221 // .backgroundColor(Color.Black)
228 // .backgroundColor(this.pageInfoBean?.backgroundColor ?? Color.Black) 222 // .backgroundColor(this.pageInfoBean?.backgroundColor ?? Color.Black)
229 .backgroundColor(this.mixedBgColor ?? Color.Black) 223 .backgroundColor(this.mixedBgColor ?? Color.Black)
230 - .padding({ top: this.topSafeHeight }) 224 +
231 } 225 }
232 226
233 @Builder 227 @Builder
@@ -47,8 +47,10 @@ export struct MultiPictureDetailPageComponent { @@ -47,8 +47,10 @@ export struct MultiPictureDetailPageComponent {
47 @State publishCommentModel: publishCommentModel = new publishCommentModel() 47 @State publishCommentModel: publishCommentModel = new publishCommentModel()
48 @State operationButtonList: string[] = ['comment', 'like', 'collect', 'share'] 48 @State operationButtonList: string[] = ['comment', 'like', 'collect', 'share']
49 @State topSafeHeight: number = AppStorage.get<number>('topSafeHeight') as number; 49 @State topSafeHeight: number = AppStorage.get<number>('topSafeHeight') as number;
  50 + @State bottomSafeHeight: number = AppStorage.get<number>('bottomSafeHeight') as number;
50 @State windowHeight: number = AppStorage.get<number>('windowHeight') as number; 51 @State windowHeight: number = AppStorage.get<number>('windowHeight') as number;
51 @State currentOffset:number = 0 52 @State currentOffset:number = 0
  53 + @State duration:number = 0
52 54
53 //watch监听页码回调 55 //watch监听页码回调
54 onCurrentPageNumUpdated(): void { 56 onCurrentPageNumUpdated(): void {
@@ -81,6 +83,7 @@ export struct MultiPictureDetailPageComponent { @@ -81,6 +83,7 @@ export struct MultiPictureDetailPageComponent {
81 } 83 }
82 } 84 }
83 85
  86 +
84 aboutToDisappear() { 87 aboutToDisappear() {
85 88
86 } 89 }
@@ -98,130 +101,135 @@ export struct MultiPictureDetailPageComponent { @@ -98,130 +101,135 @@ export struct MultiPictureDetailPageComponent {
98 @Builder 101 @Builder
99 init() { 102 init() {
100 if (this.contentDetailData.rmhPlatform == 1) { 103 if (this.contentDetailData.rmhPlatform == 1) {
101 - Row() {  
102 - Row({ space: 8 }) {  
103 - if (this.getImgUrl()){  
104 - Row() {  
105 - Stack() {  
106 - Image(this.getImgUrl())  
107 - .borderRadius(18)  
108 - .aspectRatio(1)  
109 - .border({ width: 1, color: Color.White, style: BorderStyle.Solid })  
110 - .width(36)  
111 - .height(36)  
112 - .objectFit(ImageFit.Fill)  
113 - .interpolation(ImageInterpolation.High)  
114 - if(!StringUtils.isEmpty(this.contentDetailData.rmhInfo?.authIcon)){  
115 - Stack() {  
116 - Image(this.contentDetailData.rmhInfo?.authIcon)  
117 - .width($r('app.float.vp_13'))  
118 - .height($r('app.float.vp_13'))  
119 - .objectFit(ImageFit.Cover) 104 + if(!this.showDownload) {
  105 + Row() {
  106 + Row({ space: 8 }) {
  107 + if (this.getImgUrl()){
  108 + Row() {
  109 + Stack() {
  110 + Image(this.getImgUrl())
  111 + .borderRadius(18)
  112 + .aspectRatio(1)
  113 + .border({ width: 1, color: Color.White, style: BorderStyle.Solid })
  114 + .width(36)
  115 + .height(36)
  116 + .objectFit(ImageFit.Fill)
  117 + .interpolation(ImageInterpolation.High)
  118 + if(!StringUtils.isEmpty(this.contentDetailData.rmhInfo?.authIcon)){
  119 + Stack() {
  120 + Image(this.contentDetailData.rmhInfo?.authIcon)
  121 + .width($r('app.float.vp_13'))
  122 + .height($r('app.float.vp_13'))
  123 + .objectFit(ImageFit.Cover)
  124 + }
  125 + .width(36)
  126 + .height(36)
  127 + .alignContent(Alignment.BottomEnd)
120 } 128 }
121 - .width(36)  
122 - .height(36)  
123 - .alignContent(Alignment.BottomEnd)  
124 } 129 }
125 - }  
126 - .width(36)  
127 - .height(36)  
128 - .alignContent(Alignment.Center)  
129 - .onClick(() => {  
130 - if (this.contentDetailData.rmhInfo?.cnMainControl === 1) {  
131 - // 号主页  
132 - const params: Params = {  
133 - creatorId: this.contentDetailData.rmhInfo.rmhId,  
134 - pageID: '' 130 + .width(36)
  131 + .height(36)
  132 + .alignContent(Alignment.Center)
  133 + .onClick(() => {
  134 + if (this.contentDetailData.rmhInfo?.cnMainControl === 1) {
  135 + // 号主页
  136 + const params: Params = {
  137 + creatorId: this.contentDetailData.rmhInfo.rmhId,
  138 + pageID: ''
  139 + }
  140 + WDRouterRule.jumpWithPage(WDRouterPage.peopleShipHomePage, params)
135 } 141 }
136 - WDRouterRule.jumpWithPage(WDRouterPage.peopleShipHomePage, params)  
137 - }  
138 142
139 - }) 143 + })
  144 + }
  145 + .width('13%')
  146 + .height('100%')
  147 + }
  148 +
  149 + Row() {
  150 + Flex({
  151 + direction: FlexDirection.Column,
  152 + justifyContent: FlexAlign.SpaceAround,
  153 + alignItems: ItemAlign.Start
  154 + }) {
  155 + Text(`${this.contentDetailData?.rmhInfo?.rmhName}`)
  156 + .fontColor(Color.White)
  157 + .fontSize(14)
  158 + .fontFamily('PingFang PingFang SC-Medium')
  159 + .fontWeight(500)
  160 + .lineHeight(17)
  161 + .margin(0)
  162 + .height(17)
  163 + Text(`${this.contentDetailData?.rmhInfo?.rmhDesc}`)
  164 + .fontColor(Color.White)
  165 + .fontSize(12)
  166 + .fontFamily('PingFang SC-Regular')
  167 + .fontWeight(400)
  168 + .lineHeight(14)
  169 + .height(14)
  170 + .textOverflow({ overflow: TextOverflow.Ellipsis })
  171 + .margin(0)
  172 + .maxLines(1)
  173 + }
140 } 174 }
141 - .width('13%') 175 + .width('81%')
142 .height('100%') 176 .height('100%')
143 } 177 }
  178 + .width('74.4%')
  179 + .height('100%')
  180 + .margin({
  181 + top: 0,
  182 + bottom: 0,
  183 + left: 16,
  184 + right: 0
  185 + })
144 186
145 Row() { 187 Row() {
146 - Flex({  
147 - direction: FlexDirection.Column,  
148 - justifyContent: FlexAlign.SpaceAround,  
149 - alignItems: ItemAlign.Start  
150 - }) {  
151 - Text(`${this.contentDetailData?.rmhInfo?.rmhName}`)  
152 - .fontColor(Color.White)  
153 - .fontSize(14)  
154 - .fontFamily('PingFang PingFang SC-Medium')  
155 - .fontWeight(500)  
156 - .lineHeight(17)  
157 - .margin(0)  
158 - .height(17)  
159 - Text(`${this.contentDetailData?.rmhInfo?.rmhDesc}`)  
160 - .fontColor(Color.White)  
161 - .fontSize(12)  
162 - .fontFamily('PingFang SC-Regular')  
163 - .fontWeight(400)  
164 - .lineHeight(14)  
165 - .height(14)  
166 - .textOverflow({ overflow: TextOverflow.Ellipsis })  
167 - .margin(0)  
168 - .maxLines(1) 188 + if (this.followStatus == '0') {
  189 + Button({ type: ButtonType.Normal, stateEffect: true }) {
  190 + Row() {
  191 + Text('+关注').fontSize(12).fontColor(0xffffff)
  192 + }.alignItems(VerticalAlign.Center)
  193 + }
  194 + .borderRadius(4)
  195 + .backgroundColor('#ED2800')
  196 + .width(48)
  197 + .height(24)
  198 + .onClick(() => {
  199 + this.handleAccention()
  200 + })
  201 + } else {
  202 + Button({ type: ButtonType.Normal, stateEffect: true }) {
  203 + Row() {
  204 + Text('已关注').fontSize(12).fontColor(0xffffff)
  205 + }.alignItems(VerticalAlign.Center)
  206 + }
  207 + .borderRadius(4)
  208 + .backgroundColor('#333333')
  209 + .width(54)
  210 + .height(24)
169 } 211 }
  212 +
170 } 213 }
171 - .width('81%') 214 + .justifyContent(FlexAlign.Center)
  215 + .alignItems(VerticalAlign.Center)
  216 + .width('21.6%')
172 .height('100%') 217 .height('100%')
173 } 218 }
174 - .width('74.4%')  
175 - .height('100%')  
176 - .margin({  
177 - top: 0,  
178 - bottom: 0,  
179 - left: 16,  
180 - right: 0 219 + .width('100%')
  220 + .height(44)
  221 + .zIndex(10)
  222 + .margin({top:`${this.topSafeHeight + 12}px`})
  223 + .alignRules({
  224 + top: { anchor: "__container__", align: VerticalAlign.Top },
  225 + middle: { anchor: "__container__", align: HorizontalAlign.Center }
181 }) 226 })
182 -  
183 - Row() {  
184 - if (this.followStatus == '0') {  
185 - Button({ type: ButtonType.Normal, stateEffect: true }) {  
186 - Row() {  
187 - Text('+关注').fontSize(12).fontColor(0xffffff)  
188 - }.alignItems(VerticalAlign.Center)  
189 - }  
190 - .borderRadius(4)  
191 - .backgroundColor('#ED2800')  
192 - .width(48)  
193 - .height(24)  
194 - .onClick(() => {  
195 - this.handleAccention()  
196 - })  
197 - } else {  
198 - Button({ type: ButtonType.Normal, stateEffect: true }) {  
199 - Row() {  
200 - Text('已关注').fontSize(12).fontColor(0xffffff)  
201 - }.alignItems(VerticalAlign.Center)  
202 - }  
203 - .borderRadius(4)  
204 - .backgroundColor('#333333')  
205 - .width(54)  
206 - .height(24)  
207 - }  
208 -  
209 - }  
210 - .justifyContent(FlexAlign.Center)  
211 - .alignItems(VerticalAlign.Center)  
212 - .width('21.6%')  
213 - .height('100%') 227 + .id('e_attention')
  228 + .transition(TransitionEffect.OPACITY.animation({ duration: this.duration, curve: Curve.Ease }).combine(
  229 + TransitionEffect.translate({ x: 0, y: `-${this.topSafeHeight + 12}px` })
  230 + ))
214 } 231 }
215 - .width('100%')  
216 - .height(44)  
217 - .zIndex(10)  
218 - .margin({top:`${this.topSafeHeight + 12}px`})  
219 - .alignRules({  
220 - top: { anchor: "__container__", align: VerticalAlign.Top },  
221 - middle: { anchor: "__container__", align: HorizontalAlign.Center }  
222 - })  
223 - .id('e_attention')  
224 - .visibility(!this.showDownload ? Visibility.Visible : Visibility.None) 232 +
225 } 233 }
226 if (this.contentDetailData?.photoList && this.contentDetailData?.photoList?.length > 0) { 234 if (this.contentDetailData?.photoList && this.contentDetailData?.photoList?.length > 0) {
227 Swiper(this.swiperController) { 235 Swiper(this.swiperController) {
@@ -241,6 +249,9 @@ export struct MultiPictureDetailPageComponent { @@ -241,6 +249,9 @@ export struct MultiPictureDetailPageComponent {
241 this.currentOffset = Math.abs(extraInfo.currentOffset) 249 this.currentOffset = Math.abs(extraInfo.currentOffset)
242 }) 250 })
243 .onTouch((event: TouchEvent) => { 251 .onTouch((event: TouchEvent) => {
  252 + if(this.duration === 0) {
  253 + this.duration = 500
  254 + }
244 if(event.type === 1) { 255 if(event.type === 1) {
245 // if(this.currentOffset > px2vp((this.windowHeight - item.height)/2 - 100)) { 256 // if(this.currentOffset > px2vp((this.windowHeight - item.height)/2 - 100)) {
246 if(this.currentOffset > 160) { 257 if(this.currentOffset > 160) {
@@ -285,113 +296,121 @@ export struct MultiPictureDetailPageComponent { @@ -285,113 +296,121 @@ export struct MultiPictureDetailPageComponent {
285 }) 296 })
286 } 297 }
287 Column(){ 298 Column(){
288 - Column(){  
289 - Row() {  
290 - Scroll(this.scroller) {  
291 - Row() {  
292 - Flex({  
293 - direction: FlexDirection.Column,  
294 - justifyContent: FlexAlign.Start  
295 - }) {  
296 - if(this.contentDetailData?.photoList?.length) {  
297 - Text() {  
298 - Span(`${this.swiperIndex + 1}`)  
299 - .fontSize(24)  
300 - .fontFamily('PingFang SC-Medium')  
301 - .fontWeight(500)  
302 - .lineHeight(28)  
303 - Span(`/${this.contentDetailData?.photoList?.length}`) 299 + if(!this.showDownload) {
  300 + Column(){
  301 + Row() {
  302 + Scroll(this.scroller) {
  303 + Row() {
  304 + Flex({
  305 + direction: FlexDirection.Column,
  306 + justifyContent: FlexAlign.Start
  307 + }) {
  308 + if(this.contentDetailData?.photoList?.length) {
  309 + Text() {
  310 + Span(`${this.swiperIndex + 1}`)
  311 + .fontSize(24)
  312 + .fontFamily('PingFang SC-Medium')
  313 + .fontWeight(500)
  314 + .lineHeight(28)
  315 + Span(`/${this.contentDetailData?.photoList?.length}`)
  316 + .fontSize(14)
  317 + .fontFamily('PingFang SC-Medium')
  318 + .fontWeight(500)
  319 + .lineHeight(19)
  320 + }
  321 + .fontColor(Color.White)
  322 + .margin(4)
  323 + }
  324 + if(this.contentDetailData.newsTitle) {
  325 + Text(`${this.contentDetailData.newsTitle}`)
  326 + .fontColor(Color.White)
  327 + .fontSize(16)
  328 + .fontFamily('PingFang SC-Semibold')
  329 + .fontWeight(600)
  330 + .lineHeight(24)
  331 + .margin({
  332 + top: 4,
  333 + left: 0,
  334 + bottom: 4,
  335 + right: 0
  336 + })
  337 + }
  338 + if(this.contentDetailData.photoList?.[this.swiperIndex].picDesc) {
  339 + Text(`${this.contentDetailData.photoList?.[this.swiperIndex].picDesc}`)
  340 + .fontColor(Color.White)
304 .fontSize(14) 341 .fontSize(14)
305 - .fontFamily('PingFang SC-Medium')  
306 - .fontWeight(500)  
307 - .lineHeight(19) 342 + .fontFamily('PingFang SC-Regular')
  343 + .fontWeight(400)
  344 + .lineHeight(22)
  345 + .textOverflow({ overflow: TextOverflow.Ellipsis })
  346 + .margin({
  347 + top: 4,
  348 + left: 0,
  349 + bottom: 4,
  350 + right: 18
  351 + })
  352 + .maxLines(32)
308 } 353 }
309 - .fontColor(Color.White)  
310 - .margin(4)  
311 - }  
312 - if(this.contentDetailData.newsTitle) {  
313 - Text(`${this.contentDetailData.newsTitle}`)  
314 - .fontColor(Color.White)  
315 - .fontSize(16)  
316 - .fontFamily('PingFang SC-Semibold')  
317 - .fontWeight(600)  
318 - .lineHeight(24)  
319 - .margin({  
320 - top: 4,  
321 - left: 0,  
322 - bottom: 4,  
323 - right: 0  
324 - })  
325 - }  
326 - if(this.contentDetailData.photoList?.[this.swiperIndex].picDesc) {  
327 - Text(`${this.contentDetailData.photoList?.[this.swiperIndex].picDesc}`)  
328 - .fontColor(Color.White)  
329 - .fontSize(14)  
330 - .fontFamily('PingFang SC-Regular')  
331 - .fontWeight(400)  
332 - .lineHeight(22)  
333 - .textOverflow({ overflow: TextOverflow.Ellipsis })  
334 - .margin({  
335 - top: 4,  
336 - left: 0,  
337 - bottom: 4,  
338 - right: 18  
339 - })  
340 - .maxLines(32)  
341 } 354 }
342 } 355 }
  356 + .width('100%')
343 } 357 }
344 - .width('100%') 358 + .scrollable(ScrollDirection.Vertical)
  359 + .scrollBarWidth(0)
  360 + .height(px2vp(this.titleHeight))
  361 + .align(Alignment.Bottom)
345 } 362 }
346 - .scrollable(ScrollDirection.Vertical)  
347 - .scrollBarWidth(0)  
348 - .height(px2vp(this.titleHeight))  
349 - .align(Alignment.Bottom) 363 + OperRowListView({
  364 + contentDetailData: this.contentDetailData,
  365 + publishCommentModel: this.publishCommentModel,
  366 + operationButtonList: this.operationButtonList,
  367 + })
350 } 368 }
351 - OperRowListView({  
352 - contentDetailData: this.contentDetailData,  
353 - publishCommentModel: this.publishCommentModel,  
354 - operationButtonList: this.operationButtonList,  
355 - }) 369 + .transition(TransitionEffect.OPACITY.animation({ duration: this.duration, curve: Curve.Ease }).combine(
  370 + TransitionEffect.translate({ x: 0, y: `-${this.bottomSafeHeight}px` })
  371 + ))
356 } 372 }
357 - .visibility(!this.showDownload ? Visibility.Visible : Visibility.None)  
358 - Column(){  
359 - Row() {  
360 - Flex({  
361 - direction: FlexDirection.Row,  
362 - justifyContent: FlexAlign.SpaceBetween  
363 - }) {  
364 - if(this.contentDetailData?.photoList?.length) {  
365 - Text() {  
366 - Span(`${this.swiperIndex + 1}`)  
367 - .fontSize(24)  
368 - .fontFamily('PingFang SC-Medium')  
369 - .fontWeight(500)  
370 - .lineHeight(28)  
371 - Span(`/${this.contentDetailData?.photoList?.length}`)  
372 - .fontSize(14)  
373 - .fontFamily('PingFang SC-Medium')  
374 - .fontWeight(500)  
375 - .lineHeight(19) 373 + if(this.showDownload) {
  374 + Column(){
  375 + Row() {
  376 + Flex({
  377 + direction: FlexDirection.Row,
  378 + justifyContent: FlexAlign.SpaceBetween
  379 + }) {
  380 + if(this.contentDetailData?.photoList?.length) {
  381 + Text() {
  382 + Span(`${this.swiperIndex + 1}`)
  383 + .fontSize(24)
  384 + .fontFamily('PingFang SC-Medium')
  385 + .fontWeight(500)
  386 + .lineHeight(28)
  387 + Span(`/${this.contentDetailData?.photoList?.length}`)
  388 + .fontSize(14)
  389 + .fontFamily('PingFang SC-Medium')
  390 + .fontWeight(500)
  391 + .lineHeight(19)
  392 + }
  393 + .fontColor(Color.White)
  394 + .margin(4)
376 } 395 }
377 - .fontColor(Color.White)  
378 - .margin(4)  
379 - }  
380 396
381 - if(this.contentDetailData.photoList?.[this.swiperIndex].picPath) {  
382 - ImageDownloadComponent({ url: this.contentDetailData.photoList?.[this.swiperIndex].picPath })  
383 - .margin({  
384 - top: 8,  
385 - left: 18,  
386 - bottom: 24,  
387 - right: 18  
388 - }) 397 + if(this.contentDetailData.photoList?.[this.swiperIndex].picPath) {
  398 + ImageDownloadComponent({ url: this.contentDetailData.photoList?.[this.swiperIndex].picPath })
  399 + .margin({
  400 + top: 8,
  401 + left: 18,
  402 + bottom: 24,
  403 + right: 18
  404 + })
  405 + }
389 } 406 }
390 } 407 }
  408 + .width('100%')
391 } 409 }
392 - .width('100%') 410 + .transition(TransitionEffect.OPACITY.animation({ duration: this.duration, curve: Curve.Ease }).combine(
  411 + TransitionEffect.translate({ x: 0, y: `${this.bottomSafeHeight}px` })
  412 + ))
393 } 413 }
394 - .visibility(this.showDownload ? Visibility.Visible : Visibility.None)  
395 } 414 }
396 .zIndex(10) 415 .zIndex(10)
397 .id('e_swiper_bottom') 416 .id('e_swiper_bottom')
@@ -59,6 +59,7 @@ export struct Card20Component { @@ -59,6 +59,7 @@ export struct Card20Component {
59 .width(CommonConstants.FULL_WIDTH) 59 .width(CommonConstants.FULL_WIDTH)
60 .textOverflowStyle(2) 60 .textOverflowStyle(2)
61 .margin({ bottom: 8 }) 61 .margin({ bottom: 8 })
  62 + .lineHeight(20)
62 } 63 }
63 if (this.contentDTO.fullColumnImgUrls[0]) { 64 if (this.contentDTO.fullColumnImgUrls[0]) {
64 createImg({ contentDTO: this.contentDTO }) 65 createImg({ contentDTO: this.contentDTO })
@@ -38,14 +38,17 @@ export struct Card5Component { @@ -38,14 +38,17 @@ export struct Card5Component {
38 ] 38 ]
39 }) 39 })
40 Row() { 40 Row() {
41 - Text(this.contentDTO.newsTitle)  
42 - .width(CommonConstants.FULL_WIDTH)  
43 - .height(CommonConstants.FULL_HEIGHT)  
44 - .fontColor(Color.White)  
45 - .fontSize($r('app.float.normal_text_size'))  
46 - .fontWeight(FontWeight.Bold)  
47 - .maxLines(2)  
48 - .align(Alignment.Bottom) 41 + if (this.titleShowPolicy === 1) {
  42 + Text(this.contentDTO.newsTitle)
  43 + .width(CommonConstants.FULL_WIDTH)
  44 + .height(CommonConstants.FULL_HEIGHT)
  45 + .fontColor(Color.White)
  46 + .fontSize($r('app.float.normal_text_size'))
  47 + .fontWeight(FontWeight.Bold)
  48 + .maxLines(2)
  49 + .align(Alignment.Bottom)
  50 + }
  51 +
49 } 52 }
50 .justifyContent(FlexAlign.Start) 53 .justifyContent(FlexAlign.Start)
51 .height(40) 54 .height(40)
@@ -57,7 +57,7 @@ export struct ZhSingleColumn04 { @@ -57,7 +57,7 @@ export struct ZhSingleColumn04 {
57 .width(12) 57 .width(12)
58 .margin({ left: 12, right: 8 }) 58 .margin({ left: 12, right: 8 })
59 Text(item.newsTitle) 59 Text(item.newsTitle)
60 - .fontSizeColorWeight($r('app.float.font_size_12'), $r('app.color.color_222222'), 400) 60 + .fontSizeColorWeight($r('app.float.font_size_17'), $r('app.color.color_222222'), 400)
61 .maxLines(1) 61 .maxLines(1)
62 .textOverflow({ overflow: TextOverflow.Ellipsis }) 62 .textOverflow({ overflow: TextOverflow.Ellipsis })
63 .layoutWeight(1) 63 .layoutWeight(1)
@@ -67,19 +67,19 @@ export struct ZhSingleColumn04 { @@ -67,19 +67,19 @@ export struct ZhSingleColumn04 {
67 .borderRadius(4) 67 .borderRadius(4)
68 .fontSizeColorWeight($r('app.float.vp_12'), '#F07E46', 500) 68 .fontSizeColorWeight($r('app.float.vp_12'), '#F07E46', 500)
69 .backgroundColor('rgba(240, 126, 70, 0.2)') 69 .backgroundColor('rgba(240, 126, 70, 0.2)')
70 - .margin({ right: 18 }) 70 + .margin({ right: 21 })
71 } else if (item.tagWord === 2) { 71 } else if (item.tagWord === 2) {
72 Text('新') 72 Text('新')
73 .padding(3) 73 .padding(3)
74 .borderRadius(4) 74 .borderRadius(4)
75 .fontSizeColorWeight($r('app.float.vp_12'), '#468DF0', 500) 75 .fontSizeColorWeight($r('app.float.vp_12'), '#468DF0', 500)
76 .backgroundColor('rgba(70, 141, 240, 0.2)') 76 .backgroundColor('rgba(70, 141, 240, 0.2)')
77 - .margin({ right: 18 }) 77 + .margin({ right: 21 })
78 } 78 }
79 } 79 }
80 .width(CommonConstants.FULL_WIDTH) 80 .width(CommonConstants.FULL_WIDTH)
81 .height(32) 81 .height(32)
82 - .margin({ bottom: 4 }) 82 + .margin({ bottom: 8 })
83 .backgroundImage($r('app.media.rmh_theme_bg')) 83 .backgroundImage($r('app.media.rmh_theme_bg'))
84 .backgroundImageSize({ width: CommonConstants.FULL_WIDTH, height: CommonConstants.FULL_WIDTH }) 84 .backgroundImageSize({ width: CommonConstants.FULL_WIDTH, height: CommonConstants.FULL_WIDTH })
85 .onClick(() => { 85 .onClick(() => {
1 -import { CompDTO, ContentDTO, Params } from 'wdBean'; 1 +import { CompDTO, ContentDTO, Params, Action } from 'wdBean';
2 import { WDRouterPage, WDRouterRule } from 'wdRouter/Index'; 2 import { WDRouterPage, WDRouterRule } from 'wdRouter/Index';
3 import { postInteractAccentionOperateParams } from 'wdBean'; 3 import { postInteractAccentionOperateParams } from 'wdBean';
4 import { PageRepository } from '../../repository/PageRepository'; 4 import { PageRepository } from '../../repository/PageRepository';
5 import { ProcessUtils } from 'wdRouter'; 5 import { ProcessUtils } from 'wdRouter';
6 import { HttpUtils } from 'wdNetwork/Index'; 6 import { HttpUtils } from 'wdNetwork/Index';
7 import { DateTimeUtils } from 'wdKit'; 7 import { DateTimeUtils } from 'wdKit';
  8 +import { LiveModel } from '../../viewmodel/LiveModel'
  9 +import { Logger, ToastUtils } from 'wdKit';
8 10
9 /** 11 /**
10 * 直播预约卡 12 * 直播预约卡
@@ -12,18 +14,69 @@ import { DateTimeUtils } from 'wdKit'; @@ -12,18 +14,69 @@ import { DateTimeUtils } from 'wdKit';
12 */ 14 */
13 const TAG = 'Zh_Single_Row-03' 15 const TAG = 'Zh_Single_Row-03'
14 16
  17 +interface reserveItem {
  18 + liveId: number,
  19 + relationId: string,
  20 + subscribe: boolean
  21 +}
  22 +
  23 +interface reserveReqItem {
  24 + liveId: string,
  25 + relationId: string,
  26 +}
  27 +
15 @Entry 28 @Entry
16 @Component 29 @Component
17 export struct ZhSingleRow03 { 30 export struct ZhSingleRow03 {
18 @State compDTO: CompDTO = {} as CompDTO 31 @State compDTO: CompDTO = {} as CompDTO
  32 + @State isEndEdge: boolean = false;
  33 + // @State reserveStatus: reserveItem[] = []
  34 + @State reservedIds: string[] = [];
19 scroller: Scroller = new Scroller() 35 scroller: Scroller = new Scroller()
20 36
  37 + aboutToAppear(): void {
  38 + this.getReserveState();
  39 + }
  40 +
  41 + // 请求所有预约状态
  42 + async getReserveState() {
  43 + const reserveBean: reserveReqItem[] = this.compDTO.operDataList.map((item: ContentDTO) => {
  44 + const reqItem: reserveReqItem = {
  45 + liveId: item.objectId,
  46 + relationId: item.relId
  47 + }
  48 + return reqItem;
  49 + })
  50 + const res = await LiveModel.getAppointmentStatus(reserveBean);
  51 + // this.reserveStatus = res;
  52 + res.map((item: reserveItem) => {
  53 + if (item.subscribe) {
  54 + this.reservedIds.push(item.liveId.toString())
  55 + }
  56 + })
  57 + }
  58 +
  59 + // 判断是否预约
  60 + isReserved(liveId: number) {
  61 + return this.reservedIds.includes(liveId.toString())
  62 + }
  63 +
  64 + // 预约/取消预约
  65 + async bookAndCancel(relationId: string, liveId: string, isSubscribe: boolean) {
  66 + const res = await LiveModel.liveAppointment(relationId.toString(), liveId.toString(), isSubscribe);
  67 + if (res.code == 0) {
  68 + ToastUtils.shortToast(isSubscribe ? '预约成功' : '取消预约成功')
  69 + this.getReserveState();
  70 + }
  71 + }
  72 +
21 format(timeNum: number) { 73 format(timeNum: number) {
22 const todayDate = new Date().setHours(0,0,0,0) 74 const todayDate = new Date().setHours(0,0,0,0)
23 const parseDate = new Date(timeNum).setHours(0,0,0,0); 75 const parseDate = new Date(timeNum).setHours(0,0,0,0);
24 if (todayDate === parseDate) { 76 if (todayDate === parseDate) {
25 return '今天' 77 return '今天'
26 - } else { const str = DateTimeUtils.formatDate(timeNum, 'MM月dd日') 78 + } else {
  79 + const str = DateTimeUtils.formatDate(timeNum, 'MM月dd日')
27 const month: string = str.split('月')[0]; 80 const month: string = str.split('月')[0];
28 if (month[0] === "0") { 81 if (month[0] === "0") {
29 return str.slice(1) 82 return str.slice(1)
@@ -42,70 +95,25 @@ export struct ZhSingleRow03 { @@ -42,70 +95,25 @@ export struct ZhSingleRow03 {
42 Scroll(this.scroller){ 95 Scroll(this.scroller){
43 Row() { 96 Row() {
44 ForEach(this.compDTO.operDataList, (item: ContentDTO) => { 97 ForEach(this.compDTO.operDataList, (item: ContentDTO) => {
45 - Column() {  
46 - Row() {  
47 - Image(item.coverUrl)  
48 - .width(106)  
49 - .height(60)  
50 - .margin({right: 12})  
51 - Text(item.newsTitle)  
52 - .width(154)  
53 - .height(60)  
54 - .maxLines(3)  
55 - .textOverflow({overflow: TextOverflow.Ellipsis})  
56 - }  
57 - .margin({bottom: 16})  
58 -  
59 - Row() {  
60 - Flex({justifyContent: FlexAlign.SpaceBetween}){  
61 - Row() {  
62 - Text(this.format(new Date(item.liveInfo.liveStartTime).getTime()))  
63 - // Text(item.liveInfo.liveStartTime.split(' ')[0].slice(5).split('-').join('月')+'日')  
64 - .margin({right: 6})  
65 - .fontColor(0x000000)  
66 - .fontSize(13)  
67 - .textAlign(TextAlign.Start)  
68 - Image($r('app.media.timeline_rect'))  
69 - .width(4)  
70 - .height(3)  
71 - .margin({right: 6})  
72 - Text(item.liveInfo.liveStartTime.split(' ')[1].slice(0, 5))  
73 - .margin({right: 6})  
74 - .fontColor(0x000000)  
75 - .fontSize(13)  
76 - Text('开始直播')  
77 - .fontColor(0xC8C8C8)  
78 - .fontSize(13)  
79 - }  
80 -  
81 - Row() {  
82 - Text('预约')  
83 - .width(48)  
84 - .height(24)  
85 - .backgroundColor(0xED2800)  
86 - .fontColor(0xffffff)  
87 - .fontSize(12)  
88 - .textAlign(TextAlign.Center)  
89 - .borderRadius(3)  
90 - }  
91 - .margin({top: -5})  
92 - }  
93 -  
94 - }  
95 - }  
96 - .width(298)  
97 - .height(116)  
98 - .padding({top: 12, bottom: 12, left: 12, right: 12})  
99 - .backgroundColor(0xf9f9f9)  
100 - .margin({right: 8})  
101 - .onClick(() => {  
102 - ProcessUtils.processPage(item)  
103 - }) 98 + this.ItemCard(item)
104 }) 99 })
105 } 100 }
106 } 101 }
107 .scrollable(ScrollDirection.Horizontal) 102 .scrollable(ScrollDirection.Horizontal)
108 .scrollBar(BarState.Off) 103 .scrollBar(BarState.Off)
  104 + .onScrollEdge((side: Edge) => {
  105 + if (side === Edge.End) {
  106 + this.isEndEdge = true;
  107 + }
  108 + })
  109 + .onScrollStop(() => {
  110 + if (this.isEndEdge) {
  111 + this.jumpToMore();
  112 + }
  113 + })
  114 + .onScroll((xOffset: number, yOffset: number) => {
  115 + this.isEndEdge = false;
  116 + })
109 } 117 }
110 .padding({ 118 .padding({
111 left: $r('app.float.card_comp_pagePadding_lf'), 119 left: $r('app.float.card_comp_pagePadding_lf'),
@@ -117,6 +125,73 @@ export struct ZhSingleRow03 { @@ -117,6 +125,73 @@ export struct ZhSingleRow03 {
117 } 125 }
118 126
119 @Builder 127 @Builder
  128 + ItemCard(item: ContentDTO) {
  129 + Column() {
  130 + Row() {
  131 + Image(item.coverUrl)
  132 + .width(106)
  133 + .height(60)
  134 + .margin({right: 12})
  135 + Text(item.newsTitle)
  136 + .width(154)
  137 + .height(60)
  138 + .maxLines(3)
  139 + .textOverflow({overflow: TextOverflow.Ellipsis})
  140 + }
  141 + .margin({bottom: 16})
  142 +
  143 + Row() {
  144 + Flex({justifyContent: FlexAlign.SpaceBetween}){
  145 + Row() {
  146 + Text(this.format(new Date(item.liveInfo.liveStartTime).getTime()))
  147 + .margin({right: 6})
  148 + .fontColor(0x000000)
  149 + .fontSize(13)
  150 + .textAlign(TextAlign.Start)
  151 + Image($r('app.media.timeline_rect'))
  152 + .width(4)
  153 + .height(3)
  154 + .margin({right: 6})
  155 + Text(item.liveInfo.liveStartTime.split(' ')[1].slice(0, 5))
  156 + .margin({right: 6})
  157 + .fontColor(0x000000)
  158 + .fontSize(13)
  159 + Text('开始直播')
  160 + .fontColor(0xC8C8C8)
  161 + .fontSize(13)
  162 + }
  163 +
  164 + Row() {
  165 + Text(this.isReserved(Number(item.objectId)) ? '已预约' : '预约')
  166 + .width(48)
  167 + .height(24)
  168 + .backgroundColor(this.isReserved(Number(item.objectId)) ? 0xffffff : 0xED2800)
  169 + .fontColor(this.isReserved(Number(item.objectId)) ? 0xC8C8C8 : 0xffffff)
  170 + .fontSize(12)
  171 + .textAlign(TextAlign.Center)
  172 + .borderRadius(3)
  173 + .onClick(() => {
  174 + this.bookAndCancel(item.relId, item.objectId, !this.isReserved(Number(item.objectId)))
  175 + })
  176 +
  177 + }
  178 + .margin({top: -5})
  179 + }
  180 +
  181 + }
  182 + }
  183 + .width(298)
  184 + .height(116)
  185 + .padding({top: 12, bottom: 12, left: 12, right: 12})
  186 + .backgroundColor(0xf9f9f9)
  187 + .margin({right: 8})
  188 + .onClick(() => {
  189 + ProcessUtils.processPage(item)
  190 + })
  191 + }
  192 +
  193 +
  194 + @Builder
120 CompHeader(item: CompDTO) { 195 CompHeader(item: CompDTO) {
121 Row() { 196 Row() {
122 Row() { 197 Row() {
@@ -138,30 +213,37 @@ export struct ZhSingleRow03 { @@ -138,30 +213,37 @@ export struct ZhSingleRow03 {
138 Image($r("app.media.more")) 213 Image($r("app.media.more"))
139 .width(14) 214 .width(14)
140 .height(14) 215 .height(14)
141 - .onClick(() => {  
142 - // TODO 跳转的页面,定义的入参可能不合理。推荐id: 41  
143 - let params = {'index': "1"} as Record<string, string>  
144 - WDRouterRule.jumpWithPage(WDRouterPage.followListPage, params)  
145 - })  
146 } 216 }
147 .padding({ 217 .padding({
148 right: $r('app.float.card_comp_pagePadding_lf'), 218 right: $r('app.float.card_comp_pagePadding_lf'),
149 }) 219 })
150 - .visibility(this.compDTO?.objectType === '0' || this.compDTO?.objectType === '' ? Visibility.None : Visibility.Visible)  
151 .onClick(() => { 220 .onClick(() => {
152 - if (this.compDTO?.objectType === '11') {  
153 - ProcessUtils.jumpChannelTab(this.compDTO.objectId, this.compDTO.pageId as string)  
154 - } else if (this.compDTO?.objectType === '5') {  
155 - ProcessUtils._gotoSpecialTopic(this.compDTO.linkUrl)  
156 - } else if (this.compDTO?.objectType === '6') {  
157 - ProcessUtils._gotoDefaultWeb(this.compDTO.linkUrl)  
158 - } 221 + this.jumpToMore();
159 }) 222 })
160 } 223 }
161 .justifyContent(FlexAlign.SpaceBetween) 224 .justifyContent(FlexAlign.SpaceBetween)
162 .margin({ top: 8, bottom: 8 }) 225 .margin({ top: 8, bottom: 8 })
163 .width('100%') 226 .width('100%')
164 } 227 }
  228 +
  229 + private jumpToLiveMorePage() {
  230 + WDRouterRule.jumpWithPage(WDRouterPage.reserveMorePage)
  231 + }
  232 +
  233 + private jumpToMore() {
  234 + if (this.compDTO.linkUrl) {
  235 + let taskAction: Action = {
  236 + type: 'JUMP_H5_BY_WEB_VIEW',
  237 + params: {
  238 + url: this.compDTO.linkUrl
  239 + } as Params,
  240 + };
  241 + WDRouterRule.jumpWithAction(taskAction)
  242 + } else {
  243 + this.jumpToLiveMorePage()
  244 + }
  245 + }
  246 +
165 } 247 }
166 248
167 @Extend(Text) 249 @Extend(Text)
@@ -115,15 +115,6 @@ export struct BottomNavigationComponent { @@ -115,15 +115,6 @@ export struct BottomNavigationComponent {
115 .height(CommonConstants.FULL_PARENT) 115 .height(CommonConstants.FULL_PARENT)
116 .padding({ bottom: 15, left: 10, right: 10, top: 2 }) 116 .padding({ bottom: 15, left: 10, right: 10, top: 2 })
117 .aspectRatio(this.ASPECT_RATIO_1_1) 117 .aspectRatio(this.ASPECT_RATIO_1_1)
118 - .gesture(  
119 - TapGesture({ count: 2 })  
120 - .onAction((event: GestureEvent) => {  
121 - if (this.currentNavIndex === index) {  
122 - // 当前tab,双击事件  
123 - this.autoRefresh++  
124 - }  
125 - })  
126 - )  
127 118
128 Text(navItem.name) 119 Text(navItem.name)
129 .margin({ bottom: $r('app.float.bottom_navigation_margin_bottom') }) 120 .margin({ bottom: $r('app.float.bottom_navigation_margin_bottom') })
@@ -140,7 +131,13 @@ export struct BottomNavigationComponent { @@ -140,7 +131,13 @@ export struct BottomNavigationComponent {
140 this.barBackgroundColor = Color.White 131 this.barBackgroundColor = Color.White
141 this.currentBottomNavInfo = {} as BottomNavDTO 132 this.currentBottomNavInfo = {} as BottomNavDTO
142 } else { 133 } else {
143 - this.currentBottomNavInfo = navItem 134 + if (this.currentNavIndex === index) {
  135 + // 当前tab,单击事件
  136 + this.autoRefresh++
  137 + } else {
  138 + // 切换tab
  139 + this.currentBottomNavInfo = navItem
  140 + }
144 } 141 }
145 142
146 this.currentNavIndex = index; 143 this.currentNavIndex = index;
@@ -186,21 +183,4 @@ export struct BottomNavigationComponent { @@ -186,21 +183,4 @@ export struct BottomNavigationComponent {
186 this.assignChannel.bottomNavId = assignChannel.bottomNavId 183 this.assignChannel.bottomNavId = assignChannel.bottomNavId
187 }, 20) 184 }, 20)
188 } 185 }
189 -  
190 - /**  
191 - * 双击实现  
192 - */  
193 - // doubleClickTime: number = 0  
194 -  
195 - /**  
196 - * 双击实现  
197 - */  
198 - // private doubleClick(fun: () => void) {  
199 - // let now = DateTimeUtils.getTimeStamp()  
200 - // if (now - this.doubleClickTime < 200) {  
201 - // fun()  
202 - // } else {  
203 - // this.doubleClickTime = now  
204 - // }  
205 - // }  
206 } 186 }
@@ -199,7 +199,9 @@ struct EditUserInfoPage { @@ -199,7 +199,9 @@ struct EditUserInfoPage {
199 getAccountOwnerInfo(){ 199 getAccountOwnerInfo(){
200 EditInfoViewModel.queryAccountOwnerInfo(1,getContext(this)).then((editModel) => { 200 EditInfoViewModel.queryAccountOwnerInfo(1,getContext(this)).then((editModel) => {
201 this.listData = [] 201 this.listData = []
202 - this.headerImg = editModel.userExtend.headPhotoUrl 202 + if (editModel.userExtend.headPhotoUrl) {
  203 + this.headerImg = editModel.userExtend.headPhotoUrl
  204 + }
203 this.currentUserInfo = editModel as editModel; 205 this.currentUserInfo = editModel as editModel;
204 this.listData.push(...EditInfoViewModel.getEditListInfo(editModel)) 206 this.listData.push(...EditInfoViewModel.getEditListInfo(editModel))
205 }); 207 });
@@ -83,7 +83,7 @@ struct ReserveMorePage { @@ -83,7 +83,7 @@ struct ReserveMorePage {
83 this.reserveBean = this.transformToLiveDetailsBeans(liveReviewDTO.list) 83 this.reserveBean = this.transformToLiveDetailsBeans(liveReviewDTO.list)
84 84
85 const apointMentStatus = await LiveModel.getAppointmentStatus(this.reserveBean) 85 const apointMentStatus = await LiveModel.getAppointmentStatus(this.reserveBean)
86 - console.info(`cj2024 ${apointMentStatus.code}`) 86 + // console.info(`cj2024 ${apointMentStatus.code}`)
87 }) 87 })
88 88
89 89
@@ -31,24 +31,26 @@ export struct SearchHotsComponent{ @@ -31,24 +31,26 @@ export struct SearchHotsComponent{
31 31
32 build(){ 32 build(){
33 Column(){ 33 Column(){
34 - Row() {  
35 - Image($r('app.media.search_hot_icon'))  
36 - .width('46lpx')  
37 - .height('46lpx')  
38 - .objectFit(ImageFit.Auto)  
39 - .margin({right:'8lpx'})  
40 - .interpolation(ImageInterpolation.Medium) 34 + if(this.searchHotsData.length>0){
  35 + Row() {
  36 + Image($r('app.media.search_hot_icon'))
  37 + .width('46lpx')
  38 + .height('46lpx')
  39 + .objectFit(ImageFit.Auto)
  40 + .margin({right:'8lpx'})
  41 + .interpolation(ImageInterpolation.Medium)
41 42
42 - Text("热门搜索")  
43 - .textAlign(TextAlign.Center)  
44 - .fontWeight(FontWeight.Bold)  
45 - .fontSize('33lpx')  
46 - .lineHeight('46lpx')  
47 - .fontColor($r('app.color.color_222222'))  
48 - .height('46lpx') 43 + Text("热门搜索")
  44 + .textAlign(TextAlign.Center)
  45 + .fontWeight(FontWeight.Bold)
  46 + .fontSize('33lpx')
  47 + .lineHeight('46lpx')
  48 + .fontColor($r('app.color.color_222222'))
  49 + .height('46lpx')
  50 + }
  51 + .width('100%')
  52 + .margin({bottom:"15lpx"})
49 } 53 }
50 - .width('100%')  
51 - .margin({bottom:"15lpx"})  
52 54
53 List(){ 55 List(){
54 ForEach(this.searchHotsData,(item:SearchHotContentItem,index:number)=>{ 56 ForEach(this.searchHotsData,(item:SearchHotContentItem,index:number)=>{
@@ -172,7 +172,7 @@ export struct SearchResultContentComponent{ @@ -172,7 +172,7 @@ export struct SearchResultContentComponent{
172 relId: value.data.relId, 172 relId: value.data.relId,
173 relType: value.data.relType, 173 relType: value.data.relType,
174 newsTitle: value.data.titleLiteral, 174 newsTitle: value.data.titleLiteral,
175 - publishTime: value.data.publishTime, 175 + publishTime: StringUtils.isNotEmpty(value.data.firstPublishTime)?value.data.firstPublishTime:value.data.publishTime,
176 visitorComment: -1, 176 visitorComment: -1,
177 fullColumnImgUrls: photos, 177 fullColumnImgUrls: photos,
178 newsSummary: "", 178 newsSummary: "",
1 import { CommonConstants } from 'wdConstant' 1 import { CommonConstants } from 'wdConstant'
2 -import { ContentDTO, CompDTO } from 'wdBean'  
3 -import { ProcessUtils } from 'wdRouter'; 2 +import { ContentDTO, CompDTO, Action, Params } from 'wdBean'
  3 +import { ProcessUtils, WDRouterRule, WDRouterPage } from 'wdRouter';
4 4
5 @Component 5 @Component
6 export struct HorizontalStrokeCardThreeTwoRadioForMoreComponent { 6 export struct HorizontalStrokeCardThreeTwoRadioForMoreComponent {
@@ -31,12 +31,16 @@ export struct HorizontalStrokeCardThreeTwoRadioForMoreComponent { @@ -31,12 +31,16 @@ export struct HorizontalStrokeCardThreeTwoRadioForMoreComponent {
31 } 31 }
32 .visibility(this.compDTO?.objectType === '0' || this.compDTO?.objectType === '' ? Visibility.None : Visibility.Visible) 32 .visibility(this.compDTO?.objectType === '0' || this.compDTO?.objectType === '' ? Visibility.None : Visibility.Visible)
33 .onClick(() => { 33 .onClick(() => {
34 - if (this.compDTO?.objectType === '11') {  
35 - ProcessUtils.jumpChannelTab(this.compDTO.objectId, this.compDTO.pageId as string)  
36 - } else if (this.compDTO?.objectType === '5') {  
37 - ProcessUtils._gotoSpecialTopic(this.compDTO.linkUrl)  
38 - } else if (this.compDTO?.objectType === '6') {  
39 - ProcessUtils._gotoDefaultWeb(this.compDTO.linkUrl) 34 + if (this.compDTO.linkUrl) {
  35 + let taskAction: Action = {
  36 + type: 'JUMP_H5_BY_WEB_VIEW',
  37 + params: {
  38 + url: this.compDTO.linkUrl
  39 + } as Params,
  40 + };
  41 + WDRouterRule.jumpWithAction(taskAction)
  42 + } else {
  43 + this.jumpToLiveMorePage()
40 } 44 }
41 }) 45 })
42 46
@@ -66,6 +70,7 @@ export struct HorizontalStrokeCardThreeTwoRadioForMoreComponent { @@ -66,6 +70,7 @@ export struct HorizontalStrokeCardThreeTwoRadioForMoreComponent {
66 .textAlign(TextAlign.Start) 70 .textAlign(TextAlign.Start)
67 .margin({ top: 8 }) 71 .margin({ top: 8 })
68 .width(150) 72 .width(150)
  73 + .lineHeight(17)
69 } 74 }
70 } 75 }
71 .padding({ left: (index == 0) ? 16 : 0, right: (index == this.compDTO.operDataList.length - 1) ? 16 : 0 }) 76 .padding({ left: (index == 0) ? 16 : 0, right: (index == this.compDTO.operDataList.length - 1) ? 16 : 0 })
@@ -95,5 +100,16 @@ export struct HorizontalStrokeCardThreeTwoRadioForMoreComponent { @@ -95,5 +100,16 @@ export struct HorizontalStrokeCardThreeTwoRadioForMoreComponent {
95 // .backgroundColor($r("app.color.color_FE4B05")) 100 // .backgroundColor($r("app.color.color_FE4B05"))
96 .margin({ bottom: 8 }) 101 .margin({ bottom: 8 })
97 } 102 }
  103 +
  104 + private jumpToLiveMorePage() {
  105 + // let taskAction: Action = {
  106 + // type: 'JUMP_INNER_NEW_PAGE',
  107 + // params: {
  108 + // pageID: 'LIVE_MORE_PAGE'
  109 + // } as Params,
  110 + // };
  111 + // WDRouterRule.jumpWithAction(taskAction)
  112 + WDRouterRule.jumpWithPage(WDRouterPage.liveMorePage)
  113 + }
98 } 114 }
99 115
@@ -27,7 +27,7 @@ export struct LiveHorizontalCardComponent { @@ -27,7 +27,7 @@ export struct LiveHorizontalCardComponent {
27 .fontWeight(600) 27 .fontWeight(600)
28 } 28 }
29 29
30 - if (this.compDTO.dataSourceType === 'LIVE_HORIZONTAL_CARD' || this.compDTO.dataSourceType === 'LIVE_MONTHLY_RANKING') { 30 + if (this.compDTO.dataSourceType === 'LIVE_HORIZONTAL_CARD' || this.compDTO.dataSourceType === 'LIVE_MONTHLY_RANKING' || this.compDTO.dataSourceType === 'OBJECT_POS') {
31 Row() { 31 Row() {
32 Text("更多") 32 Text("更多")
33 .fontSize($r("app.float.font_size_14")) 33 .fontSize($r("app.float.font_size_14"))
@@ -22,6 +22,7 @@ import { HttpUrlUtils } from 'wdNetwork/Index'; @@ -22,6 +22,7 @@ import { HttpUrlUtils } from 'wdNetwork/Index';
22 import { WDRouterPage, WDRouterRule } from 'wdRouter/Index'; 22 import { WDRouterPage, WDRouterRule } from 'wdRouter/Index';
23 import { PageRepository } from '../../repository/PageRepository'; 23 import { PageRepository } from '../../repository/PageRepository';
24 import { SpConstants } from 'wdConstant/Index'; 24 import { SpConstants } from 'wdConstant/Index';
  25 +import { WDShare } from 'wdShare/Index';
25 26
26 const TAG = 'OperRowListView'; 27 const TAG = 'OperRowListView';
27 28
@@ -42,6 +43,8 @@ const TAG = 'OperRowListView'; @@ -42,6 +43,8 @@ const TAG = 'OperRowListView';
42 @Preview 43 @Preview
43 @Component 44 @Component
44 export struct OperRowListView { 45 export struct OperRowListView {
  46 + private onBack: () => void = () => {
  47 + }
45 @Prop @Watch('onDetailUpdated') contentDetailData: ContentDetailDTO // 稿件详情 48 @Prop @Watch('onDetailUpdated') contentDetailData: ContentDetailDTO // 稿件详情
46 @State operationButtonList: string[] = ['comment', 'collect', 'share'] // 组件展示条件 49 @State operationButtonList: string[] = ['comment', 'collect', 'share'] // 组件展示条件
47 @ObjectLink publishCommentModel: publishCommentModel 50 @ObjectLink publishCommentModel: publishCommentModel
@@ -49,13 +52,16 @@ export struct OperRowListView { @@ -49,13 +52,16 @@ export struct OperRowListView {
49 @State interactData: InteractDataDTO = {} as InteractDataDTO 52 @State interactData: InteractDataDTO = {} as InteractDataDTO
50 @State newsStatusOfUser: batchLikeAndCollectResult | undefined = undefined // 点赞、收藏状态 53 @State newsStatusOfUser: batchLikeAndCollectResult | undefined = undefined // 点赞、收藏状态
51 @State likeBean: Record<string, string> = {} 54 @State likeBean: Record<string, string> = {}
52 - @State audioUrl: string= '' 55 + @State audioUrl: string = ''
  56 + @State bgColor: ResourceColor = Color.White
53 @State bottomSafeHeight: number = AppStorage.get<number>('bottomSafeHeight') || 0 57 @State bottomSafeHeight: number = AppStorage.get<number>('bottomSafeHeight') || 0
54 needLike: boolean = true 58 needLike: boolean = true
55 59
56 // async aboutToAppear() { 60 // async aboutToAppear() {
57 async onDetailUpdated() { 61 async onDetailUpdated() {
58 - if (!this.contentDetailData) return 62 + if (!this.contentDetailData) {
  63 + return
  64 + }
59 const user_id = await SPHelper.default.get(SpConstants.USER_ID, '') 65 const user_id = await SPHelper.default.get(SpConstants.USER_ID, '')
60 if (user_id) { 66 if (user_id) {
61 this.getInteractDataStatus() 67 this.getInteractDataStatus()
@@ -98,6 +104,9 @@ export struct OperRowListView { @@ -98,6 +104,9 @@ export struct OperRowListView {
98 } 104 }
99 .hoverEffect(HoverEffect.Scale) 105 .hoverEffect(HoverEffect.Scale)
100 .onClick(() => { 106 .onClick(() => {
  107 + if (this.onBack) {
  108 + this.onBack()
  109 + }
101 router.back(); 110 router.back();
102 }) 111 })
103 .width(42) 112 .width(42)
@@ -123,7 +132,7 @@ export struct OperRowListView { @@ -123,7 +132,7 @@ export struct OperRowListView {
123 .justifyContent(FlexAlign.Start) 132 .justifyContent(FlexAlign.Start)
124 } 133 }
125 .width('100%') 134 .width('100%')
126 - .backgroundColor(Color.White) 135 + .backgroundColor(this.bgColor)
127 .padding({ 136 .padding({
128 top: 10, 137 top: 10,
129 // bottom: `${this.bottomSafeHeight}px` 138 // bottom: `${this.bottomSafeHeight}px`
@@ -173,7 +182,8 @@ export struct OperRowListView { @@ -173,7 +182,8 @@ export struct OperRowListView {
173 builderCollect() { 182 builderCollect() {
174 Column() { 183 Column() {
175 Stack({ alignContent: Alignment.TopEnd }) { 184 Stack({ alignContent: Alignment.TopEnd }) {
176 - Image(this.newsStatusOfUser?.collectStatus == 1 ? $r('app.media.ic_collect_check') : $r('app.media.iv_live_comment_collect_un')) 185 + Image(this.newsStatusOfUser?.collectStatus == 1 ? $r('app.media.ic_collect_check') :
  186 + $r('app.media.iv_live_comment_collect_un'))
177 .width(24) 187 .width(24)
178 .height(24) 188 .height(24)
179 .interpolation(ImageInterpolation.High) 189 .interpolation(ImageInterpolation.High)
@@ -225,12 +235,17 @@ export struct OperRowListView { @@ -225,12 +235,17 @@ export struct OperRowListView {
225 .aspectRatio(1) 235 .aspectRatio(1)
226 .interpolation(ImageInterpolation.High) 236 .interpolation(ImageInterpolation.High)
227 .onClick((event: ClickEvent) => { 237 .onClick((event: ClickEvent) => {
228 - ToastUtils.showToast('分享为公共方法,待开发', 1000); 238 + // ToastUtils.showToast('分享为公共方法,待开发', 1000);
  239 + this.share()
229 }) 240 })
230 } 241 }
231 .width(42) 242 .width(42)
232 } 243 }
233 244
  245 + share() {
  246 + WDShare.shareContent(this.contentDetailData)
  247 + }
  248 +
234 // 已登录->查询用户对作品收藏状态 249 // 已登录->查询用户对作品收藏状态
235 private async getInteractDataStatus() { 250 private async getInteractDataStatus() {
236 try { 251 try {
@@ -273,7 +288,7 @@ export struct OperRowListView { @@ -273,7 +288,7 @@ export struct OperRowListView {
273 PageRepository.postExecuteCollectRecord(params).then(res => { 288 PageRepository.postExecuteCollectRecord(params).then(res => {
274 if (this.newsStatusOfUser) { 289 if (this.newsStatusOfUser) {
275 this.newsStatusOfUser.collectStatus = this.newsStatusOfUser?.collectStatus === 1 ? 0 : 1 290 this.newsStatusOfUser.collectStatus = this.newsStatusOfUser?.collectStatus === 1 ? 0 : 1
276 - if(this.newsStatusOfUser.collectStatus === 1){ 291 + if (this.newsStatusOfUser.collectStatus === 1) {
277 promptAction.showToast({ message: '收藏成功' }) 292 promptAction.showToast({ message: '收藏成功' })
278 } 293 }
279 this.queryContentInteractCount() 294 this.queryContentInteractCount()
@@ -299,7 +314,8 @@ export struct OperRowListView { @@ -299,7 +314,8 @@ export struct OperRowListView {
299 this.interactData.collectNum = NumberFormatterUtils.formatNumberWithWan(res.data[0]?.collectNum) 314 this.interactData.collectNum = NumberFormatterUtils.formatNumberWithWan(res.data[0]?.collectNum)
300 this.interactData.commentNum = NumberFormatterUtils.formatNumberWithWan(res.data[0]?.commentNum) 315 this.interactData.commentNum = NumberFormatterUtils.formatNumberWithWan(res.data[0]?.commentNum)
301 // 评论组件需要数据 316 // 评论组件需要数据
302 - if (Number.parseInt(this.interactData.commentNum) > Number.parseInt(this.publishCommentModel.totalCommentNumer)) { 317 + if (Number.parseInt(this.interactData.commentNum) >
  318 + Number.parseInt(this.publishCommentModel.totalCommentNumer)) {
303 this.publishCommentModel.totalCommentNumer = this.interactData.commentNum + '' || '0' 319 this.publishCommentModel.totalCommentNumer = this.interactData.commentNum + '' || '0'
304 } 320 }
305 } 321 }
@@ -5,6 +5,17 @@ import { LiveDetailsBean, ReserveBean } from 'wdBean/Index'; @@ -5,6 +5,17 @@ import { LiveDetailsBean, ReserveBean } from 'wdBean/Index';
5 5
6 const TAG = 'LiveModel' 6 const TAG = 'LiveModel'
7 7
  8 +interface ReserveRes {
  9 + code: string | number,
  10 + data: ReserveItem[]
  11 +}
  12 +
  13 +interface ReserveItem {
  14 + liveId: number,
  15 + relationId: string,
  16 + subscribe: boolean
  17 +}
  18 +
8 export class LiveModel { 19 export class LiveModel {
9 /** 20 /**
10 * 直播内容详情 21 * 直播内容详情
@@ -46,6 +57,9 @@ export class LiveModel { @@ -46,6 +57,9 @@ export class LiveModel {
46 params['relationId'] = relationId 57 params['relationId'] = relationId
47 params['liveId'] = liveId 58 params['liveId'] = liveId
48 params['isSubscribe'] = `${isSubscribe}` 59 params['isSubscribe'] = `${isSubscribe}`
  60 + Logger.info('relationId', relationId)
  61 + Logger.info('liveId', liveId)
  62 + Logger.info('isSubscribe', typeof isSubscribe)
49 return new Promise<ResponseDTO<string>>((success, fail) => { 63 return new Promise<ResponseDTO<string>>((success, fail) => {
50 HttpRequest.post<ResponseDTO<string>>( 64 HttpRequest.post<ResponseDTO<string>>(
51 HttpUrlUtils.getLiveAppointmentUrl(), 65 HttpUrlUtils.getLiveAppointmentUrl(),
@@ -74,17 +88,21 @@ export class LiveModel { @@ -74,17 +88,21 @@ export class LiveModel {
74 static getAppointmentStatus(reserveBean: ReserveBean[]) { 88 static getAppointmentStatus(reserveBean: ReserveBean[]) {
75 // let params: Record<string, ArrayList<ReserveBean>> = {}; 89 // let params: Record<string, ArrayList<ReserveBean>> = {};
76 // params = reserveBean 90 // params = reserveBean
77 - return new Promise<ResponseDTO<string>>((success, fail) => {  
78 - HttpRequest.post<ResponseDTO<string>>( 91 + return new Promise<Array<ReserveItem>>((success, fail) => {
  92 + HttpRequest.post<ResponseDTO<Array<ReserveItem>>>(
79 HttpUrlUtils.getAppointmentStatusUrl(), 93 HttpUrlUtils.getAppointmentStatusUrl(),
80 reserveBean, 94 reserveBean,
81 - ).then((data: ResponseDTO<string>) => { 95 + ).then((data: ResponseDTO<Array<ReserveItem>>) => {
  96 + if (!data || !data.data) {
  97 + fail("数据为空")
  98 + return
  99 + }
82 if (data.code != 0) { 100 if (data.code != 0) {
83 fail(data.message) 101 fail(data.message)
84 ToastUtils.shortToast(data.message) 102 ToastUtils.shortToast(data.message)
85 return 103 return
86 } 104 }
87 - success(data) 105 + success(data.data)
88 }, (error: Error) => { 106 }, (error: Error) => {
89 fail(error.message) 107 fail(error.message)
90 Logger.debug(TAG + ":error ", error.toString()) 108 Logger.debug(TAG + ":error ", error.toString())
  1 +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="205" height="12" viewBox="0 0 205 12"><g><g><rect x="0" y="5" width="1" height="2" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="3" y="5.5" width="1" height="1" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="6" y="3" width="1" height="6" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="9" y="1" width="1" height="10" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="12" y="5" width="1" height="2" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="15" y="4.5" width="1" height="3" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="18" y="3" width="1" height="6" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="21" y="0" width="1" height="12" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="24" y="5" width="1" height="2" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="27" y="4" width="1" height="4" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="30" y="3.5" width="1" height="5" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="33" y="5" width="1" height="2" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="36" y="2" width="1" height="8" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="39" y="3" width="1" height="6" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="42" y="4.5" width="1" height="3" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="45" y="5" width="1" height="2" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="48" y="3.5" width="1" height="5" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="51" y="1" width="1" height="10" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="54" y="4" width="1" height="4" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="57" y="2.5" width="1" height="7" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="60" y="4.5" width="1" height="3" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="63" y="3" width="1" height="6" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="66" y="3.5" width="1" height="5" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="69" y="4.5" width="1" height="3" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="72" y="3.5" width="1" height="5" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="75" y="4.5" width="1" height="3" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="78" y="3" width="1" height="6" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="81" y="2" width="1" height="8" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="84" y="3.5" width="1" height="5" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="87" y="4.5" width="1" height="3" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="90" y="3.5" width="1" height="5" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="93" y="5" width="1" height="2" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="96" y="4.5" width="1" height="3" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="99" y="3.5" width="1" height="5" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="102" y="5" width="1" height="2" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="105" y="3.5" width="1" height="5" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="108" y="4.5" width="1" height="3" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="111" y="3.5" width="1" height="5" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="114" y="4.5" width="1" height="3" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="117" y="2.5" width="1" height="7" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="120" y="5" width="1" height="2" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="123" y="3.5" width="1" height="5" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="126" y="4.5" width="1" height="3" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="129" y="3.5" width="1" height="5" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="132" y="2.5" width="1" height="7" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="135" y="5" width="1" height="2" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="138" y="3.5" width="1" height="5" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="141" y="4.5" width="1" height="3" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="144" y="3.5" width="1" height="5" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="147" y="5" width="1" height="2" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="150" y="5.5" width="1" height="1" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="153" y="3.5" width="1" height="5" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="156" y="4.5" width="1" height="3" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="159" y="1" width="1" height="10" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="162" y="3.5" width="1" height="5" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="165" y="3.5" width="1" height="5" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="168" y="5" width="1" height="2" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="171" y="5.5" width="1" height="1" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="174" y="2" width="1" height="8" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="177" y="4.5" width="1" height="3" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="180" y="0" width="1" height="12" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="183" y="3.5" width="1" height="5" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="186" y="3.5" width="1" height="5" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="189" y="5" width="1" height="2" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="192" y="5.5" width="1" height="1" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="195" y="2" width="1" height="8" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="198" y="4.5" width="1" height="3" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="201" y="3" width="1" height="6" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g><g><rect x="204" y="5" width="1" height="2" rx="0.20000000298023224" fill="#ED2800" fill-opacity="1"/></g></g></svg>
  1 +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="44" height="44" viewBox="0 0 44 44"><defs><clipPath id="master_svg0_13405_092216"><rect x="13" y="12" width="20" height="20" rx="0"/></clipPath></defs><g><g><ellipse cx="22" cy="22" rx="22" ry="22" fill="#262626" fill-opacity="1"/></g><g clip-path="url(#master_svg0_13405_092216)"><g><path d="M17.16650390625,14.793388437499999L17.16650390625,29.2046234375C17.16650390625,29.3342234375,17.30783290625,29.4142234375,17.41891990625,29.3475234375L29.42830390625,22.1419434375C29.53620390625,22.0772034375,29.53620390625,21.9208434375,29.42830390625,21.8561034375L17.41891990625,14.6504734375C17.30783290625,14.5838205375,17.16650390625,14.6638394375,17.16650390625,14.793388437499999" fill-rule="evenodd" fill="#ED2800" fill-opacity="1"/></g></g></g></svg>
  1 +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="44" height="44" viewBox="0 0 44 44"><g><g><ellipse cx="22" cy="22" rx="22" ry="22" fill="#262626" fill-opacity="1"/></g><g><g><path d="M15.248507,13.563701539714966L18.84851,14.463701379714966C18.93754,14.485960379714966,19,14.565955379714966,19,14.657725379714966L19,31.245415379714967C19,31.375515379714965,18.87772,31.471015379714967,18.75149,31.439415379714966L15.151493,30.539415379714967C15.0624595,30.517215379714965,15,30.437215379714967,15,30.345415379714964L15,13.757729379714966C15,13.627615879714966,15.122278,13.532144179714965,15.248507,13.563701539714966M25.2485,13.563701539714966L28.8485,14.463701379714966C28.9375,14.485960379714966,29,14.565955379714966,29,14.657725379714966L29,31.245415379714967C29,31.375515379714965,28.8777,31.471015379714967,28.7515,31.439415379714966L25.1515,30.539415379714967C25.0625,30.517215379714965,25,30.437215379714967,25,30.345415379714964L25,13.757729379714966C25,13.627615879714966,25.1223,13.532144179714965,25.2485,13.563701539714966" fill-rule="evenodd" fill="#ED2800" fill-opacity="1"/></g></g></g></svg>
  1 +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="12" height="12" viewBox="0 0 12 12"><g><g></g><g><path d="M5.399900000000001,6.64951171875L5.399900000000001,10.39951171875Q5.399900000000001,10.41940171875,5.40751,10.43778171875Q5.4151299999999996,10.45615171875,5.42919,10.47022171875Q5.44326,10.48428171875,5.4616299999999995,10.49190171875Q5.48001,10.49951171875,5.4999,10.49951171875L6.4499,10.49951171875Q6.46979,10.49951171875,6.48817,10.49190171875Q6.50655,10.48428171875,6.52061,10.47022171875Q6.53468,10.45615171875,6.54229,10.43778171875Q6.5499,10.41940171875,6.5499,10.39951171875L6.5499,6.64951171875L10.4,6.64951171875Q10.41989,6.64951171875,10.43827,6.64190171875Q10.45664,6.63429171875,10.47071,6.62022171875Q10.48477,6.60615171875,10.49239,6.58778171875Q10.5,6.56940171875,10.5,6.54951171875L10.5,5.59951171875Q10.5,5.57962171875,10.49239,5.56124171875Q10.48477,5.54286171875,10.47071,5.52880171875Q10.45664,5.51473171875,10.43827,5.50712171875Q10.41989,5.49951171875,10.4,5.49951171875L6.5499,5.49951171875L6.5499,1.59951171875Q6.5499,1.57962051875,6.54229,1.56124341875Q6.53468,1.54286621875,6.52061,1.52880101875Q6.50655,1.51473581875,6.48817,1.50712376875Q6.46979,1.49951171875,6.4499,1.49951171875L5.4999,1.49951171875Q5.48001,1.49951171875,5.4616299999999995,1.50712376875Q5.44326,1.51473581875,5.42919,1.52880101875Q5.4151299999999996,1.54286621875,5.40751,1.5612433187499999Q5.399900000000001,1.57962051875,5.399900000000001,1.59951171875L5.399900000000001,5.49951171875L1.6,5.49951171875Q1.5801091,5.49951171875,1.5617319,5.50712171875Q1.5433547,5.51473171875,1.5292894,5.52880171875Q1.5152241,5.54286171875,1.50761207,5.56124171875Q1.5,5.57962171875,1.5,5.59951171875L1.5,6.54951171875Q1.5,6.56940171875,1.50761207,6.58778171875Q1.5152241,6.60615171875,1.5292894,6.62022171875Q1.5433547,6.63429171875,1.5617319,6.64190171875Q1.5801091,6.64951171875,1.6,6.64951171875L5.399900000000001,6.64951171875Z" fill-rule="evenodd" fill="#cccccc" fill-opacity="1"/></g></g></svg>
  1 +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="14" height="14" viewBox="0 0 14 14"><g><g><path d="M11.575,5.25L13.8,5.25C13.91046,5.25,14,5.3395431,14,5.45L14,13.8C14,13.91046,13.91046,14,13.8,14L11.575,14C11.4645431,14,11.375,13.91046,11.375,13.8L11.375,5.45C11.375,5.3395431,11.4645431,5.25,11.575,5.25ZM12.375,13L12.375,6.25L13,6.25L13,13L12.375,13Z" fill-rule="evenodd" fill="#aaa" fill-opacity="1"/></g><g><rect x="0.5" y="0.5" width="11.25" height="13" rx="-0.29999999701976776" fill-opacity="0" stroke-opacity="1" stroke="#aaa" fill="none" stroke-width="1"/></g><g><rect x="3.125" y="3.125" width="6" height="2.5" rx="-0.29999999701976776" fill-opacity="0" stroke-opacity="1" stroke="#aaa" fill="none" stroke-width="1"/></g><g><rect x="2.625" y="7.875" width="7" height="1" rx="0.20000000298023224" fill="#aaa" fill-opacity="1"/></g><g><rect x="2.625" y="10.5" width="4.375" height="1" rx="0.20000000298023224" fill="#aaa" fill-opacity="1"/></g></g></svg>
  1 +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="16" height="16" viewBox="0 0 16 16"><g transform="matrix(-1,0,0,1,32,0)"><g></g><g><path d="M25.52813173828125,2.1962385625C25.78848173828125,1.9358891625,26.210591738281252,1.9358891625,26.47094173828125,2.1962385625C26.71269173828125,2.4379915625,26.72996173828125,2.8192225625000003,26.52274173828125,3.0808965625L26.47094173828125,3.1390465625L21.61033173828125,7.9992265625L26.47094173828125,12.8593765625C26.71269173828125,13.1011765625,26.72996173828125,13.4823765625,26.52274173828125,13.7440765625L26.47094173828125,13.8021765625C26.229181738281248,14.0439765625,25.84795173828125,14.0612765625,25.58627173828125,13.8539765625L25.52813173828125,13.8021765625L20.19654373828125,8.470636562500001C19.95479073828125,8.2288765625,19.93752263828125,7.8476465625,20.14473973828125,7.5859665625L20.19654373828125,7.5278265625L25.52813173828125,2.1962385625Z" fill-rule="evenodd" fill="#AAAAAA" fill-opacity="1"/></g></g></svg>
  1 +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="16" height="16" viewBox="0 0 16 16"><g><g transform="matrix(-1,0,0,1,22.797557830810547,0)"><path d="M17.302778915405273,2.0074672451339723L11.457366515405273,7.852883645133972Q11.398519692405273,7.911733645133972,11.398789225305274,7.994953645133972Q11.398519692405273,8.078173645133973,11.457366515405273,8.137023645133972L17.302778915405273,13.982453645133972Q17.330908915405274,14.010553645133973,17.367668915405275,14.025753645133973Q17.404418915405273,14.041053645133973,17.444198915405273,14.041053645133973Q17.483988915405273,14.041053645133973,17.520738915405275,14.025753645133973Q17.557498915405272,14.010553645133973,17.585628915405273,13.982453645133972L18.387008915405275,13.181053645133971Q18.415138915405272,13.152953645133973,18.430368915405275,13.116153645133972Q18.445588915405274,13.079453645133972,18.445588915405274,13.039653645133972Q18.445588915405274,12.999853645133973,18.430368915405275,12.963053645133972Q18.415138915405272,12.926353645133972,18.387008915405275,12.898253645133972L13.483758915405273,7.994953645133972L18.387008915405275,3.0916936451339723Q18.415138915405272,3.0635636451339723,18.430368915405275,3.026813645133972Q18.445588915405274,2.990053645133972,18.445588915405274,2.950273645133972Q18.445588915405274,2.9104936451339722,18.430368915405275,2.873739645133972Q18.415138915405272,2.8369856451339723,18.387008915405275,2.808854645133972L17.585628915405273,2.0074672451339723Q17.527048915405274,1.9488885511339722,17.444208915405273,1.9488885491339722Q17.361358915405273,1.948888547133972,17.302778915405273,2.0074672451339723Z" fill-rule="evenodd" fill="#dddddd" fill-opacity="1"/></g></g></svg>
  1 +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="16" height="16" viewBox="0 0 16 16"><defs><clipPath id="master_svg0_13700_095790"><rect x="0" y="0" width="16" height="16" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_13700_095790)"><g><path d="M3.333251953125,2.2345154375L3.333251953125,13.7635234375C3.333251953125,13.8671234375,3.446314953125,13.9312234375,3.535184953125,13.8778234375L13.142701953125,8.113353437499999C13.229011953125,8.0615734375,13.229011953125,7.9364834375,13.142701953125,7.8846934375L3.535184953125,2.1201834375C3.446314953125,2.0668611375,3.333251953125,2.1308764375,3.333251953125,2.2345154375" fill-rule="evenodd" fill="#1D1D1D" fill-opacity="1"/></g></g></svg>
  1 +/****reset****/
  2 +body,
  3 +div,
  4 +table,
  5 +tr,
  6 +td,
  7 +th,
  8 +h1,
  9 +h2,
  10 +h3,
  11 +h4,
  12 +h5,
  13 +h6,
  14 +form,
  15 +input,
  16 +button,
  17 +label,
  18 +select,
  19 +textarea,
  20 +p,
  21 +u,
  22 +i,
  23 +em,
  24 +ul,
  25 +ol,
  26 +li,
  27 +dl,
  28 +dd,
  29 +dt,
  30 +img,
  31 +article,
  32 +aside,
  33 +details,
  34 +figcaption,
  35 +figure,
  36 +footer,
  37 +header,
  38 +menu,
  39 +nav,
  40 +section {
  41 + box-sizing: border-box;
  42 + margin: 0;
  43 + padding: 0;
  44 + font-size: 100%;
  45 + vertical-align: baseline;
  46 + border: 0;
  47 + outline: 0;
  48 +}
  49 +li {
  50 + list-style: none;
  51 +}
  52 +h1,
  53 +h2,
  54 +h3,
  55 +h4,
  56 +h5,
  57 +h6 {
  58 + font-size: 100%;
  59 +}
  60 +table {
  61 + border-collapse: collapse;
  62 + border-spacing: 0;
  63 + width: 100%;
  64 +}
  65 +a,
  66 +input,
  67 +select,
  68 +textarea,
  69 +area,
  70 +button {
  71 + outline: none;
  72 + font-family: inherit;
  73 + font-size: inherit;
  74 + border: none;
  75 + background: none;
  76 + color: inherit;
  77 +}
  78 +a {
  79 + text-decoration: none;
  80 +}
  81 +a:hover {
  82 + text-decoration: none;
  83 +}
  84 +textarea {
  85 + overflow: auto;
  86 + resize: none;
  87 +}
  88 +input[type="button"],
  89 +input[type="submit"],
  90 +input[type="reset"] {
  91 + cursor: pointer;
  92 + -webkit-appearance: none;
  93 +}
  94 +html,
  95 +body {
  96 + overflow-x: hidden;
  97 + width: 100%;
  98 + height: 100%;
  99 + background: #ffffff;
  100 +}
  101 +* {
  102 + -webkit-overflow-scrolling: touch;
  103 +}
  104 +html {
  105 + -webkit-tap-highlight-color: transparent;
  106 +}
  107 +body {
  108 + text-align: left;
  109 +}
  110 +body #app {
  111 + height: 100%;
  112 +}
  113 +body #app::-webkit-scrollbar {
  114 + display: none;
  115 +}
  116 +body #app::-webkit-scrollbar-thumb {
  117 + display: none;
  118 +}
  119 +body #app::-webkit-scrollbar-track {
  120 + display: none;
  121 +}
  122 +.fl {
  123 + float: left;
  124 +}
  125 +.fr {
  126 + float: right;
  127 +}
  128 +.clearfix {
  129 + zoom: 1;
  130 +}
  131 +.clearfix::before,
  132 +.clearfix::after {
  133 + display: table;
  134 + content: " ";
  135 +}
  136 +.clearfix::after {
  137 + clear: both;
  138 + height: 0;
  139 + font-size: 0;
  140 + visibility: hidden;
  141 +}
  142 +.ant-skeleton {
  143 + display: table;
  144 + width: 100%;
  145 +}
  146 +.ant-skeleton + .ant-skeleton {
  147 + margin-top: 0.64rem;
  148 +}
  149 +.ant-skeleton.active {
  150 + display: none;
  151 +}
  152 +.ant-skeleton-content {
  153 + display: table-cell;
  154 + width: 100%;
  155 + margin-bottom: 0.64rem;
  156 + vertical-align: top;
  157 +}
  158 +.ant-skeleton-content .ant-skeleton-title {
  159 + width: 100%;
  160 + height: 0.53333rem;
  161 + margin-top: 0.26667rem;
  162 + background: #f2f2f2;
  163 +}
  164 +.ant-skeleton-content .ant-skeleton-title + .ant-skeleton-paragraph {
  165 + margin-top: 0.64rem;
  166 +}
  167 +.ant-skeleton-content .ant-skeleton-paragraph {
  168 + padding: 0;
  169 +}
  170 +.ant-skeleton-content .ant-skeleton-paragraph > li {
  171 + width: 23.3%;
  172 + height: 0.32rem;
  173 + list-style: none;
  174 + background: #f2f2f2;
  175 +}
  176 +.ant-skeleton-content .ant-skeleton-paragraph > li + li {
  177 + margin-top: 0.26667rem;
  178 +}
  179 +.ant-skeleton-content .ant-skeleton-paragraph > li:last-child:not(:first-child):not(:nth-child(2)) {
  180 + width: 61%;
  181 +}
  182 +.ant-skeleton.ant-skeleton-active .ant-skeleton-avatar,
  183 +.ant-skeleton.ant-skeleton-active .ant-skeleton-button,
  184 +.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-paragraph > li,
  185 +.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-title,
  186 +.ant-skeleton.ant-skeleton-active .ant-skeleton-image,
  187 +.ant-skeleton.ant-skeleton-active .ant-skeleton-input {
  188 + background: -webkit-gradient(linear, left top, right top, color-stop(25%, #f2f2f2), color-stop(37%, #e6e6e6), color-stop(63%, #f2f2f2));
  189 + background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 37%, #f2f2f2 63%);
  190 + background-size: 400% 100%;
  191 + animation: ant-skeleton-loading 1.4s ease infinite;
  192 +}
  193 +@keyframes ant-skeleton-loading {
  194 + 0% {
  195 + background-position: 100% 50%;
  196 + }
  197 + 100% {
  198 + background-position: 0 50%;
  199 + }
  200 +}
  201 +@keyframes spinner-anime {
  202 + 100% {
  203 + transform: rotate(360deg);
  204 + }
  205 +}
  206 +.toast-loading {
  207 + position: fixed;
  208 + top: 0;
  209 + left: 0;
  210 + width: 100%;
  211 + height: 100%;
  212 + display: flex;
  213 + justify-content: center;
  214 + align-items: center;
  215 + text-align: center;
  216 + z-index: 9999999999;
  217 +}
  218 +.toast-loading.active {
  219 + display: none;
  220 +}
  221 +.toast-loading.none {
  222 + display: none;
  223 +}
  224 +.toast-loading .loading-cont {
  225 + display: flex;
  226 + flex-direction: column;
  227 + justify-content: center;
  228 + align-items: center;
  229 + padding: 15px 15px;
  230 + border-radius: 7px;
  231 + background-clip: padding-box;
  232 + color: #fff;
  233 + background-color: rgba(58, 58, 58, 0.9);
  234 + font-size: 15px;
  235 + line-height: 20px;
  236 +}
  237 +.toast-loading .loading-cont .svg {
  238 + margin: 0;
  239 + width: 32px;
  240 + height: 32px;
  241 + display: inline-block;
  242 + width: 20px;
  243 + height: 20px;
  244 + background-image: url("../image/loading.svg");
  245 + background-position: 50%;
  246 + background-size: 100%;
  247 + background-repeat: no-repeat;
  248 + animation: spinner-anime 1s linear infinite;
  249 +}
  250 +.toast-loading .loading-cont .svg-text {
  251 + display: inline-block;
  252 + position: relative;
  253 + top: 4px;
  254 +}
  255 +.skeleton-loading {
  256 + display: block;
  257 + padding: 0.26666667rem 0.48rem 0;
  258 + height: 100%;
  259 + overflow: hidden;
  260 +}
  261 +.skeleton-loading.active {
  262 + position: fixed;
  263 + left: 0;
  264 + top: 0;
  265 + width: 100%;
  266 + opacity: 0;
  267 + visibility: hidden;
  268 + z-index: -1;
  269 +}
  270 +.skeleton-loading.none {
  271 + display: none;
  272 +}
  273 +.error-block {
  274 + display: none;
  275 + box-sizing: border-box;
  276 + text-align: center;
  277 + padding-top: 3.76rem;
  278 +}
  279 +.error-block.active {
  280 + display: block;
  281 +}
  282 +.error-block .error-block-image {
  283 + text-align: center;
  284 +}
  285 +.error-block .error-block-image img {
  286 + width: 4.26666667rem;
  287 + height: 2.98666667rem;
  288 +}
  289 +.error-block .error-block-retry-btn,
  290 +.error-block .error-block-reload-btn {
  291 + width: 2.13333333rem;
  292 + height: 0.74666667rem;
  293 + border-radius: 0.08rem;
  294 + border: 0.02666667rem solid #EDEDED;
  295 + margin: 0 auto;
  296 + margin-top: 0.42666667rem;
  297 + font-size: 0.32rem;
  298 + font-weight: bold;
  299 + line-height: 0.74666667rem;
  300 + text-align: center;
  301 + color: #666666;
  302 +}
  303 +.error-block .error-block-reload-btn {
  304 + width: 3.73333333rem;
  305 +}
  306 +.error-block .error-block-description-title {
  307 + text-align: center;
  308 + margin: 0 auto;
  309 + font-size: 14px;
  310 + color: rgba(51, 51, 51, 0.5);
  311 +}
  312 +.ellipsis1 {
  313 + overflow: hidden;
  314 + text-overflow: ellipsis;
  315 + display: -webkit-box;
  316 + -webkit-line-clamp: 1;
  317 + line-clamp: 1;
  318 + -webkit-box-orient: vertical;
  319 + word-wrap: break-word;
  320 +}
  321 +#app.fixed {
  322 + position: fixed;
  323 + left: 0;
  324 + top: 0;
  325 + z-index: -1;
  326 + visibility: hidden;
  327 + opacity: 0;
  328 + width: 100%;
  329 +}
  330 +.gx-mobile.fixed {
  331 + position: fixed;
  332 + left: 0;
  333 + top: 0;
  334 + z-index: -1;
  335 + visibility: hidden;
  336 + opacity: 0;
  337 + width: 100%;
  338 + height: 17.57333333rem;
  339 +}
  340 +.refresh-content {
  341 + height: 100%;
  342 +}
  343 +.refresh-content .van-pull-refresh {
  344 + height: 100%;
  345 +}
  346 +html {
  347 + transition: color 300ms, background-color 300ms;
  348 +}
  349 +body .van-image__error,
  350 +body .van-image__loading {
  351 + display: block;
  352 +}
  353 +body .prism-fullscreen {
  354 + z-index: 999999 !important;
  355 +}
  356 +body .prism-player .prism-animation,
  357 +body .prism-player .prism-detect-info,
  358 +body .prism-player .prism-button,
  359 +body .prism-player .prism-setting-quality,
  360 +body .prism-player .prism-setting-audio,
  361 +body .prism-player .prism-setting-cc,
  362 +body .prism-player .prism-cc-btn,
  363 +body .prism-player .prism-volume,
  364 +body .prism-player .prism-tooltip,
  365 +body .prism-player .prism-setting-btn,
  366 +body .prism-player .prism-button-retry,
  367 +body .prism-player .dplayer-thumb,
  368 +body .prism-player .prism-progress-played,
  369 +body .prism-player .prism-progress-cursor,
  370 +body .prism-player .prism-progress-hover,
  371 +body .prism-player .prism-big-play-btn,
  372 +body .prism-player .prism-controlbar,
  373 +body .prism-player .prism-info-display,
  374 +body .prism-player .prism-text-overlay,
  375 +body .prism-player .prism-error-operation,
  376 +body .prism-player .prism-ErrorMessage,
  377 +body .prism-player .prism-cover,
  378 +body .prism-player .prism-loading {
  379 + display: none !important;
  380 +}
  381 +#__vconsole {
  382 + z-index: 10000000;
  383 +}
  384 +#__vconsole .vc-switch {
  385 + z-index: 10000000;
  386 +}
  387 +#__vconsole .vc-panel {
  388 + min-height: unset !important;
  389 + height: 500px !important;
  390 +}
  391 +#app {
  392 + overflow-y: hidden;
  393 + overflow-x: hidden;
  394 +}
  395 +#app .van-loading {
  396 + text-align: center;
  397 +}
  398 +html[dark-mode] body {
  399 + background-color: #161827;
  400 +}
  401 +html[dark-mode] body .gx-mobile .vote {
  402 + background-color: #1D1F2F;
  403 +}
  404 +html[dark-mode] body .gx-mobile .suggested .suggested-title {
  405 + color: #d9d9d9ff;
  406 +}
  407 +html[dark-mode] body .gx-mobile .suggested .suggested-item_title {
  408 + color: #d9d9d9ff !important;
  409 +}
  410 +html[dark-mode] body .gx-mobile .suggested .subtitle {
  411 + color: #d9d9d9ff !important;
  412 +}
  413 +html[dark-mode] body .gx-mobile .suggested .left span {
  414 + color: #ffffff5c !important;
  415 +}
  416 +html[dark-mode] body .gx-mobile .title {
  417 + color: #d9d9d9ff;
  418 +}
  419 +html[dark-mode] body .gx-mobile .ptxt {
  420 + color: #ffffffab;
  421 +}
  422 +html[dark-mode] body .gx-mobile .btsIem {
  423 + background-color: #161828;
  424 +}
  425 +html[dark-mode] body .gx-mobile .stx {
  426 + color: #ffffffab !important;
  427 +}
  428 +html[dark-mode] body .gx-mobile .jd .s1 {
  429 + background: linear-gradient(270deg, #e5111eff 0%, #ffb5b9ff 100%);
  430 +}
  431 +html[dark-mode] body .gx-mobile .jd .s2 {
  432 + background-color: #393A47 !important;
  433 +}
  434 +html[dark-mode] body .gx-mobile .open {
  435 + background: linear-gradient(179.9deg, #1d1f2e00 0%, #1d1f2eff 48%, #1d1f2eff 99%);
  436 +}
  437 +html[dark-mode] body .gx-mobile .open img {
  438 + width: 0.42667rem;
  439 + height: 0.42667rem;
  440 +}
  441 +html[dark-mode] body .gx-mobile .time {
  442 + color: rgba(255, 255, 255, 0.4);
  443 +}
  444 +html[dark-mode] body .gx-mobile #newsContent {
  445 + background-color: #12131e !important;
  446 + color: #ccc;
  447 +}
  448 +html[dark-mode] body .gx-mobile #newsContent h1,
  449 +html[dark-mode] body .gx-mobile #newsContent h2,
  450 +html[dark-mode] body .gx-mobile #newsContent div,
  451 +html[dark-mode] body .gx-mobile #newsContent h3,
  452 +html[dark-mode] body .gx-mobile #newsContent p,
  453 +html[dark-mode] body .gx-mobile #newsContent h4,
  454 +html[dark-mode] body .gx-mobile #newsContent h5,
  455 +html[dark-mode] body .gx-mobile #newsContent h6,
  456 +html[dark-mode] body .gx-mobile #newsContent ul,
  457 +html[dark-mode] body .gx-mobile #newsContent li,
  458 +html[dark-mode] body .gx-mobile #newsContent ol {
  459 + background-color: #12131e !important;
  460 + color: #ccc !important;
  461 +}
  462 +html[dark-mode] body .gx-mobile #newsContent .preview-video div,
  463 +html[dark-mode] body .gx-mobile #newsContent .preview-video p {
  464 + background-color: rgba(255, 255, 255, 0) !important;
  465 +}
  466 +html[dark-mode] body .footer {
  467 + background-color: #12131e;
  468 + border-top: #252630;
  469 +}
  470 +.anticon-spin {
  471 + animation: loadingCircle 1s infinite linear;
  472 +}
  473 +.prism-player {
  474 + position: relative;
  475 +}
  476 +.prism-player video {
  477 + position: absolute;
  478 + left: 50%;
  479 + top: 50%;
  480 + transform: translate(-50%, -50%);
  481 + -ms-transform: translate(-50%, -50%);
  482 + -moz-transform: translate(-50%, -50%);
  483 + -webkit-transform: translate(-50%, -50%);
  484 + -o-transform: translate(-50%, -50%);
  485 + -ms-transform-origin: center;
  486 + -moz-transform-origin: center;
  487 + -webkit-transform-origin: center;
  488 + -o-transform-origin: center;
  489 +}
  490 +.prism-player .loading-center,
  491 +.prism-player .prism-ErrorMessage,
  492 +.prism-player .prism-thumbnail,
  493 +.prism-player .prism-cc-selector,
  494 +.prism-player .prism-speed-selector,
  495 +.prism-player .prism-quality-selector,
  496 +.prism-player .prism-audio-selector,
  497 +.prism-player .prism-setting-list,
  498 +.prism-player .prism-volume-control,
  499 +.prism-player .prism-auto-stream-selector,
  500 +.prism-player .prism-marker-text {
  501 + display: none !important;
  502 +}
  503 +@keyframes fadeIn {
  504 + 0% {
  505 + opacity: 0;
  506 + }
  507 + 100% {
  508 + opacity: 1;
  509 + }
  510 +}
  511 +@keyframes loadingCircle {
  512 + 100% {
  513 + -webkit-transform: rotate(360deg);
  514 + transform: rotate(360deg);
  515 + }
  516 +}
  517 +@-webkit-keyframes loadingCircle {
  518 + 100% {
  519 + -webkit-transform: rotate(360deg);
  520 + transform: rotate(360deg);
  521 + }
  522 +}
  523 +@keyframes loadingCircle {
  524 + 100% {
  525 + -webkit-transform: rotate(360deg);
  526 + transform: rotate(360deg);
  527 + }
  528 +}
  529 +/*# sourceMappingURL=global.css.map */
  1 +{"version":3,"sources":["global.less"],"names":[],"mappings":"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","file":"global.css"}
  1 +/****reset****/
  2 +body, div, table, tr, td, th, h1, h2, h3, h4, h5, h6, form, input, button, label, select, textarea, p, u, i, em, ul, ol, li, dl, dd, dt, img, article, aside, details, figcaption, figure, footer, header, menu, nav, section {
  3 + box-sizing: border-box;
  4 + margin: 0;
  5 + padding: 0;
  6 + font-size: 100%;
  7 + vertical-align: baseline;
  8 + border: 0;
  9 + outline: 0;
  10 +}
  11 +
  12 +li {
  13 + list-style: none;
  14 +}
  15 +
  16 +h1, h2, h3, h4, h5, h6 {
  17 + font-size: 100%;
  18 +}
  19 +
  20 +table {
  21 + border-collapse: collapse;
  22 + border-spacing: 0;
  23 + width: 100%;
  24 +}
  25 +
  26 +a, input, select, textarea, area, button {
  27 + outline: none;
  28 + font-family: inherit;
  29 + font-size: inherit;
  30 + border: none;
  31 + background: none;
  32 + color: inherit;
  33 +}
  34 +
  35 +a {
  36 + text-decoration: none;
  37 +}
  38 +
  39 +a:hover {
  40 + text-decoration: none;
  41 +}
  42 +
  43 +textarea {
  44 + overflow: auto;
  45 + resize: none;
  46 +}
  47 +
  48 +input[type="button"], input[type="submit"], input[type="reset"] {
  49 + cursor: pointer;
  50 + -webkit-appearance: none;
  51 +}
  52 +
  53 +html, body {
  54 + overflow-x: hidden;
  55 + width: 100%;
  56 + height: 100%;
  57 + background: #ffffff;
  58 +}
  59 +
  60 +* {
  61 + -webkit-overflow-scrolling: touch;
  62 +}
  63 +
  64 +html {
  65 + -webkit-tap-highlight-color: transparent;
  66 +}
  67 +
  68 +body {
  69 + text-align: left;
  70 +
  71 + #app {
  72 + height: 100%;
  73 +
  74 + &::-webkit-scrollbar {
  75 + display: none;
  76 + }
  77 +
  78 + &::-webkit-scrollbar-thumb {
  79 + display: none;
  80 + }
  81 +
  82 + &::-webkit-scrollbar-track {
  83 + display: none;
  84 + }
  85 + }
  86 +}
  87 +
  88 +.fl {
  89 + float: left;
  90 +}
  91 +
  92 +.fr {
  93 + float: right;
  94 +}
  95 +
  96 +.clearfix {
  97 + zoom: 1;
  98 +
  99 + &::before,
  100 + &::after {
  101 + display: table;
  102 + content: " ";
  103 + }
  104 +
  105 + &::after {
  106 + clear: both;
  107 + height: 0;
  108 + font-size: 0;
  109 + visibility: hidden;
  110 + }
  111 +}
  112 +
  113 +.ant-skeleton {
  114 + display: table;
  115 + width: 100%;
  116 +}
  117 +
  118 +.ant-skeleton + .ant-skeleton {
  119 + margin-top: 0.64rem;
  120 +}
  121 +
  122 +.ant-skeleton.active {
  123 + display: none;
  124 +}
  125 +
  126 +.ant-skeleton-content {
  127 + display: table-cell;
  128 + width: 100%;
  129 + margin-bottom: 0.64rem;
  130 + vertical-align: top;
  131 +}
  132 +
  133 +.ant-skeleton-content .ant-skeleton-title {
  134 + width: 100%;
  135 + height: 0.53333rem;
  136 + margin-top: 0.26667rem;
  137 + background: #f2f2f2;
  138 +}
  139 +
  140 +.ant-skeleton-content .ant-skeleton-title + .ant-skeleton-paragraph {
  141 + margin-top: 0.64rem;
  142 +}
  143 +
  144 +.ant-skeleton-content .ant-skeleton-paragraph {
  145 + padding: 0;
  146 +}
  147 +
  148 +.ant-skeleton-content .ant-skeleton-paragraph > li {
  149 + width: 23.3%;
  150 + height: 0.32rem;
  151 + list-style: none;
  152 + background: #f2f2f2;
  153 +}
  154 +
  155 +.ant-skeleton-content .ant-skeleton-paragraph > li + li {
  156 + margin-top: 0.26667rem;
  157 +}
  158 +
  159 +.ant-skeleton-content .ant-skeleton-paragraph > li:last-child:not(:first-child):not(:nth-child(2)) {
  160 + width: 61%;
  161 +}
  162 +
  163 +.ant-skeleton.ant-skeleton-active .ant-skeleton-avatar, .ant-skeleton.ant-skeleton-active .ant-skeleton-button, .ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-paragraph > li, .ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-title, .ant-skeleton.ant-skeleton-active .ant-skeleton-image, .ant-skeleton.ant-skeleton-active .ant-skeleton-input {
  164 + background: -webkit-gradient(linear, left top, right top, color-stop(25%, #f2f2f2), color-stop(37%, #e6e6e6), color-stop(63%, #f2f2f2));
  165 + background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 37%, #f2f2f2 63%);
  166 + background-size: 400% 100%;
  167 + animation: ant-skeleton-loading 1.4s ease infinite;
  168 +}
  169 +
  170 +@keyframes ant-skeleton-loading {
  171 + 0% {
  172 + background-position: 100% 50%;
  173 + }
  174 + 100% {
  175 + background-position: 0 50%;
  176 + }
  177 +}
  178 +
  179 +@keyframes spinner-anime {
  180 + 100% {
  181 + transform: rotate(360deg);
  182 + }
  183 +}
  184 +
  185 +.toast-loading {
  186 + position: fixed;
  187 + top: 0;
  188 + left: 0;
  189 + width: 100%;
  190 + height: 100%;
  191 + display: flex;
  192 + justify-content: center;
  193 + align-items: center;
  194 + text-align: center;
  195 + z-index: 9999999999;
  196 +
  197 + &.active {
  198 + display: none;
  199 + }
  200 +
  201 + &.none {
  202 + display: none;
  203 + }
  204 +
  205 + .loading-cont {
  206 + display: flex;
  207 + flex-direction: column;
  208 + justify-content: center;
  209 + align-items: center;
  210 + padding: 15px 15px;
  211 + border-radius: 7px;
  212 + background-clip: padding-box;
  213 + color: #fff;
  214 + background-color: rgba(58, 58, 58, 0.9);
  215 + font-size: 15px;
  216 + line-height: 20px;
  217 +
  218 + .svg {
  219 + margin: 0;
  220 + width: 32px;
  221 + height: 32px;
  222 + display: inline-block;
  223 + width: 20px;
  224 + height: 20px;
  225 + background-image: url("../image/loading.svg");
  226 + background-position: 50%;
  227 + background-size: 100%;
  228 + background-repeat: no-repeat;
  229 + animation: spinner-anime 1s linear infinite;
  230 + }
  231 +
  232 + .svg-text {
  233 + display: inline-block;
  234 + position: relative;
  235 + top: 4px;
  236 + }
  237 + }
  238 +}
  239 +
  240 +.skeleton-loading {
  241 + display: block;
  242 + padding: (10 / 37.5rem) (18 / 37.5rem) 0;
  243 + height: 100%;
  244 + overflow: hidden;
  245 +
  246 + &.active {
  247 + position: fixed;
  248 + left: 0;
  249 + top: 0;
  250 + width: 100%;
  251 + opacity: 0;
  252 + visibility: hidden;
  253 + z-index: -1;
  254 + }
  255 +
  256 + &.none {
  257 + display: none;
  258 + }
  259 +}
  260 +
  261 +.error-block {
  262 + display: none;
  263 + box-sizing: border-box;
  264 + text-align: center;
  265 + padding-top: (141 / 37.5rem);
  266 +
  267 + &.active {
  268 + display: block;
  269 + }
  270 +
  271 + .error-block-image {
  272 + text-align: center;
  273 +
  274 + img {
  275 + width: (160 / 37.5rem);
  276 + height: (112 / 37.5rem);
  277 + }
  278 + }
  279 +
  280 + .error-block-retry-btn, .error-block-reload-btn {
  281 + width: (80 / 37.5rem);
  282 + height: (28 / 37.5rem);
  283 + border-radius: (3 / 37.5rem);
  284 + border: (1 / 37.5rem) solid #EDEDED;
  285 + margin: 0 auto;
  286 + margin-top: (16 / 37.5rem);
  287 +
  288 + font-size: (12 / 37.5rem);
  289 + font-weight: bold;
  290 + line-height: (28 / 37.5rem);
  291 + text-align: center;
  292 + color: #666666;
  293 + }
  294 +
  295 + .error-block-reload-btn {
  296 + width: (140 / 37.5rem);
  297 + }
  298 +
  299 + .error-block-description {
  300 + }
  301 +
  302 + .error-block-description-title {
  303 + text-align: center;
  304 + margin: 0 auto;
  305 + font-size: 14px;
  306 + color: rgba(51, 51, 51, 0.5);
  307 + }
  308 +
  309 + .error-block-description-subtitle {
  310 + }
  311 +}
  312 +
  313 +.ellipsis1 {
  314 + overflow: hidden;
  315 + text-overflow: ellipsis;
  316 + display: -webkit-box;
  317 + -webkit-line-clamp: 1;
  318 + line-clamp: 1;
  319 + -webkit-box-orient: vertical;
  320 + word-wrap: break-word;
  321 +}
  322 +
  323 +#app {
  324 + &.fixed {
  325 + position: fixed;
  326 + left: 0;
  327 + top: 0;
  328 + z-index: -1;
  329 + visibility: hidden;
  330 + opacity: 0;
  331 + width: 100%;
  332 + }
  333 +}
  334 +
  335 +.gx-mobile {
  336 + &.fixed {
  337 + position: fixed;
  338 + left: 0;
  339 + top: 0;
  340 + z-index: -1;
  341 + visibility: hidden;
  342 + opacity: 0;
  343 + width: 100%;
  344 + height: (659 / 37.5rem);
  345 + }
  346 +
  347 + &.active {
  348 + //animation-name: fadeIn;
  349 + //animation-duration: .2s;
  350 + }
  351 +}
  352 +
  353 +.refresh-content {
  354 + height: 100%;
  355 +
  356 + .van-pull-refresh {
  357 + height: 100%;
  358 + }
  359 +}
  360 +
  361 +html {
  362 + transition: color 300ms, background-color 300ms;
  363 +}
  364 +
  365 +body {
  366 +
  367 + .van-image__error, .van-image__loading {
  368 + display: block;
  369 + }
  370 +
  371 + .prism-fullscreen {
  372 + z-index: 999999 !important;
  373 + }
  374 +
  375 + .prism-player {
  376 +
  377 + .prism-animation, .prism-detect-info, .prism-button, .prism-setting-quality, .prism-setting-audio, .prism-setting-cc, .prism-cc-btn, .prism-volume, .prism-tooltip, .prism-setting-btn, .prism-button-retry, .dplayer-thumb, .prism-progress-played, .prism-progress-cursor, .prism-progress-hover, .prism-big-play-btn, .prism-controlbar, .prism-info-display, .prism-text-overlay, .prism-error-operation, .prism-ErrorMessage, .prism-cover, .prism-loading {
  378 + display: none !important;
  379 + }
  380 + }
  381 +}
  382 +
  383 +#__vconsole {
  384 + .vc-switch {
  385 + z-index: 10000000;
  386 + }
  387 +
  388 + .vc-panel {
  389 + min-height: unset !important;
  390 + height: 500px !important;
  391 + }
  392 +
  393 + z-index: 10000000;
  394 +}
  395 +
  396 +#app {
  397 + overflow-y: hidden;
  398 + overflow-x: hidden;
  399 +
  400 + .van-loading {
  401 + text-align: center;
  402 + }
  403 +}
  404 +
  405 +html[dark-mode] {
  406 + body {
  407 + // background-color: #12131e;
  408 + background-color: #161827;
  409 +
  410 + .gx-mobile .vote {
  411 + background-color: #1D1F2F;
  412 + }
  413 +
  414 + .gx-mobile .suggested {
  415 + // background-color: #1D1F2F;
  416 + .suggested-title {
  417 + color: #d9d9d9ff;
  418 + }
  419 +
  420 + .suggested-item_title {
  421 + color: #d9d9d9ff !important;
  422 + }
  423 +
  424 + .subtitle {
  425 + color: #d9d9d9ff !important;
  426 + }
  427 +
  428 + .left {
  429 + span {
  430 + color: #ffffff5c !important;
  431 + }
  432 + }
  433 + }
  434 +
  435 + .gx-mobile .title {
  436 + color: #d9d9d9ff;
  437 + }
  438 +
  439 + .gx-mobile .ptxt {
  440 + color: #ffffffab;
  441 + }
  442 +
  443 + .gx-mobile .btsIem {
  444 + background-color: #161828;
  445 + }
  446 +
  447 + .gx-mobile .stx {
  448 + color: #ffffffab !important;
  449 + }
  450 +
  451 + .gx-mobile .jd {
  452 + .s1 {
  453 + background: linear-gradient(270deg, #e5111eff 0%, #ffb5b9ff 100%);
  454 + }
  455 +
  456 + .s2 {
  457 + background-color: #393A47 !important;
  458 + }
  459 + }
  460 +
  461 + .gx-mobile .open {
  462 + background: linear-gradient(179.9deg, #1d1f2e00 0%, #1d1f2eff 48%, #1d1f2eff 99%);
  463 +
  464 + img {
  465 + width: 0.42667rem;
  466 + height: 0.42667rem;
  467 + }
  468 + }
  469 +
  470 + .gx-mobile .time {
  471 + // color: #7a7a7a;
  472 + color: rgba(255, 255, 255, 0.4);
  473 + }
  474 +
  475 + .gx-mobile #newsContent {
  476 + background-color: #12131e !important;
  477 + color: #ccc;
  478 +
  479 + h1, h2, div, h3, p, h4, h5, h6, ul, li, ol {
  480 + background-color: #12131e !important;
  481 + color: #ccc !important;
  482 + }
  483 +
  484 + .preview-video {
  485 + div, p {
  486 + background-color: rgba(255, 255, 255, 0) !important;
  487 + }
  488 + }
  489 +
  490 + }
  491 +
  492 + .footer {
  493 + background-color: #12131e;
  494 + border-top: #252630;
  495 + }
  496 + }
  497 +}
  498 +
  499 +.anticon-spin {
  500 + animation: loadingCircle 1s infinite linear;
  501 +}
  502 +
  503 +.prism-player {
  504 + position: relative;
  505 +
  506 + video {
  507 + position: absolute;
  508 + left: 50%;
  509 + top: 50%;
  510 + transform: translate(-50%,-50%);
  511 + -ms-transform: translate(-50%,-50%);
  512 + -moz-transform: translate(-50%,-50%);
  513 + -webkit-transform: translate(-50%,-50%);
  514 + -o-transform: translate(-50%,-50%);
  515 + -ms-transform-origin: center;
  516 + -moz-transform-origin: center;
  517 + -webkit-transform-origin: center;
  518 + -o-transform-origin: center;
  519 + }
  520 +
  521 + .loading-center, .prism-ErrorMessage, .prism-thumbnail, .prism-cc-selector, .prism-speed-selector, .prism-quality-selector, .prism-audio-selector, .prism-setting-list, .prism-volume-control, .prism-auto-stream-selector, .prism-marker-text {
  522 + display: none !important;
  523 + }
  524 +}
  525 +
  526 +@keyframes fadeIn {
  527 + 0% {
  528 + opacity: 0;
  529 + }
  530 +
  531 + 100% {
  532 + opacity: 1;
  533 + }
  534 +}
  535 +
  536 +@keyframes loadingCircle {
  537 + 100% {
  538 + -webkit-transform: rotate(360deg);
  539 + transform: rotate(360deg);
  540 + }
  541 +}
  542 +
  543 +@-webkit-keyframes loadingCircle {
  544 + 100% {
  545 + -webkit-transform: rotate(360deg);
  546 + transform: rotate(360deg);
  547 + }
  548 +}
  549 +
  550 +@keyframes loadingCircle {
  551 + 100% {
  552 + -webkit-transform: rotate(360deg);
  553 + transform: rotate(360deg);
  554 + }
  555 +}