| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245 |
- <template>
- <view class="agreement-page">
- <view class="back-btn" @click="goBack">
- <u-icon name="arrow-left" size="36" color="#333"></u-icon>
- </view>
- <view class="agreement-title">用户服务与隐私协议</view>
- <view class="agreement-date">更新日期:2026-09-01</view>
- <view class="agreement-intro">
- 欢迎使用本服务!您在使用前需同意本协议。我们致力于为您提供优质服务,同时保障您的合法权益。您应妥善保管账号信息,并对账号下的一切行为负责。
- </view>
- <view class="agreement-summary">
- <view class="summary-content">
- 我们深知个人信息对您的重要性,并承诺依法保护您的隐私。我们仅收集实现服务所必要的信息,包括但不限于:
- </view>
- <view class="summary-item" v-for="(item, i) in summary" :key="i">
- <text class="item-name">{{ item.name }}</text>
- <text class="item-desc">—— {{ item.desc }}</text>
- </view>
- <view class="summary-footer">
- 我们不会主动向第三方共享您的个人信息,除非获得您的明确同意或法律法规要求。
- </view>
- </view>
- <view
- class="agreement-section"
- v-for="(item, index) in sections"
- :key="index"
- >
- <view class="section-title">{{ item.title }}</view>
- <view class="section-content">
- <template v-if="Array.isArray(item.content)">
- <view
- class="content-line"
- v-for="(line, i) in item.content"
- :key="i"
- >{{ line }}</view
- >
- </template>
- <text v-else>{{ item.content }}</text>
- </view>
- </view>
- </view>
- </template>
- <script>
- export default {
- data() {
- return {
- summary: [
- {
- name: '微信昵称、头像',
- desc: '用于展示您的身份',
- },
- {
- name: '手机号',
- desc: '用于售后联系与账号安全',
- },
- {
- name: '位置信息',
- desc: '用于推荐附近服务(需您授权)',
- },
- {
- name: '设备信息',
- desc: '用于保障服务稳定运行',
- },
- ],
- sections: [
- {
- title: '一、协议的确认与账号安全',
- content:
- '本协议是您与本应用运营者之间关于使用本应用服务的约定。您在开始使用本应用服务前,请务必仔细阅读并充分理解本协议全部内容,点击"同意"或实际使用本应用服务即表示您已阅读并同意本协议。您应妥善保管账号信息,不得将账号出借、转让或授权他人使用,并对账号下的一切行为负责。如发现账号被他人盗用或存在其他安全问题,请立即与我们联系。',
- },
- {
- title: '二、我们收集的信息',
- content: [
- '我们遵循"最小必要"原则,仅收集实现服务所必需的信息:',
- '1. 微信昵称、头像:在您授权后获取,用于在应用内展示您的身份;',
- '2. 手机号:在您绑定或授权后获取,用于售后服务联系与账号安全验证;',
- '3. 位置信息:在您授权后获取,用于为您推荐附近的服务,拒绝授权仅会影响该功能,不影响其他功能的正常使用;',
- '4. 设备信息:如设备型号、操作系统版本、网络状态等,用于保障服务的稳定运行和问题排查。',
- '除上述信息外,我们不会收集与服务无关的个人信息。',
- ],
- },
- {
- title: '三、我们如何使用信息',
- content: [
- '我们收集的信息将用于:',
- '1. 验证您的身份,保障账号与数据安全;',
- '2. 为您提供设备管理、监测数据展示、预警通知等核心服务;',
- '3. 与您取得联系,处理售后、报修及咨询等事项;',
- '4. 分析与改进服务性能,优化您的使用体验。',
- '我们不会将您的个人信息用于上述目的之外的任何用途。',
- ],
- },
- {
- title: '四、信息的共享与披露',
- content: [
- '我们不会主动向第三方共享、转让或公开披露您的个人信息,但以下情形除外:',
- '1. 事先获得您的明确同意;',
- '2. 根据法律法规、司法机关或行政机关的强制性要求;',
- '3. 为提供核心服务所必需,且仅共享实现服务所必需的最少信息(例如委托技术合作方进行数据存储或消息推送),我们将要求其遵守保密义务并采取足够的安全措施。',
- ],
- },
- {
- title: '五、信息的存储与保护',
- content:
- '您的个人信息存储于中华人民共和国境内。我们采用加密传输、访问控制、安全审计等技术手段和管理措施,防止您的信息被未经授权地访问、篡改、泄露或丢失。我们仅在实现本协议所述目的所必需的期限内保留您的个人信息,超出期限后将对您的个人信息进行删除或匿名化处理。',
- },
- {
- title: '六、您的权利',
- content: [
- '按照相关法律法规,您有权:',
- '1. 随时查阅您的个人信息;',
- '2. 更正不准确或不完整的信息;',
- '3. 删除您的部分或全部个人信息;',
- '4. 撤回此前作出的授权同意,撤回授权不影响此前基于授权已进行的信息处理的合法性;',
- '5. 注销账号。',
- '您可以通过应用内的相关功能或联系我们行使上述权利,我们将在核实您的身份后及时处理。',
- ],
- },
- {
- title: '七、未成年人保护',
- content:
- '我们主要面向成年人提供服务。若您未满18周岁,请在监护人的陪同下阅读本协议,并在征得监护人同意后使用本应用服务。',
- },
- {
- title: '八、协议的更新',
- content:
- '我们可能根据法律法规变化或服务调整适时修订本协议,修订后的协议将在本页面发布。当协议发生重大变更时,我们会以显著方式提示您,请您定期查阅本协议以了解最新内容。若您在协议更新后继续使用本应用服务,即视为您已接受修订后的协议。',
- },
- ],
- };
- },
- methods: {
- goBack() {
- uni.navigateBack({
- delta: 1,
- });
- },
- },
- };
- </script>
- <style lang="scss">
- .agreement-page {
- min-height: 100vh;
- background-color: #ffffff;
- padding: 40rpx 40rpx 60rpx;
- box-sizing: border-box;
- }
- .back-btn {
- width: 88rpx;
- height: 48rpx;
- margin-top: 64rpx;
- margin-bottom: 20rpx;
- display: flex;
- align-items: center;
- }
- .agreement-title {
- font-size: 36rpx;
- font-weight: bold;
- color: #333;
- text-align: center;
- margin-bottom: 16rpx;
- }
- .agreement-date {
- font-size: 24rpx;
- color: #999;
- text-align: center;
- margin-bottom: 40rpx;
- }
- .agreement-intro {
- font-size: 28rpx;
- color: #666;
- line-height: 1.8;
- text-align: justify;
- margin-bottom: 30rpx;
- }
- .agreement-summary {
- padding: 24rpx 24rpx;
- margin-bottom: 40rpx;
- .summary-title {
- font-size: 30rpx;
- font-weight: bold;
- color: #333;
- margin-bottom: 16rpx;
- }
- .summary-content {
- font-size: 26rpx;
- color: #666;
- line-height: 1.8;
- text-align: justify;
- margin-bottom: 16rpx;
- }
- .summary-item {
- font-size: 26rpx;
- color: #666;
- line-height: 1.9;
- .item-name {
- color: #333;
- font-weight: bold;
- }
- }
- .summary-footer {
- font-size: 26rpx;
- color: #666;
- line-height: 1.8;
- text-align: justify;
- margin-top: 16rpx;
- }
- }
- .agreement-section {
- margin-bottom: 30rpx;
- .section-title {
- font-size: 30rpx;
- font-weight: bold;
- color: #333;
- margin-bottom: 12rpx;
- }
- .section-content {
- font-size: 28rpx;
- color: #666;
- line-height: 1.8;
- text-align: justify;
- .content-line {
- margin-bottom: 6rpx;
- }
- }
- }
- </style>
|