@@ -67,14 +67,14 @@ export const registerAccountGroup = (tab: SettingTabBuilder) => {
6767 afterMount : bindAccountPaymentEvent ,
6868 } ) ;
6969 if ( ! isMobile ( ) ) {
70- group . switch ( "account.displayTitle" , {
71- title : window . siyuan . languages . accountDisplayTitle ,
72- save : ( value ) => patchSyncConfig ( "account.displayTitle" , value ) ,
73- } ) ;
7470 group . switch ( "account.displayVIP" , {
7571 title : window . siyuan . languages . accountDisplayVIP ,
7672 save : ( value ) => patchSyncConfig ( "account.displayVIP" , value ) ,
7773 } ) ;
74+ group . switch ( "account.displayTitle" , {
75+ title : window . siyuan . languages . accountDisplayTitle ,
76+ save : ( value ) => patchSyncConfig ( "account.displayTitle" , value ) ,
77+ } ) ;
7878 }
7979} ;
8080
@@ -506,32 +506,45 @@ export const onSetaccount = () => {
506506 if ( ! toolbarVIPEl ) {
507507 return ;
508508 }
509- if ( ! window . siyuan . user || window . siyuan . user . userSiYuanSubscriptionStatus === - 1 ) {
510- toolbarVIPEl . innerHTML = window . siyuan . config . account . displayVIP ? genToolbarItemHTML ( window . siyuan . languages . freeSub , genVIPIconHTML ( "ft__error" ) ) : "" ;
511- return ;
512- }
513509 const parts : string [ ] = [ ] ;
514510 if ( window . siyuan . config . account . displayVIP ) {
515- if ( window . siyuan . user . userSiYuanProExpireTime === - 1 ) {
516- parts . push ( genToolbarItemHTML ( window . siyuan . languages . account12 , Constants . SIYUAN_IMAGE_VIP ) ) ;
517- } else if ( window . siyuan . user . userSiYuanProExpireTime > 0 ) {
518- if ( window . siyuan . user . userSiYuanSubscriptionPlan === 2 ) {
519- parts . push ( genToolbarItemHTML ( window . siyuan . languages . account3 , genVIPIconHTML ( ) ) ) ;
520- } else {
521- parts . push ( genToolbarItemHTML ( window . siyuan . languages . account10 , genVIPIconHTML ( "ft__secondary" ) ) ) ;
511+ if ( ! window . siyuan . user ) {
512+ // 未登录
513+ parts . push ( genToolbarItemHTML ( window . siyuan . languages . freeSub , genVIPIconHTML ( "ft__error" ) ) ) ;
514+ } else {
515+ const isOneTimePay = window . siyuan . user . userSiYuanOneTimePayStatus === 1 ;
516+ if ( window . siyuan . user . userSiYuanProExpireTime === - 1 ) {
517+ // 终身会员
518+ parts . push ( genToolbarItemHTML ( window . siyuan . languages . account12 , Constants . SIYUAN_IMAGE_VIP ) ) ;
519+ } else if ( window . siyuan . user . userSiYuanProExpireTime > 0 ) {
520+ // 订阅有效(未过期)
521+ if ( window . siyuan . user . userSiYuanSubscriptionPlan === 2 ) {
522+ // 试用订阅
523+ parts . push ( genToolbarItemHTML ( window . siyuan . languages . account3 , genVIPIconHTML ( ) ) ) ;
524+ } else {
525+ // 付费订阅
526+ parts . push ( genToolbarItemHTML ( window . siyuan . languages . account10 , genVIPIconHTML ( "ft__secondary" ) ) ) ;
527+ }
528+ } else if ( window . siyuan . user . userSiYuanSubscriptionStatus === 2 && ! isOneTimePay ) {
529+ // 订阅过期
530+ parts . push ( genToolbarItemHTML ( window . siyuan . languages . accountSubscriptionExpired , genVIPIconHTML ( "ft__error" ) ) ) ;
531+ } else if ( window . siyuan . user . userSiYuanSubscriptionStatus === - 1 && ! isOneTimePay ) {
532+ // 未订阅过
533+ parts . push ( genToolbarItemHTML ( window . siyuan . languages . freeSub , genVIPIconHTML ( "ft__error" ) ) ) ;
534+ }
535+ if ( isOneTimePay ) {
536+ // 功能特性已付费
537+ parts . push ( genToolbarItemHTML ( window . siyuan . languages . onepay , genVIPIconHTML ( "ft__success" ) ) ) ;
522538 }
523- } else if ( window . siyuan . user . userSiYuanSubscriptionStatus === 2 ) {
524- parts . push ( genToolbarItemHTML ( window . siyuan . languages . accountSubscriptionExpired , genVIPIconHTML ( "ft__error" ) ) ) ;
525- }
526- if ( window . siyuan . user . userSiYuanOneTimePayStatus === 1 ) {
527- parts . push ( genToolbarItemHTML ( window . siyuan . languages . onepay , genVIPIconHTML ( "ft__success" ) ) ) ;
528539 }
529540 }
530- if ( window . siyuan . config . account . displayTitle ) {
541+
542+ if ( window . siyuan . config . account . displayTitle && window . siyuan . user ) {
531543 window . siyuan . user . userTitles . forEach ( item => {
532544 parts . push ( genToolbarItemHTML ( `${ item . name } :${ item . desc } ` , item . icon ) ) ;
533545 } ) ;
534546 }
547+
535548 toolbarVIPEl . innerHTML = parts . join ( "" ) ;
536549 /// #endif
537550} ;
0 commit comments