|
|
@@ -9,11 +9,16 @@ import { resourceManager } from '@kit.LocalizationKit'
|
|
|
import { PreferencesUtil } from '@pura/harmony-utils'
|
|
|
import { hilog } from '@kit.PerformanceAnalysisKit'
|
|
|
import { BusinessError } from '@kit.BasicServicesKit'
|
|
|
+import { systemShare } from '@kit.ShareKit'
|
|
|
+import { uniformTypeDescriptor } from '@kit.ArkData'
|
|
|
|
|
|
@Preview
|
|
|
// @Entry
|
|
|
@Component
|
|
|
export struct AboutPage{
|
|
|
+ context = this.getUIContext().getHostContext() as common.UIAbilityContext
|
|
|
+ /** 应用包名 */
|
|
|
+ @State bundleName: string = ''
|
|
|
@Consume mType: number
|
|
|
@Consume isShowDrawer: boolean;
|
|
|
@Consume offsetX: number;
|
|
|
@@ -42,6 +47,7 @@ export struct AboutPage{
|
|
|
Utility.getAppName(getContext(this)).then((appName:string)=>{
|
|
|
this.appName = appName
|
|
|
})
|
|
|
+ this.bundleName = AppUtil.getBundleName()
|
|
|
let themeColor = PreferencesUtil.getStringSync('THEME_COLOR', CommonConstants.DEFAULT_THEME_COLOR);
|
|
|
AppStorage.setOrCreate('themeColor', themeColor);
|
|
|
this.themeColor = themeColor;
|
|
|
@@ -159,102 +165,15 @@ export struct AboutPage{
|
|
|
.fontColor(this.isDarkMode ? Color.White : Color.Black)
|
|
|
.fontWeight(480)
|
|
|
.decoration({ type: TextDecorationType.Underline, color: this.isDarkMode ? Color.White : Color.Black })
|
|
|
- .fontSize(17)
|
|
|
+ .fontSize(13)
|
|
|
.margin({top:10,bottom:10})
|
|
|
.onClick(()=>{
|
|
|
let context = this.getUIContext().getHostContext() as common.UIAbilityContext;
|
|
|
context.openLink(CommonConstants.ICP_URL, {})
|
|
|
})
|
|
|
|
|
|
- Button('用户协议', { type: ButtonType.Capsule, stateEffect: false })
|
|
|
- .width(this.currentBreakpoint !== BreakpointTypeEnum.SM?'25%':'60%')
|
|
|
- .height(55)
|
|
|
- .margin({top:10,bottom:10})
|
|
|
- .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.7})
|
|
|
- .stateEffect(true)
|
|
|
- .backgroundColor(this.themeColor)
|
|
|
- .onClick(()=>{
|
|
|
- router.pushUrl({
|
|
|
- url: 'pages/WebIndex',
|
|
|
- params: { titleName: '用户协议', webUrl: CommonConstants.NEW_DUTY }
|
|
|
- });
|
|
|
- })
|
|
|
- Button('隐私政策', { type: ButtonType.Capsule, stateEffect: false })
|
|
|
- .width(this.currentBreakpoint !== BreakpointTypeEnum.SM?'25%':'60%')
|
|
|
- .height(55)
|
|
|
- .margin({top:10,bottom:10})
|
|
|
- .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.7})
|
|
|
- .stateEffect(true)
|
|
|
- .backgroundColor(this.themeColor)
|
|
|
- .onClick(()=>{
|
|
|
- router.pushUrl({
|
|
|
- url: 'pages/WebIndex',
|
|
|
- params: { titleName: '隐私政策', webUrl: CommonConstants.NEW_YS_HW }
|
|
|
- });
|
|
|
- })
|
|
|
-
|
|
|
- Button('音频标签', { type: ButtonType.Capsule, stateEffect: false })
|
|
|
- .width(this.currentBreakpoint !== BreakpointTypeEnum.SM?'25%':'60%')
|
|
|
- .height(55)
|
|
|
- .margin({top:10,bottom:10})
|
|
|
- .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.7})
|
|
|
- .stateEffect(true)
|
|
|
- .backgroundColor(this.themeColor)
|
|
|
- .onClick(()=>{
|
|
|
- Utility.gotoMarket(getContext(this) as common.UIAbilityContext, 'com.xgplayer.ttmusic.tags')
|
|
|
- })
|
|
|
-
|
|
|
- Button('视频播放器', { type: ButtonType.Capsule, stateEffect: false })
|
|
|
- .width(this.currentBreakpoint !== BreakpointTypeEnum.SM?'25%':'60%')
|
|
|
- .height(55)
|
|
|
- .margin({top:10,bottom:10})
|
|
|
- .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.7})
|
|
|
- .stateEffect(true)
|
|
|
- .backgroundColor(this.themeColor)
|
|
|
- .onClick(()=>{
|
|
|
- Utility.gotoMarket(getContext(this) as common.UIAbilityContext, 'com.kuaiyao.kdb.hm')
|
|
|
- })
|
|
|
-
|
|
|
- Button('粉丝QQ群', { type: ButtonType.Capsule, stateEffect: false })
|
|
|
- .width(this.currentBreakpoint !== BreakpointTypeEnum.SM?'25%':'60%')
|
|
|
- .height(55)
|
|
|
- .margin({top:10,bottom:20})
|
|
|
- .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.7})
|
|
|
- .stateEffect(true)
|
|
|
- .backgroundColor(this.themeColor)
|
|
|
- .onClick(()=>{
|
|
|
- ToastUtil.showToast('复制群号成功!')
|
|
|
- Utility.copyText('685109858')
|
|
|
- const qqUrl = `mqqapi://card/show_pslcard?src_type=internal&version=1&uin=${CommonConstants.QQ_GROUP}&card_type=group&source=external`;
|
|
|
- let context = this.getUIContext().getHostContext() as common.UIAbilityContext;
|
|
|
- context.openLink(qqUrl, {})
|
|
|
- })
|
|
|
+ this.aboutItemView()
|
|
|
|
|
|
- Button('用户反馈', { type: ButtonType.Capsule, stateEffect: false })
|
|
|
- .width(this.currentBreakpoint !== BreakpointTypeEnum.SM?'25%':'60%')
|
|
|
- .height(55)
|
|
|
- .stateEffect(true)
|
|
|
- .margin({bottom:20})
|
|
|
- .clickEffect({level:ClickEffectLevel.LIGHT, scale: 0.7})
|
|
|
- .backgroundColor(this.themeColor)
|
|
|
- .onClick(()=>{
|
|
|
- AlertDialog.show({
|
|
|
- title:'发送邮件',
|
|
|
- message:'感谢你的支持,如果有什么不支持的格式不能播放请反馈给我们修复,谢谢!有建议和反馈的请邮件联系我们:'+CommonConstants.CONTACT_MAIL,
|
|
|
- autoCancel:true,
|
|
|
- alignment:DialogAlignment.Center,
|
|
|
- offset:{dx:0,dy:-20},
|
|
|
- confirm:{
|
|
|
- value:'确定',
|
|
|
- fontColor:Color.White,
|
|
|
- backgroundColor:$r('app.color.title_bar_bg'),
|
|
|
- action:()=>{
|
|
|
- ToastUtil.showToast('复制邮件地址成功!')
|
|
|
- Utility.copyText(CommonConstants.CONTACT_MAIL)
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- })
|
|
|
}
|
|
|
.justifyContent(FlexAlign.Start)
|
|
|
.width('100%')
|
|
|
@@ -264,10 +183,291 @@ export struct AboutPage{
|
|
|
.transition(TransitionEffect.move(TransitionEdge.BOTTOM)
|
|
|
.animation({ duration: 380, curve: Curve.Ease,delay:50 }))
|
|
|
.backgroundColor(this.isDarkMode?Color.Black:this.themeColor)
|
|
|
- .linearGradient(!this.isDarkMode ? {colors:[[this.themeColor, 0.0], [this.getGradientColor(this.themeColor, 40), 0.6]]} : undefined)
|
|
|
+ .linearGradient(!this.isDarkMode ? {colors:[[this.themeColor, 0.0], [this.getGradientColor(this.themeColor, 50), 0.6]]} : undefined)
|
|
|
}
|
|
|
.layoutWeight(1)
|
|
|
.width('100%')
|
|
|
.height('100%')
|
|
|
}
|
|
|
-}
|
|
|
+
|
|
|
+ @Builder
|
|
|
+ aboutItemView(){
|
|
|
+ Column() {
|
|
|
+
|
|
|
+ //分享给朋友
|
|
|
+ Button({ type: ButtonType.Capsule, stateEffect: true }) {
|
|
|
+ Row() {
|
|
|
+ SymbolGlyph($r('sys.symbol.share'))
|
|
|
+ .fontSize(22)
|
|
|
+ .fontColor(['#06B4FD'])
|
|
|
+ .alignSelf(ItemAlign.Center)
|
|
|
+ .margin({ left: 28 })
|
|
|
+ Text('分享给朋友')
|
|
|
+ .margin({ left: 10, right: 20 })
|
|
|
+ .fontSize(15)
|
|
|
+ .layoutWeight(1)
|
|
|
+ .fontColor($r('app.color.text_color'))
|
|
|
+ .fontWeight(480)
|
|
|
+ .id('text_update')
|
|
|
+ Blank()
|
|
|
+ Image($r('app.media.arrow_right'))
|
|
|
+ .width(22)
|
|
|
+ .height(22)
|
|
|
+ .margin({ left: 20, right: 20 })
|
|
|
+ .align(Alignment.Center)
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .backgroundColor(Color.Transparent)
|
|
|
+ .clickEffect({ level: ClickEffectLevel.MIDDLE,scale:0.9 })
|
|
|
+ .width('100%')
|
|
|
+ .height(55)
|
|
|
+ .onClick(async () => {
|
|
|
+ gotoShare(this.context,this.appName,this.bundleName)
|
|
|
+
|
|
|
+ })
|
|
|
+
|
|
|
+
|
|
|
+ Line().width('100%').height(0.3).backgroundColor($r('app.color.index_tab_unselected_font_color'))
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ //用户协议
|
|
|
+ Button({ type: ButtonType.Capsule, stateEffect: true }) {
|
|
|
+ Row() {
|
|
|
+ Image($r('app.media.hm_persion'))
|
|
|
+ .width(22)
|
|
|
+ .height(22)
|
|
|
+ .alignSelf(ItemAlign.Center)
|
|
|
+ .margin({ left: 28 })
|
|
|
+ Text('用户协议')
|
|
|
+ .margin({ left: 10, right: 20 })
|
|
|
+ .fontSize(15)
|
|
|
+ .layoutWeight(1)
|
|
|
+ .fontColor($r('app.color.text_color'))
|
|
|
+ .fontWeight(480)
|
|
|
+ .id('text_update')
|
|
|
+ Blank()
|
|
|
+ Image($r('app.media.arrow_right'))
|
|
|
+ .width(22)
|
|
|
+ .height(22)
|
|
|
+ .margin({ left: 20, right: 20 })
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .backgroundColor(Color.Transparent)
|
|
|
+ .clickEffect({ level: ClickEffectLevel.MIDDLE,scale:0.9 })
|
|
|
+ .width('100%')
|
|
|
+ .height(55)
|
|
|
+ .onClick(() => {
|
|
|
+ router.pushUrl({
|
|
|
+ url: 'pages/WebIndex',
|
|
|
+ params: { titleName: '用户协议', webUrl: CommonConstants.NEW_DUTY }
|
|
|
+ });
|
|
|
+ })
|
|
|
+
|
|
|
+ Line().width('100%').height(0.3).backgroundColor($r('app.color.index_tab_unselected_font_color'))
|
|
|
+
|
|
|
+
|
|
|
+ //隐私政策
|
|
|
+ Button({ type: ButtonType.Capsule, stateEffect: true }) {
|
|
|
+ Row() {
|
|
|
+ Image($r('app.media.hm_version'))
|
|
|
+ .width(22)
|
|
|
+ .height(22)
|
|
|
+ .alignSelf(ItemAlign.Center)
|
|
|
+ .margin({ left: 28 })
|
|
|
+ Text('隐私政策')
|
|
|
+ .margin({ left: 10, right: 20 })
|
|
|
+ .fontSize(15)
|
|
|
+ .layoutWeight(1)
|
|
|
+ .fontColor($r('app.color.text_color'))
|
|
|
+ .fontWeight(480)
|
|
|
+ .id('text_update')
|
|
|
+ Blank()
|
|
|
+ Image($r('app.media.arrow_right'))
|
|
|
+ .width(22)
|
|
|
+ .height(22)
|
|
|
+ .margin({ left: 20, right: 20 })
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .backgroundColor(Color.Transparent)
|
|
|
+ .clickEffect({ level: ClickEffectLevel.MIDDLE,scale:0.9 })
|
|
|
+ .width('100%')
|
|
|
+ .height(55)
|
|
|
+ .onClick(() => {
|
|
|
+ router.pushUrl({
|
|
|
+ url: 'pages/WebIndex',
|
|
|
+ params: { titleName: '隐私政策', webUrl: CommonConstants.NEW_YS_HW }
|
|
|
+ });
|
|
|
+ })
|
|
|
+
|
|
|
+ Line().width('100%').height(0.3).backgroundColor($r('app.color.index_tab_unselected_font_color'))
|
|
|
+
|
|
|
+
|
|
|
+ //给个好评
|
|
|
+ Button({ type: ButtonType.Capsule, stateEffect: true }) {
|
|
|
+ Row() {
|
|
|
+ Image($r('app.media.hm_flower'))
|
|
|
+ .width(22)
|
|
|
+ .height(22)
|
|
|
+ .alignSelf(ItemAlign.Center)
|
|
|
+ .margin({ left: 28 })
|
|
|
+ Text('给个好评')
|
|
|
+ .margin({ left: 10, right: 20 })
|
|
|
+ .fontSize(15)
|
|
|
+ .layoutWeight(1)
|
|
|
+ .fontColor($r('app.color.text_color'))
|
|
|
+ .fontWeight(480)
|
|
|
+ .id('text_update')
|
|
|
+ Blank()
|
|
|
+ Image($r('app.media.arrow_right'))
|
|
|
+ .width(22)
|
|
|
+ .height(22)
|
|
|
+ .margin({ left: 20, right: 20 })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .backgroundColor(Color.Transparent)
|
|
|
+ .clickEffect({ level: ClickEffectLevel.MIDDLE,scale:0.9 })
|
|
|
+ .width('100%')
|
|
|
+ .height(55)
|
|
|
+ .onClick(() => {
|
|
|
+ Utility.gotoMarket(this.context, this.bundleName)
|
|
|
+ })
|
|
|
+
|
|
|
+ Line().width('100%').height(0.3).backgroundColor($r('app.color.index_tab_unselected_font_color'))
|
|
|
+
|
|
|
+ Button({ type: ButtonType.Capsule, stateEffect: true }) {
|
|
|
+ Row() {
|
|
|
+ SymbolGlyph($r('sys.symbol.music'))
|
|
|
+ .fontSize(22)
|
|
|
+ .fontColor(['#06B4FD'])
|
|
|
+ .alignSelf(ItemAlign.Center)
|
|
|
+ .margin({ left: 28 })
|
|
|
+ Text('音频标签')
|
|
|
+ .margin({ left: 10, right: 20 })
|
|
|
+ .fontSize(15)
|
|
|
+ .layoutWeight(1)
|
|
|
+ .fontColor($r('app.color.text_color'))
|
|
|
+ .fontWeight(480)
|
|
|
+ .id('text_update')
|
|
|
+ Blank()
|
|
|
+ Image($r('app.media.arrow_right'))
|
|
|
+ .width(22)
|
|
|
+ .height(22)
|
|
|
+ .margin({ left: 20, right: 20 })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .backgroundColor(Color.Transparent)
|
|
|
+ .clickEffect({ level: ClickEffectLevel.MIDDLE,scale:0.9 })
|
|
|
+ .width('100%')
|
|
|
+ .height(55)
|
|
|
+ .onClick(() => {
|
|
|
+ Utility.gotoMarket(this.context, 'com.xgplayer.ttmusic.tags')
|
|
|
+ })
|
|
|
+ Line().width('100%').height(0.3).backgroundColor($r('app.color.index_tab_unselected_font_color'))
|
|
|
+
|
|
|
+ Button({ type: ButtonType.Capsule, stateEffect: true }) {
|
|
|
+ Row() {
|
|
|
+ SymbolGlyph($r('sys.symbol.media_center'))
|
|
|
+ .fontSize(22)
|
|
|
+ .fontColor(['#06B4FD'])
|
|
|
+ .alignSelf(ItemAlign.Center)
|
|
|
+ .margin({ left: 28 })
|
|
|
+ Text('视频播放器')
|
|
|
+ .margin({ left: 10, right: 20 })
|
|
|
+ .fontSize(15)
|
|
|
+ .layoutWeight(1)
|
|
|
+ .fontColor($r('app.color.text_color'))
|
|
|
+ .fontWeight(480)
|
|
|
+ .id('text_update')
|
|
|
+ Blank()
|
|
|
+ Image($r('app.media.arrow_right'))
|
|
|
+ .width(22)
|
|
|
+ .height(22)
|
|
|
+ .margin({ left: 20, right: 20 })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .backgroundColor(Color.Transparent)
|
|
|
+ .clickEffect({ level: ClickEffectLevel.MIDDLE,scale:0.9 })
|
|
|
+ .width('100%')
|
|
|
+ .height(55)
|
|
|
+ .onClick(() => {
|
|
|
+ Utility.gotoMarket(this.context, 'com.kuaiyao.kdb.hm')
|
|
|
+ })
|
|
|
+
|
|
|
+
|
|
|
+ Line().width('100%').height(0.3).backgroundColor($r('app.color.index_tab_unselected_font_color'))
|
|
|
+
|
|
|
+ //关于我们
|
|
|
+ Button({ type: ButtonType.Capsule, stateEffect: true }) {
|
|
|
+ Row() {
|
|
|
+ SymbolGlyph($r('sys.symbol.person_2'))
|
|
|
+ .fontSize(22)
|
|
|
+ .fontColor(['#06B4FD'])
|
|
|
+ .alignSelf(ItemAlign.Center)
|
|
|
+ .margin({ left: 28 })
|
|
|
+ Text('粉丝Q群(用户反馈)')
|
|
|
+ .margin({ left: 10, right: 20 })
|
|
|
+ .fontSize(15)
|
|
|
+ .layoutWeight(1)
|
|
|
+ .fontColor($r('app.color.text_color'))
|
|
|
+ .fontWeight(480)
|
|
|
+ .id('text_update')
|
|
|
+ Blank()
|
|
|
+ Image($r('app.media.arrow_right'))
|
|
|
+ .width(22)
|
|
|
+ .height(22)
|
|
|
+ .margin({ left: 20, right: 20 })
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .backgroundColor(Color.Transparent)
|
|
|
+ .clickEffect({ level: ClickEffectLevel.MIDDLE,scale:0.9 })
|
|
|
+ .width('100%')
|
|
|
+ .height(55)
|
|
|
+ .onClick(() => {
|
|
|
+ ToastUtil.showToast('复制群号成功!')
|
|
|
+ Utility.copyText('685109858')
|
|
|
+ const qqUrl = `mqqapi://card/show_pslcard?src_type=internal&version=1&uin=${CommonConstants.QQ_GROUP}&card_type=group&source=external`;
|
|
|
+ let context = this.getUIContext().getHostContext() as common.UIAbilityContext;
|
|
|
+ context.openLink(qqUrl, {})
|
|
|
+ })
|
|
|
+
|
|
|
+
|
|
|
+ // Line().width('100%').height(0.3).backgroundColor($r('app.color.index_tab_unselected_font_color'))
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ .backgroundColor($r('app.color.silvery'))
|
|
|
+ .opacity(0.7)
|
|
|
+ .margin({left:20,right:20,top:20,bottom:10})
|
|
|
+ .borderRadius(30)
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+export async function gotoShare(mContext: common.UIAbilityContext,appName:string, bundleName:string) {
|
|
|
+
|
|
|
+ let shareData: systemShare.SharedData = new systemShare.SharedData({
|
|
|
+ utd: uniformTypeDescriptor.UniformDataType.TEXT,
|
|
|
+ content: 'https://appgallery.huawei.com/app/detail?id=' + bundleName,
|
|
|
+ title: appName, // 不传title字段时,显示content
|
|
|
+ description: '精心雕琢的无损音乐播放器',
|
|
|
+ // thumbnail: new Uint8Array(buffer) // 推荐传入适合的缩略图 不传则显示默认text图标
|
|
|
+ thumbnail: mContext.resourceManager.getMediaContentSync($r("app.media.icon_32"))// 获取小于32k大小的图标才可以
|
|
|
+ });
|
|
|
+
|
|
|
+ // 进行分享面板显示
|
|
|
+ let controller: systemShare.ShareController = new systemShare.ShareController(shareData);
|
|
|
+ controller.show(mContext, {
|
|
|
+ selectionMode: systemShare.SelectionMode.SINGLE,
|
|
|
+ previewMode: systemShare.SharePreviewMode.DETAIL,
|
|
|
+ }).then(() => {
|
|
|
+ console.info('ShareController show success.');
|
|
|
+ }).catch((error: BusinessError) => {
|
|
|
+ console.error(`ShareController show error. code: ${error.code}, message: ${error.message}`);
|
|
|
+ });
|
|
|
+}
|