6 changed files with 608 additions and 49 deletions
@ -0,0 +1,199 @@ |
|||||
|
<template> |
||||
|
<view class="container"> |
||||
|
<view class="tui-text"> |
||||
|
更新日期:2023年12月1日 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
快衣店(河北快拾科技有限公司,以下或称“我们”)非常注重保护用户(“您”)的个人信息及隐私,鉴于您在使用我们的服务时,我们可能会收集和使用您的相关信息,为向您阐明用户信息收集、使用、共享、管理及保护的规则,特制定本《隐私政策》(以下或称“本政策”)。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
在使用快衣店各项产品或服务前,请您务必仔细阅读并透彻理解本政策,在确认充分理解并同意后使用相关产品或服务。一旦您开始使用各项产品或服务,即表示您已充分理解并同意本政策。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
一、我们如何收集和使用您的个人信息 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
个人信息是指以电子或者其他方式记录的能够单独或者与其他信息结合识别特定自然人身份或者反映特定自然人活动情况的各种信息。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
我们仅会出于本政策所述的以下目的,收集和使用您的个人信息,用于例如开展内部数据分析和研究,第三方SDK统计服务,改善我们的产品或服务。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
我们收集数据是根据您与我们的互动和您所做出的选择,包括您的隐私设置以及您使用的产品和功能。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
我们收集的数据可能包括SDK/API/JS代码版本、浏览器、互联网服务提供商、IP地址、平台、时间戳、应用标识符、应用程序版本、应用分发渠道、独立设备标识符、iOS广告标识符(IDFA)、安卓广告主标识符、网卡(MAC)地址、国际移动设备识别码(IMEI)、设备型号、终端制造厂商、终端设备操作系统版本、会话启动/停止时间、语言所在地、时区和网络状态(WiFi等)、硬盘、CPU和电池使用情况、操作记录、交易及 售后所需信息以及您可选择是否授权收集、使用的信息等。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
您可以选择授权我们收集和使用个人信息,这类信息将在您选择的具体功能和业务场景中进行收集,包括: |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
1、基于相机授权的拓展业务 |
||||
|
您可以选择开启系统的相机权限,通过使用拍照、录视频,扫码等功能授权我们访问您的相机,以便于您通过拍摄照片或录制视频等方式发布内容,如果您需要录制并发布有声视频时,您还需开启麦克风权限。我们会收集您上传发布的上述信息,此项功能您可以在系统权限中关闭,一旦关闭您将可能无法实现扫码功能,或者无法通过拍摄图片、视频等方式进行点评或互动,但不会影响您使用小程序的基本功能。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
2、基于相册授权的拓展功能 |
||||
|
您可以选择开启系统的相册权限,通过主动上传图片、视频等方式授权我们访问您的相册,以便于您通过上传照片或上传视频等方式发布内容。我们会收集您选择上传发布的上述信息,此项功能您可以在系统权限中关闭,一旦关闭您将可能无法通过上传图片、视频等方式进行更换头像、发布带图点评等,但不会影响您使用小程序的基本功能。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
3、基于通讯录授权的拓展功能 |
||||
|
您可以授权使用我们的服务创建交流与分享功能,并允许我们获取您手机或其他第三方社交平台中的通讯录信息和公开信息(头像、昵称等),从而使您及您通讯录中同样授权开通此项功能的联系人,能够在小程序上分享有关内容(头像、昵称、评价信息等)以实现互动功能。此项功能您可以在小程序中进行第三方社交账号关系的解除,一旦解除您将可能无法使用第三方快捷登陆,但不会影响您使用小程序的基本功能。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
4、基于位置授权的拓展功能 |
||||
|
您可以选择开启,并允许我们获取您的地理位置为您提供您本地周边的生活服务,如距离最近的商家、商品等,我们会使用有关技术对您的实际位置进行定位,这些技术包括IP地址、GPS以及能够提供相关信息的WLAN接入点、蓝牙和基站等传感器技术。我们仅收集您当时所处的地理位置,但不会将您各时段的位置信息进行关联以判断您的行踪轨迹。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
5、基于电话权限的附加功能 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
您可以使用该功能授权我们获取IMEI、IMSI等设备识别符信息,以用于保障您的账号和信息安全,以及可以在联系商家或客服场景下便捷呼出。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
当我们要将信息用于本策略未载明的其它用途时,会事先征求您的同意。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
当我们要将基于特定目的收集而来的信息用于其他目的时,会事先征求您的同意。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
二、我们如何使用 Cookie 和同类技术 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
(一)Cookie |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
为确保网站正常运转,我们会在您的计算机或移动设备上存储名为 Cookie 的小数据文件。Cookie 通常包含标识符、站点名称以及一些号码和字符。借助于 Cookie,网站能够存储您的偏好或购物篮内的商品等数据。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
我们不会将 Cookie 用于本政策所述目的之外的任何用途。您可根据自己的偏好管理或删除 Cookie。您可以清除计算机上保存的所有 Cookie,大部分网络浏览器都设有阻止 Cookie 的功能。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
为保障您有更好的小程序使用体验,我们会缓存小程序内一些图片等内容到您的存储设备,避免您每次联网时都重新下载一遍,您可以在小程序设置中进行清空缓存来释放存储。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
三、我们如何共享、转让、公开披露您的个人信息 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
(一)共享 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
我们不会向其他任何公司、组织和个人分享您的个人信息,但以下情况除外: |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
1、在获取明确同意的情况下共享:获得您的明确同意后,我们会与其他方共享您的个人信息。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
2、我们可能会根据法律法规规定,或按政府主管部门的强制性要求,对外共享您的个人信息。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
(二)转让 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
我们不会将您的个人信息转让给任何公司、组织和个人,但以下情况除外: |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
1、在获取明确同意的情况下转让:获得您的明确同意后,我们会向其他方转让您的个人信息; |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
2、在涉及合并、收购或破产清算时,如涉及到个人信息转让,我们会在要求新的持有您个人信息的公司、组织继续受此隐私政策的约束,否则我们将要求该公司、组织重新向您征求授权同意。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
(三)公开披露 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
我们仅会在以下情况下,公开披露您的个人信息: |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
1、获得您明确同意后; |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
2、基于法律的披露:在法律、法律程序、诉讼或政府主管部门强制性要求的情况下,我们可能会公开披露您的个人信息。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
四、我们如何保护您的个人信息 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
(一)我们已使用符合业界标准的安全防护措施保护您提供的个人信息,防止数据遭到未经授权访问、公开披露、使用、修改、损坏或丢失。我们会采取一切合理可行的措施,保护您的个人信息。例如,在您的浏览器与“服务”之间交换数据(如信用卡信息)时受 SSL 加密保护;我们同时对我们网站提供 https 安全浏览方式;我们会使用加密技术确保数据的保密性;我们会使用受信赖的保护机制防止数据遭到恶意攻击;我们会部署访问控制机制,确保只有授权人员才可访问个人信息;以及我们会举办安全和隐私保护培训课程,加强员工对于保护个人信息重要性的认识。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
(二)我们会采取一切合理可行的措施,确保未收集无关的个人信息。我们只会在达成本政策所述目的所需的期限内保留您的个人信息,除非需要延长保留期或受到法律的允许。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
(三)互联网并非绝对安全的环境,而且电子邮件、即时通讯、及与其他我们用户的交流方式并未加密,我们强烈建议您不要通过此类方式发送个人信息。请使用复杂密码,协助我们保证您的账号安全。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
(四)互联网环境并非百分之百安全,我们将尽力确保或担保您发送给我们的任何信息的安全性。如果我们的物理、技术、或管理防护设施遭到破坏,导致信息被非授权访问、公开披露、篡改、或毁坏,导致您的合法权益受损,我们将承担相应的法律责任。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
(五)在不幸发生个人信息安全事件后,我们将按照法律法规的要求,及时向您告知:安全事件的基本情况和可能的影响、我们已采取或将要采取的处置措施、您可自主防范和降低风险的建议、对您的补救措施等。我们将及时将事件相关情况以邮件、信函、电话、推送通知等方式告知您,难以逐一告知个人信息主体时,我们会采取合理、有效的方式发布公告。 同时,我们还将按照监管部门要求,主动上报个人信息安全事件的处置情况。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
五、我们如何处理儿童的个人信息 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
我们的产品、网站和服务主要面向成人。如果没有父母或监护人的同意,儿童不得创建自己的用户账户。 对于经父母同意而收集儿童个人信息的情况,我们只会在受到法律允许、父母或监护人明确同意或者保护儿童所必要的情况下使用或公开披露此信息。 尽管当地法律和习俗对儿童的定义不同,但我们将不满 14 周岁的任何人均视为儿童。 如果我们发现自己在未事先获得可证实的父母同意的情况下收集了儿童的个人信息,则会设法尽快删除相关数据。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
六、您的个人信息如何在全球范围转移 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
原则上,我们在中华人民共和国境内收集和产生的个人信息,将存储在中华人民共和国境内。 由于我们通过遍布全球的资源和服务器提供产品或服务,这意味着,在获得您的授权同意后,您的个人信息可能会被转移到您使用产品或服务所在国家/地区的境外管辖区,或者受到来自这些管辖区的访问。 此类管辖区可能设有不同的数据保护法,甚至未设立相关法律。在此类情况下,我们会确保您的个人信息得到在中华人民共和国境内足够同等的保护。例如,我们会请求您对跨境转移个人信息的同意,或者在跨境数据转移之前实施数据去标识化等安全举措。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
七、本隐私权政策如何更新 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
我们可能适时会对本隐私权政策进行调整或变更,本隐私权政策的任何更新将以标注更新时间的方式公布在我们网站上,除法律法规或监管规定另有强制性规定外,经调整或变更的内容一经通知或公布后的7日后生效。如您在隐私权政策调整或变更后继续使用我们提供的任一服务或访问我们相关网站的,我们相信这代表您已充分阅读、理解并接受修改后的隐私权政策并受其约束。 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
八、如何联系我们 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
如果您对本隐私政策有任何疑问、意见或建议,可通过小程序内个人中心的“意见反馈”或“联系客服”与我们进行联系;也可以通过电话方式跟我们联系。联系电话:15533910775 |
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
|
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
|
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
|
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
|
||||
|
</view> |
||||
|
<view class="tui-text"> |
||||
|
|
||||
|
</view> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
data() { |
||||
|
return {}; |
||||
|
} |
||||
|
}; |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss"> |
||||
|
.container { |
||||
|
width: 100%; |
||||
|
padding: $uni-spacing-row-lg; |
||||
|
box-sizing: border-box; |
||||
|
padding-bottom: 48rpx; |
||||
|
|
||||
|
.tui-text { |
||||
|
font-size: $uni-font-size-sm; |
||||
|
text-indent: 2em; |
||||
|
color: $uni-text-color; |
||||
|
padding-bottom: $uni-spacing-col-sm; |
||||
|
tui-text-align: justify; |
||||
|
} |
||||
|
|
||||
|
.tui-sub { |
||||
|
padding-left: $uni-spacing-row-sm; |
||||
|
} |
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,131 @@ |
|||||
|
<!-- 底部菜单--库存--新增商品 --> |
||||
|
<template> |
||||
|
<view> |
||||
|
<view class="formBox"> |
||||
|
<uni-forms ref="form" :modelValue="formData" :rules="rules" labelWidth="85px"> |
||||
|
<uni-forms-item label="图片" name="productPicture"> |
||||
|
<view v-if="formData.productPicture !=''"> |
||||
|
<img :src="formData.productPicture" alt="" class="upload-img"> |
||||
|
</view> |
||||
|
<u-upload :fileList="formData.productPicture" @afterRead="afterRead" @delete="deletePic" name="1" multiple |
||||
|
:maxCount="1"></u-upload> |
||||
|
</uni-forms-item> |
||||
|
<uni-forms-item label="描述" name="productIntro"> |
||||
|
<uni-easyinput type="textarea" autoHeight v-model="formData.productIntro" placeholder="请简要说明问题" |
||||
|
trim="all" /> |
||||
|
</uni-forms-item> |
||||
|
</uni-forms> |
||||
|
|
||||
|
<u-button type="primary" @tap.stop="submit()">保存</u-button> |
||||
|
|
||||
|
</view> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
data() { |
||||
|
return { |
||||
|
formData: { |
||||
|
productPicture: [], |
||||
|
productIntro: '' |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
// 删除图片 |
||||
|
deletePic(event) { |
||||
|
this[`fileList${event.name}`].splice(event.index, 1) |
||||
|
}, |
||||
|
// 新增图片 |
||||
|
async afterRead(event) { |
||||
|
|
||||
|
// 当设置 multiple 为 true 时, file 为数组格式,否则为对象格式 |
||||
|
let lists = [].concat(event.file) |
||||
|
if (this.formData.productPicture == undefined) this.formData.productPicture = []; |
||||
|
let fileListLen = this[`fileList${event.name}`].length |
||||
|
|
||||
|
lists.map((item) => { |
||||
|
this[`fileList${event.name}`].push({ |
||||
|
...item, |
||||
|
status: 'uploading', |
||||
|
message: '上传中' |
||||
|
}) |
||||
|
}) |
||||
|
|
||||
|
for (let i = 0; i < lists.length; i++) { |
||||
|
const result = await this.uploadFilePromise(lists[i].url) |
||||
|
let item = this[`fileList${event.name}`][fileListLen] |
||||
|
this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, { |
||||
|
status: 'success', |
||||
|
message: '', |
||||
|
url: result |
||||
|
})) |
||||
|
fileListLen++ |
||||
|
} |
||||
|
}, |
||||
|
uploadFilePromise(url) { |
||||
|
|
||||
|
return new Promise((resolve, reject) => { |
||||
|
let a = uni.uploadFile({ |
||||
|
url: 'https://storage.xenjoyou.com/hiver/upload/file', |
||||
|
filePath: url, |
||||
|
name: 'file', |
||||
|
header: { |
||||
|
"content-type": "multipart/form-data", |
||||
|
'accessToken': this.tui.getToken() |
||||
|
}, |
||||
|
formData: {}, |
||||
|
success: (uploadFileRes) => { |
||||
|
|
||||
|
let path = JSON.parse(uploadFileRes.data) |
||||
|
//后端返回的地址,存入图片地址 |
||||
|
this.formData.productPicture = path.result |
||||
|
} |
||||
|
}); |
||||
|
}) |
||||
|
}, |
||||
|
// 触发提交表单 |
||||
|
submit() { |
||||
|
let that = this; |
||||
|
let url = '' |
||||
|
this.$refs.form.validate().then(res => { |
||||
|
if(that.dataList !=''){ |
||||
|
url = '/app/product/edit' |
||||
|
res.id = that.dataList.id |
||||
|
}else{ |
||||
|
url = '/app/product/save' |
||||
|
} |
||||
|
that.tui.request(url, "post", res, false, false).then((res1) => { |
||||
|
if (res1.code == 200) { |
||||
|
uni.navigateBack({ |
||||
|
delta: 2 |
||||
|
}) |
||||
|
} else { |
||||
|
uni.showToast({ |
||||
|
title: "添加失败", |
||||
|
icon: 'none' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}).catch(err => { |
||||
|
|
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.formBox { |
||||
|
margin: 20rpx; |
||||
|
padding: 20rpx 26rpx; |
||||
|
border-radius: 14rpx; |
||||
|
box-shadow: 0px 1px 10px 2px #e2e2e2; |
||||
|
background-color: #fff; |
||||
|
} |
||||
|
.upload-img{ |
||||
|
width: 160rpx; |
||||
|
height: 160rpx; |
||||
|
} |
||||
|
</style> |
||||
Loading…
Reference in new issue