diff --git a/hope-winery/src/main/java/com/ruoyi/winery/controller/AppActivityController.java b/hope-winery/src/main/java/com/ruoyi/winery/controller/AppActivityController.java index b318a8b6b..4a380f0b5 100644 --- a/hope-winery/src/main/java/com/ruoyi/winery/controller/AppActivityController.java +++ b/hope-winery/src/main/java/com/ruoyi/winery/controller/AppActivityController.java @@ -29,13 +29,13 @@ import com.ruoyi.common.core.page.TableDataInfo; /** * 活动Controller - * + * * @author ruoyi * @date 2021-01-20 */ @RequiredArgsConstructor(onConstructor_ = @Autowired) @RestController -@RequestMapping("/winery/activity" ) +@RequestMapping("/winery/activity") public class AppActivityController extends BaseController { private final IAppActivityService iAppActivityService; @@ -45,21 +45,20 @@ public class AppActivityController extends BaseController { */ @PreAuthorize("@ss.hasPermi('winery:activity:list')") @GetMapping("/list") - public TableDataInfo list(AppActivity appActivity) - { + public TableDataInfo list(AppActivity appActivity) { startPage(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(appActivity); - if (StringUtils.isNotBlank(appActivity.getUrl())){ - lqw.eq(AppActivity::getUrl ,appActivity.getUrl()); + if (StringUtils.isNotBlank(appActivity.getUrl())) { + lqw.eq(AppActivity::getUrl, appActivity.getUrl()); } - if (appActivity.getType() != null){ - lqw.eq(AppActivity::getType ,appActivity.getType()); + if (appActivity.getType() != null) { + lqw.eq(AppActivity::getType, appActivity.getType()); } - if (StringUtils.isNotBlank(appActivity.getImage())){ - lqw.eq(AppActivity::getImage ,appActivity.getImage()); + if (StringUtils.isNotBlank(appActivity.getImage())) { + lqw.eq(AppActivity::getImage, appActivity.getImage()); } - if (appActivity.getImageHeight() != null){ - lqw.eq(AppActivity::getImageHeight ,appActivity.getImageHeight()); + if (appActivity.getImageHeight() != null) { + lqw.eq(AppActivity::getImageHeight, appActivity.getImageHeight()); } lqw.orderByAsc(AppActivity::getSort); List list = iAppActivityService.list(lqw); @@ -69,30 +68,30 @@ public class AppActivityController extends BaseController { /** * 导出活动列表 */ - @PreAuthorize("@ss.hasPermi('winery:activity:export')" ) - @Log(title = "活动" , businessType = BusinessType.EXPORT) - @GetMapping("/export" ) + @PreAuthorize("@ss.hasPermi('winery:activity:export')") + @Log(title = "活动", businessType = BusinessType.EXPORT) + @GetMapping("/export") public AjaxResult export(AppActivity appActivity) { LambdaQueryWrapper lqw = new LambdaQueryWrapper(appActivity); List list = iAppActivityService.list(lqw); - ExcelUtil util = new ExcelUtil(AppActivity. class); - return util.exportExcel(list, "activity" ); + ExcelUtil util = new ExcelUtil(AppActivity.class); + return util.exportExcel(list, "activity"); } /** * 获取活动详细信息 */ - @PreAuthorize("@ss.hasPermi('winery:activity:query')" ) - @GetMapping(value = "/{id}" ) - public AjaxResult getInfo(@PathVariable("id" ) String id) { + @PreAuthorize("@ss.hasPermi('winery:activity:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") String id) { return AjaxResult.success(iAppActivityService.getById(id)); } /** * 新增活动 */ - @PreAuthorize("@ss.hasPermi('winery:activity:add')" ) - @Log(title = "活动" , businessType = BusinessType.INSERT) + @PreAuthorize("@ss.hasPermi('winery:activity:add')") + @Log(title = "活动", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody AppActivity appActivity) { return toAjax(iAppActivityService.save(appActivity) ? 1 : 0); @@ -101,8 +100,8 @@ public class AppActivityController extends BaseController { /** * 修改活动 */ - @PreAuthorize("@ss.hasPermi('winery:activity:edit')" ) - @Log(title = "活动" , businessType = BusinessType.UPDATE) + @PreAuthorize("@ss.hasPermi('winery:activity:edit')") + @Log(title = "活动", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody AppActivity appActivity) { return toAjax(iAppActivityService.updateById(appActivity) ? 1 : 0); @@ -111,33 +110,46 @@ public class AppActivityController extends BaseController { /** * 删除活动 */ - @PreAuthorize("@ss.hasPermi('winery:activity:remove')" ) - @Log(title = "活动" , businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}" ) + @PreAuthorize("@ss.hasPermi('winery:activity:remove')") + @Log(title = "活动", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable String[] ids) { return toAjax(iAppActivityService.removeByIds(Arrays.asList(ids)) ? 1 : 0); } + /** + * 查询活动列表(开放) + */ + @GetMapping("/open/notice") + public AjaxResult openNotice() { + + + String notice = + "手机尾号4707的用户购买了「山之语·赤霞珠干红葡萄酒」, " + + "手机尾号5266的用户购买了「2021辛丑牛年纪念酒」" + + "手机尾号3062的用户购买了「留世传奇红葡萄酒」"; + return AjaxResult.success(notice); + } + /** * 查询活动列表(开放) */ @GetMapping("/open/list") - public TableDataInfo openList(AppActivity appActivity) - { + public TableDataInfo openList(AppActivity appActivity) { startPage(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(appActivity); - if (StringUtils.isNotBlank(appActivity.getUrl())){ - lqw.eq(AppActivity::getUrl ,appActivity.getUrl()); + if (StringUtils.isNotBlank(appActivity.getUrl())) { + lqw.eq(AppActivity::getUrl, appActivity.getUrl()); } - if (appActivity.getType() != null){ - lqw.eq(AppActivity::getType ,appActivity.getType()); + if (appActivity.getType() != null) { + lqw.eq(AppActivity::getType, appActivity.getType()); } - if (StringUtils.isNotBlank(appActivity.getImage())){ - lqw.eq(AppActivity::getImage ,appActivity.getImage()); + if (StringUtils.isNotBlank(appActivity.getImage())) { + lqw.eq(AppActivity::getImage, appActivity.getImage()); } - if (appActivity.getImageHeight() != null){ - lqw.eq(AppActivity::getImageHeight ,appActivity.getImageHeight()); + if (appActivity.getImageHeight() != null) { + lqw.eq(AppActivity::getImageHeight, appActivity.getImageHeight()); } lqw.orderByAsc(AppActivity::getSort); List list = iAppActivityService.list(lqw); diff --git a/hope-winery/src/main/java/com/ruoyi/winery/controller/NewsContentController.java b/hope-winery/src/main/java/com/ruoyi/winery/controller/NewsContentController.java index cb2f14604..7a8a2a369 100644 --- a/hope-winery/src/main/java/com/ruoyi/winery/controller/NewsContentController.java +++ b/hope-winery/src/main/java/com/ruoyi/winery/controller/NewsContentController.java @@ -128,4 +128,12 @@ public class NewsContentController extends BaseController { public AjaxResult remove(@PathVariable String[] ids) { return toAjax(iNewsContentService.removeByIds(Arrays.asList(ids)) ? 1 : 0); } + + /** + * 获取新闻资讯详细信息 + */ + @GetMapping(value = "/open/{id}") + public AjaxResult getOpenInfo(@PathVariable("id") String id) { + return AjaxResult.success(iNewsContentService.getById(id)); + } } diff --git a/mini-app/docs/用户协议.txt b/mini-app/docs/用户协议.txt new file mode 100644 index 000000000..1d3895cd9 --- /dev/null +++ b/mini-app/docs/用户协议.txt @@ -0,0 +1,366 @@ +

+ 紫色名片用户服务协议 +

+

+ (版本生效时间 2020  1 2 1 ) +

+

+   +

+

+ 特别提示: +

+

+ 欢迎您来到紫色名片 为使用紫色名片服务,您应当阅读并遵守《紫色名片用户服务协议》(以下简称“本协议”)。 +

+

+ 请您在进一步操作之前仔细阅读、充分理解本协议的各个条款,特别是以加粗形式提示您注 意的条款。您有权选择同意或不同意本协议,您点击“我已阅读并同意”按钮即视为您已阅 读并接受本协议的所有条款。 +

+

+ 您完成注册程序或使用第三方账号登录紫色名片平台,使用紫色名片平台服务,即视为您已 充分阅读、理解本协议,并自愿受本协议的约束。阅读本协议过程中,如果您不同意本协议 或其中任何条款,请立即停止注册程序并停止使用紫色名片平台服务。 +

+

+ “特别提示”是本协议正文的组成部分。 +

+

+   +

+

+ 1. 定义 +

+

+ 1.1 紫色名片平台:是指上海寻梦信息技术有限公司经营的电商平台,包括但不限于紫色名片 网站、紫色名片客户端及紫色名片微信商城。 +

+

+ 1.2 紫色名片:是指紫色名片平台的经营者,即上海寻梦信息技术有限公司。作为电子商务平 台经营者,紫色名片仅为第三方入驻商家(以下简称“商家”或“销售方”)与您达成 交易提供网页空间、虚拟经营场所、交易规则等服务,紫色名片并非商家与您之间交易 行为的参与方,不对商家及/或您的任何口头、书面陈述或承诺,发布的信息及交易 行为的真实性、合法性、准确性、及时性、有效性等作任何明示或暗示的保证。您完 全理解并同意,紫色名片基于平台管理和保护消费者利益的需要,依据紫色名片与商家之 间的约定及/或平台规则,督促商家履行其对您作出的承诺或赔付责任(赔付方式包 括但不限于发放长期有效的无门槛现金券),但这并不意味着紫色名片须承担与此相关 的任何法律责任(包括但不限于连带责任、担保责任、补充责任等)。 +

+

+ 1.3 紫色名片用户服务协议:即本协议,指您与紫色名片订立的旨在约定您登录、使用紫色名片 平台,以及通过紫色名片平台下达订单、购买商品、支付货款、收取商品等整个网购过 程中,您与紫色名片之间的权利、义务的书面合同。 +

+

+ 1.4 紫色名片规则:包括所有紫色名片已经发布或将来可能发布、修订的各类规则、规范、规 则解读、实施细则、通知、公告等。 +

+

+   +

+

+ 2. 协议范围及变更 +

+

+ 2.1 协议范围。紫色名片规则为本协议不可分割的一部分,与协议正文具有同等法律效力。 +

+

+ 2.2 协议变更。为给您提供更好的服务,紫色名片将根据业务变化,相应调整本协议。拼多 多将按照法律规定对修订内容提前进行公示,修订后的协议一经实施,将完全替代修 订前的协议。您应当及时关注和了解本协议的修订情况、公告、提示信息等,如果您 不同意修订后协议,请您立即停止使用紫色名片平台,否则即视为您同意并完全接受修 订后的协议。 +

+

+   +

+

+ 3. 用户账户 +

+

+ 3.1 行为能力。在注册紫色名片用户账户之前,您应当确认并承诺,您具备中华人民共和国 法律规定的与您行为相适应的民事行为能力。 +

+

+ 3.2 登录方式。您可以通过注册紫色名片用户账户或使用第三方账号(例如微博账号、微信 账号等)登录并使用紫色名片平台。 +

+

+ 3.3 账户注册。注册紫色名片用户账户时,您应当提供真实、有效的信息(包括姓名、电子邮箱、联系电话、联系地址等);同时,您应当保证上述信息的持续有效性,一旦 +

+

+
+

+

+ 息发生变化,您应当及时进行更新;否则您应当承担因信息提供不真实、联系方式无 效导致的相关不利后果及全部损失,且紫色名片保留终止向您提供服务的权利。 +

+

+ 3.4 账户保管。您的账户由您自行设置并保管,紫色名片任何时候均不会主动要求您提供您 的账户密码。因您保管账号、密码不当而造成的所有后果,将由您自行承担。凡经您 +

+

+ 的账号和密码成功登录使用紫色名片平台,即视为您的使用行为;您应当对您的账户进 行的所有活动及后果负法律责任。您不得以任何形式擅自转让或授权他人使用您的账 +

+

+ 户,因您主动泄露、出借账户信息或因您遭受他人攻击、诈骗等行为导致的损失及后 果,紫色名片并不承担责任,您可以通过司法、行政等救济途径向侵权行为人追偿。 +

+

+   +

+

+ 4. 商品及/或服务的购买 +

+

+ 4.1 订单信息的确认。当您在紫色名片平台购买商品或服务时,请您务必仔细确认所购商品 的名称、价格、数量、型号、规格、尺寸或服务的时间、内容、限制性要求等重要事 项,并在下单时核实您的联系地址、电话、收货人等信息。如您填写的收货人非您本 人,则该收货人的行为和意思表示产生的法律后果均由您承担。 +

+

+ 4.2 交易秩序。您的购买行为应当基于真实的消费需求,不得实施恶意购买、恶意维权等 扰乱紫色名片平台正常交易秩序的行为。基于维护紫色名片平台交易秩序及交易安全的需 要,紫色名片发现上述情形时有权采取关闭相关交易订单,限制账户使用功能、中止或 终止服务等措施而无需事先通知您。 +

+

+ 4.3 合同的成立与生效。您通过紫色名片平台下达订单后,仅表示系统接收到了您下达的订 单。只有您支付价款,您与销售方之间的买卖合同才成立;只有您拼单购买成功或者 免拼购买成功,您与销售方之间的买卖合同才生效。 +

+

+ 4.4 真实评价。您有权在紫色名片平台提供的评价系统中对您购买的商品或服务进行评价。 您的所有评价行为应遵守法律法规及/或紫色名片规则的相关规定,评价内容应当客观 真实,不应包含任何污言秽语、色情低俗、广告信息及法律法规与本协议列明的其他 禁止性信息;您不得以不正当方式帮助他人提升信用或利用评价权利对其他用户实施 威胁、敲诈勒索。紫色名片可按照法律法规及/或紫色名片规则的相关规定对您发布的违 规信息进行屏蔽等,并有权视情形对您采取身份验证、限制购买行为等处理措施。 +

+

+ 4.5 商品信息。除另有明确说明外,紫色名片平台上销售的商品/服务的相关信息由商家自 行制作、上传,紫色名片尽可能通过与商家签订合作协议及发布平台规则等方式约束商 家提供准确、完整、可靠、有效、没有错误和误导性的商品描述。然而,您充分理解, 紫色名片平台上存在海量信息,因为互联网技术及人力的局限性,紫色名片不能保证平台 上所有商品的信息均准确、完整、可靠、有效、没有错误和没有误导性。除紫色名片 明显过错外,对于因商品信息导致的纠纷,紫色名片不承担任何责任。 +

+

+ 4.6 异常订单的处理。紫色名片保留对单个商品的总出售数量进行限制、对单个订单的商品 购买数量及同一 IP 地址对同类商品购买数量进行限制,并对异常订单、异常用户采 取监控、限制等措施的权利。如紫色名片发现您通过紫色名片平台下达的订单存在违反法 律规定或者本协议约定的异常情形的,紫色名片有权采取关闭相关交易订单、限制账户 使用功能、中止或终止服务等措施而无需事先通知您。 +

+

+ 4.7 违规行为的处理。如果您使用紫色名片平台时存在违反国家法律法规、本协议、侵害他 人利益、紫色名片利益或社会公共利益、严重违背社会公德等情形,紫色名片有权采取屏 蔽相关信息、中止或终止提供服务等处理措施。 +

+

+ 4.8 法律责任。您理解并同意,因您违反本协议或紫色名片规则而产生的第三方索赔请求, 由您自行承担法律责任;由此导致紫色名片遭受损失的,您也应当一并赔偿。 +

+

+   +

+

+ 5. 费用 +

+

+ 5.1 费用。除本协议另有约定外,紫色名片平台暂时为您提供免费服务,不向您收取任何费 用。但紫色名片保留收费的权利,包括设置收费的软件功能,决定收费对象、收费时段 或收费费率等。 +

+

+ 5.2 收费规则。紫色名片在收费前,会通过本协议或紫色名片规则约定的通知方式给予提前通 知,若您不同意紫色名片的收费规则,应当立即停止使用紫色名片平台;如果您继续使用 +

+

+
+

+

+ 紫色名片平台,则视为您接受相关收费规则,您应当遵照收费规则向紫色名片支付相应的 费用。 +

+

+   +

+

+ 6. 所有权及知识产权 +

+

+ 6.1 平台的知识产权。紫色名片提供的服务中包含的任何编码、商标、服务标志、商号、图 形、美术品、照片、肖像、文字内容、音频、视频、按钮图标以及计算机软件、标识、 数码下载、数据汇编等都是紫色名片或其内容提供者的财产,受到中华人民共和国和国 版权、商标权和其他财产所有权法律法规的保护。 +

+

+ 6.2 对平台的授权。对于您在任何时间以任何形式向紫色名片提供或在紫色名片平台发表的信 息或资料(包括但不限于文字、图片、视频、音频等)相关知识产权,您同意免费授 紫色名片及其关联公司获得全球排他的许可使用权利及再授权给其他第三方使用的 权利。您同意紫色名片及其关联公司存储、使用、复制、修订、编辑、发布、展示、翻 译、分发您的非个人信息或制作其派生作品,并以已知或日后开发的形式、媒体或技 术将上述信息纳入其他作品内。 +

+

+   +

+

+ 7. 用户守则 +

+

+ 7.1 禁止行为。您不得进行任何侵犯紫色名片知识产权的行为,或者进行其他有损于紫色名片 或其他用户合法权益的行为,包括但不限于: +

+

+ 1) 删除或修改紫色名片平台上的版权信息; +

+

+ 2) 紫色名片平台及其中的相关信息擅自出租、出借、复制、修改、链接、转载、汇 编、发表、出版、建立镜像站点,借助紫色名片平台发展与之有关的衍生产品、 作品、服务、插件、外挂、兼容、互联等; +

+

+ 3) 紫色名片平台中内置各种插件程序或者其他的第三方程序,或者制作、发布、 传播上述程序,而无论是否出于商业目的; +

+

+ 4) 进行编译、反编译、反向工程或者以其他方式破解紫色名片平台的行为; +

+

+ 5) 使用紫色名片平台外挂和/或利用紫色名片平台当中的 BUG 来获得不正当的利益; +

+

+ 6) 利用劫持域名服务器等技术非法侵入、破坏紫色名片平台的服务器软件系统,或 者修改、增加、删除、窃取、截留、替换紫色名片平台的客户端和/或服务器软件 系统中的数据,或者非法挤占紫色名片平台的服务器空间,或者实施其他的使之 超负荷运行的行为; +

+

+ 7) 假冒紫色名片或商家在紫色名片平台当中发布任何诈骗或虚假信息; +

+

+ 8) 利用紫色名片平台故意传播恶意程序或计算机病毒。 +

+

+ 7.2 信息发布。您应当遵守国家有关法律法规,不得在紫色名片平台当中发表、转发或者传 播含有下列内容的信息: +

+

+ 1) 反对宪法所确定的基本原则的; +

+

+ 2) 危害国家安全、泄露国家秘密、颠覆国家政权、破坏国家统一的; +

+

+ 3) 损害国家荣誉和利益的; +

+

+ 4) 煽动民族仇恨、民族歧视,破坏民族团结的; +

+

+ 5) 破坏国家宗教政策,宣扬邪教和封建迷信的; +

+

+ 6) 散布谣言,扰乱社会秩序,破坏社会稳定的; +

+

+ 7) 散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的; +

+

+ 8) 侮辱或者诽谤他人,侵害他人合法权益的; +

+

+ 9) 含有法律、行政法规禁止的其他内容的。 +

+

+ 7.3 法律责任。您需要对您在紫色名片平台的言论及行为承担法律责任,若您违反国家法律 法规的规定,紫色名片平台的系统记录有可能成为您违反法律法规的证据。 +

+

+   +

+

+ 8. 有限责任 +

+

+ 8.1 纠纷处理。您理解并同意,紫色名片并非司法机构,仅能以普通或非专业人员的知识水 平标准对各方提交的材料信息进行鉴别,若您与销售方之间发生纠纷并希望紫色名片 入处理,紫色名片对交易纠纷的调处完全是基于您和/或商家的委托,紫色名片无法保证 +

+

+
+

+

+ 交易纠纷处理结果符合您和/或商家的期望,也不对交易纠纷调处结果及赔付决定承 担任何责任。 +

+

+ 8.2 外部影响。不论在何种情况下,紫色名片均不对由于 Internet 连接故障,电脑、通讯 或其他系统的故障,电力故障,计算机病毒,程序漏洞,罢工,劳动争议,暴乱,起 +

+

+ 义,骚乱,生产力或生产资料不足,火灾,洪水,风暴,爆炸,不可抗力,战争,政 府行为,国际、国内法院的命令或第三方的不作为而造成的不能服务或延迟服务承担 +

+

+ 责任。 +

+

+ 8.3 服务中断。除法律法规规定外,紫色名片有权单方面地中止或者终止紫色名片平台所提供 的服务而无须提前通知您。您理解并同意,紫色名片需要定期或者不定期地对紫色名片 台、设备进行维护或者检修,因此造成的紫色名片服务在合理时间内的中断,紫色名片 需为此承担任何责任,但紫色名片将尽可能事先通知您。 +

+

+   +

+

+ 9. 个人信息保护及授权 +

+

+ 9.1 授权收集。您充分理解并同意紫色名片可能通过紫色名片平台在您自愿选择服务或提供信 息的情况下收集您的个人信息,例如您的姓名、电子邮箱、地址、电话号码及其他身 份信息等。我们有可能会保留一些用户的使用习惯信息,用于更好地了解和服务用户。 这些数据将有利于我们开发出更符合用户需求的功能、信息和服务。 +

+

+ 9.2 隐私政策。紫色名片非常重视您的个人信息保护,在您使用紫色名片提供的服务时,您同 意按照本协议及《紫色名片隐私政策》收集、存储、使用、披露和保护您的个人信息, 该《紫色名片隐私政策》是本协议的一部分,与本协议具有同等法律效力。 +

+

+ 9.3 技术的有限性。紫色名片将使用各种安全技术和程序防止您及其他用户个人信息的丢失、 不当使用、未经授权阅览或披露。但您充分理解并同意:由于技术的限制以及可能存 在的各种恶意手段,在互联网行业,即便竭尽所能加强安全措施,也不可能始终保证 信息百分之百的安全。 +

+

+   +

+

+ 10. 期限、解除和终止 +

+

+ 10.1 期限。本协议自您确认同意之日起生效并长期有效。 +

+

+ 10.2 账户的注销。您可以按照平台公示的方式要求注销账户,终止本协议。注销账户的条 件在紫色名片平台公示。您知晓并理解以下情况: +

+

+ 1) 注销账户后,您将放弃账户信息以及该账户在紫色名片的资产、虚拟权益等,且 紫色名片无法为您恢复前述服务。这可能对您主张售后服务带来不便。 +

+

+ 2) 您注销账户后,您的个人信息在紫色名片前台将不可检索、访问。您知晓并理解, 相关交易记录须在法律规定的期限内予以保存。 +

+

+ 10.3 协议的终止。出现以下情况时,紫色名片可以本协议约定的方式通知您终止本协议: +

+

+ 1) 您违反本协议约定,紫色名片依据违约条款终止本协议的; +

+

+ 2) 您盗用他人账户、发布违禁信息、骗取他人财物、扰乱市场秩序、采取不正当 手段谋利等行为,紫色名片依据紫色名片规则对您的账户予以查封的; +

+

+ 3) 除上述情形外,因您多次违反紫色名片规则相关规定且情节严重,紫色名片依据拼 多多规则对您的账户予以查封的; +

+

+ 4) 您的账户被紫色名片回收的; +

+

+ 5) 其它应当终止服务的情况。 +

+

+ 10.4 后续事项。协议终止或解除后续事项的处理 +

+

+ 1) 自本协议终止或解除之日起,紫色名片将关闭您在紫色名片平台的账户权限。 +

+

+ 2) 本协议终止或解除后,紫色名片有权保留您的注册信息及交易行为记录等数据, 紫色名片不承担在协议终止后向您或第三方提供任何数据信息的义务,也不就 协议终止向您或任何第三方承担责任,但法律法规另有规定的除外。 +

+

+ 3) 本协议终止或解除后,紫色名片仍保留对您过往的违约行为追究责任的权利。 +

+

+   +

+

+ 11. 不可抗力 由于不可抗力事件导致一方不能及时履行或者不能履行该方在本协议下的任何义务 +

+

+ (付款义务除外)的,不构成违约。但是受不可抗力事件影响的一方应立即把不可 +

+

+
+

+

+ 抗力事件的性质和程度通知对方,并积极采取相应补救措施,以最大程度地减少和 避免损失。 +

+

+   +

+

+ 12. 法律适用及管辖 +

+

+ 12.1 法律适用。本协议之订立、生效、解释、修订、补充、终止、执行与争议解决均适用 中华人民共和国大陆地区法律;如法律无相关规定的,参照商业惯例及/或行业惯例。 +

+

+ 12.2 约定管辖。对于因本协议而产生的或者与本协议有关的争议,双方均应努力通过友好 协商的方式进行解决。协商不成的,任何一方均有权提起诉讼,且双方一致同意由拼 +

+

+ 多多住所地人民法院管辖。 +

+

+   +

+

+ 13. 通知 +

+

+ 13.1 有效地址。您在注册紫色名片平台账户时所填写的联系电话、电子邮箱地址、联系地址 视为您的有效通知地址。若上述信息发生变更您应当及时进行更新,如果因您提供的 联系方式不准确,或不及时告知变更后的联系方式,使相关通知(包括但不限于协议 变更、法律文书等)无法送达或未及时送达,由您自行承担可能产生的法律后果。 +

+

+ 13.2 通知送达。紫色名片通过上述联系方式向您发出通知,其中以电子的方式发出的书面通 知,包括但不限于在紫色名片平台公告,向您提供的联系电话发送手机短信,向您提供 的电子邮箱发送电子邮件,向您的紫色名片用户账户发送系统消息以及站内信信息,在 发送成功后即视为送达;以纸质载体发出的书面通知,按照提供联系地址交邮后的第 五个自然日即视为送达。 +

+

+ 13.3 法律文书的送达。对于与紫色名片平台有关的任何纠纷,您同意行政、公安、司法等有 权机关可以通过手机短信、电子邮件、系统消息或站内信等方式向您送达法律文书, 有权机关向上述联系方式发出法律文书即视为送达;若同时采取以上多种方式向您 送达法律文书,送达时间以最先送达的为准。您同意上述送达方式适用于行政、仲裁、 司法等法定程序全过程。 +

+

+   +

+

+ 14. 其他 +

+

+ 14.1 条款的独立性。如果根据适用的法律认定本协议中的任何条款或者任何条款中的任何 部分无效、违法或者不具有可执行性,这种无效、违法或者不具有可执行性不影响本 协议中的任何其它条款或者这些条款中的任何其它部分的效力。 +

+

+ 14.2 平台权利的保留。本协议未明示授权的其他权利仍由紫色名片保留,用户未经紫色名片 面许可不得行使,且紫色名片未行使前述任何权利并不构成放弃权利。 +

+

+ 14.3  条标的作用。本协议条款的标题仅作参考使用,不界定、影响或限制本协议条款的含 +

+

+ 义、描述及解释。 +

+

+ 14.4 生效日期。本协议于 2015  8  29 日首次生效,并于 2019  1  1 日最新修订生 效。 +

diff --git a/mini-app/docs/隐私政策.txt b/mini-app/docs/隐私政策.txt new file mode 100644 index 000000000..6b6e87d3f --- /dev/null +++ b/mini-app/docs/隐私政策.txt @@ -0,0 +1,1610 @@ +
+

+ 紫色名片隐私政策 +     +

+

+ V2.1) +     +

+

+   +     +

+

+ 特别提示: +     +

+

+ 紫色名片宁夏露华浓酒业有限公司,以下或称“我们”)非常注重保护用户(“您”)的个人信息及隐私,鉴于您在使用我们的服务时,我们可能会收集和使用您的相关信息,为向您阐明用户信息收集、使用、共享、管理及保护的规则,特制定本《紫色名片隐私政策》(以下或称“本政策”)。 +     +

+

+ 在使用紫色名片各项产品或服务前,请您务必仔细阅读并透彻理解本政策(特别是加粗或下划线的内容),在确认充分理解并同意后使用相关产品或服务。一旦您开始使用紫色名片各项产品或服务,即表示您已充分理解并同意本政策。 +     +

+

+   +     +

+

+ 1. 政策范围及修订 +     +

+

+   本《紫色名片隐私政策》系《紫色名片服务协议》的组成部分,与《紫色名片服务协议》具有同等法律效力。 +     +

+

+   您理解并同意,紫色名片有权根据业务发展的需要单方修订本政策,并以修订后的版本完全替代修订前的版本。请您及时关注和了解本政策的修订情况,若您不同意修订后版本,您应立即停止使用紫色名片服务,否则即视同您同意并完全接受修订后的版本。 +     +

+

+   +     +

+

+ 1. 用户信息的收集和使用 +     +

+

+     本政策所称的个人信息是指以电子或者其他方式记录的能够单独或者与其他信息结合识别用户自然人个人身份的各种信息。单独的设备信息、搜索关键词信息等无法与特定个人直接建立联系的信息或数据,不属于个人信息。 +     +

+

+     您充分理解并同意,为实现网上购物、优化我们的产品与/服务及保障安全所必须的功能,您须授权紫色名片收集、使用您的如下信息: +     +

+

+   用户注册所需信息 +     +

+

+ 您使用本人手机号码注册成为紫色名片用户时,我们将通过发送短信验证码的方式来验证您的身份是否有效。在注册成为紫色名片用户的过程中,若您提供以下额外信息补全个人资料,将有助于我们给您提供更优质更个性化的服务,上述额外信息包括您的头像、昵称、性别、常住地、生日、个性签名等。若您不提供这些额外信息,不会影响您网上购物的基本功能。 +     +

+

+ 2.2.2.   展示商品与/服务所需信息 +     +

+

+ 为向您提供更契合您需求的页面展示和搜索结果,我们会收集关于您使用的服务以及使用方式的信息并将这些信息进行关联,这些信息包括: +     +

+

+ 1)       设备信息:紫色名片可能会读取您访问紫色名片平台或使用紫色名片服务时所使用的设备信息,包括但不限于设备类型、设备型号、设备设置、设备识别码、操作系统和应用程序版本、语言设置、分辨率、软硬件特征信息等。 +     +

+

+ 2)       日志信息:在您访问紫色名片平台或使用紫色名片服务时,系统可能会自动接收并记录的您的浏览器、计算机上的信息等(包括但不限于IP地址、浏览器类型、搜索记录、浏览记录、浏览习惯、使用的语言、访问日期和时间、电信运营商及记录您需求的网页记录等)。 +     +

+

+ 3)       您理解并同意,单独的设备信息、日志信息是无法识别特定自然人身份的信息,不属于您的个人信息。若我们将这类非个人信息与其他信息结合用于识别特定自然人身份,或者将其与个人信息结合使用,则在结合使用期间,这类非个人信息将被视为个人信息,我们会依据法律规定及本政策对该等信息进行保护。 +     +

+

+ 2.2.3.   交易及售后所需信息 +     +

+

+ 1)       订单信息 +     +

+

+ 当您在紫色名片下单购买商品/服务时,紫色名片系统会生成您购买该商品/服务的订单。您需在订单中至少填写您的收货人姓名(或名称)、收货地址及电话号码,该订单会同时载明订单号、您所购买的商品或服务信息、下单时间、成团时间、您实际支付的货款金额及您采用的支付方式等。根据部分商品或服务的特点,您可能还需提供相关身份信息(如您的身份证、军官证、护照、港澳台通行证、驾驶证、社保卡、学生证或相关证件号码等)、电子邮箱、您本人的照片或视频等,如您不购买/不使用某些商品/服务,则无需提供相关信息。 +     +

+

+ 您理解并同意,我们将使用您的订单信息来进行您的身份核验、确定交易、支付结算,为您查询订单,提供客服咨询与售后服务等;我们可能还会使用您的订单信息来判断您的交易是否存在异常以保护您的交易安全。 +     +

+

+ 2)       支付信息 +     +

+

+ 在您下单后,您可通过紫色名片系统支持的第三方支付机构完成支付,支付功能本身并不收集您的个人信息,但我们需将您的订单号、交易金额等与您选择的支付机构共享以实现其确认您的支付指令并完成支付。 +     +

+

+ 3)       客服与/售后服务所需信息 +     +

+

+ 我们的客服和售后功能会使用您的账户信息和订单信息。为保证您的账户安全,我们的客服会使用您的账户信息核验您的身份。当您需要使用客服或售后功能时,我们会查询您的订单信息。在与我们的客服人员沟通时,您可能还需要提供上述信息之外的其他信息,如当您要求变更配送地址、联系人或联系电话等。 +     +

+

+ 4)       保障交易安全所需信息 +     +

+

+ 为确认交易状态及为您提供售后与争议解决服务,我们须通过您基于交易所确定的交易对象、第三方支付机构、物流公司等收集与交易进度相关的您的交易、支付、物流信息,或将您的交易信息共享给上述服务提供者。 +     +

+

+ 2.2.4.   优化产品与/服务所需信息 +     +

+

+ 我们可能会收集您的订单信息、浏览记录、浏览习惯等进行数据分析以描述用户特征,用来为您展示或推荐您感兴趣的商品或服务信息。除上述信息外,我们还可能为提供服务或改进服务质量的合理需要而收集您的其他信息,包括您与我们的客服联系时提供的信息,您参与问卷调查时向我们发送的信息等。我们可能会将来自某项服务的信息与来自其他服务的信息结合起来,以便为您提供服务、个性化内容和建议。对于从您的各种设备上收集到的信息,我们可能会将它们进行关联,以便我们能在这些设备上为您提供一致的服务。 +     +

+

+ 2.2.5.   保障账户安全所需信息 +     +

+

+ 为提高您使用紫色名片服务的安全性,更准确地预防钓鱼网站欺诈和保护账户安全,我们可能会通过了解您的订单信息、浏览记录、浏览习惯、常用软件信息、设备信息等来判断您账户的风险,并可能会记录一些我们认为有风险的链接(“URL”)。 +     +

+

+ 2.3.     用户可选择是否授权收集、使用的信息 +     +

+

+ 为向您提供更加优质、满意、个性化的服务,努力提升您的用户体验,我们可能会附加收集和使用您的信息。若您不提供这些信息,您依然可以获得紫色名片为您提供的服务,但您可能无法获得这些附加信息给您带来的用户体验。 +     +

+

+ 2.3.1.   位置信息:我们可能会收集您的位置信息来判断您所处的地点,为您推荐您所在区域可以购买的商品或服务(我们仅收集您当时所处的地理位置,不会将您不同时段的位置信息进行联系、结合以判断您的行踪轨迹)。 +     +

+

+ 2.3.2.   摄像头(相机)、相册(图片库)信息您可以在紫色名片上传照片或图片来晒单、发表评论信息,我们可能会通过您所上传的照片或图片来识别您需要购买的商品或服务,或使用包含您所上传照片或图片的评论信息 +     +

+

+ 2.3.3.   麦克风(语音)信息:为更好地使用紫色名片服务,您可能会启用麦克风与我们、紫色名片商家或其他主体沟通,我们可能会收集您的语音信息以识别您的需求。 +     +

+

+ 2.3.4.   通讯录信息:我们可能会收集您的通讯录信息以方便您在购买商品或服务时无须手动输入您通讯录中的联系人信息。我们可能会判断您的通讯录联系人是否同为紫色名片用户,以在紫色名片为你们的交流建立联系。 +     +

+

+ 2.3.5.   您理解并同意,在上述情形下,我们可能需要您在您的设备中开启您的地理位置(位置信息)、摄像头(相机)、相册(图片库)、麦克风(语音)以及通讯录等访问权限,以实现这些权限所涉及信息的收集和使用。您可在您的设备中逐项查看上述权限的状态,并可自行决定这些权限的开启或关闭。当您开启任一权限即代表您授权我们收集和使用该项信息来实现对应目标。您一旦关闭任一权限即代表您取消了授权,我们将不再继续收集和使用该项个人信息,也无法为您实现该授权所对应目标。但是,您关闭权限的决定不会影响此前基于您的授权所进行的信息的收集、处理与使用。 +     +

+

+ 2.4.     征得授权同意的例外 +     +

+

+ 您充分知晓,根据相关法律法规之规定,以下情形中,我们收集、使用您的个人信息无须征得您的授权同意: +     +

+

+ 2.4.1.   与国家安全、国防安全有关的; +     +

+

+ 2.4.2.   与公共安全、公共卫生、重大公共利益有关的; +     +

+

+ 2.4.3.   与犯罪侦查、起诉、审判和判决执行等有关的; +     +

+

+ 2.4.4.   出于维护个人信息主体或其他个人的生命、财产等重大合法权益但又很难得到本人同意的; +     +

+

+ 2.4.5.   所收集的个人信息是您自行向社会公众公开的; +     +

+

+ 2.4.6.   从合法公开披露的信息中收集个人信息的,如合法的新闻报道、政府信息公开等渠道; +     +

+

+ 2.4.7.   根据您的要求签订合同所必需的; +     +

+

+ 2.4.8.   用于维护所提供的产品或服务的安全稳定运行所必需的,例如发现、处置产品或服务故障; +     +

+

+ 2.4.9.   为合法的新闻报道所必需的; +     +

+

+ 2.4.10.    学术研究机构基于公共利益开展统计或学术研究所必要,且对外提供学术研究或描述的结果时,对结果中所包含的个人信息进行去标识化处理的; +     +

+

+ 2.4.11.    法律法规规定的其他情形。 +     +

+

+ 2.5.     来自第三方的信息 +     +

+

+ 您理解并同意,在您注册紫色名片账户和使用服务过程中,您授权紫色名片可向紫色名片的关联方、合作伙伴获取其所收集的相关信息。若您使用第三方账户登录紫色名片,我们可从第三方获取您授权共享的账户信息(头像、昵称等),并将您的第三方账户与您的紫色名片账户绑定,使您可以通过第三方账户直接登录并使用我们的服务。 +     +

+

+ 2.6.     用户信息的授权使用 +     +

+

+ 为向您提供满意优质的服务,您理解、同意并授权我们将您的信息用于下列用途: +     +

+

+ 2.6.1.   向您提供您使用的各项服务,并维护、改进这些服务; +     +

+

+ 2.6.2.   向您推荐您可能感兴趣的内容,包括但不限于向您发出产品、服务信息,或通过系统向您展示个性化的第三方推广信息,或在征得您同意的情况下与紫色名片的合作伙伴共享信息以便他们向您发送有关其产品和服务的信息。如您不希望接收上述信息,可通过退订功能退订; +     +

+

+ 2.6.3.   我们可能会使用您的个人信息以验证身份、预防、发现、调查欺诈、危害安全、非法或违反与我们或其关联方协议、政策或规则的行为,以保护您、其他紫色名片用户,或我们或其关联方的合法权益; +     +

+

+ 2.6.4.   我们可能会将来自某项服务的信息与来自其他服务所获得的信息结合起来,用于为您提供更加个性化的服务使用,例如为让您通过购物拥有更广泛的社交圈而使用、共享或披露您的信息; +     +

+

+ 2.6.5.   我们会对我们的服务使用情况进行统计,并可能会与公众或第三方分享这些统计信息,以展示我们的产品或服务的整体使用趋势。但这些统计信息不包含您的任何身份识别信息。 +     +

+

+ 2.6.6.   邀请您参与有关我们产品、服务的调查; +     +

+

+ 2.6.7.   经您同意或授权的或法律法规允许的其他用途。 +     +

+

+   +     +

+

+ 1. Cookie + 及类似技术的使用 +     +

+

+     您理解并同意,为使您获得更轻松的访问体验,您访问紫色名片平台或使用紫色名片服务时,我们可能会采用各种技术收集和存储相关信息,包括使用小型数据文件识别您的身份,以了解您的使用习惯,帮您省去重复输入注册信息的步骤,或者帮助判断您的账户安全。这些数据文件可能是Cookie、Flash + Cookie,或您的浏览器或关联应用程序提供的其他本地存储(统称“Cookie”)。 +     +

+

+     您理解并同意,我们的某些服务可能只有通过使用Cookie才可得到实现。如果您的浏览器或浏览器附加服务允许,您可以修改对Cookie的接受程度或者拒绝紫色名片Cookie,但拒绝紫色名片Cookie在某些情况下可能会影响您安全访问紫色名片平台和使用紫色名片服务。 +     +

+

+     您理解并同意,您在访问紫色名片平台或使用紫色名片服务的过程中可能会存在一些电子图像,称为“单像素 GIF 文件”、“网络 beacon”或其他类似技术(统称“网络 + beacon”),它可以帮助网站计算浏览网页的用户或访问某些cookie。我们可能会通过网络beacon收集您浏览网页活动信息,例如您访问的页面地址、您先前访问的援引页面的位址、您停留在页面的时间、您的浏览环境及显示设定等。 +     +

+

+   +     +

+

+ 1. 用户信息的共享、转让和公开披露 +     +

+

+     用户信息的共享 +     +

+

+   除以下情况外,我们不会将您的个人信息提供给紫色名片以外的任何个人、公司或组织共享: +     +

+

+ 1)       依据本政策或事先已获得您明确的同意或授权; +     +

+

+ 2)       根据适用的法律、法规、法律程序的要求、行政或司法的强制性要求所必须时; +     +

+

+ 3)       在法律、法规允许的范围内,为维护紫色名片及关联方或合作伙伴、您或其他紫色名片用户或社会公共利益、财产或安全免遭损害时; +     +

+

+ 4)       为实现我们的服务的核心功能或提供您需要的服务; +     +

+

+ 5)       应您的需求为您处理您与他人的纠纷或争议; +     +

+

+ 6)       根据与您签署的相关协议或其他法律文件的约定; +     +

+

+ 7)       基于学术研究而使用; +     +

+

+ 8)       基于符合法律、法规规定的社会公共利益而使用。 +     +

+

+ 4.1.2.   您充分理解并同意,我们可能会将您的个人信息与我们的关联方共享。但我们只会共享必要的个人信息,且受本政策中所声明目的的约束。 +     +

+

+ 4.1.3.   您充分理解并同意,我们可能会向合作伙伴(如提供商品或技术、广告等服务的供应商、紫色名片商家、委托我们进行推广的合作伙伴、代表我们发出信息的通讯服务商、支付机构等)或其他第三方共享您的信息,以保障为您提供的服务顺利完成。但我们仅会出于合法、正当、必要、特定且明确的目的共享您的信息,并且仅共享提供服务所必要的个人信息。 +     +

+

+ 4.1.4.   您充分理解并同意,我们在防止欺诈等违法活动、减少信用风险等情况下,可能与其他公司或组织交换用户个人信息,但并不包括违反本政策中所作的承诺而为获利目的出售、出租、共享或以其它任何方式披露的个人信息。 +     +

+

+ 4.2.     用户信息的转让 +     +

+

+ 除以下情况外,我们不会将您的个人信息转让给任何个人、公司或组织: +     +

+

+ 4.2.1.   事先获得您明确的同意或授权; +     +

+

+ 4.2.2.   根据适用的法律、法规、法律程序的要求、行政或司法的强制性要求所必须时; +     +

+

+ 4.2.3.   根据与您签署的相关协议或其他法律文件的约定; +     +

+

+ 4.2.4.   涉及合作、联营、合并、收购、资产转让或其他类似交易时。 +     +

+

+ 4.3.     用户信息的公开披露 +     +

+

+ 紫色名片非常重视保护您的个人信息,未经您同意,紫色名片不会将其披露给无关的第三方,更不会将其公之于众,但因下列原因而披露的除外: +     +

+

+ 4.3.1.   获得您明确同意或基于您的主动选择; +     +

+

+ 4.3.2.   根据法律、法规的要求、强制性的行政执法或司法要求所必须提供您个人信息的情况下,我们可能会依据所要求的个人信息类型和披露方式公开披露您的个人信息; +     +

+

+ 4.3.3.   其他依据法律规定或双方约定可以披露的情形。 +     +

+

+ 4.3.4.   您理解并同意,根据法律规定,共享、转让经去标识化处理的个人信息,且确保数据接收方无法复原并重新识别个人信息主体的,不属于个人信息的对外共享、转让及公开披露行为,对此类数据的保存及处理将无需另行向您通知并征得您的同意。 +     +

+

+   +     +

+

+ 1. 用户个人信息的保护 +     +

+

+     我们会采取符合法律规定、合理可行的安全防护措施和制度保护您个人信息的安全,防止您的个人信息遭到未经授权访问、公开披露、使用、修改、损坏或丢失。 +     +

+

+     我们会采取合理可行的措施以避免收集无关的个人信息。我们只会在达成本政策所述目的所需期限内保留您的个人信息,除非需要延长保留期或应法律法规的允许或要求。 +     +

+

+     互联网并非绝对安全的环境,我们强烈建议您不要使用非紫色名片推荐的通信方式发送个人信息。您可以通过我们的服务建立联系和相互分享。当您通过我们的服务创建交流、交易或分享时,您可自主选择沟通、交易或分享的对象,作为能够看到您的交易内容、联络方式、交流信息或分享内容等相关信息的第三方。 +     +

+

+     在使用紫色名片服务进行网上交易时,您不可避免地要向交易对方或潜在的交易对方披露自己的个人信息,如联络方式或联系地址。请您妥善保护自己的个人信息,仅在必要情形下向他人提供。如您发现自己的个人信息尤其是您的账户或密码发生泄露,请您立即联络紫色名片,以便我们根据您的申请采取相应措施。 +     +

+

+     特别提醒您注意,您在使用我们服务时自愿共享甚至公开分享的信息,可能会涉及您或他人的个人信息甚至个人敏感信息,如您在评价时选择上传包含个人信息的图片。请您更加谨慎地考虑,是否在使用我们的服务时共享甚至公开分享相关信息。 +     +

+

+     如上述,紫色名片将使用各种安全技术、程序和制度防止用户个人信息的丢失、不当使用、未经授权的阅览或披露。但您充分理解并同意:由于技术的限制以及可能存在的各种恶意手段,在互联网行业,即便竭尽所能加强安全措施,也不可能始终保证信息百分之百的安全。 +     +

+

+     在不幸发生个人信息安全事件后,我们将按照法律法规的要求向您告知:安全事件的基本情况和可能的影响、我们已采取或将要采取的处置措施、您可自主防范和降低风险的建议、对您的补救措施等。事件相关情况我们将以信函、电话、推送通知等方式告知您,难以逐一告知个人信息主体时,我们会采取合理、有效的方式发布公告。同时,我们还将按照监管部门要求,上报个人信息安全事件的处置情况。 +     +

+

+   +     +

+

+ 1. 用户个人信息的保存、访问和管理 +     +

+

+     用户个人信息的保存 +     +

+

+ 您的个人信息将全部被存储于中华人民共和国境内,但以下情形除外: +     +

+

+ 6.1.1.   法律法规另有明确规定; +     +

+

+ 6.1.2.   获得您的明确授权; +     +

+

+ 6.1.3.   您通过互联网进行跨境交易等个人主动行为; +     +

+

+ 6.1.4.   针对以上情形,我们会依据本政策及相关法律法规对您的个人信息提供保护。 +     +

+

+ 6.2.     用户个人信息的访问 +     +

+

+ 您有权通过以下方式访问您的个人信息,但法律法规另有规定,或本政策、《紫色名片服务协议》另有约定除外。 +     +

+

+ 6.2.1.   账户信息——若您希望访问或编辑您的账户中的个人基本资料等信息,您可登录账号通过“个人中心-我的资料”执行此类操作。 +     +

+

+ 6.2.2.   搜索信息—您可登录账号通过“搜索”访问或清除您的搜索记录。 +     +

+

+ 6.2.3.   浏览信息——您可登陆账号通过“个人中心-我的足迹”访问或清除您的浏览记录。 +     +

+

+ 6.2.4.   订单信息:您可登录账号通过“个人中心-我的订单”访问或清除您的订单记录、拼单记录、交易记录等。 +     +

+

+ 6.2.5.   若您无法通过上述路径访问该等信息,您可通过紫色名片客服与我们联系。对于您在使用我们的产品或服务过程中产生的其他个人信息,我们将根据第6.5条“响应您的上述请求”中的相关安排向您提供。 +     +

+

+ 6.3.     用户个人信息的更正、补充 +     +

+

+ 当您发现您的个人信息有误或需要补充时,您可通过“6.2用户个人信息的访问”中列明的方式提出更正或补充申请。 +     +

+

+ 6.4.     用户个人信息的删除 +     +

+

+ 您可通过“6.2用户个人信息的访问”中列明的方式删除您的部分个人信息。 +     +

+

+ 在以下情形中,您可向我们提出删除个人信息的请求: +     +

+

+ 1)我们处理个人信息的行为违反法律法规; +     +

+

+ 2)我们收集、使用您的个人信息,却未征得您的明确同意; +     +

+

+ 3)我们处理个人信息的行为严重违反了与您的约定; +     +

+

+ 4)您不再使用我们的产品或服务; +     +

+

+ 5)我们永久不再为您提供产品或服务。 +     +

+

+ 6.5.     响应您的上述请求 +     +

+

+ 为保障安全,您可能需要提供书面请求,或以其他方式证明您的身份。我们可能会先要求您验证自己的身份,然后再处理您的请求。对于您合理的请求,我们原则上不收取费用,但对多次重复、超出合理限度的请求,我们将视情况收取一定成本费用。对于那些无端重复、需要过多技术手段(例如,需要开发新系统或从根本上改变现行惯例)、给他人合法权益带来风险或者非常不切实际的请求,我们可能会予以拒绝。 +     +

+

+ 6.6.     您理解并同意,在以下情形中,按照法律法规的要求,我们将无法响应您的请求: +     +

+

+ 6.6.1.   与国家安全、国防安全有关的; +     +

+

+ 6.6.2.   与公共安全、公共卫生、重大公共利益有关的; +     +

+

+ 6.6.3.   与犯罪侦查、起诉、审判和执行判决等有关的; +     +

+

+ 6.6.4.   有充分证据表明个人信息主体存在主观恶意或滥用权利的; +     +

+

+ 6.6.5.   响应您的请求将导致您或其他个人、组织的合法权益受到严重损害的; +     +

+

+ 6.6.6.   涉及商业秘密的。 +     +

+

+   +     +

+

+ 1. 未成年人信息保护 +     +

+

+ 我们非常重视未成年人的个人信息保护,若您为18周岁以下的未成年人,请您及您的监护人仔细阅读本政策,并在征得您的监护人同意的前提下使用我们的服务或向我们提供信息。 +     +

+

+   +     +

+

+ 1. 其他 +     +

+

+     条款的独立性 +     +

+

+ 如果根据适用的法律认定本政策中的任何条款或者任何条款中的任何部分无效、违法或者不具有可执行性,这种无效、违法或者不具有可执行性不影响本政策中的任何其它条款或者这些条款中的任何其它部分的效力。 +     +

+

+ 8.2.     联系我们 +     +

+

+ 您对本政策或您的个人信息相关事宜有任何问题、意见或建议,请联系紫色名片客服或通过个人中心“设置”中的“意见反馈”联系我们。 +     +

+

+ 8.3.     生效日期 +     +

+

+ 本政策于2021121日首次生效 +     +

+

+   +     +

+

+   +     +

+

+
+     +

+
diff --git a/mini-app/src/apis/mallApis.js b/mini-app/src/apis/mallApis.js index 0976c0ba5..3e0cdf4e1 100644 --- a/mini-app/src/apis/mallApis.js +++ b/mini-app/src/apis/mallApis.js @@ -29,6 +29,18 @@ class MallApis { url: baseUrl + 'winery/activity/open/list' }) } + + getNotice() { + return request.get({ + url: baseUrl + 'winery/activity/open/notice' + }) + } + + getNewsContent(id) { + return request.get({ + url: baseUrl + 'news/news_content/open/' + id + }) + } } export default new MallApis() diff --git a/mini-app/src/app.wpy b/mini-app/src/app.wpy index b67dc68cf..4f2b86d93 100644 --- a/mini-app/src/app.wpy +++ b/mini-app/src/app.wpy @@ -109,6 +109,7 @@ pages: [ 'pages/mall/order/order-detail-list', 'pages/mall/order/order-check', 'pages/mall/shopping-car/shopping-car-list', +'pages/news/news-detail', 'pages/winery/winery-detail', 'pages/winery/winery-list', 'pages/webView/web' diff --git a/mini-app/src/appManager.js b/mini-app/src/appManager.js index 55ceb3089..1e62b7c55 100644 --- a/mini-app/src/appManager.js +++ b/mini-app/src/appManager.js @@ -88,6 +88,8 @@ class AppManager { navigateTo(path) { console.log('path:', path) + + if (!store.state.user.token) { eventHub.$emit('onShowDialogUserInfo') return diff --git a/mini-app/src/baseDefine.js b/mini-app/src/baseDefine.js index 68752e700..535c40ce3 100644 --- a/mini-app/src/baseDefine.js +++ b/mini-app/src/baseDefine.js @@ -5,9 +5,8 @@ */ // export const baseUrl = 'http://36.1.50.18:18989/' -// export const baseUrl = 'http://127.0.0.1:18989/' -export const baseUrl = 'https://mall.xiao4r.com/api/' - +export const baseUrl = 'http://127.0.0.1:18989/' +// export const baseUrl = 'https://mall.xiao4r.com/api/' export const imgbaseUrl = 'https://www.xiao4r.com/xiao4rstatic/img/winery/' export const sysImgBaseUrl = 'https://winery-1257413599.cos.ap-beijing.myqcloud.com/' diff --git a/mini-app/src/components/mall/tab/mall-home.wpy b/mini-app/src/components/mall/tab/mall-home.wpy index 67bc76e31..5b96a4ad3 100644 --- a/mini-app/src/components/mall/tab/mall-home.wpy +++ b/mini-app/src/components/mall/tab/mall-home.wpy @@ -109,7 +109,7 @@ module.exports.parseImage = parseImage; { this.records = r.rows }) + + mallApis.getNotice().then(r => { + this.notice = r.msg + }) } }) diff --git a/mini-app/src/components/user/dialog-registration.wpy b/mini-app/src/components/user/dialog-registration.wpy index 9016611d9..192def635 100644 --- a/mini-app/src/components/user/dialog-registration.wpy +++ b/mini-app/src/components/user/dialog-registration.wpy @@ -35,7 +35,7 @@ border="{{ false }}" use-button-slot > - 授权 @@ -58,11 +58,14 @@ - + - 我同意xxxxx 用户协议 - + /> + + 我同意并遵守紫色名片 + 《隐私政策》 及 + 《用户条款》 + 的全部内容 @@ -77,18 +80,18 @@ import { mapActions, mapState } from '@wepy/x' import eventHub from '../../common/eventHub' import appManager from '../../appManager' import userApis from '../../apis/userApis' +import { newsDetailPage } from '../../store/constant/nav/pages' wepy.component({ store, props: {}, hooks: {}, - data: { that: this, isShow: false, model: {}, - isChecked: false, + isChecked: false }, computed: mapState(['user']), @@ -107,7 +110,6 @@ wepy.component({ this.setUserInfoAction(event.$wx.detail.userInfo) console.log('userInfo:', store.state.user.userInfo) - if (!this.isChecked) { appManager.showToast('请确认xxxx协议.') return false @@ -160,6 +162,16 @@ wepy.component({ }, onClose() { this.isShow = false + }, + onTapAgreement() { + wx.navigateTo({ + url: newsDetailPage + '?id=' + 'fb4109a4020b2a2a9d1172f66d043897' + }) + }, + onTapPrivacy() { + wx.navigateTo({ + url: newsDetailPage + '?id=' + 'a1e5ec18ae13036d14c94bf0e5d11756' + }) } }, diff --git a/mini-app/src/pages/mall/goods/goods-detail.wpy b/mini-app/src/pages/mall/goods/goods-detail.wpy index ca48baec1..51108b9e5 100644 --- a/mini-app/src/pages/mall/goods/goods-detail.wpy +++ b/mini-app/src/pages/mall/goods/goods-detail.wpy @@ -21,7 +21,7 @@ module.exports.parseImage = parseImage; -
+
@@ -33,7 +33,7 @@ module.exports.parseImage = parseImage; -
+
{{goodsItem.goodsName}} {{goodsItem.goodsAlias}}
diff --git a/mini-app/src/pages/news/news-detail.wpy b/mini-app/src/pages/news/news-detail.wpy new file mode 100644 index 000000000..f9c3931f4 --- /dev/null +++ b/mini-app/src/pages/news/news-detail.wpy @@ -0,0 +1,137 @@ + + + +const parseImage = (imageKey) => { +return 'https://winery-1257413599.cos.ap-beijing.myqcloud.com/' + imageKey +} +module.exports.parseImage = parseImage; + + + + + +{ +navigationBarTitleText: '', +usingComponents: { + +} +} + diff --git a/mini-app/src/pages/winery/winery-detail.wpy b/mini-app/src/pages/winery/winery-detail.wpy index 920bf97b5..1e6ca54f0 100644 --- a/mini-app/src/pages/winery/winery-detail.wpy +++ b/mini-app/src/pages/winery/winery-detail.wpy @@ -69,19 +69,21 @@ module.exports.parseImage = parseImage; - -
- -
-
{{wineryItem.mchName}}
-
{{wineryItem.subtitle}}
+
+ +
+ +
+
{{wineryItem.mchName}}
+
{{wineryItem.subtitle}}
- 酒庄简介 -
- + 酒庄简介 +
+ +
-
+
diff --git a/mini-app/src/pages/winery/winery-list.wpy b/mini-app/src/pages/winery/winery-list.wpy index cdc3ae2fb..24f7aa09d 100644 --- a/mini-app/src/pages/winery/winery-list.wpy +++ b/mini-app/src/pages/winery/winery-list.wpy @@ -130,7 +130,7 @@ module.exports.parseAwards = parseAwards;
- +
{{item.mchName}} {{item.subtitle}} diff --git a/mini-app/src/store/constant/nav/my.js b/mini-app/src/store/constant/nav/my.js index 3ab3a804d..91851691d 100644 --- a/mini-app/src/store/constant/nav/my.js +++ b/mini-app/src/store/constant/nav/my.js @@ -1,5 +1,5 @@ import { imgbaseUrl } from '../../../baseDefine' -import { orderDetailListPage, orderListPage, userAddressListPage } from './pages' +import { newsDetailPage, orderDetailListPage, orderListPage, userAddressListPage } from './pages' export const myMenuList1 = [ @@ -29,9 +29,9 @@ export const myMenuList2 = [ icon: imgbaseUrl + '/my/tool_2.png', path: orderDetailListPage }, { - name: '条款政策', + name: '隐私政策', icon: imgbaseUrl + '/my/tool_3.png', - path: '' + path: newsDetailPage + '?id=' + 'a1e5ec18ae13036d14c94bf0e5d11756' } ] diff --git a/mini-app/src/store/constant/nav/pages.js b/mini-app/src/store/constant/nav/pages.js index b3ec18d3f..4f7cfd215 100644 --- a/mini-app/src/store/constant/nav/pages.js +++ b/mini-app/src/store/constant/nav/pages.js @@ -4,6 +4,7 @@ export const orderDetailListPage = '/pages/mall/order/order-detail-list' export const orderCheck = '/pages/mall/order/order-check' export const userAddressListPage = '/pages/mall/user/user-address-list' export const goodsDetailPage = '/pages/mall/goods/goods-detail' +export const newsDetailPage = '/pages/news/news-detail' export const wineryListPage = '/pages/winery/winery-list' export const wineryDetailPage = '/pages/winery/winery-detail' export const webViewPage = '/pages/webView/web' diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java index b4017e981..1756293bd 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java @@ -117,6 +117,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter .antMatchers("/winery/mini/user/**").permitAll() .antMatchers("/winery/order/pay/**").permitAll() .antMatchers("/winery/activity/open/**").permitAll() + .antMatchers("/news/news_content/open/**").permitAll() // 除上面外的所有请求全部需要鉴权认证 .anyRequest().authenticated() .and()