HarmonyOS 鸿蒙Next单机版用户协议怎么弄

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next单机版用户协议怎么弄

单机版用户协议怎么弄,持久化那一块现在有点迷糊了

4 回复

没有什么单机版,联机版的区分,只要是app就得有隐私政策

[@Entry](/user/Entry)
[@Component](/user/Component)
export default struct SplashPage {
  privacyDialogController: CustomDialogController | null = new CustomDialogController({
    builder: PrivacyPolicyDialog({
      confirm: () => {
        this.onAgree()
      },
      cancel : () => {
        this.onCancel()
      }
    }),
    autoCancel: false,
    //点击弹窗外,弹窗dismiss
    onWillDismiss: (dismissDialogAction: DismissDialogAction) => {
      //点击返回键及框外
      if (dismissDialogAction.reason == DismissReason.PRESS_BACK) {
        //dismissDialogAction.dismiss()
      }
      if (dismissDialogAction.reason == DismissReason.TOUCH_OUTSIDE) {
        //dismissDialogAction.dismiss()
      }
    },
    alignment: DialogAlignment.Center,
    offset: { dx: 0, dy: -20 },
    gridCount: 4,
    customStyle: false,
    cornerRadius: 10,
  })

@State isCheckPrivacy:boolean=false;

onCancel():void { (getContext(this) as common.UIAbilityContext)?.terminateSelf() }

onAgree():void {//同意隐私政策 if (this.privacyDialogController != undefined) { this.privacyDialogController.close() } this.isCheckPrivacy = true; //init(); // 在用户同意隐私政策后再调用此方法 PreferenceUtils.writeBoolean(“IsPrivacy”,true) this.initSdk() }

async aboutToAppear(): Promise<void> {

} aboutToDisappear(): void { this.privacyDialogController = null }

async onPageShow(): Promise<void> { this.check() }

async check(){ this.isCheckPrivacy = await PreferenceUtils.readBoolean(“IsPrivacy”,false) if(!this.isCheckPrivacy){ if (this.privacyDialogController != null) { this.privacyDialogController.open() } }else this.initSdk() }

initSdk(){ //init(); router.replaceUrl({ url: ‘pages/Index’, }, router.RouterMode.Single) }

build() { }

}

@CustomDialog @Component struct PrivacyPolicyDialog{ controller?: CustomDialogController cancel!: () => void confirm!: () => void

build() { Stack(){ Column() { Text(‘用户协议和隐私政策’).fontSize(18).fontColor(’#333333’).margin({ top: 30, bottom: 19 })

    Scroll(){
      Text(){
        Span(<span class="hljs-string">'欢迎使用本应用!为了保护您的隐私和使用安全,请仔细阅读我们的'</span>)
        Span(<span class="hljs-string">'《用户协议》'</span>).fontColor(<span class="hljs-string">'#F1525A'</span>).onClick(() =&gt; {
          <span class="hljs-keyword">this</span>.openWebUrl(<span class="hljs-string">"Term"</span>);
        })
        Span(<span class="hljs-string">'和'</span>)
        Span(<span class="hljs-string">'《隐私政策》'</span>).fontColor(<span class="hljs-string">'#F1525A'</span>).onClick(() =&gt; {
          <span class="hljs-keyword">this</span>.openWebUrl(<span class="hljs-string">"Privacy"</span>);
        })
        Span(<span class="hljs-string">'。在确认您完全理解并同意之前,请不要使用此应用程序。谢谢!'</span>)
      }.fontSize(<span class="hljs-number">16</span>).fontColor(<span class="hljs-string">'#666666'</span>).margin({
        left:<span class="hljs-number">25</span>,
        right:<span class="hljs-number">25</span>
      })
    }

    Column(){
      Button(<span class="hljs-string">'不同意'</span>).onClick(() =&gt; {
        <span class="hljs-keyword">this</span>.cancel();
      }).fontColor(<span class="hljs-string">'#999999'</span>).fontSize(<span class="hljs-number">15</span>).backgroundColor(Color.Transparent)

      Button(<span class="hljs-string">'同意'</span>).onClick(() =&gt; {
        <span class="hljs-keyword">this</span>.confirm();
      }).fontColor(<span class="hljs-string">'#ffffff'</span>).fontSize(<span class="hljs-number">17</span>)
        .linearGradient({
          direction: GradientDirection.Right, colors:[[<span class="hljs-string">'#FF8B59'</span>,<span class="hljs-number">0.0</span>],[<span class="hljs-string">'#F64848'</span>,<span class="hljs-number">1.0</span>]]
        }).width(<span class="hljs-string">'80%'</span>).margin({
        top:<span class="hljs-number">15</span>,bottom:<span class="hljs-number">21</span>
      }).borderRadius(<span class="hljs-number">24</span>)
    }
  }.backgroundColor(<span class="hljs-string">'#ffffff'</span>).borderRadius(<span class="hljs-number">13</span>)
}

}

openWebUrl(urlSuffix:string){ let type= urlSuffix; if (this.controller != undefined) { router.pushUrl({ url: ‘privacy/PrivacyWeb’, params:{ data1: ‘message’, url: type // 传递的 URL 参数 } }, router.RouterMode.Single) this.controller.close() } } }

我也在愁这块兄嘚, 解决了也告诉我一下,隐私协议官方能生成,用户协议没地方生成真不知道怎么搞。。又没有自己服务器。

已解决了,现在官方有一个很简单的接口,可以查一下,我刚靠代码弄完,他就出来了

HarmonyOS 鸿蒙Next单机版用户协议是确保用户在使用该服务时权益得到保障的重要法律文件。以下是关于如何制定HarmonyOS 鸿蒙Next单机版用户协议的建议:

  1. 服务条款:明确元服务的具体内容、使用方式及限制条件。
  2. 隐私政策:阐述如何收集、使用、存储及保护用户个人信息,确保用户隐私安全。
  3. 知识产权声明:说明元服务中涉及的知识产权归属及用户在使用过程中的相关义务。
  4. 免责条款:明确在特定情况下,如因不可抗力或第三方因素导致的服务中断或损失,服务提供者不承担责任。
  5. 争议解决:约定争议解决的方式及适用的法律。

开发者需根据HarmonyOS的相关规定及法律法规,制定符合要求的用户协议。在制定过程中,可参考官方模板或已上架应用的用户协议,但需注意根据自身业务特点和用户需求进行调整。协议制定完成后,需在上架过程中提交审核,审核通过后将成为用户与开发者之间的重要约定,保障双方的合法权益。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部