Bläddra i källkod

红包帮助等工具页

hjr 3 månader sedan
förälder
incheckning
ba4e8d55d7

BIN
src/assets/images/source/open_quickapp_help.png


BIN
src/assets/images/source/redPacket.png


+ 2 - 1
src/components/bookshelf/index.ux

@@ -1,3 +1,4 @@
+
 <template>
   <div class="page-column">
     <div class="title-bar" show="{{!editStatus}}">
@@ -17,7 +18,7 @@
     <div class="bookshelf-list">
       <div
         class="bookshelf-item"
-        for="{{shelfList}}"
+        for="shelfList"
         show="{{deleteList.indexOf($item.id)===-1}}"
       >
         <stack class="bookshelf-img">

+ 0 - 41
src/components/fab-button.ux

@@ -1,41 +0,0 @@
-<template>
-  <div class="fab-btn" @click="onTap">
-    <slot>
-      <!-- 默认内容,可自定义覆盖 -->
-      <text class="fab-icon">+</text>
-    </slot>
-  </div>
-</template>
-
-<script>
-export default {
-  methods: {
-    onTap() {
-      this.$emit('tap')
-    }
-  }
-}
-</script>
-
-<style>
-.fab-btn {
-  position: fixed;
-  right: 40px;
-  bottom: 60px;
-  width: 90px;
-  height: 90px;
-  background-color: #399bfc;
-  border-radius: 50%;
-  box-shadow: 0 4px 16px rgba(0,0,0,0.18);
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  /* z-index: 999; */
-}
-.fab-icon {
-  color: #fff;
-  font-size: 60px;
-  font-weight: bold;
-  text-align: center;
-}
-</style>

+ 15 - 1
src/components/my/index.ux

@@ -1,3 +1,5 @@
+<import name="red-packet" src="../red-packet"></import>
+
 <template>
   <div class="content">
      <div class="top"> 
@@ -10,12 +12,24 @@
        </div>
         <text>></text> 
      </div>
-     <div class="item_tab">
+     <div class="item_tab" @click="toPage('pages/commonModule/aboutUs')">
        <div>
          <text>关于我们</text>
        </div>
         <text>></text> 
      </div>
+     <div class="item_tab" @click="toPage('pages/commonModule/help')">
+       <div>
+         <text>帮助</text>
+       </div>
+        <text>></text> 
+     </div>
+     <div class="item_tab" @click="toPage('pages/commonModule/complaint')">
+       <div>
+         <text>投诉</text>
+       </div>
+        <text>></text> 
+     </div>
   </div>
 </template>
 

+ 46 - 0
src/components/red-packet.ux

@@ -0,0 +1,46 @@
+<template>
+  <div class="fab-btn" @click="onTap">
+    <slot>
+      <image class="shake-fast" style="width: 50px;height: 80px;" src="/assets/images/source/redPacket.png"></image>
+    </slot>
+  </div>
+</template>
+
+<script>
+import router from '@system.router'
+
+export default {
+  props: {
+    },
+    onTap() {
+      router.push({
+        uri:'pages/commonModule/redPacket',
+        params: { key: 1 }
+      })
+      // this.$emit('tap')
+    }
+}
+</script>
+
+<style lang="less">
+.fab-btn {
+  position: fixed;
+  right: 40px;
+  bottom: 200px;
+  width: 90px;
+  height: 90px;
+  /* background-color: #399bfc; */
+  /* border-radius: 50%; */
+  /* box-shadow: 0 4px 16px rgba(0,0,0,0.18); */
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  /* z-index: 999; */
+}
+.fab-icon {
+  color: #fff;
+  font-size: 60px;
+  font-weight: bold;
+  text-align: center;
+}
+</style>

+ 1 - 0
src/components/search-book/index.ux

@@ -1,4 +1,5 @@
 <import name="search-input-bar" src="./search-input-bar"></import>
+
 <template>
   <div class="page-column">
     <search-input-bar onsearch="search"></search-input-bar>

+ 6 - 0
src/manifest.json

@@ -169,6 +169,9 @@
       },
       "pages/commonModule/privacy": {
         "component": "index"
+      },
+      "pages/commonModule/aboutUs": {
+        "component": "index"
       }
     }
   },
@@ -280,6 +283,9 @@
       },
       "pages/commonModule/privacy": {
         "titleBarText": "隐私政策"
+      },
+      "pages/commonModule/aboutUs": {
+        "titleBarText": "关于我们"
       }
     }
   }

+ 60 - 0
src/pages/commonModule/aboutUs/index.ux

@@ -0,0 +1,60 @@
+<template>
+  <div class="content">
+    <div class="item_tab" @click="toPage('pages/commonModule/agreement')">
+       <div>
+         <text>用户协议</text> 
+       </div>
+        <text>></text> 
+     </div>
+     <div class="item_tab" @click="toPage('pages/commonModule/privacy')">
+       <div>
+         <text>隐私政策</text>
+       </div>
+        <text>></text> 
+     </div>
+  </div>
+</template>
+
+<script>
+import router from '@system.router'
+export default {
+  private: {
+    title: '欢迎体验快应用开发'
+  },
+
+  onInit() {},
+  toPage(path) {
+    router.push({
+        uri: `${ path }`,
+        params: { key: 1 }
+      })
+  },
+}
+</script>
+
+
+<style lang="less">
+.content{
+  background-color: #fff;
+  height: 100%;
+  padding: 30px 0;
+  flex-direction: column;
+  .top{
+    display: flex;
+    padding: 30px;
+    margin-bottom: 50px;
+    image{
+      width: 120px;
+      height: 120px;
+      border-radius: 50%;
+      margin-right: 30px;
+    }
+  }
+  .item_tab{
+    padding: 0 30px 50px;
+    font-size: 25px;
+    display: flex;
+    justify-content: space-between;
+  }
+}
+</style>

+ 234 - 6
src/pages/commonModule/agreement/index.ux

@@ -1,13 +1,174 @@
 <template>
   <div class="wrapper">
-    <text class="title">{{ title }}</text>
+    <richtext type="html"  class="rich-text">{{ richText }}</richtext>
+    <!-- <text class="title">{{ richText }}</text> -->
   </div>
 </template>
 
 <script>
 export default {
   private: {
-    title: '欢迎体验快应用开发'
+    richText: `<div class="agreement-container">
+        <h1>用户协议</h1>
+        <p class="revision-date">本用户协议于 2015 年 1 月 1 日起发布并生效,于2021年9月18日最新修订</p>
+        
+        <p>本用户协议(简称"本协议")是易推网络科技有限公司(以下简称"我司"或"我们")与用户(又称"您")就快应用产品【易推小说】(以下简称"本产品")的隐私保护相关事项所订立的有效合约。您通过点击确认本协议或以其他方式选择接受本协议,即表示您与我司达成协议并同意接受本协议的全部以下约定内容。</p>
+        
+        <p>【易推网络科技有限公司】系本产品的登记著作权人,依法享有本产品的著作权。</p>
+        
+        <p>本产品由我司运营并向您提供阅读服务并对您依法享有权利、履行义务、承担法律责任。</p>
+        
+        <p>本协议将帮助您了解以下内容:</p>
+        <ol>
+            <li>我们如何收集和使用您的个人信息</li>
+            <li>我们如何使用Cookie和同类技术</li>
+            <li>我们如何共享、转让、公开披露您的个人信息</li>
+            <li>我们如何保护您的个人信息</li>
+            <li>您的权利</li>
+            <li>我们如何处理儿童的个人信息</li>
+            <li>您的个人信息如何在全球范围转移</li>
+            <li>本协议如何更新</li>
+            <li>本协议的适用</li>
+            <li>争议解决</li>
+            <li>联系我们</li>
+        </ol>
+        
+        <p>我司和本产品登记著作权人非常重视个人信息的保护。用户(简称"您")在使用我们的产品或服务时,我们可能会收集和使用您的相关信息。一旦您选择使用我们的产品或服务,即表示您认可并接受本条款现有内容及其可能随时更新的内容。如果您不同意,应当终止使用本产品的服务。请您在使用我们的产品前,仔细阅读并了解本《用户协议》。</p>
+        
+        <h2>一、我们如何收集和使用您的个人信息</h2>
+        <p>个人信息是指以电子或者其他方式记录的能够单独或者与其他信息结合识别特定自然人身份或者反映特定自然人活动情况的各种信息。</p>
+        
+        <p>我司和本产品登记著作权人仅会出于本协议所述的以下目的、方式、范围在为您提供阅读服务时收集和使用您的个人信息:</p>
+        
+        <h3>1、应用功能一:成为注册用户</h3>
+        <p>您在申请成为本产品注册用户时,您需提供以下信息:您的设备信息或手机号。</p>
+        <p>您提供的上述信息,授权我们在为您使用本服务期间持续使用。在您注销账号时,我们将停止使用并删除上述信息。</p>
+        
+        <h3>5、应用功能二:安全服务</h3>
+        <p>为向您提供安全稳定的服务、保障您的账户财产安全、预防冒名登录,为了正常使用本产品功能及服务,当您使用我们的产品或服务时,我们可能会自动记录某些信息,包括:设备或软件信息,您的移动设备、网页浏览器或用于接入我们服务的其他程序所提供的配置信息、您的IP地址、移动设备所用的软件版本信息、设备识别码(IMEI、MAC地址)、设备唯一标识(AndroidID、OAID)信息。若您不同意我们记录前述信息,可能无法完成风控流程而无法使用我们的产品。我们还可能会自动记录您是否安装支付宝APP,若您不同意我们记录前述信息,将不会影响您正常使用本软件。</p>
+        
+        <h3>6、应用功能三:权限启用</h3>
+        <p>我们承诺决不超范围、超频次搜集您的个人信息,决不搜集与使用本产品服务非必需或无合理应用场景的信息。</p>
+        <p>您在使用本产品时,为提供给您服务之目的,本产品可能在您使用该应用某些场景下向您申请终端设备的以下权限,当然您可以拒绝开启以下权限,或在手机的设置中关闭本产品的以下权限,关闭以下权限不会影响您对本产品其他功能的使用:</p>
+        
+        <ul class="permission-list">
+            <li><strong>访问电话:</strong>通过获取您的电话状态权限我们记录您的设备识别码(即IMEI或IMSI码)进行匿名化处理,用于统计及安全校验;</li>
+            <li><strong>访问本地存储:</strong>通过开启本地存储权限,将本软件内的书籍下载到您的手机存储,以及通过手机存储将您的本地书籍上传到本软件;</li>
+            <li><strong>访问照片:</strong>您可以直接选择手机内的照片或图片进行上传或与客服沟通时提供证明;</li>
+            <li><strong>访问您设备上的媒体内容和文件:</strong>用于读写图书封面、活动图片的缓存,提升应用使用流畅度。</li>
+            <li><strong>访问日历:</strong>使参与定时活动的用户,可以主动开启或取消提醒,开启提醒的用户,将会收到日历提醒通知;可通过"系统设置"->"日历提醒"关闭所有已开启的日历提醒服务;</li>
+            <li><strong>开启推送:</strong>您可以通过开启推送权限来接收本产品推送的消息,你也可以关闭该权限;</li>
+            <li><strong>开启无线数据:</strong>您可以通过连接无线网络或蜂窝网络来实现本产品需要的联网功能;</li>
+            <li><strong>访问安装程序列表:</strong>通过获取您的安装程序列表我们可以确认您是否安装了我们所推广的产品,以便我们及时向您发放相应奖励。</li>
+            <li><strong>开启麦克风和语音识别:</strong>您可以通过语音来控制本软件的语音朗读功能及语音控制功能;</li>
+            <li><strong>开启后台应用刷新:</strong>开启后可以实现听书、语音朗读不受产品切换到后台的影响而暂停播放;</li>
+            <li><strong>使用剪贴板:</strong>您可以复制并粘贴读者QQ群号码、客服电话,也可以选择不使用剪贴板权限。</li>
+            <li><strong>为使用词典、百科、语音朗读之目的获取设备网络权限。</strong></li>
+        </ul>
+        
+        <h3>7、应用功能:提现</h3>
+        <p>您可以在任务中心或福利中心参加活动任务并提现。为实现提现功能,我们可能会收集您的红包记录,若您不同意我们收集红包记录,提现将无法实现,但不影响您使用我们提供的其他服务。</p>
+        
+        <h2>二、我们如何使用Cookie和同类技术</h2>
+        <p>Cookie和同类技术是互联网中的通用常用技术。为确保本平台正常运转、使您获得更轻松的访问体验,我们可能会在您的移动设备上存储名为Cookie的小数据文件。Cookie通常包含标识符、站点名称以及一些号码和字符。借助于Cookie我们将记录您的登录信息及在本产品中的操作信息,以便我们存储您的偏好及使用习惯,帮您省去重复输入注册信息的步骤,并帮助判断您的账户安全状态,以为您提供更轻松的用户体验和服务。</p>
+        <p>我们不会将Cookie用于本协议所述目的之外的任何用途。您可根据自己的偏好管理或停用Cookie。有关详情,请参<a href="https://www.aboutcookies.org" target="_blank">AboutCookies.org</a>。如果停用Cookie,您有可能无法享受最佳的服务体验。</p>
+        
+        <h2>三、我们如何共享、转让、公开披露您的个人信息</h2>
+        
+        <h4>(一)共享</h4>
+        <p>我们不会将您的个人信息向我司和本产品登记著作权人及关联公司以外的任何公司、组织和个人共享,但以下情况除外:</p>
+        <ol>
+            <li>在获取明确同意的情况下共享:在获得您的明确同意后,我们会与其他方共享您的个人信息。</li>
+            <li>我们可能会根据法律法规规定,或按政府主管部门的强制性规定,对外共享您的个人信息。</li>
+            <li>与授权合作伙伴共享:仅为实现本协议中声明的目的,我们的某些服务将由授权合作伙伴提供。我们可能会与合作伙伴共享您的某些个人信息,以提供更好的客户服务和用户体验。我们仅会出于合法、正当、必要、特定、明确的目的共享您的个人信息,并且只会共享提供服务所必要的个人信息。我们的合作伙伴无权将共享的个人信息用于任何其他用途。</li>
+        </ol>
+        <p>目前,我们的授权合作伙伴包括以下几大类型:</p>
+        <p>1)供应商、服务提供商和第三方代理及其他合作伙伴。我们将信息发送给在全球范围内支持我们业务的供应商、服务提供商、第三方代理和其他合作伙伴,这些支持包括提供技术基础设施服务、分析我们服务的使用方式、衡量服务的有效性、提供客户服务、支付便利或进行学术研究和调查。在经您事先明确同意后,我们可能会在采取加密、匿名化处理手段后与第三方代理分享您的订阅记录,若您不同意我们分享前述信息,将不会影响您正常使用本软件。</p>
+        
+        <h4>(二)转让</h4>
+        <p>我们不会将您的个人信息转让给任何公司、组织和个人,但以下情况除外:</p>
+        <ol>
+            <li>在获取明确同意的情况下转让:获得您的明确同意后,我们会向其他方转让您的个人信息;</li>
+            <li>在涉及合并、收购或破产清算时,若涉及到个人信息转让,我们会在要求新的持有您个人信息的公司、组织继续受此用户协议的约束,否则我们将要求该公司、组织重新向您征求授权同意。</li>
+        </ol>
+        
+        <h4>(三)公开披露</h4>
+        <p>我们仅会在以下情况下,公开披露您的个人信息:</p>
+        <ol>
+            <li>获得您明确同意后;</li>
+            <li>基于法律的披露:在法律、法律程序、诉讼或政府主管部门强制性要求的情况下,我们可能会公开披露您的个人信息。</li>
+        </ol>
+        
+        <h4>(四)对外共享可能涉及的个人信息类型</h4>
+        <p>设备识别码、产品版本信息;对外公开披露可能涉及的个人信息类型:阅读书籍、阅读时长。</p>
+        <p>我们已知晓对外共享、转让、公开披露个人信息所承担的相应法律责任,并将采取合理措施保障个人信息安全。</p>
+        
+        <h2>四、我们如何保护和保存您的个人信息</h2>
+        
+        <h4>(一)技术保护措施</h4>
+        <p>我们非常重视您个人信息的安全,将努力采取各种符合业界标准的合理的安全措施来保护您的信息,使您的信息不会被泄漏、毁损或者丢失,包括但不限于SSL、隐私信息加密存储、数据中心的访问控制。我们会使用加密技术提高个人信息的安全性;我们会使用受信赖的保护机制防止个人信息遭到恶意攻击;我们会部署访问控制机制,尽力确保只有授权人员才可访问个人信息。</p>
+        
+        <h4>(二)安全管理体系</h4>
+        <p>我们有行业先进的以数据为核心,围绕数据生命周期进行的数据安全管理体系,从组织建设、制度设计、人员管理、产品技术、个人信息安全影响评估方面多维度提升整个系统的安全性。</p>
+        <p>我们对可能接触到您的信息的员工或外包人员也采取了严格管理,包括但不限于根据岗位的不同采取不同的权限控制,与他们签署保密协议,监控他们的操作情况措施。</p>
+        
+        <h4>(三)账号保护</h4>
+        <p>您的账户均有安全保护功能,请妥善保管您的账户及密码信息。如果您发现账号被盗用或个人信息泄露,请及时联系我们,以便我们采取相应措施。</p>
+        
+        <h4>(四)信息安全事件处理</h4>
+        <p>尽管有前述安全措施,但同时也请您理解在信息网络上不存在"完善的安全措施"。</p>
+        <p>若不幸发生个人信息安全事件,我们将按照法律法规的要求向您告知:安全事件的基本情况和可能的影响、我们已采取或将要采取的处置措施、您可自主防范和降低风险的建议、对您的补救措施。事件相关情况我们将以电话、推送通知的方式告知您,难以逐一告知个人信息主体时,我们会采取合理、有效的方式发布公告。同时,我们还将按照监管部门要求,上报个人信息安全事件的处置情况。</p>
+        
+        <h4>(五)保存期限</h4>
+        <p>我们仅在中国大陆地区存放您的个人信息。我们会采取一切合理可行的措施,确保未收集无关的个人信息。我们只会在达成本协议所述目的所需的且法律规定的最短期限内保留您的个人信息,除非需要延长保留期或受到法律的允许。</p>
+        <p>在您的个人信息超出保留期间后,我们会根据法律法规的要求删除您的个人信息、或使其匿名化处理。</p>
+        
+        <h2>五、您的权利</h2>
+        <p>按照中国相关的法律、法规、标准,我们保障您对自己的个人信息行使以下权利:</p>
+        
+        <h4>(一)访问您的个人信息</h4>
+        <p>您有权通过用户中心自行访问您的个人信息,可参见(六)我们如何响应您的请求,法律法规规定的例外情况除外</p>
+        
+        <h4>(二)更正您的个人信息</h4>
+        <p>当您发现我们处理的关于您的个人信息有错误时,您有权要求我们做出更正。如何更正个人信息,可参见(六)我们如何响应您的请求。</p>
+        
+        <h4>(三)删除您的个人信息</h4>
+        <p>在下述情形中,您可以向我们提出删除个人信息的请求:</p>
+        <ol>
+            <li>我们处理个人信息的行为违反法律法规;</li>
+            <li>我们收集、使用您的个人信息,却未征得您的同意;</li>
+            <li>我们处理个人信息的行为违反了与您的约定;</li>
+            <li>您不再使用我们的产品或服务,或您注销了账号;</li>
+            <li>我们不再为您提供产品或服务。</li>
+        </ol>
+        <p>如何删除个人信息,可参见(六)我们如何响应您的请求,若我们决定遵循您的请求,我们还将同时通知从我们获得您的个人信息的实体要求。</p>
+        <p>我们将在十五个工作日内作出答复。若您不满意,还可以通过与客服联系进行申诉。</p>
+        
+        <h2>六、我们如何处理儿童的个人信息</h2>
+        <p>我们的产品、网站和服务主要面向成人。我们重视儿童未成年人的个人信息保护,若您为未满18周岁的未成年人,在您使用本平台相关服务之前,您应在您的父母或者其他监护人的监护、指导下共同阅读并同意本用户协议,并在征得您的监护人同意的前提下使用我们的服务或向我们提供信息。</p>
+        <p>对于经父母或监护人同意使用我们的产品或服务而收集未成年人个人信息的情况,我们只会在法律法规允许、父母或监护人明确同意或者保护未成年人所必要的情况下使用、共享、转让或披露此信息。如果我们发现在未事先获得可证实的父母同意的情况下收集了未成年人的个人信息,则会尽快删除相关信息。</p>
+        
+        <h2>七、您的个人信息如何在全球范围转移</h2>
+        <p>目前我们不会跨境传输或存储您的个人信息。将来若需跨境传输或存储的,我们会向您告知信息出境的目的、接收方、安全保障措施和安全风险,并征得您的同意。</p>
+        
+        <h2>八、本协议如何更新</h2>
+        <p>本用户协议更新后,本平台会在您登录及版本更新时以推送通知、弹窗、在网站公告形式向您展示变更后的用户协议与内容,以便您及时了解本用户协议的最新版本。我们将严格遵循向您披露的用户协议收集使用规则开展个人信息处理活动,若个人信息使用目的发生变化时会再次征得您的同意,若您继续使用我们的服务,表示同意接受修订后的本协议的内容。</p>
+        
+        <h2>九、本协议的适用</h2>
+        <p>本产品的所有服务均适用本协议。</p>
+        <p>当您在首次登录本产品时,我们会提示您进行阅读本协议,并征得您的同意。除非另有约定或者法律规定,本用户协议不适用于我司和本产品登记著作权人链接到其他第三方的产品或服务,您使用这些第三方服务(包括您向这些第三方提供的任何个人信息),将受这些第三方的服务条款及用户协议约束(而非本用户协议),具体规定请您仔细阅读第三方的条款。请您妥善保护自己的个人信息,仅在必要的情况下向第三方提供。</p>
+        
+        <h2>十、争议管辖</h2>
+        <p>本用户协议的成立、生效、履行、解释及纠纷解决,适用中华人民共和国大陆地区法律。</p>
+        <p>若您和我们发生任何纠纷或争议,首先应友好协商解决;协商不成的,均提请我司所在地的仲裁委员会按照其仲裁规则进行仲裁。仲裁裁决是终局的,对双方均有约束力。</p>
+        
+        <h2>十一、联系我们</h2>
+        <div class="contact-info">
+            <p><strong>公司名称:</strong>易推网络科技有限公司</p>
+            <p><strong>个人信息保护相关负责人联系方式:</strong></p>
+            <p><strong>客服电子邮件:</strong><a href="mailto:546968241@qq.com">546968241@qq.com</a></p>
+        </div>
+    </div>`
   },
 
   onInit() {}
@@ -20,8 +181,75 @@ export default {
   justify-content: center;
   align-items: center;
 }
-.title {
-  text-align: center;
-  color: #212121;
-}
+  .rich-text {
+    padding: 30px;
+    background-color: #ffffff;
+  }
+  .agreement-container {
+            background-color: #fff;
+            border-radius: 8px;
+            padding: 30px;
+            /* box-shadow: 0 2px 10px rgba(0,0,0,0.05); */
+        }
+        h1 {
+            text-align: center;
+            color: #2c3e50;
+            margin-bottom: 30px;
+            font-size: 24px;
+        }
+        h2 {
+            color: #3498db;
+            margin-top: 30px;
+            padding-bottom: 8px;
+            border-bottom: 1px solid #eee;
+            font-size: 20px;
+        }
+        h3 {
+            color: #2c3e50;
+            margin-top: 25px;
+            font-size: 18px;
+        }
+        h4 {
+            color: #2c3e50;
+            margin-top: 20px;
+            font-size: 16px;
+        }
+        p {
+            margin: 10px 0;
+            /* text-align: justify; */
+        }
+        .section-title {
+            font-weight: bold;
+            margin-top: 15px;
+        }
+        .contact-info {
+            background-color: #f0f7ff;
+            padding: 15px;
+            border-radius: 6px;
+            margin-top: 20px;
+        }
+        .revision-date {
+            text-align: right;
+            font-style: italic;
+            color: #7f8c8d;
+            margin-bottom: 30px;
+        }
+        .highlight {
+            background-color: #fffde7;
+            padding: 2px 4px;
+            border-radius: 3px;
+        }
+        a {
+            color: #3498db;
+            text-decoration: none;
+        }
+        a:hover {
+            text-decoration: underline;
+        }
+        .permission-list {
+            padding-left: 20px;
+        }
+        .permission-list li {
+            margin-bottom: 8px;
+        }
 </style>

+ 125 - 11
src/pages/commonModule/complaint/index.ux

@@ -1,27 +1,141 @@
 <template>
-  <div class="wrapper">
-    <text class="title">{{ title }}</text>
+  <div class="content fd_c">
+    <image class="w h-150" src="/assets/images/source/jubao.jpeg"></image>
+    <div class="mgt-50 text-28 text-777 mgb-20 fd_c">
+      <text>请选择举报原因:(*)</text>
+    </div>
+    <div class="fd_c" style="margin-top: 20px;">
+      <list style="height: 200px;">
+        <list-item for="(index,item) in radiolist1">
+          <div class="radio-row" @click="selectRadio(index)">
+            <div class="radio-outer">
+              <div class="radio-inner" if="radiovalue1 === item.name"></div>
+            </div>
+            <text class="radio-label">{{item.name}}</text>
+          </div>
+        </list-item>
+      </list>
+      <div if="radiovalue1 === '其他意见或建议'" style="margin-bottom: 50px;">
+        <div class="pdl-50 fd_c">
+          <div class="input_line">
+            <text class="w-260">具体情况说明</text>
+            <input class="text-24 h-50" value="{{desc}}" placeholder="请补充你的投诉内容" @change="descChange"/>
+          </div>
+          <div class="input_line">
+            <text class="w-260">联系方式</text>
+            <input class="text-24 h-50" value="{{tel}}" placeholder="请填写你的联系方式" @change="telChange"/>
+          </div>
+        </div>
+      </div>
+    </div>
+    <div style="justify-content: space-around;margin-top: 100px;">
+      <text class="cancel" @click="cancelFn">取消</text>
+      <text class="sure" @click="sureFn">确定</text>
+    </div>
   </div>
 </template>
 
 <script>
+import router from '@system.router'
+import prompt from '@system.prompt'
 export default {
-  private: {
-    title: '欢迎体验快应用开发'
+  data: {
+    radiolist1: [
+      { name: '内容粗糙或不美观', disabled: false },
+      { name: '广告展示频繁,影响体验', disabled: false },
+      { name: '其他意见或建议', disabled: false }
+    ],
+    desc: '',
+    tel: '',
+    radiovalue1: '内容粗糙或不美观'
   },
-
-  onInit() {}
-}
+    selectRadio(index) {
+      this.radiovalue1 = this.radiolist1[index].name;
+    },
+    descChange(e) {
+      this.desc = e.value;
+    },
+    telChange(e) {
+      this.tel = e.value;
+    },
+    cancelFn() {
+      router.back();
+    },
+    sureFn() {
+      prompt.showToast({ message: '提交成功' });
+      setTimeout(() => {
+        router.replace({ uri: '/pages/commonModule/complaintResult' });
+      }, 500);
+    }
+  }
 </script>
 
 <style>
-.wrapper {
+
+.fd_c{
   flex-direction: column;
-  justify-content: center;
+}
+.input_line{
+  border-top:1px solid #999;
+  padding: 20px 100px 20px 0;
+  justify-content: space-between;
+  align-items: center;
+}
+.w-260{
+  width: 260px;
+}
+.text-24{
+  font-size: 24px;
+}
+.h-50{
+  height: 50px;
+}
+.content {
+  margin-top: 60px;
+  border-radius: 50px;
+  padding: 50px 28px;
+  background: linear-gradient(to bottom, #d6e6ff, #f3f4f8);
+}
+.radio-row {
+  display: flex;
   align-items: center;
+  margin-bottom: 30px;
+}
+.radio-outer {
+  width: 32px;
+  height: 32px;
+  border: 2px solid #d91e0f;
+  border-radius: 50%;
+  margin-right: 20px;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+.radio-inner {
+  width: 18px;
+  height: 18px;
+  background-color: #d91e0f;
+  border-radius: 50%;
+}
+.radio-label {
+  font-size: 28px;
+  color: #333;
+}
+.cancel {
+  border: 1px solid #999;
+  height: 80px;
+  line-height: 80px;
+  width: 250px;
+  text-align: center;
+  border-radius: 12px;
 }
-.title {
+.sure {
+  height: 80px;
+  line-height: 80px;
+  width: 250px;
   text-align: center;
-  color: #212121;
+  border-radius: 12px;
+  color: #fff;
+  background-color: #f03433;
 }
 </style>

+ 34 - 19
src/pages/commonModule/complaintResult/index.ux

@@ -1,27 +1,42 @@
 <template>
-  <div class="wrapper">
-    <text class="title">{{ title }}</text>
-  </div>
+	<div class="content">
+		<image class="w" style="height: 1100px;" src="/assets/images/source/tousu_jieguo.jpg"></image>
+    <div style="margin-top: 50px;justify-content: center;">
+		    <text class="btn" @click="outApp">退出应用</text>
+    </div>
+	</div>
 </template>
 
 <script>
-export default {
-  private: {
-    title: '欢迎体验快应用开发'
-  },
-
-  onInit() {}
-}
+  import router from '@system.router'
+  import prompt from '@system.prompt'
+	export default {
+			outApp() {
+				// prompt.showToast({ message: '退出成功' });
+				setTimeout(() => {
+					// router.back();
+          // $page.finish()
+          this.$app.exit()
+				}, 500);
+				// 若需真正退出应用,可用系统API(如有权限)
+			}
+		}
 </script>
 
 <style>
-.wrapper {
-  flex-direction: column;
-  justify-content: center;
-  align-items: center;
-}
-.title {
-  text-align: center;
-  color: #212121;
-}
+  .content{
+    flex-direction: column;
+  }
+  .w{
+    width: 100%;
+  }
+	.btn {
+		width: 40%;
+		height: 80px;
+		text-align: center;
+		line-height: 80px;
+		color: #fff;
+		border-radius: 12px;
+		background-color: #f03433;
+	}
 </style>

+ 442 - 11
src/pages/commonModule/help/index.ux

@@ -1,27 +1,458 @@
 <template>
-  <div class="wrapper">
-    <text class="title">{{ title }}</text>
+  <div class="u-page">
+    <div class="title" @click="back">
+      <!-- <text class="iconfont">&#xe600;</text> -->
+      <text>帮助中心</text> 
+    </div>
+    <list class="main">
+      <list-item class="u-page-item" for="(index,item) in collapseDataList">
+        <div class="u-page_title" @click="toggle(index)">
+          <text class="iconfont mgr-10">{{ index + 1}}、</text>
+          <text>{{item.title}}</text>
+        </div>
+        <div class="collapse-list">
+          <block for="(subIndex,subItem) in item.subItem">
+            <div class="collapse-item">
+              <div class="collapse-header" @click="toggleSub(index, subIndex)">
+                <text>{{subItem.title}}</text>
+                <text class="collapse-arrow">{{openMap[index] && openMap[index][subIndex] ? '▲' : '▼'}}</text>
+              </div>
+              <div class="collapse-content" if="openMap[index] && openMap[index][subIndex]">
+                <div class="lh-1_2" style="color: #353535;" if="subItem.content">
+                  <text style="color: #333;font-size: 24px;">{{subItem.content}}</text>
+                </div>
+                <image class="w" src="/assets/images/source/open_quickapp_help.png" mode="widthFix" if="!subItem.content" />
+              </div>
+            </div>
+          </block>
+        </div>
+      </list-item>
+    </list>
+    <div class="botton-btn">
+      <div class="flex1 mgr-30 btn" @click="clearCache">
+        <!-- <text class="iconfont">&#xe601;</text> -->
+        <text>清除缓存</text> 
+      </div>
+      <div class="flex1 btn" style="background-color: #ff843c;" @click="feedback">
+        <!-- <text class="iconfont">&#xe602;</text> -->
+        <text style="color: #fff;">我要反馈</text>
+      </div>
+    </div>
   </div>
 </template>
 
 <script>
+import storage from '@system.storage'
+import router from '@system.router'
 export default {
-  private: {
-    title: '欢迎体验快应用开发'
+  data: {
+    collapseDataList: [
+        {
+            title: '启动问题',
+            icon: 'play-circle',
+            subItem: [
+                {
+                    id: 'start_1',
+                    title: '为什么我会跳转快应用?',
+                    content: `快应用的跳转能力由厂商快应用框架提供,如果您遇到了打开快应用的情况,
+                    是因为您的设备在快应用中心打开了“网页链接唤起服务”。您可以按照下一条问答中的流程关闭跳转能力,
+                    关闭后,所有快应用都将不再支持网页跳转。`
+                },
+                {
+                    id: 'start_2',
+                    title: '如何不再跳转快应用?',
+                    content: null
+                },
+            ]
+        },
+        {
+            title: '隐私问题',
+            icon: 'lock',
+            subItem: [
+                {
+                    id: 'privacy_1',
+                    title: '如何清除我的浏览记录?',
+                    content: `所有的浏览记录都保存在您的设备本地,不会上传给我们,您可以通过点击 【 清除缓存 】 彻底删除您的浏览记录。`
+                }
+            ]
+        },
+        {
+            title: '现金奖励领取问题',
+            icon: 'rmb-circle',
+            subItem: [
+                {
+                    id: 'award_1',
+                    title: '为什么要0.1元才能提现?',
+                    content: '因为支付宝对转账最低金额的限制。'
+                },
+                {
+                    id: 'award_2',
+                    title: '为什么会提现失败?',
+                    content: '因为支付宝实名账户、反作弊逻辑等多种原因,如果您出现提现失败的情况,请联系客服处理。'
+                },
+            ]
+        },
+        {
+            title: '广告问题',
+            icon: 'tags',
+            subItem: [
+                {
+                    id: 'ad_1',
+                    title: '广告多/如何关闭广告?',
+                    content: `平台所有服务均为免费提供,广告收入将用手支付产品的服务器成本、
+                    版权方采购成本等。希望得到您的支持和理解。如您不想观看广告,可以点击广告右上角 【 关闭按钮 】 ,
+                    即可关闭广告。更多免广权益会陆续开放,您有好的建议可以反馈给我们。`
+                },
+                {
+                    id: 'ad_2',
+                    title: '我将在哪些场景浏览到手机厂商接入的广告?',
+                    content: `开屏广告:在本应用开启时进行全屏展示,一般不超过 5 秒,您可以选择观看或者跳过。
+                    激励视频:您通过观看完整的视频广告获得本应用内激励,您可选择不点按,或中途退出观看。
+                    横幅广告/原生广告:以通栏式或矩形式出现在本应用中,您如果对广告提供的内容或服务感兴趣,
+                    可以选择点按广告,也可以不处理,或将其关闭。插屏广告:在屏幕切换时本应用将展示插页式广告,
+                    您可以选择点按广告,也可以将其关闭,返回应用。`
+                },
+                {
+                    id: 'ad_3',
+                    title: '为什么会下载了新应用以及如何避免?',
+                    content: `为提高用户下载体验,厂商提供了点击广告后直接下载的ad-button组件,
+                    帮助您更快下载使用心仪的应用。本产品不会自动触发广告、下载应用,
+                    下载和安装能力均由您的手机厂商提供,如您没有下载应用的需求,请勿点击下载。
+                    同时,请您理解,因为快应用兼容不同手机厂商超200款手机型号和超50款快应用引擎版本,
+                    在个别设备上可能会出现广告展示异常的情况,如您误下载了不需要的软件,
+                    点击下方「我要反馈」,提供您的手机型号,我们将为您提供协助。
+                    `
+                },
+                {
+                    id: 'ad_4',
+                    title: '为什么我点击关闭按钮任会打开广告?',
+                    content: `因为快应用兼容不同手机厂商超 200 款手机型号和超 50 款快应用引擎版本,
+                    在个别设备上可能会出现广告展示异常的情况,如果您出现广告展示错误、广告无法关闭等异常问题,
+                    点击下方「我要反馈」,提供您的手机型号,我们将为您提供协助。
+                    `
+                },
+            ]
+        },
+        {
+            title: '兑换问题',
+            icon: 'checkmark-circle',
+            subItem: [
+                {
+                    id: 'convert_1',
+                    title: '金币是做什么用的?',
+                    content: '您点击签到后即可获取金币,达到对应数额后可兑换相应奖品。'
+                },
+                {
+                    id: 'convert_2',
+                    title: '为什么我无法兑换?',
+                    content: '您需要满足奖品所需要的金币数量后才能兑换,请您持续关注和参与我们的活动。'
+                },
+                {
+                    id: 'convert_3',
+                    title: '兑换后多久发货?',
+                    content: '我们会在您提交兑换后 15 个工作日为您发货。'
+                },
+            ]
+        },
+        {
+            title: '产品问题',
+            icon: 'bag',
+            subItem: [
+                {
+                    id: 'product_1',
+                    title: '书籍打开失败/章节获取失败',
+                    content: `这种情况通常是网络不稳定导致的,您可以尝试更换其他网络后(如:Wi-Fi与4G互相切换),
+                    退出后重新打开如无法解决,请您联系客服,我们会协助为您解决。
+                    `
+                },
+                {
+                    id: 'product_2',
+                    title: '天气页面没有天气数据',
+                    content: `这种情况一般是没有授权位置信息导致的,您可以尝试授权允许访问位置信息,
+                    或者习动选择位置,来获取本地天气。
+                    `
+                },
+                {
+                    id: 'product_3',
+                    title: '书籍是正版书籍吗?',
+                    content: `所有书籍版权均来自第三方版权方授权,如认为作品侵犯了您的权益,
+                    可以通过客服的联系方式和我们反馈,我们将第一时间向版权方核实处理。
+                    `
+                },
+            ]
+        },
+        {
+            title: '互联网防诈指南',
+            icon: 'warning',
+            subItem: [
+                {
+                    id: 'anti_fraudt_1',
+                    title: '如何防范钓鱼网站',
+                    content: `
+                        <div>
+                            1.通过查询网站备案信息等方式核实网站资质的真伪;<br>
+                            2.安装安全防护软件;<br>
+                            3.要警惕中奖、修改网银密码的通知邮件、短信,不要轻易点击未经核实的陌生链接;<br>
+                            4.不要在多人共用的电脑上进行金融业务,如在网吧等。
+                        </div>
+                    `
+                },
+                {
+                    id: 'anti_fraudt_2',
+                    title: '如何防范网络虚假、有害信息',
+                    content: `
+                        <div>
+                            1.及时举报类似谣言信息;<br>
+                            2.不造谣,不信谣,不传谣; <br>
+                            3.要注意辨别信息的来源和可靠度,要通过经第三方可信网站认证的网站获取信息;<br>
+                            4.要注意打着“发财致富, , “普及科学”、传授“新技术”等幌子的信息;<br>
+                            5.在获得信息后,应先去函或去电与当地工商、质检等部门联系,核实情况。
+                        </div>
+                    `
+                },
+                {
+                    id: 'anti_fraudt_3',
+                    title: '如何预防网络诈骗',
+                    content: `
+                        <div>
+                            1.不贪便宜;<br>
+                            2.使用比较安全的安付通、支付宝、U盾等支付工具;<br>
+                            3.仔细甄别,严加防范;<br>
+                            4.千万不要在网上购买非正当产品,如手机监听器、毕业证书、考题答案等; <br>
+                            5.不要轻信以各种名义要求你先付款的信息,也不要轻易把自己的银行卡借给他人; <br>
+                            6.提高自我保护意识,注意妥善保管自己的私人信息,如本人证件号码、账号、密码等,
+                            不向他人透露,并尽量避免在网吧等公共场所使用网上电子商务服务。
+                        </div>
+                    `
+                },
+                {
+                    id: 'anti_fraudt_4',
+                    title: '如何保护网银安全',
+                    content: `
+                        <div>
+                            1.尽量不要在多人共用的计算机(如网吧)上进行银行业务,发现账号有异常情况,
+                            应及时修改交易密码并向银行求助;<br>
+                            2.核实银行的正确网址,安全登录网上银行,不要随意点击未经核实的陌生链接; <br>
+                            3.在登录时不选择“记住密码”选项,登陆交易系统时尽量使用软件盘输入交易账号及密码,
+                            并使用该银行提供的数字证书增强安全性,核对交易信息; <br>
+                            4.交易完成后要完整保存交易记录;<br>
+                            5.使用完网上银行后,应点击“退出”按钮,在使用U盾购物时,在交易完成后要立即拔下数字证书Key;<br>
+                            6.对网络单笔销费和网上转账进行金额限制,并为网银开通短信提醒功能,在发生交易异常时及时联系相关客服;<br> 
+                            7.通过正规渠道申请办理银行卡及信用卡; <br>
+                            8.不要使用存储额较大的储蓄卡或信用额度较大的信用卡开通网上银行; <br>
+                            9.支付密码最好不要使用姓名、生日、电话号码等个人信息,也不要使用12345等默认密码或与用户名相同的密码;<br> 
+                            10.应注意保护自己的银行卡信息资料,不要把个人资料随便留给不熟悉的公司或个人。 
+                        </div>
+                    `
+                },
+                {
+                    id: 'anti_fraudt_5',
+                    title: '网上购物安全措施',
+                    content: `
+                        <div>
+                            1.核实网站资质及网站联系方式的真伪,要到知名的、权威的网上商城购物;<br> 
+                            2.尽量通过网上第三方支付平台交易,切忌直接与卖家私下交易。在完成交易后,保存交易订单等交易信息; <br>
+                            3.在购物时要注意商家的信誉、评价和联系方式; <br>
+                            4.在交易完成后要完整保存交易订单等信息;<br> 
+                            5.在填写支付信息时,一定要检查支付网站的真实性;<br> 
+                            6.注意保护个人隐私,直接使用个人的银行账号、密码和证件号码等敏感信息时要慎重; <br>
+                            7.不要轻信网上低价推销广告,也不要随意点击未经核实的陌生链接。
+                        </div>
+                    `
+                },
+                {
+                    id: 'anti_fraudt_6',
+                    title: '网上炒股安全措施',
+                    content: `
+                        <div>
+                            1.慎重保护你的交易密码和通讯密码;<br>  
+                            2.尽量不要在多人共用的计算机(如网吧)上进行股票交易,并注意在离开电脑时锁屏。
+                            若办公室上网交易,不要在无防备的情况下离开电脑;<br>  
+                            3.网上炒股应注意核实证券公司的网站地址,防止钓鱼网站,并下载其提供的证券交易软件,
+                            不要轻易相信小广告;<br>  
+                            4.要及时修改个人账户的初始密码,设置安全密码发现交易有异常情况,要及时修改密码,
+                            并通过截图、拍照等保留数据,同时向专业机构或证券公司求助。<br> 
+                        </div>
+                    `
+                },
+                {
+                    id: 'anti_fraudt_7',
+                    title: '防范假冒网站措施',
+                    content: `
+                        <div>
+                            1.使用U盾等证书,留意商业银行网站的预留信息验证; <br> 
+                            2.直接输入所要登录银行网站的网址,不要通过其他链接进入; <br> 
+                            3.用户在登录网站后留意核对所登录的网址与官方公布的网址是否相符;<br>  
+                            4.登陆官方发布的相关网站辨识真伪;<br> 
+                            5.安装QQ电脑管家、360上网助手等防护软件,及时更新系统补丁;<br> 
+                            6.当收到邮件、短信、电话等要求客户到指定的网页修改密码时或
+                            通知客户中奖并要求客户在领取奖金前先支付税金、邮费时务必提高警惕。
+                        </div>
+                    `
+                },
+                {
+                    id: 'anti_fraudt_8',
+                    title: '如何防范网络非法集资诈骗',
+                    content: `
+                        <div>
+                            1.加强法律知识学习,增强法律观念; <br> 
+                            2.要时刻紧绷防范思想,不要被各种经济诱惑蒙骗,摒弃“发横财”和“暴富”等不劳而获的思想;<br>  
+                            3.在投资前要详细做足调查工作,要对集资者的底细了解清楚;<br> 
+                            4.若要投资股票、基金等金融证券,应通过合法的证券公司申购和交易,
+                            不要轻信一些非法从事证券业务的人员和机构,以及小广告、网络信息、手机短信、推介会、雇人游说等方式; <br> 
+                            5.社会公众不要轻信非法集资犯罪嫌疑人的任何承诺,以免造成无以挽回的巨大经济损失。
+                        </div>
+                    `
+                },
+                {
+                    id: 'anti_fraudt_9',
+                    title: '受骗后该如何减少自身损失',
+                    content: `
+                        <div>
+                            1.及时致电发卡银行客服热线或直接向银行柜面报告欺诈交易,监控银行卡交易或冻结、
+                            止付银行卡账户。如被骗钱款后能准确记住诈骗的银行卡账号,则可以通过拨打“95516”
+                            银联中心客服电话的人工服务台,查清该诈骗账号的开户银行和开户地点(可精确至地市级); 
+                            <br />
+                            2.对已发生损失或情况严重的,应及时向当地公安机关报案;<br> 
+                            3 配合公安机关或发卡银行做好调查、举证工作。够清除缓存<br>
+                        </div>
+                    `
+                },
+            ]
+        },
+    ],
+    openMap: {} // 记录每个折叠项的展开状态
   },
+  onInit() {
+    // 初始化 openMap
+    this.collapseDataList.forEach((item, idx) => {
+      this.$set('openMap.' + idx, {});
+    });
+  },
+    back() {
+      // 返回上一页
+      router.back();
+    },
+    toggle(index) {
+      // 展开/收起主标题下所有子项
+      // 可选:如需全部展开/收起,按需实现
+    },
+    toggleSub(index, subIndex) {
+      const key = `openMap.${index}.${subIndex}`;
+      const current = this.openMap[index] && this.openMap[index][subIndex];
+      this.$set(key, !current);
+    },
+    clearCache() {
+      // 清除缓存逻辑
+      storage.clear({
+        success: function(data) {
+          console.log('handling success')
+          $utils.showToast('缓存已清除')
+        },
+        fail: function(data, code) {
+          console.log(`handling fail, code = ${code}`)
+        }
+      })
+    },
+    feedback() {
+      // 跳转反馈页
+      // prompt.showToast({ message: '跳转反馈' });
+      // $utils.showToast('反馈已提交')
+      router.push({
+        uri:'pages/commonModule/complaint'
+      })
+    }
+  }
 
-  onInit() {}
-}
 </script>
 
 <style>
-.wrapper {
+.u-page {
+  display: flex;
   flex-direction: column;
-  justify-content: center;
-  align-items: center;
+  /* height: 100vh; */
 }
 .title {
-  text-align: center;
-  color: #212121;
+  display: flex;
+  align-items: center;
+  height: 100px;
+  color: #000;
+  font-size: 32px;
+  margin-left: 30px;
+}
+.main {
+  flex: 1;
+}
+.u-page-item {
+  border-bottom: 1px solid #eee;
+  flex-direction: column;
+
+}
+.u-page_title {
+  display: flex;
+  align-items: center;
+  width: 100%;
+  color: #6f6f71;
+  background-color: #f5f5f7;
+  height: 80px;
+  font-size: 30px;
+  padding-left: 20px;
+}
+.collapse-list {
+  background-color: #fff;
+  flex-direction: column;
+}
+.collapse-item {
+  border-bottom: 1px solid #f0f0f0;
+  display: flex;
+  flex-direction: column;
+
+}
+.collapse-header {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  padding: 20px;
+  font-size: 28px;
+  color: #353535;
+  background-color: #fafafa;
+}
+.collapse-arrow {
+  font-size: 24px;
+  color: #999;
+}
+.collapse-content {
+  padding: 15px 20px;
+  color: #000;
+  font-size: 26px;
+  background-color: #fff;
+}
+.botton-btn {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  height: 120px;
+  background-color: #fff;
+  padding: 0 30px;
+}
+.btn {
+  /* flex: 1; */
+  width: 350px;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  height: 80px;
+  background-color: #f5f5f7;
+  border-radius: 16px;
+  font-size: 30px;
+  color: #333;
+}
+.btn.primary {
+  background-color: #ff843c !important;
+  color: #fff;
+}
+.iconfont {
+  margin-right: 10px;
+  font-size: 32px;
 }
 </style>

+ 234 - 6
src/pages/commonModule/privacy/index.ux

@@ -1,13 +1,174 @@
 <template>
   <div class="wrapper">
-    <text class="title">{{ title }}</text>
+    <richtext type="html"  class="rich-text">{{ richText }}</richtext>
+    <!-- <text class="title">{{ richText }}</text> -->
   </div>
 </template>
 
 <script>
 export default {
   private: {
-    title: '欢迎体验快应用开发'
+    richText: `<div class="agreement-container">
+        <h1>隐私政策</h1>
+        <p class="revision-date">本隐私政策于 2015 年 1 月 1 日起发布并生效,于2021年9月18日最新修订</p>
+        
+        <p>本隐私政策(简称"本协议")是易推网络科技有限公司(以下简称"我司"或"我们")与用户(又称"您")就快应用产品【易推小说】(以下简称"本产品")的隐私保护相关事项所订立的有效合约。您通过点击确认本协议或以其他方式选择接受本协议,即表示您与我司达成协议并同意接受本协议的全部以下约定内容。</p>
+        
+        <p>【易推网络科技有限公司】系本产品的登记著作权人,依法享有本产品的著作权。</p>
+        
+        <p>本产品由我司运营并向您提供阅读服务并对您依法享有权利、履行义务、承担法律责任。</p>
+        
+        <p>本协议将帮助您了解以下内容:</p>
+        <ol>
+            <li>我们如何收集和使用您的个人信息</li>
+            <li>我们如何使用Cookie和同类技术</li>
+            <li>我们如何共享、转让、公开披露您的个人信息</li>
+            <li>我们如何保护您的个人信息</li>
+            <li>您的权利</li>
+            <li>我们如何处理儿童的个人信息</li>
+            <li>您的个人信息如何在全球范围转移</li>
+            <li>本协议如何更新</li>
+            <li>本协议的适用</li>
+            <li>争议解决</li>
+            <li>联系我们</li>
+        </ol>
+        
+        <p>我司和本产品登记著作权人非常重视个人信息的保护。用户(简称"您")在使用我们的产品或服务时,我们可能会收集和使用您的相关信息。一旦您选择使用我们的产品或服务,即表示您认可并接受本条款现有内容及其可能随时更新的内容。如果您不同意,应当终止使用本产品的服务。请您在使用我们的产品前,仔细阅读并了解本《隐私政策》。</p>
+        
+        <h2>一、我们如何收集和使用您的个人信息</h2>
+        <p>个人信息是指以电子或者其他方式记录的能够单独或者与其他信息结合识别特定自然人身份或者反映特定自然人活动情况的各种信息。</p>
+        
+        <p>我司和本产品登记著作权人仅会出于本协议所述的以下目的、方式、范围在为您提供阅读服务时收集和使用您的个人信息:</p>
+        
+        <h3>1、应用功能一:成为注册用户</h3>
+        <p>您在申请成为本产品注册用户时,您需提供以下信息:您的设备信息或手机号。</p>
+        <p>您提供的上述信息,授权我们在为您使用本服务期间持续使用。在您注销账号时,我们将停止使用并删除上述信息。</p>
+        
+        <h3>5、应用功能二:安全服务</h3>
+        <p>为向您提供安全稳定的服务、保障您的账户财产安全、预防冒名登录,为了正常使用本产品功能及服务,当您使用我们的产品或服务时,我们可能会自动记录某些信息,包括:设备或软件信息,您的移动设备、网页浏览器或用于接入我们服务的其他程序所提供的配置信息、您的IP地址、移动设备所用的软件版本信息、设备识别码(IMEI、MAC地址)、设备唯一标识(AndroidID、OAID)信息。若您不同意我们记录前述信息,可能无法完成风控流程而无法使用我们的产品。我们还可能会自动记录您是否安装支付宝APP,若您不同意我们记录前述信息,将不会影响您正常使用本软件。</p>
+        
+        <h3>6、应用功能三:权限启用</h3>
+        <p>我们承诺决不超范围、超频次搜集您的个人信息,决不搜集与使用本产品服务非必需或无合理应用场景的信息。</p>
+        <p>您在使用本产品时,为提供给您服务之目的,本产品可能在您使用该应用某些场景下向您申请终端设备的以下权限,当然您可以拒绝开启以下权限,或在手机的设置中关闭本产品的以下权限,关闭以下权限不会影响您对本产品其他功能的使用:</p>
+        
+        <ul class="permission-list">
+            <li><strong>访问电话:</strong>通过获取您的电话状态权限我们记录您的设备识别码(即IMEI或IMSI码)进行匿名化处理,用于统计及安全校验;</li>
+            <li><strong>访问本地存储:</strong>通过开启本地存储权限,将本软件内的书籍下载到您的手机存储,以及通过手机存储将您的本地书籍上传到本软件;</li>
+            <li><strong>访问照片:</strong>您可以直接选择手机内的照片或图片进行上传或与客服沟通时提供证明;</li>
+            <li><strong>访问您设备上的媒体内容和文件:</strong>用于读写图书封面、活动图片的缓存,提升应用使用流畅度。</li>
+            <li><strong>访问日历:</strong>使参与定时活动的用户,可以主动开启或取消提醒,开启提醒的用户,将会收到日历提醒通知;可通过"系统设置"->"日历提醒"关闭所有已开启的日历提醒服务;</li>
+            <li><strong>开启推送:</strong>您可以通过开启推送权限来接收本产品推送的消息,你也可以关闭该权限;</li>
+            <li><strong>开启无线数据:</strong>您可以通过连接无线网络或蜂窝网络来实现本产品需要的联网功能;</li>
+            <li><strong>访问安装程序列表:</strong>通过获取您的安装程序列表我们可以确认您是否安装了我们所推广的产品,以便我们及时向您发放相应奖励。</li>
+            <li><strong>开启麦克风和语音识别:</strong>您可以通过语音来控制本软件的语音朗读功能及语音控制功能;</li>
+            <li><strong>开启后台应用刷新:</strong>开启后可以实现听书、语音朗读不受产品切换到后台的影响而暂停播放;</li>
+            <li><strong>使用剪贴板:</strong>您可以复制并粘贴读者QQ群号码、客服电话,也可以选择不使用剪贴板权限。</li>
+            <li><strong>为使用词典、百科、语音朗读之目的获取设备网络权限。</strong></li>
+        </ul>
+        
+        <h3>7、应用功能:提现</h3>
+        <p>您可以在任务中心或福利中心参加活动任务并提现。为实现提现功能,我们可能会收集您的红包记录,若您不同意我们收集红包记录,提现将无法实现,但不影响您使用我们提供的其他服务。</p>
+        
+        <h2>二、我们如何使用Cookie和同类技术</h2>
+        <p>Cookie和同类技术是互联网中的通用常用技术。为确保本平台正常运转、使您获得更轻松的访问体验,我们可能会在您的移动设备上存储名为Cookie的小数据文件。Cookie通常包含标识符、站点名称以及一些号码和字符。借助于Cookie我们将记录您的登录信息及在本产品中的操作信息,以便我们存储您的偏好及使用习惯,帮您省去重复输入注册信息的步骤,并帮助判断您的账户安全状态,以为您提供更轻松的用户体验和服务。</p>
+        <p>我们不会将Cookie用于本协议所述目的之外的任何用途。您可根据自己的偏好管理或停用Cookie。有关详情,请参<a href="https://www.aboutcookies.org" target="_blank">AboutCookies.org</a>。如果停用Cookie,您有可能无法享受最佳的服务体验。</p>
+        
+        <h2>三、我们如何共享、转让、公开披露您的个人信息</h2>
+        
+        <h4>(一)共享</h4>
+        <p>我们不会将您的个人信息向我司和本产品登记著作权人及关联公司以外的任何公司、组织和个人共享,但以下情况除外:</p>
+        <ol>
+            <li>在获取明确同意的情况下共享:在获得您的明确同意后,我们会与其他方共享您的个人信息。</li>
+            <li>我们可能会根据法律法规规定,或按政府主管部门的强制性规定,对外共享您的个人信息。</li>
+            <li>与授权合作伙伴共享:仅为实现本协议中声明的目的,我们的某些服务将由授权合作伙伴提供。我们可能会与合作伙伴共享您的某些个人信息,以提供更好的客户服务和用户体验。我们仅会出于合法、正当、必要、特定、明确的目的共享您的个人信息,并且只会共享提供服务所必要的个人信息。我们的合作伙伴无权将共享的个人信息用于任何其他用途。</li>
+        </ol>
+        <p>目前,我们的授权合作伙伴包括以下几大类型:</p>
+        <p>1)供应商、服务提供商和第三方代理及其他合作伙伴。我们将信息发送给在全球范围内支持我们业务的供应商、服务提供商、第三方代理和其他合作伙伴,这些支持包括提供技术基础设施服务、分析我们服务的使用方式、衡量服务的有效性、提供客户服务、支付便利或进行学术研究和调查。在经您事先明确同意后,我们可能会在采取加密、匿名化处理手段后与第三方代理分享您的订阅记录,若您不同意我们分享前述信息,将不会影响您正常使用本软件。</p>
+        
+        <h4>(二)转让</h4>
+        <p>我们不会将您的个人信息转让给任何公司、组织和个人,但以下情况除外:</p>
+        <ol>
+            <li>在获取明确同意的情况下转让:获得您的明确同意后,我们会向其他方转让您的个人信息;</li>
+            <li>在涉及合并、收购或破产清算时,若涉及到个人信息转让,我们会在要求新的持有您个人信息的公司、组织继续受此隐私政策的约束,否则我们将要求该公司、组织重新向您征求授权同意。</li>
+        </ol>
+        
+        <h4>(三)公开披露</h4>
+        <p>我们仅会在以下情况下,公开披露您的个人信息:</p>
+        <ol>
+            <li>获得您明确同意后;</li>
+            <li>基于法律的披露:在法律、法律程序、诉讼或政府主管部门强制性要求的情况下,我们可能会公开披露您的个人信息。</li>
+        </ol>
+        
+        <h4>(四)对外共享可能涉及的个人信息类型</h4>
+        <p>设备识别码、产品版本信息;对外公开披露可能涉及的个人信息类型:阅读书籍、阅读时长。</p>
+        <p>我们已知晓对外共享、转让、公开披露个人信息所承担的相应法律责任,并将采取合理措施保障个人信息安全。</p>
+        
+        <h2>四、我们如何保护和保存您的个人信息</h2>
+        
+        <h4>(一)技术保护措施</h4>
+        <p>我们非常重视您个人信息的安全,将努力采取各种符合业界标准的合理的安全措施来保护您的信息,使您的信息不会被泄漏、毁损或者丢失,包括但不限于SSL、隐私信息加密存储、数据中心的访问控制。我们会使用加密技术提高个人信息的安全性;我们会使用受信赖的保护机制防止个人信息遭到恶意攻击;我们会部署访问控制机制,尽力确保只有授权人员才可访问个人信息。</p>
+        
+        <h4>(二)安全管理体系</h4>
+        <p>我们有行业先进的以数据为核心,围绕数据生命周期进行的数据安全管理体系,从组织建设、制度设计、人员管理、产品技术、个人信息安全影响评估方面多维度提升整个系统的安全性。</p>
+        <p>我们对可能接触到您的信息的员工或外包人员也采取了严格管理,包括但不限于根据岗位的不同采取不同的权限控制,与他们签署保密协议,监控他们的操作情况措施。</p>
+        
+        <h4>(三)账号保护</h4>
+        <p>您的账户均有安全保护功能,请妥善保管您的账户及密码信息。如果您发现账号被盗用或个人信息泄露,请及时联系我们,以便我们采取相应措施。</p>
+        
+        <h4>(四)信息安全事件处理</h4>
+        <p>尽管有前述安全措施,但同时也请您理解在信息网络上不存在"完善的安全措施"。</p>
+        <p>若不幸发生个人信息安全事件,我们将按照法律法规的要求向您告知:安全事件的基本情况和可能的影响、我们已采取或将要采取的处置措施、您可自主防范和降低风险的建议、对您的补救措施。事件相关情况我们将以电话、推送通知的方式告知您,难以逐一告知个人信息主体时,我们会采取合理、有效的方式发布公告。同时,我们还将按照监管部门要求,上报个人信息安全事件的处置情况。</p>
+        
+        <h4>(五)保存期限</h4>
+        <p>我们仅在中国大陆地区存放您的个人信息。我们会采取一切合理可行的措施,确保未收集无关的个人信息。我们只会在达成本协议所述目的所需的且法律规定的最短期限内保留您的个人信息,除非需要延长保留期或受到法律的允许。</p>
+        <p>在您的个人信息超出保留期间后,我们会根据法律法规的要求删除您的个人信息、或使其匿名化处理。</p>
+        
+        <h2>五、您的权利</h2>
+        <p>按照中国相关的法律、法规、标准,我们保障您对自己的个人信息行使以下权利:</p>
+        
+        <h4>(一)访问您的个人信息</h4>
+        <p>您有权通过用户中心自行访问您的个人信息,可参见(六)我们如何响应您的请求,法律法规规定的例外情况除外</p>
+        
+        <h4>(二)更正您的个人信息</h4>
+        <p>当您发现我们处理的关于您的个人信息有错误时,您有权要求我们做出更正。如何更正个人信息,可参见(六)我们如何响应您的请求。</p>
+        
+        <h4>(三)删除您的个人信息</h4>
+        <p>在下述情形中,您可以向我们提出删除个人信息的请求:</p>
+        <ol>
+            <li>我们处理个人信息的行为违反法律法规;</li>
+            <li>我们收集、使用您的个人信息,却未征得您的同意;</li>
+            <li>我们处理个人信息的行为违反了与您的约定;</li>
+            <li>您不再使用我们的产品或服务,或您注销了账号;</li>
+            <li>我们不再为您提供产品或服务。</li>
+        </ol>
+        <p>如何删除个人信息,可参见(六)我们如何响应您的请求,若我们决定遵循您的请求,我们还将同时通知从我们获得您的个人信息的实体要求。</p>
+        <p>我们将在十五个工作日内作出答复。若您不满意,还可以通过与客服联系进行申诉。</p>
+        
+        <h2>六、我们如何处理儿童的个人信息</h2>
+        <p>我们的产品、网站和服务主要面向成人。我们重视儿童未成年人的个人信息保护,若您为未满18周岁的未成年人,在您使用本平台相关服务之前,您应在您的父母或者其他监护人的监护、指导下共同阅读并同意本隐私政策,并在征得您的监护人同意的前提下使用我们的服务或向我们提供信息。</p>
+        <p>对于经父母或监护人同意使用我们的产品或服务而收集未成年人个人信息的情况,我们只会在法律法规允许、父母或监护人明确同意或者保护未成年人所必要的情况下使用、共享、转让或披露此信息。如果我们发现在未事先获得可证实的父母同意的情况下收集了未成年人的个人信息,则会尽快删除相关信息。</p>
+        
+        <h2>七、您的个人信息如何在全球范围转移</h2>
+        <p>目前我们不会跨境传输或存储您的个人信息。将来若需跨境传输或存储的,我们会向您告知信息出境的目的、接收方、安全保障措施和安全风险,并征得您的同意。</p>
+        
+        <h2>八、本协议如何更新</h2>
+        <p>本隐私政策更新后,本平台会在您登录及版本更新时以推送通知、弹窗、在网站公告形式向您展示变更后的隐私政策与内容,以便您及时了解本隐私政策的最新版本。我们将严格遵循向您披露的隐私政策收集使用规则开展个人信息处理活动,若个人信息使用目的发生变化时会再次征得您的同意,若您继续使用我们的服务,表示同意接受修订后的本协议的内容。</p>
+        
+        <h2>九、本协议的适用</h2>
+        <p>本产品的所有服务均适用本协议。</p>
+        <p>当您在首次登录本产品时,我们会提示您进行阅读本协议,并征得您的同意。除非另有约定或者法律规定,本隐私政策不适用于我司和本产品登记著作权人链接到其他第三方的产品或服务,您使用这些第三方服务(包括您向这些第三方提供的任何个人信息),将受这些第三方的服务条款及隐私政策约束(而非本隐私政策),具体规定请您仔细阅读第三方的条款。请您妥善保护自己的个人信息,仅在必要的情况下向第三方提供。</p>
+        
+        <h2>十、争议管辖</h2>
+        <p>本隐私政策的成立、生效、履行、解释及纠纷解决,适用中华人民共和国大陆地区法律。</p>
+        <p>若您和我们发生任何纠纷或争议,首先应友好协商解决;协商不成的,均提请我司所在地的仲裁委员会按照其仲裁规则进行仲裁。仲裁裁决是终局的,对双方均有约束力。</p>
+        
+        <h2>十一、联系我们</h2>
+        <div class="contact-info">
+            <p><strong>公司名称:</strong>易推网络科技有限公司</p>
+            <p><strong>个人信息保护相关负责人联系方式:</strong></p>
+            <p><strong>客服电子邮件:</strong><a href="mailto:546968241@qq.com">546968241@qq.com</a></p>
+        </div>
+    </div>`
   },
 
   onInit() {}
@@ -20,8 +181,75 @@ export default {
   justify-content: center;
   align-items: center;
 }
-.title {
-  text-align: center;
-  color: #212121;
-}
+  .rich-text {
+    padding: 30px;
+    background-color: #ffffff;
+  }
+  .agreement-container {
+            background-color: #fff;
+            border-radius: 8px;
+            padding: 30px;
+            /* box-shadow: 0 2px 10px rgba(0,0,0,0.05); */
+        }
+        h1 {
+            text-align: center;
+            color: #2c3e50;
+            margin-bottom: 30px;
+            font-size: 24px;
+        }
+        h2 {
+            color: #3498db;
+            margin-top: 30px;
+            padding-bottom: 8px;
+            border-bottom: 1px solid #eee;
+            font-size: 20px;
+        }
+        h3 {
+            color: #2c3e50;
+            margin-top: 25px;
+            font-size: 18px;
+        }
+        h4 {
+            color: #2c3e50;
+            margin-top: 20px;
+            font-size: 16px;
+        }
+        p {
+            margin: 10px 0;
+            /* text-align: justify; */
+        }
+        .section-title {
+            font-weight: bold;
+            margin-top: 15px;
+        }
+        .contact-info {
+            background-color: #f0f7ff;
+            padding: 15px;
+            border-radius: 6px;
+            margin-top: 20px;
+        }
+        .revision-date {
+            text-align: right;
+            font-style: italic;
+            color: #7f8c8d;
+            margin-bottom: 30px;
+        }
+        .highlight {
+            background-color: #fffde7;
+            padding: 2px 4px;
+            border-radius: 3px;
+        }
+        a {
+            color: #3498db;
+            text-decoration: none;
+        }
+        a:hover {
+            text-decoration: underline;
+        }
+        .permission-list {
+            padding-left: 20px;
+        }
+        .permission-list li {
+            margin-bottom: 8px;
+        }
 </style>

+ 162 - 12
src/pages/commonModule/redPacket/index.ux

@@ -1,27 +1,177 @@
+<!-- src/components/tools-mall/index.ux -->
 <template>
-  <div class="wrapper">
-    <text class="title">{{ title }}</text>
+  <div class="content">
+    <div class="box text-white">
+      <text class="text-24 text-white" style="font-size: 24px;">金币明细</text>
+      <div class="mgy-20" style="align-items: center;">
+        <text class="text-48 text-white" style="margin-right: 5px;font-size: 48px;">{{ coinNum }}</text>
+        <text class="text-white" style="font-size: 24px;margin-left: 10px;">金币 ></text>
+      </div>
+      <text class="text-24 text-white" style="font-size: 24px;">活动奖品数量有限,先到先得,兑完即止</text>
+    </div>
+    <div class="box2">
+      <div class="top_box">
+        <text class="text-36" style="color: #333;">新人签到 必得金币</text>
+        <text class="text-24" style="color: #ffcdaf;margin-top: 10px;">活动盛启,福利满满</text>
+      </div>
+      <div class="bottom_box">
+        <div class="bottom_item" style="border-bottom: 1px solid #ddd;">
+          <div class="fd_c">
+            <text class="text-32 text-000">签到</text>
+            <text class="text-24 text-999">连续签到奖励更高!</text>
+          </div>
+          <div class="{{ signStatus?'disBtn':'btn' }}" @click="signIn">
+            <text>{{ signStatus ? '已签到' : '签到'}}</text>
+          </div>
+        </div>
+        <div class="bottom_item" style="border-bottom: 1px solid #ddd;">
+          <div class="fd_c">
+            <text class="text-32 text-000">天天惊喜,红包多多</text>
+            <text class="text-24 text-999">金币兑换海量福利等你来拿</text>
+          </div>
+          <div class="{{ getStatus?'disBtn':'btn' }}" @click="getCoin">
+            <text>{{getStatus?'已领取':'立即领取'}}</text>
+          </div>
+        </div>
+        <div class="bottom_item" style="border-bottom: 1px solid #ddd;">
+          <div class="fd_c">
+            <text class="text-32 text-000">易推小说</text>
+            <text class="text-24 text-999">点击右边按钮体验</text>
+          </div>
+          <div class="btn" @click="backIndex()">
+            <text>返回首页</text>
+          </div>
+        </div>
+      </div>
+    </div>
   </div>
 </template>
 
 <script>
+import router from '@system.router'
+
 export default {
   private: {
-    title: '欢迎体验快应用开发'
+    coinNum:0,//金币数量
+    signStatus:false, // 是否已经签到
+    getStatus:false,// 是否已领取
   },
-
-  onInit() {}
+  onInit() {},
+  backIndex() {
+    router.replace({
+      uri: 'pages/main',
+      params: {
+        testId: '1'
+      }
+    })
+  },
+  getCoin(){
+      if(!this.getStatus){
+        $utils.showToast('领取成功')
+        this.coinNum += 10
+        this.getStatus = true
+      }else{
+        $utils.showToast('已领取')
+      }
+  },
+  signIn(){
+      if(!this.signStatus){
+        $utils.showToast('签到成功')
+        this.coinNum += 10
+        this.signStatus = true
+      }else{
+        $utils.showToast('已签到')
+      }
+  },
+  
 }
 </script>
 
-<style>
-.wrapper {
+<style lang="less">
+.content {
+  padding: 28px;
+  flex-direction: column;
+  background: linear-gradient(to bottom, #ff8843, #ffffff);
+}
+.box {
+  width: 100%;
+  height: 220px;
+  padding: 28px;
+  background: linear-gradient(90deg, #ff7a3d, #ff582e);
+  border-radius: 30px;
   flex-direction: column;
-  justify-content: center;
-  align-items: center;
 }
-.title {
-  text-align: center;
-  color: #212121;
+.text-white{
+    color: #fff;
+  }
+  .mgy-20{
+    margin: 20px 0;
+  }
+.box2 {
+  flex-direction: column;
+  margin-top: 50px;
+  border-radius: 30px;
+  .top_box {
+    height: 180px;
+    background: linear-gradient(90deg, #ff843c, #ff6e6e);
+    border-radius: 30px;
+    flex-direction: column;
+    padding: 30px;
+  }
+  
+  .text-36{
+    font-size: 36px;
+  }
+  .text-32{
+    font-size: 32px;
+  }
+  .text-24{
+    font-size: 24px;
+  }
+  .fd_c{
+    flex-direction: column;
+  }
+  .text-000{
+    color: #000;
+  }
+  .text-white{
+    color: #fff;
+  }
+  .bottom_box {
+    margin-top: -30px;
+    border-radius: 30px;
+    background-color: #ffffff;
+    height: 600px;
+    flex-direction: column;
+    .bottom_item{
+      justify-content: space-between;
+      align-items: center;
+      padding: 20px;
+    }
+    .disBtn{
+      text{
+        color: #999;
+        font-size: 22px;
+      }
+      background-color: #ccc;
+      height: 60px;
+      line-height: 60px;
+      width: 150px;
+      justify-content: center;
+      border-radius: 30px;
+    }
+    .btn {
+      text{
+        color: #ffffff;
+        font-size: 22px;
+      }
+      background-color: #ff843c;
+      height: 60px;
+      line-height: 60px;
+      width: 150px;
+      justify-content: center;
+      border-radius: 30px;
+    }
+  }
 }
 </style>

+ 2 - 0
src/pages/main/index.ux

@@ -3,6 +3,7 @@
 <import name="search-book" src="../../components/search-book"></import>
 <import name="tools-mall" src="../../components/tools-mall"></import>
 <import name="my" src="../../components/my"></import>
+<import name="red-packet" src="../../components/red-packet"></import>
 
 <template>
   <div class="page-wrapper">
@@ -26,6 +27,7 @@
         </div>
       </tab-bar>
     </tabs>
+    <red-packet></red-packet>
   </div>
 </template>