Ver Fonte

测试完成,缺备案号和图标

XUYangWei há 2 meses atrás
pai
commit
be4342296d

+ 12 - 113
entry/src/main/ets/dialog/TaskItemDialog.ets

@@ -9,7 +9,7 @@ export struct TaskItemDialog {
 
   // taskItem: TaskItem=new TaskItem({} as ITaskItem)
   @Prop
-  taskItem:ITaskItem={} as ITaskItem
+  taskItem:ITaskItem
   // @Link prefData: PreferenceData
   @Prop categoryList: ITaskCategory[]=[]
   controller: CustomDialogController
@@ -39,9 +39,9 @@ export struct TaskItemDialog {
 
     }else{
       this.title='编辑事项'
+      this.taskName=this.taskItem.taskName
       this.startDate=new Date(this.taskItem.startDate)
       this.dueDate=new Date(this.taskItem.dueDate)
-      this.taskName=this.taskItem.taskName
       this.detail=this.taskItem.detail
       this.isCompleted=this.taskItem.isCompleted
       this.category=this.taskItem.category
@@ -83,40 +83,6 @@ export struct TaskItemDialog {
       })
     }
   }
-
-
-  // aboutToAppear() {
-  //   this.taskName = this.taskItem.task_name
-  //   this.taskSubject = this.taskItem.subject
-  //   this.taskDetailText = this.taskItem.detail
-  //   this.taskDdlDetail = this.taskItem.ddl_detail
-  //   this.taskDate = new Date()
-  //   this.startDate = new Date()
-  //   this.taskDate.setSeconds(0)
-  //   this.startDate.setSeconds(0)
-  //   Logger.debug('TaskItemDialog new date = ' + this.taskDate.toLocaleString())
-  //   if (this.taskItem.start_date_stamp) this.startDate.setTime(this.taskItem.start_date_stamp)
-  //   if (this.taskItem.due_date_stamp) this.taskDate.setTime(this.taskItem.due_date_stamp)
-  //   this.startTask[0] = getDateString(this.startDate.getTime())
-  //   this.startTask[1] = getTimeString(this.startDate.getTime())
-  //   this.endTask[0] = getDateString(this.taskDate.getTime())
-  //   this.endTask[1] = getTimeString(this.taskDate.getTime())
-  //   this.showedTaskDDL = getDDLPresetFromDetail(this.taskDdlDetail)
-  //   this.taskCategoryID = this.taskItem.category
-  //   for (let i = 0; i < this.categoryList.length; ++i) {
-  //     if (this.categoryList[i].id == this.taskCategoryID) {
-  //       this.showedTaskCategory = this.categoryList[i].name
-  //       this.taskCategoryColor = this.categoryList[i].color
-  //       break;
-  //     }
-  //     if (i == this.categoryList.length - 1) {
-  //       this.taskCategoryID = this.categoryList[0].id
-  //       this.showedTaskCategory = this.categoryList[0].name
-  //       this.taskCategoryColor = this.categoryList[0].color
-  //     }
-  //   }
-  // }
-
   build() {
     Column() {
       Image($r('app.media.half'))
@@ -146,14 +112,21 @@ export struct TaskItemDialog {
 
           TextInput({
             placeholder: '事项名称',
-            text: this.taskItem.taskName
+            text: $$this.taskName
           })
             .borderRadius(10)
             .backgroundColor('rgba(254, 222, 155, 1)')
             .placeholderColor('rgba(86, 79, 74, 1)')
             .fontColor('rgba(86, 79, 74, 1)')
             .onChange((value: string) => {
-              // this.taskItem.taskName = value
+              if(value.length>5){
+                promptAction.showToast({
+                  message:"任务名称最多五个字"
+                })
+                this.taskName=value.slice(0,5)
+                return
+              }
+
               this.taskName=value
             })
             .margin({ bottom: 10 })
@@ -168,31 +141,6 @@ export struct TaskItemDialog {
             })
             .height(50 * 3)
           .margin({ bottom: 10 })
-          // Row(){
-          //   Button('任务紧急程度:' + this.showedTaskDDL)
-          //     // .bindMenu(this.DDLDetailPickerMenu)
-          //     .width('60%')
-          //     .margin({ right: 15 })
-          //     .backgroundColor(0xf1f2f3)
-          //     .fontColor(0x000000)
-          //   Button({type: ButtonType.Circle}) {
-          //     Image($r('app.media.ic_public_help_filled'))
-          //       .height(25)
-          //       .width(25)
-          //   }
-          //     .onClick(() => {this.handlePopup = !this.handlePopup})
-          //     .height(25)
-          //     .width(25)
-          //     .backgroundColor(0xffffff)
-          //     .bindPopup(this.handlePopup, {
-          //       message: '任务紧急程度会决定指示颜色变化的快慢,任务紧急程度越高,指示颜色越早变红。',
-          //       placementOnTop: true,
-          //       primaryButton: {
-          //         value: '明白了',
-          //         action: () => {this.handlePopup = false}
-          //       }
-          //     })
-          // }
         }.padding({ left: 16, right: 16})
         .margin({ bottom: 16})
         Row() {
@@ -217,11 +165,6 @@ export struct TaskItemDialog {
                   action: () => {this.handlePopup = false}
                 }
               })
-
-          // Button(this.startTask[1])
-          //   .bindMenu(this.TimePickerMenu(this.startDate, this.startTask))
-          //   .backgroundColor(0xf1f2f3)
-          //   .fontColor(0x000000)
         }.margin({bottom: 8})
         Row() {
           Button('截止日期:   ' +dayjs(this.dueDate).format('YYYY-MM-DD'))
@@ -236,15 +179,6 @@ export struct TaskItemDialog {
 
           }.width(25)
           .height(25)
-
-
-
-
-          //
-          // Button(this.endTask[1])
-          //   .bindMenu(this.TimePickerMenu(this.taskDate,this.endTask))
-          //   .backgroundColor(0xf1f2f3)
-          //   .fontColor(0x000000)
         }
       }.margin({bottom: 16})
           // .margin({ bottom: 10 })
@@ -279,7 +213,7 @@ export struct TaskItemDialog {
           .borderRadius(8)
           .backgroundColor('rgba(254, 222, 155, 1)')
           .onClick(() => {
-            if (this.taskItem.taskName == '') {
+            if (this.taskName == "") {
               promptAction.showToast({message: '任务名称不能为空'})
               return
             }
@@ -299,18 +233,6 @@ export struct TaskItemDialog {
               topped:this.topped
             }
             this.confirm(this.taskItem)
-
-
-            // this.taskItem.subject = this.taskSubject
-            // this.taskItem.task_name = this.taskName
-            // this.taskItem.detail = this.taskDetailText
-            // this.taskItem.due_date_stamp = this.taskDate.getTime()
-            // this.taskItem.start_date_stamp = this.startDate.getTime()
-            // this.taskItem.ddl_detail = this.taskDdlDetail
-            // this.taskItem.category = this.taskCategoryID
-            // Logger.debug(`TaskItemDialog ddlDetail = ${this.taskItem.ddl_detail}`)
-            // // Logger.debug(`TaskItemDialog due_date(stamp): ${this.taskItem.due_date_stamp}, date: ${this.taskDate.toDateString()}`)
-            // this.confirm(this.dialogIsAddNew, this.taskItem)
             this.controller.close()
           })
       }.margin({ bottom: 20 })
@@ -321,26 +243,3 @@ export struct TaskItemDialog {
     .justifyContent(FlexAlign.SpaceBetween)
   }
 }
-
-function getTimeString(date_stamp: number): string {
-  let date: Date = new Date()
-  date.setTime(date_stamp)
-  // Logger.debug(`TaskList: datestamp = ${date_stamp}, time = ${date.toLocaleTimeString()}`)
-  return date.toLocaleTimeString()
-}
-
-function getDateString(date_stamp: number): string {
-  let date: Date = new Date()
-  date.setTime(date_stamp)
-  // Logger.debug(`TaskList: datestamp = ${date_stamp}, date = ${date.toLocaleDateString()}`)
-  let ds: string[] = date.toLocaleDateString().split('/')
-  let res: string = `${ds[2]}/${ds[0]}/${ds[1]}`
-  return res
-}
-
-// function getDDLPresetFromDetail(detail: string): string {
-//   for (let i = 0; i < 5; ++i) {
-//     Logger.debug('getDDL: ' + CommonConstants.DDL_DETAIL_PRESET[i].detail)
-//     if (CommonConstants.DDL_DETAIL_PRESET[i].detail == detail) return CommonConstants.DDL_DETAIL_PRESET[i].hint
-//   } return ''
-// }

+ 1 - 1
entry/src/main/ets/pages/PrivacyPage.ets

@@ -33,7 +33,7 @@ struct PrivacyPage {
       .height(44)
 
       Web({
-        src: "https://hm-test.ytpm.net/daysUserAgreement.html",
+        src: $rawfile('privacy.html'),
         controller: this.webviewController,
         renderMode: RenderMode.ASYNC_RENDER // 设置渲染模式
       })

+ 1 - 1
entry/src/main/ets/pages/UserAgreementPage.ets

@@ -33,7 +33,7 @@ struct UserAgreementPage {
       .height(44)
 
       Web({
-        src: "https://hm-test.ytpm.net/daysUserAgreement.html",
+        src: $rawfile('userAgreement.html'),
         controller: this.webviewController,
         renderMode: RenderMode.ASYNC_RENDER // 设置渲染模式
       })

+ 71 - 47
entry/src/main/ets/views/Main.ets

@@ -60,7 +60,7 @@ export struct Main {
         // this.taskList.push(item)
         if(item.id==null){
           //新增
-          this.taskList.push(new TaskItem(item))
+          this.taskList.unshift(new TaskItem(item))
           //新增
           this.insertTaskData({
             id:null,
@@ -92,7 +92,11 @@ export struct Main {
             categoryName:item.categoryName,
             topped:item.topped
           } as ITaskItem)
+
         }
+        this.dialogController.close()
+
+
 
       }
 
@@ -116,7 +120,7 @@ export struct Main {
             topRight: 10,
             bottomRight: 10
           })
-          .onClick(() => {
+          .onClick(async () => {
             //将当前设置为已完成
             if(taskItem.isCompleted==1){
               promptAction.showToast({
@@ -129,11 +133,13 @@ export struct Main {
             // this.updateTaskData({
 
             // })
-            taskItemDB.update({
+            await taskItemDB.update({
                 id:taskItem.id,
                 isCompleted:taskItem.isCompleted
             })
 
+            await this.getTaskData()
+
 
 
           })
@@ -268,9 +274,11 @@ export struct Main {
   //添加数据
   async insertTaskData(item:ITaskItem){
     const a=await taskItemDB.insert(item)
+    await this.getTaskData()
   }
   async updateTaskData(item:ITaskItem){
     await taskItemDB.update(item)
+    await this.getTaskData()
   }
   async deleteTaskData(ids:number[]){
     await taskItemDB.delete(ids)
@@ -281,6 +289,9 @@ export struct Main {
    await this.getTaskData()
     if (value==""){
       // this.getTaskData()
+      promptAction.showToast({
+        message:"请输入关键词"
+      })
       return
     }
     // 创建正则表达式(不区分大小写)
@@ -289,9 +300,15 @@ export struct Main {
     const arr=this.taskList
    this.taskList=[]
     this.taskList=arr.filter(item=>item.taskName.includes(value))
-    promptAction.showToast({
-      message:JSON.stringify(this.taskList)
-    })
+   if(this.taskList.length==0){
+     promptAction.showToast({
+       message:"没有你要搜索的事项"
+     })
+   }
+
+    // promptAction.showToast({
+    //   message:JSON.stringify(this.taskList)
+    // })
     // return itemList.filter(item =>
     // regex.test(item.name))
 
@@ -315,58 +332,65 @@ export struct Main {
 
 
           Scroll() {
-            Column({space:20}) {
-              Column({ space: 10 }) {
-                Text('未办事项')
-                  .textTitle()
-                List({ space: 5 }) {
-                  ForEach(this.taskList, (item: TaskItem, index:number) => {
-                    if(item.isCompleted==0) {
-                      ListItem() {
-                        this.TaskList_ListItem(item)
-                      }.swipeAction({
-                        end: this.itemEnd.bind(this, item)
-                      })
-                    }
-                  })
-                  //,(item:TaskItem,index)=>{return item.id+index.toString()}
-                }
-                .width('100%')
-                .height(250)
-                .scrollBar(BarState.Off)
-                .nestedScroll({
-                  scrollForward: NestedScrollMode.SELF_FIRST,
-                  scrollBackward: NestedScrollMode.PARENT_FIRST
-                })
-              }.width('100%')
-              .height(300)
-              .padding({ left: 10, right: 10 })
-              .borderRadius(20)
-
-              Column({ space: 10 }) {
-                Text('已办事项')
-                  .textTitle()
-
-                Column() {
+            if(this.taskList.length==0){
+              Text('暂无事项')
+                .padding({left:16,right:16,top:10,bottom:10})
+                .backgroundColor('#d1fd45')
+                .borderRadius(15)
+            }else {
+              Column({ space: 20 }) {
+                Column({ space: 10 }) {
+                  Text('未办事项')
+                    .textTitle()
                   List({ space: 5 }) {
-                    ForEach(this.taskList, (item: TaskItem, index) => {
-                      if(item.isCompleted==1) {
-
+                    ForEach(this.taskList, (item: TaskItem, index: number) => {
+                      if (item.isCompleted == 0) {
                         ListItem() {
                           this.TaskList_ListItem(item)
                         }.swipeAction({
-                          end: this.itemEnd.bind(this, item),
+                          end: this.itemEnd.bind(this, item)
                         })
                       }
                     })
+                    //,(item:TaskItem,index)=>{return item.id+index.toString()}
                   }
+                  .width('100%')
+                  .height(250)
+                  .scrollBar(BarState.Off)
+                  .nestedScroll({
+                    scrollForward: NestedScrollMode.SELF_FIRST,
+                    scrollBackward: NestedScrollMode.PARENT_FIRST
+                  })
                 }.width('100%')
-                .layoutWeight(1)
+                .height(300)
+                .padding({ left: 10, right: 10 })
+                .borderRadius(20)
+
+                Column({ space: 10 }) {
+                  Text('已办事项')
+                    .textTitle()
+
+                  Column() {
+                    List({ space: 5 }) {
+                      ForEach(this.taskList, (item: TaskItem, index) => {
+                        if (item.isCompleted == 1) {
+
+                          ListItem() {
+                            this.TaskList_ListItem(item)
+                          }.swipeAction({
+                            end: this.itemEnd.bind(this, item),
+                          })
+                        }
+                      })
+                    }
+                  }.width('100%')
+                  .layoutWeight(1)
 
-              }.width('100%')
-              .padding({ left: 10, right: 10 })
-              .borderRadius(20)
+                }.width('100%')
+                .padding({ left: 10, right: 10 })
+                .borderRadius(20)
 
+              }
             }
           }.width('100%')
           .layoutWeight(1)

+ 7 - 5
entry/src/main/ets/views/Note.ets

@@ -186,7 +186,7 @@ export struct Note {
         }.width('100%')
         .justifyContent(FlexAlign.SpaceBetween)
 
-        TextInput({ placeholder: '请输入笔记标题', text: this.title })
+        TextInput({ placeholder: '请输入笔记标题', text: $$this.title })
           .backgroundColor('rgba(254, 222, 155, 1)')
           .border({ width: 1, color: Color.Black, radius: 6 })
           .padding({ left: 10 })
@@ -195,6 +195,7 @@ export struct Note {
               promptAction.showToast({
                 message:"标题不能超过6个字"
               })
+              this.title=text.slice(0,6)
               return
             }
             this.title = text
@@ -363,7 +364,8 @@ export struct Note {
 
         Column() {
           Image($r("app.media.home_add"))
-            .width(56)
+            .width(70)
+            .height(70)
             .aspectRatio(1)
             .onClick(() => {
               this.isShow=true
@@ -372,9 +374,9 @@ export struct Note {
               this.content=""
             })
         }
-        .width('100%')
-        .height(126)
-        .justifyContent(FlexAlign.Center)
+        .width(80)
+        .height(80)
+        .justifyContent(FlexAlign.End)
         .padding({ left: 15, right: 15 })
       }
       .padding(20)

+ 884 - 0
entry/src/main/resources/rawfile/privacy.html

@@ -0,0 +1,884 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <meta
+      name="viewport"
+      content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"
+    />
+    <title>易推小记隐私政策</title>
+  </head>
+  <body>
+    <p><strong>易推小记隐私政策</strong></p>
+    <p><strong>版本更新日期:2025年01月01日</strong></p>
+    <p>
+      <strong>版本生效日期:2025年01月01日</strong><br /> <br />概述<strong
+        > </strong
+      ><br />
+    </p>
+    <p>
+      易推小记由厦门易推网络有限公司(以下简称、“公司”、
+      “我们”)开发并发布,我们深知个人信息对您的重要性,并会尽全力保护您的个人信息安全可靠。本隐私权保护政策阐述了我们将如何收集、使用您的个人信息,并帮助您了解您的权利,请在使用我们的服务前,仔细阅读并了解本隐私权保护政策。
+    </p>
+    <p>
+      <strong
+        >【特别提示】请仔细阅读本《隐私权保护政策》并确定了解我们对您个人信息的处理规则。阅读、使用我们软件过程中,如您有任何疑问,可联系我们的客服咨询,如您不同意本隐私权保护政策中的任何条款,您应立即停止访问和使用。</strong
+      >
+    </p>
+    <p>本隐私权保护政策将帮助您了解以下内容:</p>
+    <p><strong>一、我们可能收集的个人信息类型与来源;</strong></p>
+    <p><strong>二、我们如何收集和使用您的个人信息;</strong></p>
+    <p><strong>三、我们如何使用Cookie、SDK和其他同类技术;</strong></p>
+    <p><strong>四、我们如何共享、转让、公开披露您的个人信息;</strong></p>
+    <p><strong>五、我们如何存储和保护您的个人信息;</strong></p>
+    <p><strong>六、您的权利;</strong></p>
+    <p><strong>七、我们如何处理未成年人的个人信息;</strong></p>
+    <p><strong>八、第三方责任声明;</strong></p>
+    <p><strong>九、隐私政策的修订和通知;</strong></p>
+    <ol>
+      <li><strong>我们的联系方式。</strong></li>
+    </ol>
+    <p><strong>一、我们可能收集的个人信息类型与来源</strong></p>
+    <p>
+      1.我们会遵循隐私政策收集、使用你的信息,但不会仅因你同意本政策而采用强制捆绑的方式一揽子收集个人信息。
+    </p>
+    <p>
+      <strong
+        >2.当你使用或开启相关功能或使用服务时,为实现功能、服务所必需,我们会收集、使用相关信息。除非是为实现基本业务功能或根据法律法规要求所必需的必要信息,你均可以拒绝提供且不影响其他功能或服务。我们将在隐私政策中逐项说明哪些是必要信息。</strong
+      >
+    </p>
+    <p>
+      3.如果你未登录帐号,我们会通过设备对应的标识符信息来保障信息推送的基本功能。如果你登录了帐号,我们可能会根据帐号信息实现信息推送。
+    </p>
+    <p>
+      4.通讯录、精确地理位置、摄像头、麦克风、相册权限,均不会默认开启,只有经过你的明示授权才会在为实现特定功能或服务时使用,你也可以撤回授权。
+    </p>
+    <p>
+      5.特别需要指出的是,即使经过你的授权,我们获得了这些敏感权限,也不会在相关功能或服务不需要时而收集你的信息。
+    </p>
+    <p>6.本政策适用于你通过易推小记应用程序,访问和使用我们的产品和服务。</p>
+    <p>7.权限申请与使用情况说明:</p>
+    <p>7.1.个人信息类型</p>
+    <p>
+      1)为了向您提供更好的产品和服务,当您使用易推小记时,我们可能会收集以下类型的个人信息(以下简称“个人信息”):
+    </p>
+    <p>
+      <strong
+        >(1)设备信息:是指与您的设备相关的属性信息,包括设备硬件型号、操作系统名称、操作系统版本、设备配置、设备唯一标识符、设备MAC地址、广告标识符GAID、运营商信息、设备分辨率、系统语言及当前语言地区等。这些信息能够帮助我们为您提供更好的信息展示或产品服务;</strong
+      >
+    </p>
+    <p>
+      <strong
+        >(2)位置信息:是指当您开启设备定位功能并使用我们基于位置提供的相关服务时,我们可能会收集的有关您的位置信息,包括我们利用IP地址、GPS以及其他能够提供位置信息的技术获得的位置信息。您可以通过系统设置关闭定位功能的授权,以停止我们收集您的地理位置信息,但这可能导致您无法使用易推小记相关服务或功能,或者无法达到相关服务预期达到的使用效果;</strong
+      >
+    </p>
+    <p>
+      <strong
+        >(3)注册信息:您可以使用手机号码登录易推小记,此时您将授权易推小记收集您的手机号码信息;</strong
+      >
+    </p>
+    <p>
+      (4)选填信息:为了使用易推小记的部分功能,您可以选填一些个人信息,如用户头像、昵称、性别、年龄,个性标签等。一经填写,您将授权易推小记收集、展示、使用这些信息;
+    </p>
+    <p>
+      (5)日志信息:当您使用易推小记的服务时,系统可能自动记录您的日志信息并存储在服务器日志中,包括用户习惯行为统计数据(例如各个页面按钮的点击数据统计、应用使用统计信息)、设备事件信息(例如崩溃信息统计、系统活动等)、您目前使用的易推小记的版本及更新信息等内容;
+    </p>
+    <p>
+      (6)发布信息:当您使用易推小记的信息发布功能时,您将授权易推小记收集、展示您发布的信息;
+    </p>
+    <p>
+      (7)读取日历:当您使用易推小记的签到功能时,您将授权易推小记收集您的日历,为用户提供连续签到提醒;
+    </p>
+    <p>
+      <strong
+        >(8)通讯录信息:当您使用易推小记的服务时,您将授权易推小记收集您的通讯录联系人信息用于匹配联系人和好友推荐;</strong
+      >
+    </p>
+    <p>
+      (9)第三方的关于您的信息:当您使用易推小记与其他软件或硬件互通功能时,易推小记可能会收集互通时所传输、产生或分享的信息。例如,您将来自易推小记的内容或活动分享至支付宝时,您将授权易推小记收集您的支付宝头像和昵称;
+    </p>
+    <p>(10)其他:经您同意后收集的其他类型信息。</p>
+    <p>
+      易推小记的部分服务可能需要您提供特定的个人敏感信息来实现特定功能,例如,当您使用易推小记的提现功能,通过支付宝提取您的零钱时,易推小记会收集您提供的身份证号码。若您选择不提供该类信息,则可能无法正常使用服务中的特定功能。
+    </p>
+    <p>7.2.个人信息来源</p>
+    <p>1)我公司可能收集的个人信息来源主要包括:</p>
+    <p>(1)经您同意后,我公司自动采集的个人信息以及您直接提供的个人信息;</p>
+    <p>
+      (2)我公司按照法律法规的规定或基于您的授权从关联公司和第三方授权合作伙伴处接收的关于您的个人信息及其他信息。请注意,根据相关法律法规及国家标准,例如GB/T
+      35273-2017《信息安全技术个人信息安全规范》。
+    </p>
+    <p>7.3.需要特别说明的是:</p>
+    <p>
+      1)我们向您提供的产品和服务是不断更新发展的。如果因业务需要,确需超出上述范围收集、使用个人信息,我们会更新本隐私政策并通过弹窗、页面提示、网站公告等方式,向您说明信息收集和使用的具体情况,并征得您的同意。
+    </p>
+    <p>
+      2)目前,易推小记不会主动从我公司外的第三方获取您的个人信息。若将来为了业务发展的需要,易推小记从第三方间接获取了您个人信息,我们会在获取前,告知您个人信息的来源、类型及使用范围,并征得您的明示同意。
+    </p>
+    <p>
+      3)对所收集的个人信息进行加工处理而产生的信息,能够单独或与其他信息结合识别您个人身份,或者反映您个人活动情况的,我们对其处理遵循收集个人信息时获得的授权同意范围。
+    </p>
+    <p><strong>二、我公司如何收集和使用您的个人信息</strong></p>
+    <p>1.我公司仅会出于以下目的,收集和使用您的个人信息:</p>
+    <p>
+      2)开发、运行、改善或提高易推小记(执行本软件验证服务、升级服务),帮助我公司了解用户使用易推小记时遇到的问题,同时改善易推小记的质量、性能和安全性;
+    </p>
+    <p>3)回应您的信息请求,提供用户支持,为您提供更高效安全的产品和服务;</p>
+    <p>
+      4)根据用户信息所做出的统计数据、行为分析等非关联用户身份识别的信息,向您推荐第三方授权合作伙伴,提供与您更加相关的广告、推广信息或资讯等;
+    </p>
+    <p>5)了解并解决易推小记在使用过程中的崩溃情况或其他需要报告的问题;</p>
+    <p>6)向您发送通知及我公司提供的服务信息;</p>
+    <p>7)其他有利于用户利益和实现易推小记功能的信息收集和使用行为。</p>
+    <p>
+      2.我公司仅会在获得您事先同意的情况下,将您的个人信息用于本政策所列明的目的或法律允许的情形之外。
+    </p>
+    <p>
+      3.我们获取的权限使用对应的业务功能进程场景描述,我们仅会出于本政策所述的以下目的,获取相应手机权限。以下权限的获取方式包括以弹框形式向您提示并由您予以授权。同一权限在不同终端设备上的获取方式可能有所不同,如:APP前台运行时,获取运行中进程信息判断1是app
+      /sdk进程。
+    </p>
+    <p>3.1.具体应以您使用的终端设备实际采用的方式为准:</p>
+    <p>1)申请的权限/信息:android:hardwareAccelerated=&quot;true&quot;</p>
+    <p>
+      业务功能/用途:应用获取设备重力传感器个人信息、采用陀螺仪、重力、加速传感器能使用如摇一摇、滑动交互和使动效图片更快加载
+    </p>
+    <p>2)申请的权限/信息:GET_TASKS</p>
+    <p>
+      业务功能/用途:获取运行中的进程允许应用程序获取有关当前或最近运行的任务的信息
+    </p>
+    <p>3)申请的权限/信息:READ_PHONE_STATE</p>
+    <p>
+      业务功能/用途:读取设备信息,获取用户设备的IMEI,通过IMEI对用户进行唯一标识,以便统计分析服务
+    </p>
+    <p>4)申请的权限/信息:ACCESS_FINE_LOCATION/ ACCESS_COARSE_LOCATION</p>
+    <p>
+      业务功能/用途:精准定位,为开发者提供反作弊功能,剔除作弊设备;同时校正用户的地域分布数据,使报表数据更加准确,广告sdk需要,用来助于广告投放
+    </p>
+    <p>5)申请的权限/信息:REQUEST_INSTALL_ PACKAGES</p>
+    <p>业务功能/用途:广告sdk需要(获取已安装应用列表,避免重复安装)</p>
+    <p>6)申请的权限/信息:INSTALL_PACKAGES</p>
+    <p>业务功能/用途:安装应用,为广告场景下用户下载提供便利</p>
+    <p>7)申请的权限/信息:QUERY_ALL_ PACKAGES</p>
+    <p>业务功能/用途:读取应用列表,保障联动其他软件时的顺畅</p>
+    <p>8)申请的权限/信息:SupplementaryDID.ACCESS</p>
+    <p>
+      业务功能/用途:信通院获取oaid,根据用户的oaid进行来源归因并标识,以便提供软件服务
+    </p>
+    <p>9)申请的权限/信息:WAKE_LOCK</p>
+    <p>业务功能/用途:广告sdk需要(避免熄屏)</p>
+    <p>10)申请的权限/信息:READ_SETTINGS</p>
+    <p>业务功能/用途:读取系统设置,根据设置提供正确的软件内容</p>
+    <p>11)申请的权限/信息:REORDER_TASKS</p>
+    <p>业务功能/用途:排序运行应用列表,对应用排序进行优化</p>
+    <p>12)申请的权限/信息:GET_TASKS</p>
+    <p>业务功能/用途:获取运行应用列表,优化用户软件体验,保证服务顺畅</p>
+    <p>13)申请的权限/信息:ACCESS_WIFI_STATE</p>
+    <p>
+      业务功能/用途:查询WiFi状态,保证网络服务顺畅,判断当前所处环境是否正常、安全,提醒用户开启网络,保证程序正确运行
+    </p>
+    <p>14)申请的权限/信息:READ_EXTERNAL_STORAGE</p>
+    <p>业务功能/用途:监控程序运行情况,在崩溃时收集到足够的排障信息</p>
+    <p>15)申请的权限/信息:ACCESS_NETWORK STATE</p>
+    <p>
+      业务功能/用途:查询网络状态,保证用户网络连接状态并在有变更时提供相应服务
+    </p>
+    <p>16)申请的权限/信息:INTERNET</p>
+    <p>
+      业务功能/用途:网络权限,允许应用程序联网和发送统计数据的权限,以便提供统计分析服务
+    </p>
+    <p>17)申请的权限/信息:WRITE_EXTERNAL_STORAGE</p>
+    <p>业务功能/用途:监控程序运行情况,在崩溃时收集到足够的排障信息</p>
+    <p>18)申请的权限/信息:CAMERA/RECORD_AUDIO</p>
+    <p>业务功能/用途:客服功能会用到,方便用户拍照反馈问题</p>
+    <p>19)申请的权限/信息:FOREGROUND_SERVICE</p>
+    <p>业务功能/用途:适配androidp,为用户提供更好的体验</p>
+    <p>20)申请的权限/信息:GET_PACKAGE_SIZE</p>
+    <p>业务功能/用途:读取应用大小,优化用户使用体验,保证服务顺畅</p>
+    <p>
+      4.您可以在设备的设置中选择关闭部分或者全部权限,这可能导致对应的业务功能无法实现或者无法达到预期效果。
+    </p>
+    <p>5.阐述我们收集您个人信息的范围、方式以及目的:</p>
+    <p>5.1.调取第三方app</p>
+    <p>
+      1)为帮助您成为易推小记用户,即完成账号的创建以便我们能够为您提供易推小记注册用户服务。我们目前支持第三方账号登录,是由于为了给您一个良好的体验,避免二次绑定,当您选择使用第三方账号(例如支付宝)更便捷地注册并登录易推小记用户账号时,我们将通过间接获得的方式访问、收集您明示授权后的个人信息并将您的第三方账户与您的易推小记账户绑定。
+    </p>
+    <p>
+      2)若您拒绝提供第三方账号下面的信息,则您无法选择使用第三方账号的方式注册并登录,我们承诺该类个人信息的第三方账号渠道来源的合法性。
+    </p>
+    <p>
+      3)为实现产品功能以及更便捷的使用体验,我们可能会收集你的应用安装信息,用以判断你的设备是否安装了某个App。例如,当你使用易推小记的过程中点击了跳转至其他App的链接,为帮你唤起该App,我们会判断你的设备是否安装了该App。
+    </p>
+    <p><strong>5.2.获取您的安装列表、MAC的行为。</strong></p>
+    <p>
+      <strong
+        >1)获取您的安装列表,主要是在应用更新时,以便您可以直接在app内部进行更新,更新完成之后需要重新安装,所以需要调取您的安装列表,进行app安装,获取mac、oaid、imei等信息,为您的账号提供识别工作,为了防止恶意攻击我们app。目前我们app一台设备仅支持一个账号,所以会获取您的macoaidimei等信息,来绑定您的应用id,获取您的设备信息仅限于绑定您的应用内部id。</strong
+      >
+    </p>
+    <p>
+      5.3.第三方软件或技术。为了您能正常使用我们的产品,我们可能会使用第三方的软件或者技术,第三方软件或者技术可能会收集您的设备信息(详情请见第四内容的第三方共享目录)。
+    </p>
+    <p>
+      6.公司仅出于上述目的收集和使用您的个人信息,我们具体收集和使用的信息包括:
+    </p>
+    <p>6.1.运营与安全保障</p>
+    <p>
+      <strong
+        >1)为了保障软件与服务的安全运行、运营质量以及效率,包括:统计在线用户数、留存率、软件崩溃率以及软件性能,经您授权,我们会收集以下基本信息:您设备的硬件型号、操作系统版本号、国际移动设备识别码(IMEI)、国际移动用户识别码(IMSI)媒体存取控制位址(MAC地址)鸿蒙系统设备唯一标识(鸿蒙ID)设备序列号、IP地址、软件版本号、网络接入方式及类型、操作且志,我们收集这些信息用于为您做对应的版本适配,以保障软件的正常启动运行。</strong
+      >
+    </p>
+    <p>
+      <strong
+        >2)为了提供稳定安全的服务,保护您、其他用户的人身财产安全,更好地预防钓鱼网站、欺诈、网络漏洞、计算机病毒、网络攻击、网络侵入等安全风险,更准确的识别违反法律法规或易推小记平台相关规则的情况。</strong
+      >
+    </p>
+    <ol>
+      <li>
+        <strong
+          >我们会收集以下基本信息:您设备的硬件型号、操作系统版本号、国际移动设备识别码(IMEI)、国际移动用户识别码(IMSI)、媒体存取控制位址(MAC地址)、鸿蒙系统设备唯一标识(鸿蒙ID)设备序列号、传感器数据、IP地址、软件版本号、网络接入方式及类型、操作且志、应用列表、正在运行的进程信息,我们收集这些信息用于综合判断您账户及交易风险、检测以及防范安全事件,并依法采取必要的记录、审计、分析、处置措施。例如我们会综合分析用户帐号活动异常、多端登录、异常浏览行为、伪造广告点击enableTTLive等,以保护您和其他用户的浏览安全。</strong
+        >
+      </li>
+    </ol>
+    <p>
+      <strong
+        >4)您理解并同意,您需要授权我们“电话”权限来允许我们获取前述的“设备的硬件型号”和“国际移动设备识别码(IMEI)”信息,我们不会调用“电话”权限下的其他权限。您可以选择拒绝授权或关闭该权限,您拒绝授权或关闭“电话”权限后,您仍然可以使用我们的服务,但可能会影响您的用户体验。</strong
+      >
+    </p>
+    <p>
+      <strong
+        >5)同时,为了及时向您同步您的互动反馈信息(包括其他用户对您的点赞、打赏、评论回复)、内容更新(时事要闻、急闻,您关注的作者内容更新及时同步)同步、软件版本更新同步,我们会周期性的采集您的国际移动设备识别码
+        (IMEI)、鸿蒙系统设备唯一标识(鸿蒙ID)、网络接入方式及类型、操作系统版本、软件版本号。</strong
+      >
+    </p>
+    <p>6.2.个人注册、登录和相关服务</p>
+    <p>
+      1)当你注册、登录易推小记及相关服务时,你可以通过手机号创建帐号,并且你可以完善相关的网络身份识别信息(头像、昵称、密码),收集这些信息是为了帮助你完成注册。你还可以根据自身需求选择填写性别、生日、地区及个人介绍来完善你的信息,并在填写后自主选择展示范围。
+    </p>
+    <p>
+      2)你也可以使用第三方帐号(支付宝)登录并使用易推小记,你将授权我们获取你在第三方平台注册的公开信息(头像、昵称以及你授权的其他信息),用于与易推小记帐号绑定,使你可以直接登录并使用本产品和相关服务。在使用第三方账号进行登录时,可能需要将实现登录所必需的信息在剪切板中写入与读取。这些信息仅供实现登录相关的目的所使用,不会收集你的隐私信息。
+    </p>
+    <p>
+      3)基于我们与通信运营商的合作,当你使用“一键登录”功能时,经过你的明示同意,运营商会将你的手机号码发送给我们,便于我们为你提供快捷的登录服务。手机号码属于个人敏感信息,如果拒绝提供将无法使用“一键登录”方式注册登录,但不影响你通过其他方式注册登录,也不影响其他功能的正常使用。
+    </p>
+    <p>
+      4)在你使用身份认证的功能或相关服务所需时,根据相关法律法规,你可能需要提供你的真实身份信息(真实姓名、身份证号码、电话号码)以完成实名验证。部分信息属于个人敏感信息,你可以拒绝提供,如果拒绝提供你将可能无法获得相关服务,但不影响其他功能与服务的正常使用。
+    </p>
+    <p>
+      5)当您选择以“拍照”方式设置、更换用户头像时,我们会请求您授权相机权限,您如果拒绝授权提供,将无法通过“拍照”的方式设置或更换头像;当您选择以“从相册获取”的方式设置、更换用户头像时,我们会请求您授权相册权限,您如果拒绝授权,将无法通过“从相册获取”的方式设置、更换用户头像。
+    </p>
+    <p>6.3.为实现符合服务功能</p>
+    <p>
+      1)地理位置信息:含通过GPS信息、WLAN接入点、蓝牙和基站等传感器信息获取到的精确地理位置信息及通过网络位置信息(例如基站、IP及WLAN)获取的大致地理位置信息。
+    </p>
+    <p>
+      2)精确地理位置信息是个人敏感信息,若你拒绝提供,我们将不会根据精确地理位置信息向你展示信息,且不会影响易推小记其他功能的正常使用。
+    </p>
+    <p>
+      3)我们会基于大致地理位置信息对应的城市及/或区县向你展示你所在地区(城市、区县等)的本地相关信息。
+    </p>
+    <p>
+      4)请您了解,单独的设备信息、您的操作使用行为信息是无法识别特定自然人身份的信息。我们收集、使用的上述信息进行了去标识化处理,数据分析仅对应特定的、无法直接关联用户身份的编码,无法也绝不会与您的真实身份相关联。当我们将这类信息与其他信息结合用于识别特定自然人身份,或者将其与个人信息结合使用,则在结合使用期间,这类信息将被视为个人信息,我们将会依据本隐私政策对其进行使用和保护。
+    </p>
+    <p>
+      <strong
+        >5)摄像头权限,当您同意开启此项权限后,我们会使用您设备上的相机拍摄功能。此项功能将用于实现照片拍摄、录制视频功能,并采集、识别上述功能实现过程中所拍摄或录制的图片及视频信息。如您拒绝该项授权,前述功能将无法使用。</strong
+      >
+    </p>
+    <p>
+      6)相册及存储权限,当您同意开启此项权限后,我们会使用您设备上的相册读取及存储功能。此项功能将用于为您上传设备内的文本、图像、视频等内容,也可缓存您使用产品与/或服务过程中产生的文本、图像、视频内容。
+    </p>
+    <p>
+      7)请您知悉,我们不会自动读取您本地相册的存储内容仅在您同意开启此权限并在相册中主动选择相应图片后才会获取图片/视频数据。如果您拒绝该项授权、前述功能将无法正常使用。
+    </p>
+    <p>
+      8)你知悉并同意,对于你在使用产品及/或服务的过程中提供的你的联系方式(例如:联系电话),我们在运营中可能会向其中的一种或多种发送多类通知,用于用户消息告知、身份验证、安全验证、用户使用体验调研用途。
+    </p>
+    <p>
+      9)为了帮助你在发布内容时快速输入网址,我们可能会读取你设备的剪贴板,获取网址信息并自动填充,以为你带来更便捷的使用体验。请你放心,我们不会对你剪贴板的内容进行存储或用于其他目的。
+    </p>
+    <p>
+      10)您选择公开发布的信息原则上将对所有用户可见,如其中涉及您的个人信息甚至敏感个人信息,请您谨慎考虑。如您公开公布的信息中涉及他人的个人信息,您需在公开前自行征得他人同意。
+    </p>
+    <p>
+      11)基于法律法规的相关要求,当您使用发布互动服务时,我们将在您的个人主页、发布信息、评论等位置展示您地IP归属地(国家、地区、省市级别),所在地信息以网络运营商提供的数据为准。
+    </p>
+    <p>6.4.收集、使用个人信息目的变更</p>
+    <p>
+      1)请你了解,随着我们业务的发展,可能会对易推小记的功能和提供的服务有所调整变化。原则上,当新功能或服务与我们当前提供的功能或服务相关时,收集与使用的个人信息将与原处理目的具有直接或合理关联。在与原处理目的无直接或合理关联的场景下,我们收集、使用你的个人信息,会再次进行告知,并征得你的同意。
+    </p>
+    <p>
+      2)访问和浏览记录、列表、私信属于敏感信息,拒绝提供该信息可能会使你无法使用对应功能,但不影响你正常使用其他功能。请你放心,我们仅会对私信进行加密存储,不会查看或使用。
+    </p>
+    <p>6.5.依法豁免征得同意收集和使用的个人信息</p>
+    <p>
+      1)请你理解,在下列情形中,根据法律法规及相关国家标准,我们收集和使用你的个人信息无需征得你的授权同意:
+    </p>
+    <p>(1)与国家安全、国防安全直接相关的;</p>
+    <p>(2)与公共安全、公共卫生、重大公共利益直接相关的;</p>
+    <p>(3)与犯罪侦查、起诉、审判和判决执行等直接相关的;</p>
+    <p>
+      (4)出于维护个人信息主体或其他个人的生命、财产等重大合法权益但又很难得到本人同意的;
+    </p>
+    <p>(5)所收集的你的个人信息是你自行向社会公众公开的;</p>
+    <p>
+      (6)从合法公开披露的信息中收集的你的个人信息的,如合法的新闻报道、政府信息公开等渠道;
+    </p>
+    <p>(7)根据你的要求签订或履行合同所必需的;</p>
+    <p>
+      (8)用于维护软件及相关服务的安全稳定运行所必需的,例如发现、处置软件及相关服务的故障;
+    </p>
+    <p>(9)为合法的新闻报道所必需的;</p>
+    <p>
+      (10)学术研究机构基于公共利益开展统计或学术研究所必要,且对外提供学术研究或描述的结果时,对结果中所包含的个人信息进行去标识化处理的;
+    </p>
+    <p>(11)法律法规规定的其他情形。</p>
+    <ol>
+      <li>
+        特别提示你注意,如信息无法单独或结合其他信息识别到你的个人身份,其不属于法律意义上你的个人信息;当你的信息可以单独或结合其他信息识别到你的个人身份时或我们将无法与任何特定个人信息建立联系的数据与其他你的个人信息结合使用时,这些信息在结合使用期间,将作为你的个人信息按照本政策处理与保护。
+      </li>
+    </ol>
+    <p><strong>三、我公司如何使用Cookie、SDK和其他同类技术</strong></p>
+    <p>
+      1.为了收集前述个人信息,我公司和第三方授权合作伙伴均可能使用跟踪技术,通过理解和记忆您的特定使用偏好使用以下技术,可为我们提供准确的优化应用,使得应用有更好的体验:
+    </p>
+    <p>
+      <strong
+        >1)Cookie:为确保网站正常运转,我公司会在您的移动设备上存储名为Cookie的小数据文件。Cookie通常包含标识符、站点名称以及一些号码和字符。借助于Cookie,网站能够存储您的偏好等数据;</strong
+      >
+    </p>
+    <p>
+      2)我公司不会将Cookie用于本政策所述目的之外的任何用途。您可根据自己的偏好管理或删除Cookie有关详情,请参见AboutCookies.org。您可以清除计算机上保存的所有Cookie,大部分网络浏览器都设有阻止Cookie的功能。但如果您这么做,则需要在每一次访问我公司的网站时亲自更改用户设置;
+    </p>
+    <p>
+      3)SDK:SDK是我公司嵌入易推小记的一组工具和/或代码,允许第三方授权合作伙伴收集有关用户如何与服务交互的信息;
+    </p>
+    <p>
+      4)网站信标和像素标签:即微型电子标签,其中嵌入了网站、在线广告和/或电子邮件中的唯一标识符,旨在:
+    </p>
+    <p>(1)收集使用信息,如广告印象或点击和电子邮件开放价格;</p>
+    <p>(2)衡量服务和相关广告的受欢迎程度;</p>
+    <p>(3)访问用户cookie。</p>
+    <p>
+      2.除Cookie外,我们还会在网站上使用网站信标和像素标签等其他同类技术。例如我们向您发送的电子邮件可能含有链接至我们网站内容的点击URL。如果您点击该链接,我们则会跟踪此次点击,帮助我们了解您的产品或服务偏好并改善客户服务。
+    </p>
+    <p>
+      3.网站信标通常是一种嵌入到网站或电子邮件中的透明图像。借助于电子邮件中的像素标签,我们能够获知电子邮件是否被打开。如果您不希望自己的活动以这种方式被追踪,则可以随时从我们的寄信名单中退订。
+    </p>
+    <p>
+      4.其他同类技术:当我公司采用其他技术时,我公司也可能通过其他方法收集信息。请注意,您可以通过更改您的设置来拒绝其他同类技术的使用。
+    </p>
+    <p>
+      5.Do Not Track(请勿追踪):很多网络浏览器均设有Do Not
+      Track功能,该功能可向网站发布Do Not
+      Track请求。目前,主要互联网标准组织尚未设立相关政策来规定网站应如何应对此类请求。但如果您的浏览器启用了Do
+      Not Track,那么我们的所有网站都会尊重您的选择。
+    </p>
+    <p><strong>四、我们如何共享、转让、公开披露您的个人信息;</strong></p>
+    <p>1.共享</p>
+    <p>1.1.共享原则</p>
+    <p>
+      1)授权同意原则:未经你的同意,我们不会共享你的个人信息,除非共享的个人信息是去标识化处理后的信息,且共享第三方无法重新识别此类信息的自然人主体。如果第三方使用信息的目的超越原授权同意范围,他们需要重新征得你的同意。
+    </p>
+    <p>
+      2)合法正当与最小必要原则:共享的数据必须具有合法正当目的,且共享的数据以达成目的必要为限。
+    </p>
+    <p>
+      3)安全审慎原则:我们将审慎评估第三方使用共享信息的目的,对这些合作方的安全保障能力进行综合评估,并要求其遵循合作法律协议。我们会对合作方获取信息的软件工具开发包(SDK)、应用程序接口(API)进行严格的安全监测,以保护数据安全。
+    </p>
+    <p>1.2.实现功能或服务的共享信息</p>
+    <p>
+      <strong
+        >1)当你在使用易推小记中由我们的关联方、第三方提供的功能,或者当软件服务提供商、智能设备提供商、系统服务提供商与我们联合为你提供服务时我们会将实现业务所必需的信息与这些关联方、第三方共享,用于综合统计并通过算法做特征与偏好分析,形成间接人群画像,用以向你进行展示或推送更适合你的特定功能、服务或商业广告。</strong
+      >
+    </p>
+    <p>
+      2)地理位置服务:当你使用地理位置相关服务时,我们会通过SDK或相关技术将GPS信息与位置服务提供商(高德地图)进行共享以便可以向你返回位置结果。GPS信息是个人敏感信息,拒绝提供仅会影响地理位置服务功能,但不影响其他功能的正常使用。
+    </p>
+    <p>1.3.实现广告相关的共享信息</p>
+    <p>
+      <strong
+        >1)广告推送与投放:我们可能与进行推广和广告投放的合作伙伴共享信息,但我们不会共享用于识别你个人身份的信息(姓名、身份证号),仅会向这些合作伙伴提供不能识别你个人身份的间接画像标签及去标识化的设备信息或匿名化后的设备、网络、渠道等信息,以帮助其在不识别你个人身份的前提下提升广告有效触达率。</strong
+      >
+    </p>
+    <p>
+      2)广告统计:我们可能与业务的服务商、供应商和其他合作伙伴共享分析去标识化的设备信息或统计信息,这些信息难以或无法与你的真实身份相关联。这些信息将帮助我们分析、衡量广告和相关服务的有效性。
+    </p>
+    <p>1.4.实现安全与分析统计的共享信息</p>
+    <p>
+      1)保障使用安全:我们非常重视帐号、服务及内容安全,为保障你和其他用户的帐号与财产安全,使你和我们的正当合法权益免受不法侵害,我们和关联方或服务提供商可能会共享必要的设备、帐号及日志信息。
+    </p>
+    <p>
+      2)分析产品使用情况:为分析我们服务的使用情况,提升用户使用的体验,可能会与关联方或第三方共享产品使用情况(崩溃、闪退)的统计性数据,这些数据难以与其他信息结合识别你的个人身份。
+    </p>
+    <p>
+      3)学术研究与科研:为提升相关领域的科研能力,促进科技发展水平,我们在确保数据安全与目的正当的前提下,可能会与科研院所、高校等机构共享去标识化或匿名化的数据。
+    </p>
+    <p>1.5.涉及收集用户信息的第三方SDK列表:</p>
+    <p>
+      1)请您知悉,即使已经取得您的授权同意,我们也仅会出于合法、正当、必要、特定、明确的目的共享您的个人信息,并尽量对共享内容中的个人信息进行去标识化处理。我们对涉及用户信息使用的第三方SDK/API相关情况进行了逐项列举。
+    </p>
+    <p>
+      <strong
+        >2)为保证稳定运行或实现相关功能(包括在后台状态下运行),我们可能会接入第三方提供的软件开发包SDK。例如:推送通道SDK需要收集采集设备标识符(IMEI/MAC/Android
+        ID/IDFA/OpenUDID/GUID/SIM卡IMSI信息等),用于唯一标识设备,以便向用户设备推送消息。采集地理位置甄别推送通道,提高消息推送的区域覆盖率。</strong
+      >
+    </p>
+    <p>
+      3)我们会对接入的相关SDK进行严格的安全检测,以保护数据安全。我们对记入的第三方SDK在目录中列明。请注意,第三方SDK可能因为其版本升级、政策调整等原因,导致数据处理方式发生变化(第三方SDK可能会有其他SDK),请以其公示的官方说明为准。
+    </p>
+    <p>
+      我们所接入的第三方SDK可能会调用您的设备权限、获取您的相关信息,以便您在不同的手机设备或第三方平台上正常使用相应功能,我们将这些具有个人信息收集功能的第三方SDK的名称、提供商、所提供的功能/服务隐私政策链接、收集个人信息类型,按照实现功能/服务的类别划分说明如下:
+    </p>
+    <p>1、统计分析类SDK</p>
+    <p>SDK名称:TE SDK(ThinkingAnalytics SDK)</p>
+    <p>公司名称:数数信息科技(上海)有限公司</p>
+    <p><strong>用途目的:提供数据统计与分析服务</strong></p>
+    <p>
+      隐私政策:https://docs.thinkingdata.cn/ta-manual/v4.2/user_guide/privacy_policy.html#%E5%89%8D%E8%A8%80
+    </p>
+    <p>
+      <strong
+        >收集的个人信息类型、字段:IP地址、国家、国家代码、省份、城市、操作系统版本、设备制造商、操作系统、设备ID、设备型号、App版本、应用唯一标识、SDK类型、SDK版本、网络状态、网络运营商、后台事件时长、事件时长、页面标题、页面名称、页面地址、前向地址。</strong
+      >
+    </p>
+    <p>2、支付类SDK</p>
+    <p>SDK名称:支付宝支付</p>
+    <p>公司名称:支付宝(中国)网络科技有限公司</p>
+    <p>
+      <strong
+        >用途目的:用于实现安卓内支付宝支付服务,帮助用户完成付款、提供安全认证服务</strong
+      >
+    </p>
+    <p>隐私政策:https://render.alipay.com/p/c/k2cx0tg8</p>
+    <p>
+      <strong
+        >收集的个人信息类型、字段:设备标识信息(IMEI/IMSI、SIM卡序列号/MAC地址)、地理位置信息、网络信息、应用列表信息</strong
+      >
+    </p>
+    <p>
+      <strong
+        >其他说明:为了保障向您提供的服务的安全稳定运行,预防交易和资金风险,与防病毒、木马程序或其他恶意程序,网站,支付宝SDK需记录你使用的支付宝服务类别、MAC地址、软件安装列表等其他与支付宝服务相关的日志信息。</strong
+      >
+    </p>
+    <p>SDK名称:微信支付</p>
+    <p>公司名称:财付通支付科技有限公司</p>
+    <p><strong>用途目的:用于实现安卓内微信支付服务</strong></p>
+    <p>
+      隐私政策:https://weixin.qq.com/cgi-bin/readtemplate?lang=zh_CN&amp;t=weixin_agreement&amp;s=privacy
+    </p>
+    <p>
+      <strong
+        >收集的个人信息类型、字段:设备标识信息(IMEI/IMSI、SIM卡序列号/MAC地址)、地理位置信息、网络信息</strong
+      >
+    </p>
+    <p>3、统计分析类SDK</p>
+    <p>SDK名称:友盟+</p>
+    <p>公司名称:友盟同欣(北京)科技有限公司</p>
+    <p>
+      <strong
+        >用途目的:为用户提供APP(SDK)、网页(CNZZ)数据统计分析、并通过一定频次的地理位置校准报表数据准确性,提供基础反作弊能力。通过应用性能监控
+        (SDK),监控运行中的进程,提供实时、可靠、全面的应用崩溃、ANR、自定义异常等捕获能力,支持多场景、多通道智能告警监控,还原崩溃用户的访问路径和业务现场,缩短故障排查时间。</strong
+      >
+    </p>
+    <p>
+      隐私政策:https://www.umeng.com/page/policy?spm=a211eg.10560647.0.0.547034dcafEUZJ
+    </p>
+    <p>
+      <strong
+        >收集的个人信息类型、字段:设备Mac地址、唯一设备识别码(IMEI/android
+        ID/OAID/IDFA/OPENUDID/GUID、SIM 卡 IMSI
+        信息、ICCID)、地理位置信息,根据统计维度的不同采集如下信息:SDK/API/JS代码版本、浏览器、互联网服务提供商、平台、时间戳、应用标识符、应用程序版本、应用分发渠道、独立设备标识符、设备型号、传感器参数、终端制造厂商、终端设备操作系统版本、会话启动/停止时间、语言所在地、时区和网络状态(WiFi等)、硬盘、CPU和电池使用情况。安装应用列表信息。
+        其他:第三方”友盟SDK”为开发者提供反舞弊功能,剔除作弊设备;同时校正用户的地域分布数据,使报表数据更加准确,会按照一定频次读取位置信息等个人信息。</strong
+      >
+    </p>
+    <p><strong>权限 用途</strong></p>
+    <p>
+      <strong
+        >ACCESS_NETWORK_STATE
+        检测联网方式,在网络异常状态下避免数据发送,节省流量和电量。</strong
+      >
+    </p>
+    <p>
+      <strong
+        >READ_PHONE_STATE
+        获取用户设备的IMEI,通过IMEI对用户进行唯一标识,以便提供统计分析服务。</strong
+      >
+    </p>
+    <p>
+      <strong
+        >ACCESS_WIFI_STATE 获取WIFI
+        mac地址,在平板设备或电视盒子上,无法通过IMEI标识设备,我们会将WIFI
+        mac地址作为用户的唯一标识,以便正常提供统计分析服务。</strong
+      >
+    </p>
+    <p>
+      <strong
+        >INTERNET
+        允许应用程序联网和发送统计数据的权限,以便提供统计分析服务。</strong
+      >
+    </p>
+    <p>4、广告投放类SDK</p>
+    <p>SDK 名称:巨量引擎转化SDK</p>
+    <p>公司名称:北京巨量引擎网络技术有限公司</p>
+    <p><strong>用途目的:用于支持广告投放归因及反作弊服务</strong></p>
+    <p>
+      隐私政策:https://bytedance.larkoffice.com/docx/PfdrdczIHo0wjex3Qwdce5wYnzh
+    </p>
+    <p>
+      <strong
+        >收集的个人信息类型、字段:【双端】设备品牌、型号、操作系统、软件系统版本、分辨率、网络信号强度、IP地址、设备语言、浏览器的类型和版本号、操作、使用、服务日志等基础信息、WiFi路由器MAC地址(BSSID)、设备的MAC地址(如为iOS端,则仅适用于IOS3200以下版本)运营商信息、设备时区、sim卡信息
+        【仅Android】AndroidID、OAID、设备标识符(如IMEI、IMSI、ICCID、GAID(仅GMS服务)、MEID、设备序列号build_serial,具体字段因软硬件版本不同而存在差异)、WIFI状态、软件列表信息
+        【仅iOS】手机系统重启时间、磁盘总空间、系统总内存空间、CPU数目等基础信息、IDFV、设备标识符(如IDFA,具体字段因软硬件版本不同而存在差异)</strong
+      >
+    </p>
+    <p>SDK名称:穿山甲</p>
+    <p>公司名称:北京巨量引擎网络技术有限公司、北京有竹居网络技术有限公司</p>
+    <p><strong>用途目的:为用户提供广告展现、广告归因、反作弊服务</strong></p>
+    <p>隐私政策:https://ad.oceanengine.com/union/media/privacy</p>
+    <p>
+      <strong
+        >收集的个人信息类型、字段:设备信息(设备品牌、型号、软件系统版本相关信息、国际移动设备识别码(IMEI)、iOS系统广告标识符IDFA、安卓系统广告标识符OAID、Android
+        Id、设备硬件地址(MAC))、地理位置信息(通过GPS获得的位置信息)、网络信息(IP
+        地址、运营商信息、设备时区、网络接入方式及类型)、应用信息(【仅Android】开发者应用名、应用包名、运行中的进程信息、版本号、应用前后台状态)、传感器信息(加速度传感器、陀螺仪传感器、线性加速度传感器、磁场传感器、旋转矢量传感器)</strong
+      >
+    </p>
+    <p>SDK名称:广点通</p>
+    <p>公司名称:腾讯科技(深圳)有限公司</p>
+    <p><strong>用途目的:为用户提供广告展现、广告归因、反作弊服务</strong></p>
+    <p>隐私政策:https://e.qq.com/optout.html</p>
+    <p>
+      <strong
+        >收集的个人信息类型、字段:设备标识信息(设备品牌、型号、软件系统版本相关信息、国际移动设备识别码(IMEI)、iOS系统广告标识符IDFA、安卓系统广告标识符OAID、Android
+        Id、设备硬件地址(MAC))、地理位置信息、网络信息(网络接入方式及类型)</strong
+      >
+    </p>
+    <p>SDK名称:快手广告</p>
+    <p>公司名称:北京快手广告有限公司</p>
+    <p><strong>用途目的:为用户提供广告展现、广告归因、反作弊服务</strong></p>
+    <p>隐私政策:https://www.kuaishou.com/about/policy?Tab=privacy</p>
+    <p>
+      <strong
+        >收集的个人信息类型、字段:设备标识信息(设备品牌、型号、软件系统版本相关信息、国际移动设备识别码(IMEI)、iOS系统广告标识符IDFA、安卓系统广告标识符OAID、Android
+        Id、设备硬件地址(MAC))、粗略地理位置信息、网络信息(网络接入方式及类型)、设备应用安装列表信息</strong
+      >
+    </p>
+    <p>SDK名称:百度联盟(百度广告)</p>
+    <p>公司名称:百度公司</p>
+    <p><strong>用途目的:广告相关服务</strong></p>
+    <p>隐私政策:https://union.baidu.com/bqt/#/legal/policies</p>
+    <p>
+      <strong
+        >收集的个人信息类型、字段:IMEI、IMSI、MEID(仅Andriod端采集);IDFA(仅iOS端采集)、设备品牌、型号、软件系统版本、分辨率、网络信号强度、传感器信息,磁盘总空间、系统总内存空间、手机重启信息、手机系统更新时间等基础信息、OAID、AndroidID(仅Andriod端采集)</strong
+      >
+    </p>
+    <p>SDK名称:鲸鸿动能SDK</p>
+    <p>公司名称:华为软件技术有限公司</p>
+    <p><strong>用途目的:广告相关服务</strong></p>
+    <p>
+      隐私政策:https://developer.huawei.com/consumer/cn/doc/HMSCore-Guides/whale-hong-kinetic-energy-sdk-privacy-statement-0000001658283582
+    </p>
+    <p>
+      <strong
+        >收集的个人信息类型、字段:IMEI、IMSI、MEID(仅Andriod端采集);设备标识符(OAID)、设备信息(设备型号、设备硬件信息、操作系统、系统设置、设备使用信息)、应用基本信息、应用设置信息、应用使用信息、传感器信息(陀螺仪、加速度计、旋转矢量传感器、磁力计、气压计)、网络信息、运营商信息、IP地址、广告互动信息和可选个人信息:设备标识符(Android
+        ID)、WLAN信息(WiFi状态、WiFi参数、WiFi列表、BSSID与SSID)。</strong
+      >
+    </p>
+    <p>5、消息推送类SDK</p>
+    <p>SDK名称:个推消息推送SDK</p>
+    <p>公司名称:每日互动股份有限公司</p>
+    <p><strong>用途目的:为App用户提供消息推送技术服务</strong></p>
+    <p>隐私政策:https://docs.getui.com/privacy</p>
+    <p>
+      <strong
+        >收集的个人信息类型、字段:
+        (1)设备信息、网络信息:必选信息:设备平台、设备厂商、设备品牌、设备型号及系统版本、OAID、AndroidID、WIFI连接信息、WIFI
+        SSID、WIFIBSSID、运营商信息 可选信息:IMEI、MAC、Google Advertising
+        ID(GAID)、Serial
+        Number、IMSI、ICCID、IP地址、DHCP、基站信息。用于生成唯一的推送目标ID(CID)和设备ID(GID),以此保证消息推送的准确下发和消息设备的准确识别
+        (2)位置相关信息:应景推送、智能推送和应急推送扩展功能的必选信息,提供线下场景的精细化推送,可以为您推荐更符合您需要的推送内容,减少无用推送消息对您的打扰。应国家有关部门要求,为了提升移动互联网技术服务社会公益的功能,发挥
+        APP
+        消息推送在灾害预警方面的作用,当发生地震及气象等重大灾害时,通过开发者的APP
+        推送通道实时向受影响地区的用户下发相关的灾害通知信息
+        (3)应用列表信息:智能推送、应急推送和链路调节器扩展功能的必选信息,推荐更符合您需要的推送内容,减少无用推送信息对您的打扰。应国家有关部门要求,为了提升移动互联网技术服务社会公益的功能,发挥
+        APP
+        消息推送在灾害预警方面的作用,当发生地震及气象等重大灾害时,通过开发者的APP
+        推送通道实时向受影响地区的用户下发相关的灾害通知信息。我们采⽤合并链路技术进⾏技术推送,当⼀个设备有多个APP的推送链路同时活跃时,我们会随机合并成⼀条链路,以达到为您省电省流量的⽬的,当一个设备有离线推送消息待下发的场景时,通过关联启动功能可以下发离线消息,您可以选择开启或关闭这项服务,当您关闭这项服务时,关联启动也同时会关闭,会导致电量和流量消耗加大的同时消息触达率也会降低。</strong
+      >
+    </p>
+    <p>SDK名称:华为 PUSH SDK</p>
+    <p>公司名称:华为软件技术有限公司</p>
+    <p><strong>用途目的:为App用户提供消息推送技术服务</strong></p>
+    <p>
+      隐私政策:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/sdk-data-security-0000001050042177
+    </p>
+    <p>
+      <strong
+        >收集的个人信息类型、字段:应用基本信息(AppID、推送服务、HMS
+        Core应用版本号、华为推送SDK版本号、应用版本号、应用包名);应用内设备标识符(AAID、Push
+        Token);设备的硬件信息(设备类型、设备型号);系统基本信息(Android,HarmonyOS等系统类型、系统版本);系统设置信息(国家码)、运行中的进程信息,地理位置,蓝牙</strong
+      >
+    </p>
+    <p>SDK名称:小米 PUSH SDK</p>
+    <p>公司名称:每日互动股份有限公司</p>
+    <p><strong>用途目的:为App用户提供消息推送技术服务</strong></p>
+    <p>隐私政策:https://dev.mi.com/console/doc/detail?pId=1822</p>
+    <p>
+      <strong
+        >收集的个人信息类型、字段:设备标识OAID和加密的Android
+        ID,应用包名、版本号和运行状态;消息创建、送达和点击时间并暂存从第三方应用处获得并推送给您的消息内容;设备厂商、设备型号、设备内存、操作系统版本、小米推送SDK版本、设备归属地(国家或地区)、SIM卡运营商名称、当前网络类型、WiFi状态。其中当前网络类型、SIM卡运营商名称仅在设备本地读取,不会上传至小米服务器;通知栏设置信息,包括是否屏蔽通知栏、是否设置锁屏弹出消息;</strong
+      >
+    </p>
+    <p>SDK名称:OPPO PUSH SDK</p>
+    <p>公司名称:广东欢太科技有限公司</p>
+    <p><strong>用途目的:为App用户提供消息推送技术服务</strong></p>
+    <p>隐私政策:https://open.oppomobile.com/wiki/doc#id=10288</p>
+    <p>
+      <strong
+        >收集的个人信息类型、字段:设备相关信息(如IMEI或OAID,Serial
+        Number,IMSI,User ID,Android ID,Google Advertising ID,
+        ICCID、GAID,手机Region设置,设备型号,手机电量,手机操作系统版本及语言)、使用推送服务的应用信息(如APP包名及版本号,运行状态)、推送SDK版本号、网络信息(如IP或域名连接结果,当前网络类型)、消息发送结果、通知栏状态(如通知栏权限、用户点击行为),锁屏状态(如是否锁屏,是否允许锁屏通知)</strong
+      >
+    </p>
+    <p>SDK名称:VIVO PUSH SDK</p>
+    <p>公司名称:广东天宸网络科技有限公司及将来受让运营vivo开放平台的公司</p>
+    <p><strong>用途目的:为App用户提供消息推送技术服务</strong></p>
+    <p>隐私政策:https://www.vivo.com.cn/about-vivo/privacy-policy</p>
+    <p>
+      <strong
+        >收集的个人信息类型、字段:设备及应用信息:包括您使用vivo设备及服务过程中的操作系统版本号、应用程序信息(包括应用安装列表)、设备标识符(如IMEI、ICCID
+        、EMMCID/UFSID 、oaid/vaid/aaid 、SN码 和 IMSI、android
+        id、移动国家码和vivo
+        Android设备的移动网号等)、MAC地址、移动运营商、使用语言、系统设置等系统、设备和应用程序数据;日志信息:使用vivo设备及服务过程中所产生的登录日志、网络请求、访问时间、访问次数、访问IP、应用操作信息(包括下载、安装、切换、更新、卸载)、错误崩溃等信息、位置信息)</strong
+      >
+    </p>
+    <p>2.转让</p>
+    <p>
+      2.1.我们不会将您的个人信息转让给除我们及其关联公司以外的任何公司、组织和个人,但以下情况除外:
+    </p>
+    <p>1)事先获得您明确的同意或授权;</p>
+    <p>2)满足法律法规、法律程序的要求或强制性的政府要求或司法裁定;</p>
+    <p>
+      3)在涉及合并、收购、资产转让或类似的交易时,如涉及到个人信息转让,我们会要求新的持有您个人信息的公司、组织继续受本政策的约束。否则,我们将要求该公司、组织重新向您征求授权同意。
+    </p>
+    <p>3.公开披露</p>
+    <p>3.1.我们仅会在以下情况公开披露您的个人信息:</p>
+    <p>1)获得您明确同意后;</p>
+    <p>
+      2)在法律、法律程序、诉讼或政府主管部门强制性要求的情况下,我们可能会公开披露您的个人信息;
+    </p>
+    <p>4.共享、转让、公开披露个人信息时事先征得授权同意的例外</p>
+    <p>
+      4.1.根据相关法律法规及国家标准,在以下情形中,我们可能会依法共享、转让、公开披露您的个人信息,且无需征得您的同意:
+    </p>
+    <p>1)与国家安全、国防安全直接相关的;</p>
+    <p>2)与公共安全、公共卫生、重大公共利益直接相关的;</p>
+    <p>3)与犯罪侦查、起诉、审判和判决执行等直接相关的;</p>
+    <p>
+      4)出于维护您或其他个人的生命、财产等重大合法权益但又很难得到您本人同意的;
+    </p>
+    <p>5)您自行向社会公众公开的个人信息;</p>
+    <ol>
+      <li>
+        从合法公开披露的信息中收集的个人信息,例如:合法的新闻报道、政府信息公开等渠道。
+      </li>
+    </ol>
+    <p><strong>五、我们如何存储和保护您的个人信息</strong></p>
+    <p>1.存储地点</p>
+    <p>
+      1.1.我们依照法律法规的规定,将在境内运营过程中收集和产生的你的个人信息存储于中华人民共和国境内。目前,我们不会将上述信息传输至境外,如果我们向境外传输,我们将会遵循相关国家规定或者征求你的同意。
+    </p>
+    <p>2.存储期限</p>
+    <p>
+      <strong
+        >2.1.我们仅在为提供易推小记及服务之目的所必需的期间内保留你的个人信息:您的答题胜率败率相关信息,在你未撤回、删除或未注销帐号期间,我们会保留相关信息。超出必要期限后,我们将对你的个人信息进行删除或匿名化处理,但法律法规另有规定的除外。</strong
+      >
+    </p>
+    <p>3.我们如何保护个人信息的安全</p>
+    <p>
+      3.1.我们非常重视你个人信息的安全,将努力采取合理的安全措施(包括技术方面和管理方面)来保护你的个人信息,防止你提供的个人信息被不当使用或在未经授权的情况下被访问、公开披露、使用、修改、损坏、丢失或泄漏。
+    </p>
+    <p>
+      3.2.目前,易推小记已经通过了国家信息安全等级保护(三级)的测评和备案,并通过了国际权威的ISO27001信息安全认证及ISO27701隐私信息管理认证。
+    </p>
+    <p>
+      <strong
+        >3.3.我们会使用不低于行业同行的加密技术、匿名化处理及相关合理可行的手段保护你的个人信息,并使用安全保护机制防止你的个人信息遭到恶意攻击。</strong
+      >
+    </p>
+    <p>
+      3.4.我们会建立专门的安全部门、安全管理制度、数据安全流程保障你的个人信息安全。我们采取严格的数据使用和访问制度,确保只有授权人员才可访问你的个人信息,并适时对数据和技术进行安全审计。
+    </p>
+    <p>
+      3.5.尽管已经采取了上述合理有效措施,并已经遵守了相关法律规定要求的标准,但请你理解,由于技术的限制以及可能存在的各种恶意手段,在互联网行业,即便竭尽所能加强安全措施,也不可能始终保证信息百分之百的安全,我们将尽力确保你提供给我们的个人信息的安全性。
+    </p>
+    <p>
+      <strong
+        >3.6.你知悉并理解,你接入我们的服务所用的系统和通讯网络,有可能因我们可控范围外的因素而出现问题。因此,我们强烈建议你采取积极措施保护个人信息的安全,包括但不限于使用复杂密码、定期修改密码、不将自己的帐号密码及相关个人信息透露给他人等。</strong
+      >
+    </p>
+    <p>
+      3.7.我们会制定应急处理预案,并在发生用户信息安全事件时立即启动应急预案,努力阻止这些安全事件的影响和后果扩大。一旦发生用户信息安全事件(泄露、丢失)后,我们将按照法律法规的要求,及时向你告知:安全事件的基本情况和可能的影响、我们已经采取或将要采取的处置措施、你可自主防范和降低风险的建议、对你的补救措施。我们将及时将事件相关情况以推送通知、邮件、信函、短信及相关形式告知你,难以逐一告知时,我们会采取合理、有效的方式发布公告。同时,我们还将按照相关监管部门要求,上报用户信息安全事件的处置情况。
+    </p>
+    <p>
+      3.8.你一旦离开易推小记及相关服务,浏览或使用其他网站、服务及内容资源,我们将没有能力和直接义务保护你在易推小记及相关服务之外的软件、网站提交的任何个人信息,无论你登录、浏览或使用上述软件、网站是否基于易推小记的链接或引导。
+    </p>
+    <p><strong>六、您的权利</strong></p>
+    <p>
+      1.我们将采取适当的技术手段,保障您对提供给我们的个人信息的访问、更新、更正和删除的权利。您可以根据本政策公布的联系方式联系我们。
+    </p>
+    <p>
+      2.如果您认为我们为您保存的信息不准确或不完整,您可以与我们联系以纠正不准确的情况。如您收到我们向您发送的商业信息,您拥有退订此类信息的权利,您可与我们联系,要求我们不再通知您或不再提供任何定期的商业信息。
+    </p>
+    <p>
+      3.我们非常重视你对个人信息的管理,并尽全力保护你对于你个人信息的查询、访问、修改、删除、撤回同意授权、注销帐号、投诉举报以及设置隐私功能的相关权利,以使你有能力保障你的隐私和信息安全。
+    </p>
+    <p>4.访问、删除、更正你的个人信息</p>
+    <p>4.1.访问个人帐号信息</p>
+    <p>
+      你可以查询、访问你的头像、用户名、简介、性别、生日、地区,你可以在【我】-【编辑资料】进行查询、访问、更正或调整可见范围。
+    </p>
+    <p>4.2.查询访问、更正、删除信息</p>
+    <p>
+      1)进入【我】-【设置】-【帐号与安全】访问易推小记号、易推小记码等信息、访问更正绑定的手机号、第三方帐号、设置、更正易推小记密码、访问实名认证信息、登录设备信息;
+    </p>
+    <p>
+      2)出于安全性和身份识别的考虑,你可能无法自主修改注册时提交的某些初始注册信息(如实名认证后信息);如你确有必要修改该类信息,请你通过电子邮件(xiamenyitui@163.com)联系我们,我们将尽快审核所涉问题,并由专人验证你的用户身份后及时予以回复。
+    </p>
+    <p>5.注销帐号</p>
+    <p>
+      <strong
+        >5.1.你可以在【我的】-【点击头像】-【个人资料】进行帐号注销。在你注销帐号前,我们将验证你的个人身份、安全状态、设备信息等。有关注销的流程和内容,请参见《易推小记注销须知》。你知悉并理解,注销帐号的行为是不可逆的行为,当你注销帐号后,我们将删除有关你的相关信息或进行匿名化处理,但法律法规另有规定的除外。</strong
+      >
+    </p>
+    <p>6.投诉举报</p>
+    <p>
+      6.1.你可以按照我们公示的制度进行投诉或举报。如果你认为你的个人信息权利可能受到侵害,或者发现侵害个人信息权利的线索,你可以在【我】-【设置】,进入用户反馈界面与我们联系。我们核查后会在15个工作日内反馈你的投诉与举报。
+    </p>
+    <p><strong>7.访问隐私政策</strong></p>
+    <p>
+      <strong
+        >7.1.你可以在注册页面,或者在登录个人帐号【我】-【关于我们】,进入查看本政策的全部内容。</strong
+      >
+    </p>
+    <p>
+      <strong
+        >7.2.请你了解,本政策中所述的易推小记及相关服务可能会根据你所使用的手机型号、系统版本、软件应用程序版本、移动客户端等因素而有所不同。最终的产品和服务以你所使用的易推小记软件及相关服务为准。</strong
+      >
+    </p>
+    <p>8.停止运营向你告知</p>
+    <p>
+      8.1.如我们停止运营,我们将及时停止收集你个人信息的活动,将停止运营的通知以逐一送达或公告的形式通知你,并对所持有的你的个人信息进行删除或匿名化处理。
+    </p>
+    <p>
+      8.2.按照相关法律法规及国家标准,在以下情形中,我们可能无法响应您的请求:
+    </p>
+    <p>1)与国家安全、国防安全直接相关的;</p>
+    <p>2)与公共安全、公共卫生、重大公共利益直接相关的;</p>
+    <p>3)与犯罪侦查、起诉、审判和执行判决等直接相关的;</p>
+    <p>4)有充分证据表明您存在主观恶意或滥用权利的;</p>
+    <p>5)响应您的请求将导致其他个人、组织的合法权益受到严重损害的;</p>
+    <p>6)涉及商业秘密的。</p>
+    <p><strong>七、我们如何处理未成年人的个人信息</strong></p>
+    <p>
+      1.我们期望父母或监护人指导未成年人使用各项服务。我们将根据国家相关法律法规的规定保护未成年人的个人信息的保密性及安全性。
+    </p>
+    <p>
+      2.若你是未满18周岁的未成年人,在使用及相关服务前,应在你的父母或其他监护人监护、指导下共同阅读并同意本政策。
+    </p>
+    <p>
+      3.我们根据国家相关法律法规的规定保护未成年人的个人信息,只会在法律允许、父母或其他监护人明确同意或保护未成年人所必要的情况下收集、使用、共享或披露未成年人的个人信息。
+    </p>
+    <p>
+      4.如果我们发现在未事先获得可证实的父母或其他监护人同意的情况下收集了未成年人的个人信息,则会设法尽快删除相关信息。同时我们建立了严格的未成年人信息收集使用规则,以保护儿童和青少年个人信息安全,你可以通过阅读《儿童/青少年使用须知》了解更具体内容。
+    </p>
+    <p>
+      5.若你是未成年人的监护人,当你对你所监护的未成年人的个人信息有相关疑问时,请通过本政策公示的联系方式与我们联系。
+    </p>
+    <p><strong>八、第三方责任声明</strong></p>
+    <p>
+      <strong
+        >1.请您注意,当您通过易推小记使用第三方产品或服务时,如果您向第三方提供您的个人信息,您的信息将适用第三方的隐私政策。本政策不涉及且不适用于任何第三方的隐私、安全或其他做法,包括任何网站、链接、门户、API以及易推小记上出现的第三方的其他链接或内容。</strong
+      >
+    </p>
+    <p>
+      2.当您访问第三方创建的网页或使用第三方开发的应用程序或内容时,这些第三方可以放置自己的Cookie或像素标签;这些Cookie或像素标记将不受我们控制,它们的使用不受本政策的约束。我们会做出合理的努力以要求这些第三方主体为您的个人信息采取保护措施,但我们不能确保此类主体遵循我们的要求或使用与我们相同的标准水平。
+    </p>
+    <p>
+      3.我们强烈建议您花时间阅读该第三方的隐私政策,就像阅读我们的政策一样。我们不对第三方如何使用他们向您收集的个人信息负责,也不能控制其使用。
+    </p>
+    <p>
+      <strong
+        >4.您理解并同意如有涉嫌借款、投融资、理财或其他涉财产的网络信息、账户密码、广告或推广等信息的,请您谨慎对待并自行进行判断,对您因此遭受的利润、商业信誉、资料损失或其他有形或无形损失,公司不承担任何直接、间接、附带、特别、衍生性或惩罚性的赔偿责任。</strong
+      >
+    </p>
+    <p>
+      5.您理解并同意,本协议旨在保障遵守国家法律法规、维护公序良俗,保护用户和他人合法权益,公司在能力范围内尽最大的努力按照相关法律法规进行判断,但并不保证公司判断完全与司法机关、行政机关的判断一致,如因此产生的后果您已经理解并同意自行承担。
+    </p>
+    <p>
+      6.在任何情况下,公司均不对任何间接性、后果性、惩罚性、偶然性、特殊性或刑罚性的损害,包括因您使用易推小记软件及相关服务而遭受的利润损失,承担责任。除法律法规另有明确规定外,公司对您承担的全部责任,无论因何原因或何种行为方式,始终不超过您因使用易推小记软件及相关服务期间而支付给公司的费用(如有)。
+    </p>
+    <p>
+      7.我公司会做出合理的努力以要求这些第三方主体为您的个人信息采取保护措施,但我公司不能确保此类主体遵循我公司的要求或使用与我公司相同的标准水平。因此,我公司强烈建议您花时间阅读该第三方的隐私政策,就像阅读我公司的政策一样。我公司不对第三方如何使用他们向您收集的个人信息负责,也不能控制其使用。
+    </p>
+    <p><strong>九、隐私政策的修订和通知</strong></p>
+    <p>
+      1.为了给你提供更好的服务,易推小记及相关服务将不时更新与变化,我们会适时对本政策进行修订,这些修订构成本政策的一部分并具有等同于本政策的效力,未经你明确同意,我们不会削减你依据当前生效的本政策所应享受的权利。
+    </p>
+    <p>
+      2.我们会定期审核和更新本政策。我们保留依据我们业务和法律规定的变动,随时更改本政策的权利。更新的做出可能基于以下几类原因:
+    </p>
+    <p>2.1.适用的法律法规发生修订或变化;</p>
+    <p>2.2.我们的信息处理行为和政策升级或更新;</p>
+    <p>2.3.我们产品或服务功能发生变化;</p>
+    <p>2.4.技术进步革新,我们会在易推小记这一应用程序上公布本政策的最新版本;</p>
+    <p>
+      2.5.如果我们对本政策进行重大更改,我们将根据法律要求向您提供适当的通知。通过继续使用易推小记,您确认您已理解并同意本政策的最新版本。
+    </p>
+    <p><strong>十、我们的联系方式</strong></p>
+    <p>
+      如果你对个人信息保护问题有投诉、建议、疑问,你可以将问题发送至xiamenyitui@163.com,我们将尽快审核所涉问题,并在验证你的用户身份后的十五个工作日内回复。
+    </p>
+    <p>厦门易推网络有限公司</p>
+    <p>声明</p>
+  </body>
+</html>
+
+<style>
+  body {
+    margin: 0;
+    padding: 15px;
+    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
+      "Helvetica Neue", Arial;
+    line-height: 1.6;
+    color: #333;
+  }
+
+  p,
+  li {
+    font-size: 16px;
+    margin-bottom: 1em;
+    text-align: justify;
+  }
+
+  strong {
+    color: #2c3e50;
+  }
+
+  @media (max-width: 480px) {
+    body {
+      padding: 10px;
+    }
+
+    p,
+    li {
+      font-size: 14px;
+      line-height: 1.5;
+    }
+
+    p:first-child strong {
+      display: block;
+      text-align: center;
+      font-size: 18px;
+      margin-bottom: 20px;
+    }
+  }
+</style>

+ 195 - 0
entry/src/main/resources/rawfile/userAgreement.html

@@ -0,0 +1,195 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <meta
+      name="viewport"
+      content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"
+    />
+    <title>易推小记用户协议</title>
+  </head>
+  <p><strong>《用户协议》</strong></p>
+  <p>
+    易推小记是由厦门易推网络有限公司提供的产品和服务。一直以来,我们都尽全力保护您的个人信息安全,我们将依据相关法律法规和技术规范收集和使用您的个人信息,以帮助我们向您提供更优质的产品和服务。同时,我们承诺会对您的个人信息和其他数据进行严格保密,确保您的个人信息安全。请在使用我们的产品和服务前,仔细阅读本用户协议。一旦您开始使用易推小记产品和服务,即表示您同意本用户协议。
+  </p>
+  <p>
+    易推小记您在注册成为用户之前,请认真阅读本《用户协议》(以下简称“协议”),确保您充分理解本协议中各条款。请您审慎阅读并选择接受或不接受本协议。除非您接受本协议所有条款,否则您无权注册、登录或使用本协议所涉服务。您的注册、登录、使用等行为将视为对本协议的接受,并同意接受本协议各项条款的约束。
+  </p>
+  <p>
+    本协议约定易推小记与用户之间关于“易推小记”软件服务(以下简称“服务”)的权利义务。“用户”是指注册、登录、使用本服务的个人。本协议可由易推小记随时更新,更新后的协议条款一旦公布即代替原来的协议条款,恕不再另行通知,用户可在本网站查阅最新版协议条款。在易推小记修改协议条款后,如果用户不接受修改后的条款,请立即停止使用易推小记提供的服务,用户继续使用易推小记提供的服务将被视为接受修改后的协议。
+  </p>
+  <p><strong>一、帐号注册</strong></p>
+  <p>
+    1、用户在使用本服务前需要注册一个易推小记帐号。易推小记帐号应当使用微信注册,易推小记可以根据用户需求或产品需要对帐号注册和绑定的方式进行变更,而无须事先通知用户。
+    2、在用户注册及使用本服务时。易推小记仅会使用您的头像、昵称信息,易推小记同意将对此信息保密。
+  </p>
+  <p><strong>二、服务内容</strong></p>
+  <p>
+    1、本服务的具体内容由易推小记根据实际情况提供,易推小记可以对其提供的服务予以变更,且易推小记提供的服务内容可能随时变更;用户将会收到易推小记关于服务变更的通知。
+  </p>
+  <p>
+    2、易推小记提供的服务以免费服务为主,不排除将来提供收费服务的可能。对于收费服务,易推小记会在用户使用之前给予用户明确的提示,只有用户根据提示确认其同意按照前述支付方式支付费用并完成了支付行为,用户才能使用该等收费服务。支付行为的完成以银行或第三方支付平台生成“支付已完成”的确认通知为准。
+  </p>
+  <p><strong>三、使用规则</strong></p>
+  <p>
+    1、用户在本服务中或通过本服务所传送、发布的任何内容并不反映或代表,也不得被视为反映或代表易推小记的观点、立场或政策,易推小记对此不承担任何责任。
+  </p>
+  <p>2、用户不得利用易推小记帐号或本服务进行如下行为:</p>
+  <p>(1) 盗用他人头像或资料,冒充、利用他人名义的;</p>
+  <p>(2) 虚构事实、隐瞒真相以误导、欺骗他人的;</p>
+  <p>(3) 利用技术手段批量建立虚假帐号的;</p>
+  <p>(4) 利用易推小记帐号或本服务从事任何违法犯罪活动的;</p>
+  <p>
+    (5)
+    制作、发布与以上行为相关的方法、工具,或对此类方法、工具进行运营或传播,无论这些行为是否为商业目的;
+  </p>
+  <p>
+    (6)
+    其他违反法律法规规定、侵犯其他用户合法权益、干扰易推小记正常运营或易推小记未明示授权的行为。
+  </p>
+  <p>(7) 若用户违反上述任一项规则,易推小记有权利封停违规用户账号。</p>
+  <p>
+    3、用户须对利用易推小记帐号或本服务传送信息的真实性、合法性、无害性、准确性、有效性等全权负责,与用户所传播的信息相关的任何法律责任由用户自行承担,与易推小记无关。如因此给易推小记或第三方造成损害的,用户应当依法予以赔偿。
+  </p>
+  <p>
+    4、易推小记提供的服务中可能包括广告,用户同意在使用过程中显示易推小记和第三方供应商、合作伙伴提供的广告。除法律法规明确规定外,用户应自行对依该广告信息进行的交易负责,对用户因依该广告信息进行的交易或前述广告商提供的内容而遭受的损失或损害,易推小记不承担任何责任。
+  </p>
+  <p><strong>四、账号管理</strong></p>
+  <p>
+    1、用户有责任妥善保管注册帐号信息及帐号密码的安全,因用户保管不善可能导致遭受盗号或密码失窃,责任由用户自行承担。用户需要对注册帐号以及密码下的行为承担法律责任。用户同意在任何情况下不使用其他用户的帐号或密码。在用户怀疑他人使用其帐号或密码时,用户同意立即通知易推小记。
+  </p>
+  <p>
+    2、用户应遵守本协议的各项条款,正确、适当地使用本服务,如因用户违反本协议中的任何条款,易推小记在通知用户后有权依据协议中断或终止对违约用户易推小记帐号提供服务。同时,易推小记保留在任何时候收回易推小记帐号、用户名的权利。
+  </p>
+  <p><strong>五、数据储存</strong></p>
+  <p>1、易推小记不对用户在本服务中相关数据的删除或储存失败负责。</p>
+  <p>
+    2、易推小记可以根据实际情况自行决定用户在本服务中数据的最长储存期限,并在服务器上为其分配数据最大存储空间等。用户可根据自己的需要自行备份本服务中的相关数据。
+  </p>
+  <p>
+    3、如用户停止使用本服务或本服务终止,易推小记可以从服务器上永久地删除用户的数据。本服务停止、终止后,易推小记没有义务向用户返还任何数据。
+  </p>
+  <p><strong>六、风险承担</strong></p>
+  <p>
+    1、用户理解并同意,易推小记仅为用户提供信息分享、传送及获取的平台,用户必须为自己注册帐号下的一切行为负责,包括用户所传送的任何内容以及由此产生的任何后果。用户应对易推小记及本服务中的内容自行加以判断,并承担因使用内容而引起的所有风险,包括因对内容的正确性、完整性或实用性的依赖而产生的风险。易推小记无法且不会对因用户行为而导致的任何损失或损害承担责任。
+  </p>
+  <p>
+    如果用户发现任何人违反本协议约定或以其他不当的方式使用本服务,请立即向易推小记举报或投诉,易推小记将依本协议约定进行处理。
+  </p>
+  <p>
+    2、用户理解并同意,因业务发展需要,易推小记保留单方面对本服务的全部或部分服务内容变更、暂停、终止或撤销的权利,用户需承担此风险。
+  </p>
+  <p><strong>七、知识产权声明</strong></p>
+  <p>
+    1、除本服务中涉及广告的知识产权由相应广告商享有外,易推小记在本服务中提供的内容(包括但不限于网页、文字、图片、音频、视频、图表等)的知识产权均归易推小记所有,但用户在使用本服务前对自己发布的内容已合法取得知识产权的除外。
+  </p>
+  <p>
+    2、除另有特别声明外,易推小记提供本服务时所依托软件的著作权、专利权及其他知识产权均归易推小记所有。
+  </p>
+  <p>
+    3、易推小记在本服务中所涉及的图形、文字或其组成,以及其他易推小记标志及产品、服务名称(以下统称“易推小记标识”),其著作权或商标权归易推小记所有。未经易推小记事先书面同意,用户不得将易推小记标识以任何方式展示或使用或作其他处理,也不得向他人表明用户有权展示、使用、或其他有权处理易推小记标识的行为。
+  </p>
+  <p>
+    4、上述及其他任何易推小记或相关广告商依法拥有的知识产权均受到法律保护,未经易推小记或相关广告商书面许可,用户不得以任何形式进行使用或创造相关衍生作品。
+  </p>
+  <p><strong>八、法律责任</strong></p>
+  <p>
+    1、如果易推小记发现或收到他人举报或投诉用户违反本协议约定的,易推小记有权不经通知随时对相关内容,包括但不限于用户资料、聊天记录进行审查、删除,并视情节轻重对违规帐号处以包括但不限于警告、帐号封禁、设备封禁
+    、功能封禁 的处罚,且通知用户处理结果。
+  </p>
+  <p>
+    2、用户理解并同意,易推小记有权依合理判断对违反有关法律法规或本协议规定的行为进行处罚,对违法违规的任何用户采取适当的法律行动,并依据法律法规保存有关信息向有关部门报告等,用户应承担由此而产生的一切法律责任。
+  </p>
+  <p>
+    3、用户理解并同意,因用户违反本协议约定,导致或产生的任何第三方主张的任何索赔、要求或损失,包括合理的律师费,用户应当赔偿易推小记与合作公司、关联公司,并使之免受损害。
+  </p>
+  <p><strong>九、不可抗力及其他免责事由</strong></p>
+  <p>
+    1、用户理解并确认,在使用本服务的过程中,可能会遇到不可抗力等风险因素,使本服务发生中断。不可抗力是指不能预见、不能克服并不能避免且对一方或双方造成重大影响的客观事件,包括但不限于自然灾害如洪水、地震、瘟疫流行和风暴等以及社会事件如战争、动乱、政府行为等。出现上述情况时,易推小记将努力在第一时间与相关单位配合,及时进行修复,但是由此给用户或第三方造成的损失,易推小记及合作单位在法律允许的范围内免责。
+  </p>
+  <p>
+    2、本服务同大多数互联网服务一样,受包括但不限于用户原因、网络服务质量、社会环境等因素的差异影响,可能受到各种安全问题的侵扰,如他人利用用户的资料,造成现实生活中的骚扰;用户下载安装的其它软件或访问的其他网站中含有“特洛伊木马”等病毒,威胁到用户的计算机信息和数据的安全,继而影响本服务的正常使用等等。用户应加强信息安全及使用者资料的保护意识,要注意加强密码保护,以免遭致损失和骚扰。
+  </p>
+  <p>
+    3、用户理解并确认,本服务存在因不可抗力、计算机病毒或黑客攻击、系统不稳定、用户所在位置、用户关机以及其他任何技术、互联网络、通信线路原因等造成的服务中断或不能满足用户要求的风险,因此导致的用户或第三方任何损失,易推小记不承担任何责任。
+  </p>
+  <p>
+    4、用户理解并确认,在使用本服务过程中存在来自任何他人的包括误导性的、欺骗性的、威胁性的、诽谤性的、令人反感的或非法的信息,或侵犯他人权利的匿名或冒名的信息,以及伴随该等信息的行为,因此导致的用户或第三方的任何损失,易推小记不承担任何责任。
+  </p>
+  <p>
+    5、用户理解并确认,易推小记需要定期或不定期地对易推小记平台或相关的设备进行检修或者维护,如因此类情况而造成服务在合理时间内的中断,易推小记无需为此承担任何责任,但易推小记应事先进行通告。
+  </p>
+  <p>
+    6、易推小记依据法律法规、本协议约定获得处理违法违规或违约内容的权利,该权利不构成易推小记的义务或承诺,易推小记不能保证及时发现违法违规或违约行为或进行相应处理。
+  </p>
+  <p>
+    7、用户理解并确认,对于易推小记向用户提供的下列产品或者服务的质量缺陷及其引发的任何损失,易推小记无需承担任何责任:
+  </p>
+  <p>(1) 易推小记向用户免费提供的服务;</p>
+  <p>(2) 易推小记向用户赠送的任何产品或者服务。</p>
+  <p>
+    8、在任何情况下,易推小记均不对任何间接性、后果性、惩罚性、偶然性、特殊性或刑罚性的损害,包括因用户使用易推小记或本服务而遭受的利润损失,承担责任(即使易推小记已被告知该等损失的可能性亦然)。尽管本协议中可能含有相悖的规定,易推小记对用户承担的全部责任,无论因何原因或何种行为方式,始终不超过用户因使用易推小记提供的服务而支付给易推小记的费用(如有)。
+  </p>
+  <p><strong>十、服务的变更、中断、终止</strong></p>
+  <p>
+    1、鉴于网络服务的特殊性,用户同意易推小记有权随时变更、中断或终止部分或全部的服务(包括收费服务)。易推小记变更、中断或终止的服务,易推小记应当在变更、中断或终止之前通知用户,并应向受影响的用户提供等值的替代性的服务;如用户不愿意接受替代性的服务,如果该用户已经向易推小记支付的易推小记币,易推小记应当按照该用户实际使用服务的情况扣除相应易推小记币之后将剩余的易推小记币退还用户的易推小记币账户中。
+  </p>
+  <p>
+    2、如发生下列任何一种情形,易推小记有权变更、中断或终止向用户提供的免费服务或收费服务,而无需对用户或任何第三方承担任何责任:
+  </p>
+  <p>
+    (1)
+    根据法律规定用户应提交真实信息,而用户提供的个人资料不真实、或与注册时信息不一致又未能提供合理证明;
+  </p>
+  <p>(2)用户违反相关法律法规或本协议的约定;</p>
+  <p>(3) 按照法律规定或有权机关的要求;</p>
+  <p>(4) 出于安全的原因或其他必要的情形。</p>
+  <p><strong>十一、其他</strong></p>
+  <p>
+    1、本协议的效力、解释及纠纷的解决,适用于中华人民共和国法律。若用户和易推小记之间发生任何纠纷或争议,首先应友好协商解决,协商不成的,用户同意将纠纷或争议提交易推小记有管辖权的人民法院管辖。
+  </p>
+  <p>
+    2、本协议的任何条款无论因何种原因无效或不具可执行性,其余条款仍有效,对双方具有约束力。
+  </p>
+</html>
+
+<style>
+  body {
+    margin: 0;
+    padding: 15px;
+    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
+      "Helvetica Neue", Arial;
+    line-height: 1.6;
+    color: #333;
+  }
+
+  p,
+  li {
+    font-size: 16px;
+    margin-bottom: 1em;
+    text-align: justify;
+  }
+
+  strong {
+    color: #2c3e50;
+  }
+
+  @media (max-width: 480px) {
+    body {
+      padding: 10px;
+    }
+
+    p,
+    li {
+      font-size: 14px;
+      line-height: 1.5;
+    }
+
+    p:first-child strong {
+      display: block;
+      text-align: center;
+      font-size: 18px;
+      margin-bottom: 20px;
+    }
+  }
+</style>