Procházet zdrojové kódy

增加网盘账号的长按置顶功能
网盘的加载分页数量改成100首
网盘播放的时候 点击播放列表 不定位当前歌曲位置

onecold před 6 měsíci
rodič
revize
d83edcf53f

+ 1 - 1
entry/src/main/ets/common/network/NavidromeRestApi.ets

@@ -114,7 +114,7 @@ export interface NavidromePagedResponse<T> {
 
 
 export class NavidromeRestApi {
 export class NavidromeRestApi {
   private authCache: Map<string, NavidromeAuthContext> = new Map();
   private authCache: Map<string, NavidromeAuthContext> = new Map();
-  private readonly PAGE_SIZE: number = 500;
+  private readonly PAGE_SIZE: number = 100;
 
 
   async fetchSongPage(account: WebDavAccount, start: number): Promise<NavidromePagedResponse<NavidromeRestSong>> {
   async fetchSongPage(account: WebDavAccount, start: number): Promise<NavidromePagedResponse<NavidromeRestSong>> {
     return this.fetchPage<NavidromeRestSong>(account, '/api/song', start, 'createdAt', 'DESC');
     return this.fetchPage<NavidromeRestSong>(account, '/api/song', start, 'createdAt', 'DESC');

+ 19 - 0
entry/src/main/ets/pages/NewIndex.ets

@@ -1700,6 +1700,25 @@ struct NewIndex {
          this.showRemoteDriveAccountDialog(true,account)
          this.showRemoteDriveAccountDialog(true,account)
         })
         })
 
 
+      MenuItem({
+        symbolStartIcon: new SymbolGlyphModifier($r('sys.symbol.pin')),
+        content: '置顶'
+      })
+        .onClick(async() => {
+          try {
+            await this.webdavManager.pinAccount(account)
+            // 重新加载网盘账户列表以更新UI排序
+            await this.loadWebDavAccounts()
+            ToastUtil.showToast('置顶成功')
+            LogUtil.info('heanup NewIndex', '网盘账户置顶成功:', account.name)
+            this.logAccount('info', `网盘账户置顶成功: ${account.name}`)
+          } catch (error) {
+            LogUtil.error('heanup NewIndex', `置顶网盘账户失败: ${(error as Error).message}`)
+            ToastUtil.showToast('置顶失败')
+            this.logAccount('error', `置顶网盘账户失败: ${(error as Error).message}`)
+          }
+        })
+
       MenuItem({
       MenuItem({
         symbolStartIcon: new SymbolGlyphModifier($r('sys.symbol.trash')),
         symbolStartIcon: new SymbolGlyphModifier($r('sys.symbol.trash')),
         content: '删除'
         content: '删除'

+ 1 - 1
entry/src/main/ets/view/NavidromePage.ets

@@ -3412,4 +3412,4 @@ async function loadNavidromeDataTask(accountData: AccountData, ticket: number):
   }
   }
 
 
   return result;
   return result;
-}
+}

+ 1 - 0
entry/src/main/ets/viewmodel/WebDavAccount.ets

@@ -34,6 +34,7 @@ export class WebDavAccount{
   public baiduRefreshToken: string = ''
   public baiduRefreshToken: string = ''
   public baiduTokenExpiresAt: number = 0
   public baiduTokenExpiresAt: number = 0
   public ftpEncoding: string = 'utf-8'
   public ftpEncoding: string = 'utf-8'
+  public sortOrder: number = 999999 // 排序字段,值越小越靠前
 
 
   public setIsUseLocalHost(isuse: boolean){
   public setIsUseLocalHost(isuse: boolean){
     this.isUseLocalHost = isuse
     this.isUseLocalHost = isuse

+ 6 - 6
lib/src/main/ets/view/LyricView2.ets

@@ -531,12 +531,12 @@ export struct LyricView2 {
     JumpProgress(){
     JumpProgress(){
         Row(){
         Row(){
             Row(){
             Row(){
-                Divider()
-                    .width(10)
-                    .strokeWidth(2)
-                    .color(Color.Transparent)
-                    .foregroundBlurStyle(BlurStyle.BACKGROUND_REGULAR,
-                        { colorMode: ThemeColorMode.LIGHT, adaptiveColor: AdaptiveColor.DEFAULT, scale: 1.0 })
+                // Divider()
+                //     .width(10)
+                //     .strokeWidth(2)
+                //     .color(Color.Transparent)
+                //     .foregroundBlurStyle(BlurStyle.BACKGROUND_REGULAR,
+                //         { colorMode: ThemeColorMode.LIGHT, adaptiveColor: AdaptiveColor.DEFAULT, scale: 1.0 })
 
 
                 Row({space: 10}){
                 Row({space: 10}){
                     Text(this.scrollDurationText)
                     Text(this.scrollDurationText)