diff --git a/.gitignore b/.gitignore index 5b3cadecbe89aa36442cb5c4a640533abc000ff0..f6051b4015f5810b74b66ba3ff3bc6c698b5e4e0 100644 --- a/.gitignore +++ b/.gitignore @@ -4,5 +4,6 @@ dist dist-ssr *.local project.config.json +project.private.config.json *.less -/miniprogram_npm \ No newline at end of file +/miniprogram_npm diff --git a/src/mindspore/README.en.md b/src/mindspore/README.en.md deleted file mode 100644 index 49eedac1d69da3ced2de412f5f0cd4ef1f72945a..0000000000000000000000000000000000000000 --- a/src/mindspore/README.en.md +++ /dev/null @@ -1,36 +0,0 @@ -# mini-mindspore - -#### Description -mindspore小程序 - -#### Software Architecture -Software architecture description - -#### Installation - -1. xxxx -2. xxxx -3. xxxx - -#### Instructions - -1. xxxx -2. xxxx -3. xxxx - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request - - -#### Gitee Feature - -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/src/mindspore/app.json b/src/mindspore/app.json index 0d11d4e00e654a96f20e760abd0604dfe9b67cef..40f49b7a25776602741e1a6294553d0ae2ea5197 100644 --- a/src/mindspore/app.json +++ b/src/mindspore/app.json @@ -1,129 +1,130 @@ -{ - "pages": [ - "pages/index/index", - "pages/auth/auth", - "components/user-info/user-info", - "pages/meeting/meeting", - "pages/events/events", - "pages/my/my" - ], - "subpackages": [ - { - "root": "package-meeting", - "pages": [ - "sig/sig-list", - "reserve/reserve", - "sig/add-sig-member", - "sig/member-detail", - "sig/add-member", - "sig/del-member", - "meeting/detail", - "meeting/meeting-success", - "meeting/meeting-list", - "sig/group", - "sig/msg-list" - ] - }, - { - "root": "package-events", - "pages": [ - "events/event-list", - "manage/enterprise-list", - "manage/member-detail", - "manage/add-member", - "manage/del-member", - "publish/publish", - "publish/success", - "events/event-detail", - "events/poster" - ] - }, - { - "root": "package-my", - "pages": [ - "my/privecy", - "my/privecy-historical", - "my/privecy-seting", - "my/my-meetings", - "my/my-collection", - "my/help", - "my/qrcode", - "events/my-list", - "my/feedback" - ] - } - ], - "preloadRule": { - "pages/index/index": { - "network": "all", - "packages": [ - "package-meeting", - "package-events", - "package-my" - ] - } - }, - "window": { - "backgroundTextStyle": "light", - "navigationBarBackgroundColor": "#fff", - "navigationBarTitleText": "MindSpore", - "navigationBarTextStyle": "black", - "backgroundColor": "#fff" - }, - "usingComponents": { - "van-swipe-cell": "./miniprogram_npm/@vant/weapp/swipe-cell/index", - "van-dialog": "./miniprogram_npm/@vant/weapp/dialog/index", - "van-checkbox": "./miniprogram_npm/@vant/weapp/checkbox/index", - "van-checkbox-group": "./miniprogram_npm/@vant/weapp/checkbox-group/index", - "van-popup": "./miniprogram_npm/@vant/weapp/popup/index", - "van-radio": "./miniprogram_npm/@vant/weapp/radio/index", - "van-radio-group": "./miniprogram_npm/@vant/weapp/radio-group/index", - "van-datetime-picker": "./miniprogram_npm/@vant/weapp/datetime-picker/index", - "van-picker": "./miniprogram_npm/@vant/weapp/picker/index", - "van-action-sheet": "./miniprogram_npm/@vant/weapp/action-sheet/index", - "van-collapse": "./miniprogram_npm/@vant/weapp/collapse/index", - "van-collapse-item": "./miniprogram_npm/@vant/weapp/collapse-item/index" - }, - "sitemapLocation": "sitemap.json", - "__usePrivacyCheck__": true, - "tabBar": { - "custom": true, - "color": "#C7CAD0", - "selectedColor": "#389EEB", - "backgroundColor": "#fff", - "list": [ - { - "iconPath": "static/tabbar/home.png", - "selectedIconPath": "static/tabbar/home-selected.png", - "pagePath": "pages/index/index", - "text": "首页" - }, - { - "iconPath": "static/tabbar/meeting.png", - "selectedIconPath": "static/tabbar/meeting-selected.png", - "pagePath": "pages/meeting/meeting", - "text": "会议" - }, - { - "iconPath": "static/tabbar/events.png", - "selectedIconPath": "static/tabbar/events-selected.png", - "pagePath": "pages/events/events", - "text": "活动" - }, - { - "iconPath": "static/tabbar/my.png", - "selectedIconPath": "static/tabbar/my-selected.png", - "pagePath": "pages/my/my", - "text": "我的" - } - ] - }, - "permission": { - "scope.userLocation": { - "desc": "您的位置信息将用于确定活动地址" - } - }, - "requiredPrivateInfos": [ - "chooseLocation" - ] +{ + "pages": [ + "pages/index/index", + "pages/auth/auth", + "components/user-info/user-info", + "pages/meeting/meeting", + "pages/events/events", + "pages/my/my" + ], + "subpackages": [ + { + "root": "package-meeting", + "pages": [ + "sig/sig-list", + "reserve/reserve", + "sig/add-sig-member", + "sig/member-detail", + "sig/add-member", + "sig/del-member", + "meeting/detail", + "meeting/meeting-success", + "meeting/meeting-list", + "sig/group", + "sig/msg-list" + ] + }, + { + "root": "package-events", + "pages": [ + "events/event-list", + "manage/enterprise-list", + "manage/add-member", + "manage/del-member", + "publish/publish", + "publish/success", + "events/event-detail", + "events/poster" + ] + }, + { + "root": "package-my", + "pages": [ + "my/privecy", + "my/privecy-historical", + "my/privecy-seting", + "my/my-meetings", + "my/my-collection", + "my/help", + "my/qrcode", + "events/my-list", + "my/feedback", + "my/sdk", + "my/share" + ] + } + ], + "preloadRule": { + "pages/index/index": { + "network": "all", + "packages": [ + "package-meeting", + "package-events", + "package-my" + ] + } + }, + "window": { + "backgroundTextStyle": "light", + "navigationBarBackgroundColor": "#fff", + "navigationBarTitleText": "MindSpore", + "navigationBarTextStyle": "black", + "backgroundColor": "#fff" + }, + "usingComponents": { + "van-swipe-cell": "./miniprogram_npm/@vant/weapp/swipe-cell/index", + "van-dialog": "./miniprogram_npm/@vant/weapp/dialog/index", + "van-checkbox": "./miniprogram_npm/@vant/weapp/checkbox/index", + "van-checkbox-group": "./miniprogram_npm/@vant/weapp/checkbox-group/index", + "van-popup": "./miniprogram_npm/@vant/weapp/popup/index", + "van-radio": "./miniprogram_npm/@vant/weapp/radio/index", + "van-radio-group": "./miniprogram_npm/@vant/weapp/radio-group/index", + "van-datetime-picker": "./miniprogram_npm/@vant/weapp/datetime-picker/index", + "van-picker": "./miniprogram_npm/@vant/weapp/picker/index", + "van-action-sheet": "./miniprogram_npm/@vant/weapp/action-sheet/index", + "van-collapse": "./miniprogram_npm/@vant/weapp/collapse/index", + "van-collapse-item": "./miniprogram_npm/@vant/weapp/collapse-item/index" + }, + "sitemapLocation": "sitemap.json", + "__usePrivacyCheck__": true, + "tabBar": { + "custom": true, + "color": "#C7CAD0", + "selectedColor": "#389EEB", + "backgroundColor": "#fff", + "list": [ + { + "iconPath": "static/tabbar/home.png", + "selectedIconPath": "static/tabbar/home-selected.png", + "pagePath": "pages/index/index", + "text": "首页" + }, + { + "iconPath": "static/tabbar/meeting.png", + "selectedIconPath": "static/tabbar/meeting-selected.png", + "pagePath": "pages/meeting/meeting", + "text": "会议" + }, + { + "iconPath": "static/tabbar/events.png", + "selectedIconPath": "static/tabbar/events-selected.png", + "pagePath": "pages/events/events", + "text": "活动" + }, + { + "iconPath": "static/tabbar/my.png", + "selectedIconPath": "static/tabbar/my-selected.png", + "pagePath": "pages/my/my", + "text": "我的" + } + ] + }, + "permission": { + "scope.userLocation": { + "desc": "您的位置信息将用于确定活动地址" + } + }, + "requiredPrivateInfos": [ + "chooseLocation" + ] } \ No newline at end of file diff --git a/src/mindspore/components/meeting-list/meeting-list.js b/src/mindspore/components/meeting-list/meeting-list.js index 92f6cabb8bd881f6c549d40b12b92d752a66ac0f..bff9070f709b7a0693052eea98acdc113a13dd53 100644 --- a/src/mindspore/components/meeting-list/meeting-list.js +++ b/src/mindspore/components/meeting-list/meeting-list.js @@ -1,11 +1,14 @@ const appAjax = require('./../../utils/app-ajax'); const sessionUtil = require('../../utils/app-session.js'); +const { MEETING_START_TEMPLATE, MEETING_CANCELLATION_TEMPLATE } = require('../../utils/config'); + let that = null; const remoteMethods = { getMeettingData: function (params, _callback) { if (that.properties.pageType === 2) { params = { ...params, + type: that.data.curFilterId, search: that.data.curKeyword, group_name: that.data.filterSigName === '全部SIG' ? '' : that.data.filterSigName, }; @@ -126,19 +129,19 @@ Component({ columns: [ { group_name: '全部', - id: 'All', + id: '', }, { group_name: 'SIG Leader', - id: 'SIG', + id: 'sig', }, { group_name: 'MSG组织者', - id: 'MSG', + id: 'msg', }, { group_name: '专家委员会', - id: 'Tech', + id: 'tech', }, ], curKeyword: '', @@ -184,7 +187,7 @@ Component({ }); } else { wx.requestSubscribeMessage({ - tmplIds: ['tK51rqE72oFo5e5ajCnvkPwnsCncfydgcV1jb9ed6Qc', 'kKkokqmaH62qp_txDQrNnyoRbM5wCptTAymhmsfHT7c'], + tmplIds: [MEETING_START_TEMPLATE, MEETING_CANCELLATION_TEMPLATE], complete() { remoteMethods.collect(that.data.id, (res) => { if (res.code === 200) { @@ -293,7 +296,8 @@ Component({ }); const collectDesc = this.data.collectionId ? '取消收藏' : '收藏会议'; const userId = e.currentTarget.dataset.item.user_id; - if (sessionUtil.getUserInfoByKey('level') === 1) { + const level = await sessionUtil.getUserInfoByKey('level'); + if (level === 1) { this.setData({ actions: [ { @@ -306,8 +310,8 @@ Component({ }, ], }); - } else if (sessionUtil.getUserInfoByKey('level') === 2) { - if (sessionUtil.getUserInfoByKey('userId') === userId) { + } else if (level === 2) { + if ((await sessionUtil.getUserInfoByKey('userId')) === userId) { this.setData({ actions: [ { @@ -381,7 +385,7 @@ Component({ this.setData({ popShow: true, curFilterName: '全部', - curFilterId: 'All', + curFilterId: '', }); } else { this.setData({ diff --git a/src/mindspore/components/privacy-text/privacy-text.js b/src/mindspore/components/privacy-text/privacy-text.js index 5a56414cad57df9c64537e5f35aa0e985b34870f..79b05d6f3ead23ee8d995e5c941542abbdb40400 100644 --- a/src/mindspore/components/privacy-text/privacy-text.js +++ b/src/mindspore/components/privacy-text/privacy-text.js @@ -1,19 +1,11 @@ //获取应用实例 Page({ - data: { - privecy: [ - { - content: - '我们深知您的隐私对您的重要性,并充分尊重您的隐私。在向我们提交您的个人信息之前,请您仔细阅读本《隐私政策声明》(以下简称“本声明”)。如果您对于我们处理您的个人信息的方式有任何疑问,欢迎与我们联系。本声明中的“我们”是指MindSpore社区,“服务”是指MindSpore小程序。', - }, - { - title: '1.我们如何收集和处理您的个人信息', - }, - { - content: - 'a ) 当您登录时,我们会收集您的微信昵称、头像和性别,用于确认您是否具有创建会议的权限,向您发送会议通知及向第三方告知会议的组织人(maintainer)等。无论您是否拥有相关权限,您均可以收藏、订阅会议信息。', - }, - ], + data: {}, + navigateTo(e) { + wx.navigateTo({ + url: e.currentTarget.dataset.url, + }); + return; }, }); diff --git a/src/mindspore/components/privacy-text/privacy-text.wxml b/src/mindspore/components/privacy-text/privacy-text.wxml index 71bd0e4e54d9cf3a08847a75fbd8870336038d04..b5c266e49be257c25e9be2dbc37172b4ce150e48 100644 --- a/src/mindspore/components/privacy-text/privacy-text.wxml +++ b/src/mindspore/components/privacy-text/privacy-text.wxml @@ -2,25 +2,59 @@ MindSpore小程序隐私声明 - 我们深知您的隐私对您的重要性,并充分尊重您的隐私。在向我们提交您的个人信息之前,请您仔细阅读本《隐私政策声明》(以下简称“本声明”)。如果您对于我们处理您的个人信息的方式有任何疑问,欢迎与我们联系。本声明中的“我们”是指MindSpore社区,“服务”是指MindSpore小程序。 + 我们深知您的隐私对您的重要性,并充分尊重您的隐私。在向我们提交您的个人信息之前,请您仔细阅读本《隐私政策声明》(以下简称“本声明”)。如果您对于我们处理您的个人信息的方式有任何疑问,欢迎与我们联系。本声明中的“我们”是指MindSpore社区,“服务”是指MindSpore小程序。 + 请您仔细阅读此次隐私声明的更新内容: + 1. 细化我们如何收集和处理您的个人数据。 + 2. 细化我们在何种情况披露或共享您的个人信息。 + 3. 增加第三方SDK列表、设备权限调用章节。 + 4. 细化我们将保留多久您的个人信息。 + 5. 细化个人信息存储地点。 + 6. 细化对儿童个人信息的保护。 1.我们如何收集和处理您的个人信息 - a ) 当您登录时,我们会收集您的微信昵称、头像和性别,用于确认您是否具有创建会议的权限,向您发送会议通知及向第三方告知会议的组织人(maintainer)等。无论您是否拥有相关权限,您均可以收藏、订阅会议信息。 - b ) 当您预定会议前,我们会收集您的Gitee ID,所属SIG组别名称或城市组,用于配置预定会议的相关权限。 - c ) 当您预定会议时,如您填写邮箱地址我们会收集填写邮箱并向其发送会议通知。 - d ) 当您预定会议后,我们会将您的Gitee ID及会议相关信息同步至本服务页面及MindSpore社区网站(https://www.mindspore.cn/)。 - e ) 当您创建活动之前,我们会收集您的Gitee ID用于配置活动发布权限,Gitee ID会作为活动的发布者信息呈现在活动详情页 - f ) 当您为您创建的活动添加议题时,我们会收集您所填写议题的嘉宾名称、职位,用于在活动议题的内容中展示。 - g ) 当您在下载活动海报时,我们会申请您的相册保存权限,保存小程序生成的活动海报。 - h ) 当您在活动详情页面点击地址时,我们在获取您的同意后会关联启动腾讯地图。 + a ) 服务优化 + 为保障您正常使用我们的服务、维护我们服务的正常运行,确保您使用我们产品的改善及优化您的服务体验,我们会获取您的设备型号,用于前端页面适配。我们会将第三方插件WAF部署在本服务中用于安全保护,WAF插件会收集您的请求信息,详细信息请查看 + https://support.huaweicloud.com/usermanual-waf/waf_01_0172.html + b ) 登录服务 + 1. 当您登录时,我们会收集并使用您的微信openid, 用于核对您的身份在本服务中的唯一性和安排接下来的服务功能需要。同时我们会为您生成默认头像和nickname。 + 2.为记录登录凭证用于鉴权、简化您重复操作的步骤,我们会使用Storage在设备本地存储您的登录认证凭据、会议权限等级、活动权限等级、是否同意最新隐私声明、头像、nickname、Gitee ID、User ID。我们不会将该技术用于本隐私声明所述目的之外的任何用途。如果您拒绝我们使用该技术收集和使用您的相关信息,您可以通过取消同意隐私声明来撤销隐私同意。 + c ) 授权预订会议或发布活动权限 + 如果您需要预订会议或发布活动,我们需要收集您的nickname用于设置您发布会议或发布活动的权限,收集您的Gitee ID、所属城市和所属SIG用于设置您的预定会议的权限。 + d ) 预定会议 + 如果您有预定会议权限,在预定会议时,我们会收集您的Gitee ID作为会议发起人,收集您的所属城市用于确定MSG城市,收集您的所属SIG用于选择会议所属SIG。同时我们会收集您编辑的邮箱地址,用于发送会议邀请通知邮件。如果您在预定会议时选择自动录制会议,当有参会者进入后,会议会自动录屏。在会议预订后,我们会将包含会议发起人Gitee ID的会议相关信息公开至MindSpore社区官网(https://www.mindspore.cn)和本服务会议列表中,以便于更多感兴趣的个人、组织查看我们的会议。 + e ) 收藏会议 + 1. 在会议即将开始前,我们会使用您的微信openid通过微信通知为您发送会议开始提醒。 + 2. 当您收藏的会议被提前取消时,我们会使用您的微信openid通过微信通知为您发送会议取消提醒。 2. 我们在何种情况披露或共享您的个人信息 共享是指我们向第三方披露您的个人信息。我们仅会出于合法、正当、必要、特定、明确的目的共享您的个人信息,我们共享这些信息的目的仅限于本声明披露或在您允许的范围内进行。 - a ) 为了保护国家安全、公共安全以及您和其他个人的重大合法权益而需要共享您的个人信息。 - 3. 我们将保留多久您的个人信息 + a ) 在获取明确同意情况下的共享。获得您的明确同意后,我们会向您指定的第三方共享您授权范围内的信息。 + b ) 为了保护国家安全、公共安全以及您和其他个人的重大合法权益而需要共享您的个人信息。 + c ) 共享给业务合作伙伴。我们可能会向合作伙伴等第三方共享您的信息。但我们仅会出于合法、正当、必要、特定、明确的目的共享您的个人信息,并且只会共享提供服务所必需的个人信息。 + + 详见第三方共享信息清单 + 3. 第三方SDK列表 + 在您使用我们的服务过程中,部分服务需要由我们与第三方合作伙伴共同为您提供,例如会议预定等,为此我们集成了第三方合作伙伴的软件工具开发包(简称“SDK”)或其他类似的应用程序。 + 详见第三方SDK列表 + 我们无法控制第三方的隐私和数据保护政策,此类第三方不受到本声明的约束。在向第三方提交个人信息之前,请参见第三方的隐私保护政策。 + 4. 设备权限调用 + 当您使用本服务时,为了您能够正常使用和有更好的体验,我们可能会需要您授权使用一些权限,如相册写入、地理位置权限、剪切板、微信订阅消息,申请权限的具体目的如下: + a ) 相册写入权限:当您在本服务保存图片时,我们会在获得您的明示同意后,使用您的相册(仅写入)权限;使用场景包含:关注公众号、B站直播、关注头条号;您可以通过以下途径配置授权:小程序主页右上角“…”—“设置”—“添加到相册”—“授权”。 + b ) 地理位置权限:当您使用本服务发布活动时,为便于您快速填写活动地址,我们调用腾讯地图的服务,通过微信授权的方式开启您的地理位置权限,获取您选择的位置信息,包含经纬度;您可以通过以下途径取消授权:小程序主页右上角“…”—“设置”—“小程序已获取的信息”—“管理”—“选择的位置信息”—“通知开发者删除”。 + c ) 剪切板:为便于您快速复制内容,我们会使用您的剪切板写入权限快速复制您选择的内容。 + d ) 当您收藏会议后,为了及时通知会议情况,会在会议之前十分钟或取消会议时通过微信订阅消息的方式通知您,您可以通过以下途径配置授权:小程序主页右上角“…”—“设置”—“订阅消息”—“接受通知”—“授权”。 + 5. 我们将保留多久您的个人信息 我们将会在达成本声明所述目的所需的期限内保留您的个人信息,除非按照法律要求或您的要求需要延长保留期。 - 一般而言,我们会自您使用本服务时获取您的个人信息之日起,根据可适用法律的要求或服务协议的约定,在留存期限内存储或保留您的个人信息。在您的个人信息超出保留期限后,且没有法律要求我们继续处理您的特定个人信息的情况下,我们将会根据可适用法律的要求删除您的个人信息,或进行匿名化处理。 - 4. 我们将如何保护您的个人信息 - 我们重视您的个人信息安全。我们采用适当的物理、管理和技术保障措施来保护您的个人信息。例如,我们会使用加密技术确保信息的机密性;我们会使用保护机制防止信息遭到恶意攻击;我们会部署访问控制机制,确保只有授权人员才可访问个人信息;以及我们会举办安全和隐私保护培训等。总之,我们会尽力保护您的个人信息。尽管如此,任何措施都无法做到无懈可击,也没有任何产品与服务、网站、信息传输、计算机系统、网络连接是绝对安全的。 - 5. 如何访问或控制您的个人信息 + a ) 您注销账户后,根据《个人信息法》的相关规定,我们会在保留期限内存储或保留您的个人信息。在您的个人信息超出保留期限,且没有法律要求我们继续处理您的特定个人信息的情况下,我们将会根据可适用法律的要求删除您的个人信息。例如,我们将会按照《网络安全法》《个人信息法》等相关法律法规规定的期限保存您的用户信息,保留期为您注销帐号后六(6)个月(按照30天为一个月计算)。当超过保留期,用户预订的会议、用户收藏的会议、用户发布的活动、用户收藏的活动以及用户信息将被删除。 + b ) 当您撤销同意隐私声明后,我们将立即对您的个人数据进行匿名化处理,包括您的 Gitee ID、创建会议所填写的邮箱、收藏的活动、收藏的会议。 + c ) 当您的最后登录时间距今超过2年(按照365天为一年计算),我们会对您的账户进行注销处理,用户预订的会议、用户收藏的会议、用户发布的活动、用户收藏的活动以及用户信息将被删除。 + d ) 对于您预定的会议,如果会议的创建时间距今超过2年(按照365天为一年计算),我们会对会议进行删除处理,同时清除所有用户对该会议的收藏。 + e ) 对于您发布的活动,如果活动的创建时间距今超过2年(按照365天为一年计算),我们会对活动进行删除处理,同时清除所有用户对该活动的收藏。 + 6. 我们将如何保护您的个人信息 + 我们重视您的个人信息安全。我们采用适当的物理、管理和技术保障措施来保护您的个人信息。例如,我们会使用加密技术确保信息的机密性;我们会使用保护机制防止信息遭到恶意攻击;我们会部署访问控制机制,确保只有授权人员才可访问个人信息;以及我们会举办安全和隐私保护培训等。总之,我们会尽力保护您的个人信息。尽管如此,任何措施都无法做到无懈可击,也没有任何产品与服务、网站、信息传输、计算机系统、网络连接是绝对安全的。 + 7. 如何访问或控制您的个人信息 根据适用的法律法规,就您的个人信息,您可能享有如下权利: a ) 访问我们持有的您的个人信息并获得副本的权利; b ) 要求我们更新或更正您的个人信息的权利; @@ -28,20 +62,26 @@ d ) 反对我们对您的个人信息进行处理的权利; e ) 限制我们对您的个人信息进行处理的权利; f ) 向有权的个人信息保护部门提起投诉、举报的权利; - 请注意上述权利不是绝对的,且可能根据适用的法律受到限制。如果您需要我们协助行使上述请求或权利,请通过下述“如何联系我们”联系。 - 除非适用的法律法规另有要求,我们会在一个月内响应您的请求。根据您请求的复杂度,我们可能另行延迟两个月。如果发生该情况,我们会在收到请求的一个月内向您告知延迟及其原因。请注意在某些情况下,您的请求将被驳回,比如我们无法验证您的身份,或您提出的要求超出适用的法律下赋予您的权利。我们将书面告知您提出的请求被驳回以及被驳回的原因。 - 您可以改变您授权我们继续收集个人信息的范围或撤回您的授权,但您撤回同意或授权的决定,不会影响此前基于您的授权而开展的个人信息处理行为。 - 6.个人信息存储地点 - 为了向您提供服务,我们收集您的个人数据存储在华为云的北京节点。我们会采取措施确保收集的个人数据依据本声明和数据所在地适用法律的要求进行处理。 - 7.如何更新本声明 - 我们会根据服务或数据处理的变化更新修改本声明。如果我们更新本声明,我们会将最新版隐私声明发布在本服务上,并自发布时立即生效。建议您定期查看本声明以了解任何更改。如果我们对本声明做出任何重大更改,我们将通过适当渠道通知您,并获取您的同意。 - 8.对儿童个人信息的保护 - 我们的服务仅面向成年人和企业开放,不向未满14周岁的未成年人开放。 - 9.如何联系我们 + g ) 撤销同意隐私声明的权利,您可以通过以下途径撤销同意隐私声明:“我的”—右上角“设置”图标—“取消同意隐私声明”; + h ) 注销帐号的权利,您可以通过以下途径注销帐号:“我的”—右上角“设置”图标—“注销帐号”; + 请注意上述权利不是绝对的,且可能根据适用的法律受到限制。如果您需要我们协助行使上述请求或权利,请通过下述“如何联系我们”联系。除非适用的法律法规另有要求,我们会在一个月内响应您的请求。根据您请求的复杂度,我们可能另行延迟两个月。如果发生该情况,我们会在收到请求的一个月内向您告知延迟及其原因。 + 请注意在某些情况下,您的请求将被驳回,比如我们无法验证您的身份,或您提出的要求超出适用的法律下赋予您的权利。我们将书面告知您提出的请求被驳回以及被驳回的原因。您可以改变您授权我们继续收集个人信息的范围或撤回您的授权,但您撤回同意或授权的决定,不会影响此前基于您的授权而开展的个人信息处理行为。 + 8.个人信息存储地点 + 本平台仅服务于中华人民共和国境内用户,您的个人信息将被存储于中华人民共和国境内。 + 9.如何更新本声明 + 我们会根据我们的服务或个人信息变化不时更新或修改本声明。如果我们更新本声明,我们会将最新版隐私声明发布在本服务上,并自发布时立即生效。建议您定期查看本声明以了解任何更改。如果我们对本声明做出任何重大更改(收集的个人信息范围和使用目的变更),我们将通过弹窗的形式通知您,并获取您的同意。 + 10.对儿童个人信息的保护 + 本服务及其内容、服务主要面向成人。如果没有父母或监护人的同意,儿童(未满14周岁的未成年人)不得使用我们提供的服务。对于经父母同意而收集儿童个人信息的情况,我们只会在受到法律允许、父母或监护人明确同意或者保护儿童所必要的情况下使用或披露此数据。如果我们发现自己在未事先获得可证实的父母同意的情况下收集了儿童的个人信息,则会设法尽快删除相关数据。 + 11.如何联系我们 如果您对本协议有任何疑问或主张任何与个人信息有关的权利,您可以通过以下方式与我们联系 联系邮箱:contact@mindspore.cn 联系热线:+86 18683791700 - 最近更新时间:2023年9月19日 - 隐私声明版本:v2023091901 + 最近更新时间:2023年12月01日 + 隐私声明版本:v20231201 + 查看历史版本隐私声明请点击 此处。 + \ No newline at end of file diff --git a/src/mindspore/components/privacy-text/privacy-text.wxss b/src/mindspore/components/privacy-text/privacy-text.wxss index 0ae5db77d8bbef1d8250db69e705c0b4be952bb2..95bd809f8a65f843e3caf8d2efebf1eafdd9ccd2 100644 --- a/src/mindspore/components/privacy-text/privacy-text.wxss +++ b/src/mindspore/components/privacy-text/privacy-text.wxss @@ -1,36 +1,38 @@ /* pages/my/privecy.wxss */ page { - background-color: #fff; + background-color: #fff; } +.container { + padding: 0 36rpx; +} .privecy-text text { - display: block; - margin: 24rpx 0; - line-height: 56rpx; - font-size: 36rpx; + display: block; + margin: 24rpx 0; + line-height: 56rpx; + font-size: 36rpx; + word-break: break-word; } .font-h1 { - font-size: 40rpx; + font-size: 46rpx; } .center { - text-align: center !important; + text-align: center !important; } .title { - color: #000000; + color: #000000; + font-size: 40rpx; } - -.content { - color: #6C7279FF; +.privecy-text .link { + color: #40ADFF; + text-decoration: underline; } - -.historical { - display: flex; - font-size: 36rpx; - color: #333; +.content { + color: #6c7279ff; } - navigator { - color: #389EEB; + color: #389EEB; + text-decoration: underline; } \ No newline at end of file diff --git a/src/mindspore/components/privacy/privacy.js b/src/mindspore/components/privacy/privacy.js deleted file mode 100644 index 0bacf1ce44ac3f16d1c6a5eabf0a37228c055938..0000000000000000000000000000000000000000 --- a/src/mindspore/components/privacy/privacy.js +++ /dev/null @@ -1,87 +0,0 @@ -// component/privacy/privacy.js -Component({ - /** - * 组件的初始数据 - */ - data: { - privacyContractName: '', - showPrivacy: false, - }, - /** - * 组件的生命周期 - */ - pageLifetimes: { - show() { - const _ = this; - const version = wx.getAppBaseInfo().SDKVersion; - if (_.compareVersion(version, '2.32.3') >= 0) { - wx.getPrivacySetting({ - success(res) { - if (res.errMsg === 'getPrivacySetting:ok') { - _.setData({ - privacyContractName: res.privacyContractName, - showPrivacy: res.needAuthorization, - }); - } - }, - }); - } - }, - }, - /** - * 组件的方法列表 - */ - methods: { - // 打开隐私协议页面 - openPrivacyContract() { - wx.openPrivacyContract({ - fail: () => { - wx.showToast({ - title: '遇到错误', - icon: 'error', - }); - }, - }); - }, - // 拒绝隐私协议 - exitMiniProgram() { - wx.switchTab({ - url: '/pages/index/index', - }); - }, - // 同意隐私协议 - handleAgreePrivacyAuthorization() { - const _ = this; - _.setData({ - showPrivacy: false, - }); - }, - // 比较版本号 - compareVersion(v1, v2) { - v1 = v1.split('.'); - v2 = v2.split('.'); - const len = Math.max(v1.length, v2.length); - while (v1.length < len) { - v1.push('0'); - } - while (v2.length < len) { - v2.push('0'); - } - for (let i = 0; i < len; i++) { - const num1 = parseInt(v1[i]); - const num2 = parseInt(v2[i]); - if (num1 > num2) { - return 1; - } else if (num1 < num2) { - return -1; - } - } - - return 0; - }, - // 通过绑定空事件禁止滑动事件的穿透 - handleCatchtouchMove() { - return; - }, - }, -}); diff --git a/src/mindspore/components/privacy/privacy.wxml b/src/mindspore/components/privacy/privacy.wxml deleted file mode 100644 index 49e6122628fca9d1a5fa34cb6ab8d52c5fde447f..0000000000000000000000000000000000000000 --- a/src/mindspore/components/privacy/privacy.wxml +++ /dev/null @@ -1,13 +0,0 @@ - - - - 隐私保护指引 - - 在使用当前小程序服务之前,请仔细阅读{{privacyContractName}}。如您同意{{privacyContractName}},请点击“同意”开始使用。 - - - - - - - \ No newline at end of file diff --git a/src/mindspore/components/privacy/privacy.wxss b/src/mindspore/components/privacy/privacy.wxss deleted file mode 100644 index a906dcdf7b2824dc940b2aab507f07780af2051d..0000000000000000000000000000000000000000 --- a/src/mindspore/components/privacy/privacy.wxss +++ /dev/null @@ -1,68 +0,0 @@ -/* component/privacy/privacy.wxss */ -.privacy { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: rgba(0, 0, 0, .5); - z-index: 9999999; - display: flex; - align-items: center; - justify-content: center; -} - -.content { - width: 632rpx; - padding: 48rpx; - box-sizing: border-box; - background: #fff; - border-radius: 16rpx; -} - -.content .title { - text-align: center; - color: #333; - font-weight: bold; - font-size: 32rpx; -} - -.content .des { - font-size: 26rpx; - color: #666; - margin-top: 40rpx; - text-align: justify; - line-height: 1.6; -} - -.content .des .link { - color: #389EEB; - text-decoration: underline; -} - -.btns { - margin-top: 48rpx; - display: flex; -} - -.btns .item { - justify-content: space-between; - width: 244rpx; - height: 80rpx; - display: flex; - align-items: center; - justify-content: center; - border-radius: 16rpx; - box-sizing: border-box; - border: none; -} - -.btns .reject { - background: #f4f4f5; - color: #909399; -} - -.btns .agree { - background: #389EEB; - color: #fff; -} \ No newline at end of file diff --git a/src/mindspore/config/constants.js b/src/mindspore/config/constants.js index 3b7d5e46f92b43b6442e14dcf32ec75772947323..35f36c0b9b5046e142f626933521e1ccc9dc3e7b 100644 --- a/src/mindspore/config/constants.js +++ b/src/mindspore/config/constants.js @@ -2,9 +2,7 @@ let _ = require('../utils/underscore-extend.js'); // 服务连接配置 let serviceConfig = { - // SERVICE_URL: 'https://api.mindspore.cn/meetings', // 正式环境、 - SERVICE_URL: 'https://meetingserver-mindspore.test.osinfra.cn', // 测试环境 - // SERVICE_URL: 'https://meeting.mindspore.myopeninfra.com/meetings', // 送检环境 + SERVICE_URL: 'https://api.mindspore.cn/meetings', }; // 存储配置 diff --git a/src/mindspore/config/services-config.js b/src/mindspore/config/services-config.js index 8b72f348b401db9131879fbdfd5582d583f7bbc7..e4ed6d9d1ee1f4ca38ea871ed8ba90b43c46ac6b 100644 --- a/src/mindspore/config/services-config.js +++ b/src/mindspore/config/services-config.js @@ -188,7 +188,7 @@ let commonServiceConfig = { // 获取我已收藏的会议 GET_MY_COLLECT: '/collections/', - // 同意隐私政策 + // 同意更新的隐私政策 AGREE: '/agree/', //添加城市 diff --git a/src/mindspore/custom-tab-bar/index.wxml b/src/mindspore/custom-tab-bar/index.wxml index cbe3dc4771e14b43b0ff53b0b469739ea36a99aa..b63caa722fc381ef3f78cc83028c0403903a61d9 100644 --- a/src/mindspore/custom-tab-bar/index.wxml +++ b/src/mindspore/custom-tab-bar/index.wxml @@ -1,21 +1,21 @@ - - + + 首页 - + + src="{{_tabbat===1?'./../static/tabbar/meeting-selected.png':'./../static/tabbar/meeting.png'}}" /> 会议 - + + src="{{_tabbat===2?'./../static/tabbar/events-selected.png':'./../static/tabbar/events.png'}}" /> 活动 - - + + 我的 \ No newline at end of file diff --git a/src/mindspore/package-events/events/event-detail.js b/src/mindspore/package-events/events/event-detail.js index f82a06e3838e36ba48b7bbef454bc26da5c9870a..fa0fc3ad8508520c47be9d491c9048b760fb23c9 100644 --- a/src/mindspore/package-events/events/event-detail.js +++ b/src/mindspore/package-events/events/event-detail.js @@ -100,7 +100,6 @@ Page({ data: { info: {}, - showReplay: false, id: '', startTime: '', endTime: '', @@ -117,13 +116,13 @@ Page({ isIphoneX: false, }, - onLoad: function (options) { + onLoad: async function (options) { that = this; this.setData({ id: options.id || decodeURIComponent(options.scene), scene: decodeURIComponent(options.scene) || '', type: Number(options.type), - level: sessionUtil.getUserInfoByKey('eventLevel') || 1, + level: (await sessionUtil.getUserInfoByKey('eventLevel')) || 1, }); wx.getSystemInfo({ success(res) { @@ -136,9 +135,9 @@ Page({ }); }, - onShow: function () { + onShow: async function () { this.setData({ - user: sessionUtil.getUserInfoByKey('userId'), + user: await sessionUtil.getUserInfoByKey('userId'), }); remoteMethods.getDraftDetail((res) => { if (!res.start_date) { @@ -191,21 +190,14 @@ Page({ }, colseDiglog() { this.setData({ - showReplay: false, showDialog: false, showRegister: false, }); }, maskClick() { - if (this.data.info.replay_url && this.data.info.status === 5) { - this.setData({ - showReplay: true, - }); - } else { - this.setData({ - showDialog: true, - }); - } + this.setData({ + showDialog: true, + }); }, copyLink(e) { let link = e.currentTarget.dataset.link; @@ -215,14 +207,12 @@ Page({ success: function () { that.setData({ showDialog: false, - showReplay: false, showRegister: false, }); }, fail: function () { that.setData({ showDialog: false, - showReplay: false, showRegister: false, }); }, @@ -250,6 +240,7 @@ Page({ } catch (error) { return; } + postData.agree = true; remoteMethods.draftPublish(postData, (res) => { if (res.code === 200) { wx.redirectTo({ diff --git a/src/mindspore/package-events/events/event-detail.json b/src/mindspore/package-events/events/event-detail.json index 4863d6a0ff7c657ea875f20faefbc7e1ef5a2b13..64bf16260f765d2d4ea8b599b823e19e247da579 100644 --- a/src/mindspore/package-events/events/event-detail.json +++ b/src/mindspore/package-events/events/event-detail.json @@ -1,6 +1,3 @@ { - "navigationBarTitleText": "活动详情", - "usingComponents": { - "privacy": "/components/privacy/privacy" - } + "navigationBarTitleText": "活动详情" } \ No newline at end of file diff --git a/src/mindspore/package-events/events/event-detail.wxml b/src/mindspore/package-events/events/event-detail.wxml index 1504cadc72381b64318dba391b0cba5b5b4aba07..6e417f14c4b4d2e0ea3f2ce4a0952ae74075e6cd 100644 --- a/src/mindspore/package-events/events/event-detail.wxml +++ b/src/mindspore/package-events/events/event-detail.wxml @@ -1,10 +1,9 @@ - @@ -21,8 +20,7 @@ {{startTime}} - {{endTime}} {{startTime}} - + {{info.address}} @@ -34,7 +32,8 @@ {{info.online_url}} - + @@ -65,9 +64,11 @@ {{item.duration}} {{item.title}} - - {{item.speaker}} - + + + {{item.name}}{{item.title ? '-':''}}{{item.title||''}} + + @@ -101,7 +102,7 @@ 分享 - + - - - + + - - - - @@ -137,7 +130,7 @@ 分享 - + - - - \ No newline at end of file diff --git a/src/mindspore/package-events/events/event-list.wxml b/src/mindspore/package-events/events/event-list.wxml index c049febca1cfbf8490294801c381a65ba1886484..03cce1ebaf47504e66d3210fd5e44d68d474df10 100644 --- a/src/mindspore/package-events/events/event-list.wxml +++ b/src/mindspore/package-events/events/event-list.wxml @@ -60,11 +60,8 @@ - - - @@ -72,18 +69,10 @@ - - - - diff --git a/src/mindspore/package-events/events/poster.js b/src/mindspore/package-events/events/poster.js index 136d2853ebb219a902d83689d962df4d77ff0231..042c0c85b27a7b5013e5d4fff0cf024eccdd518c 100644 --- a/src/mindspore/package-events/events/poster.js +++ b/src/mindspore/package-events/events/poster.js @@ -63,6 +63,15 @@ Page({ }); } }, + onShow() { + setTimeout(() => { + wx.showToast({ + title: '如有需要请截图保存海报~', + icon: 'none', + duration: 2000, + }); + }, 1000); + }, back() { wx.navigateBack(); }, diff --git a/src/mindspore/package-events/manage/enterprise-list.js b/src/mindspore/package-events/manage/enterprise-list.js index a3ed28eb7818363516bb78968300a0a421ba8d07..b1147f791d505a0c63a1ef4b4bb3ad81258a89bd 100644 --- a/src/mindspore/package-events/manage/enterprise-list.js +++ b/src/mindspore/package-events/manage/enterprise-list.js @@ -52,19 +52,6 @@ Page({ }); this.initData(); }, - toDetail: function (e) { - wx.navigateTo({ - url: - '/package-events/manage/member-detail?id=' + - e.currentTarget.dataset.id + - '&avatar=' + - e.currentTarget.dataset.avatar + - '&name=' + - e.currentTarget.dataset.name + - '&nickname=' + - e.currentTarget.dataset.nickname, - }); - }, addMember: function () { wx.navigateTo({ url: '/package-events/manage/add-member', diff --git a/src/mindspore/package-events/manage/enterprise-list.wxml b/src/mindspore/package-events/manage/enterprise-list.wxml index ddb2fc54d9ec9d4574004f3d7adf6e27fa0a3f92..a109f7e7417151f2ae19979a5b25c0d371c6799c 100644 --- a/src/mindspore/package-events/manage/enterprise-list.wxml +++ b/src/mindspore/package-events/manage/enterprise-list.wxml @@ -14,17 +14,16 @@ - {{item.nickname}} - {{item.gitee_name}} + {{item.gitee_name || ''}} - diff --git a/src/mindspore/package-events/manage/member-detail.js b/src/mindspore/package-events/manage/member-detail.js deleted file mode 100644 index b1ab276b4eecfb1b90908aa23323d7fc0f734fea..0000000000000000000000000000000000000000 --- a/src/mindspore/package-events/manage/member-detail.js +++ /dev/null @@ -1,91 +0,0 @@ -// pages/sig/member-detail.js -const appAjax = require('./../../utils/app-ajax'); -let remoteMethods = { - saveMemberGiteeName: function (postData, _callback) { - appAjax.postJson({ - autoShowWait: true, - type: 'PUT', - service: 'ENTERPRISE_SAVE_MEMBER_DETAIL', - otherParams: { - id: postData.id, - }, - data: { - gitee_name: postData.gitee_name, - }, - success: function (ret) { - wx.showToast({ - title: '修改成功', - icon: 'none', - duration: 2000, - }); - _callback && _callback(ret); - }, - }); - }, -}; -Page({ - /** - * 页面的初始数据 - */ - data: { - id: '', - avatar: '', - nickname: '', - gitee_name: '', - rawName: '', - }, - - /** - * 生命周期函数--监听页面加载 - */ - onLoad: function (options) { - this.setData({ - id: options.id, - avatar: options.avatar, - nickname: options.nickname, - gitee_name: options.name, - rawName: options.name, - }); - }, - confirm: function () { - let that = this; - if (!that.data.gitee_name) { - wx.showToast({ - title: '请输入ID', - icon: 'none', - duration: 2000, - }); - return; - } - remoteMethods.saveMemberGiteeName( - { - id: that.data.id, - gitee_name: that.data.gitee_name, - }, - function (data) { - if (data.code === 200) { - wx.showToast({ - title: '操作成功', - icon: 'success', - duration: 2000, - }); - that.setData({ - rawName: that.data.gitee_name, - }); - } - } - ); - }, - onInput: function (e) { - if (e.target.dataset.index === 'id') { - this.setData({ - gitee_name: e.detail.value, - }); - } - }, - reset: function () { - this.setData({ - gitee_name: '', - }); - }, -}); diff --git a/src/mindspore/package-events/manage/member-detail.json b/src/mindspore/package-events/manage/member-detail.json deleted file mode 100644 index 6f5247b050d616d1d9ab35b9dec4da0b673757b8..0000000000000000000000000000000000000000 --- a/src/mindspore/package-events/manage/member-detail.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "usingComponents": {} -} \ No newline at end of file diff --git a/src/mindspore/package-events/manage/member-detail.wxml b/src/mindspore/package-events/manage/member-detail.wxml deleted file mode 100644 index c0719d461ec22a9114986edefe4dd3e089bde1ce..0000000000000000000000000000000000000000 --- a/src/mindspore/package-events/manage/member-detail.wxml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - {{rawName ? rawName : '未输入ID'}} - {{nickname}} - - - 输入ID - - - - - - \ No newline at end of file diff --git a/src/mindspore/package-events/manage/member-detail.wxss b/src/mindspore/package-events/manage/member-detail.wxss deleted file mode 100644 index 046b87b484f1113d52808a2335f2c0e2d0e82ba9..0000000000000000000000000000000000000000 --- a/src/mindspore/package-events/manage/member-detail.wxss +++ /dev/null @@ -1,87 +0,0 @@ -/* pages/sig/member-detail.wxss */ -.container { - padding: 20rpx 0; - background-color: #f5f7fa; -} - -.container .user-info { - padding-left: 20rpx; - height: 182rpx; - background-color: #fff; - display: flex; - align-items: center; -} - -.container .user-info image { - height: 135rpx; - width: 135rpx; - border-radius: 100%; - border: 1px solid #c7cad0; -} - -.container .user-info view { - display: inline-block; - padding-left: 20rpx; - display: flex; - flex-direction: column; -} - -.container .user-info view .user-id { - font-size: 36rpx; - color: #222; - line-height: 50rpx; - font-weight: 400; - margin-bottom: 20rpx; -} - -.container .user-info view .name { - color: #6d7278; - font-size: 26rpx; - line-height: 37rpx; - font-weight: 400; -} - -.container .input-title { - padding-left: 30rpx; - margin: 30rpx 0; - color: #333; - font-size: 34rpx; - line-height: 48rpx; - font-weight: 400; -} - -.container input { - height: 108rpx; - color: #333; - line-height: 45rpx; - font-size: 32rpx; - font-weight: 400rpx; - padding-left: 30rpx; - background-color: #fff; -} - -.container .btn-wraper { - margin-top: 128rpx; - display: flex; - justify-content: space-between; - padding: 0 30rpx; -} - -.container .btn-wraper button { - width: 320rpx; - height: 90rpx; - font-size: 36rpx; - line-height: 90rpx; - text-align: center; -} - -.container .btn-wraper .confirm { - color: #fff; - background-color: #40ADFF; -} - -.container .btn-wraper .reset { - color: #40ADFF; - background-color: #fff; - border: 1px solid #40ADFF; -} \ No newline at end of file diff --git a/src/mindspore/package-events/publish/publish.js b/src/mindspore/package-events/publish/publish.js index 97a9d934e684445a0f033404d7c11c2f9325a4af..39eecf77244fe56e7818c2a4ead6fc5dff58ab5d 100644 --- a/src/mindspore/package-events/publish/publish.js +++ b/src/mindspore/package-events/publish/publish.js @@ -1,7 +1,7 @@ // package-events/publish/publish.js const appAjax = require('./../../utils/app-ajax'); -const utils = require('./../../utils/utils.js'); -utils.formateDate(); +const { formateDate, getBetweenDateStr } = require('./../../utils/utils.js'); + let that = null; let remoteMethods = { addEvents: function (postData, _callback) { @@ -82,7 +82,7 @@ let localMethods = { return timeToMinutes(endTime) > timeToMinutes(startTime); }, validation: function (data) { - const urlRegex = /^(https?|ftp):\/\/[^\s/$.?#].[^\s]*$/i; + const urlRegex = /^https:\/\//; if (!data.title) { this.toast('请输入活动标题'); return; @@ -95,6 +95,14 @@ let localMethods = { this.toast('请选择活动结束日期'); return; } + if (data.register_url?.trim() === '') { + this.toast('请输入报名链接'); + return; + } + if (!urlRegex.test(data.register_url.trim())) { + this.toast('报名链接格式错误'); + return; + } if (data.activity_type === 1) { if (!data.address) { this.toast('请输入活动城市'); @@ -104,14 +112,6 @@ let localMethods = { this.toast('请输入具体地址'); return; } - if (data.register_method === 2 && data.register_url === '') { - this.toast('请输入报名链接'); - return; - } - if (data.register_method === 2 && !urlRegex.test(data.register_url)) { - this.toast('报名链接格式错误'); - return; - } let flag = true; data.schedules.forEach((dayItem) => { dayItem.forEach((item) => { @@ -136,23 +136,14 @@ let localMethods = { return; } } else if (data.activity_type === 2) { - if (data.register_method === 2 && data.register_url === '') { - this.toast('请输入报名链接'); - return; - } - if (data.register_method === 2 && !urlRegex.test(data.register_url)) { - this.toast('报名链接格式错误'); - return; - } if (!data.online_url) { this.toast('请输入线上链接地址'); return; } - if (!urlRegex.test(data.online_url)) { + if (!urlRegex.test(data.online_url.replace(/\s+/g, ''))) { this.toast('线上链接格式错误'); return; } - let flag = true; data.schedules.forEach((dayItem) => { dayItem.forEach((item) => { @@ -185,23 +176,14 @@ let localMethods = { this.toast('请输入具体地址'); return; } - if (data.register_method === 2 && data.register_url === '') { - this.toast('请输入报名链接'); - return; - } if (!data.online_url) { this.toast('请输入线上链接地址'); return; } - if (data.register_method === 2 && !urlRegex.test(data.register_url)) { - this.toast('报名链接格式错误'); - return; - } - if (!urlRegex.test(data.online_url)) { + if (!urlRegex.test(data.online_url.replace(/\s+/g, ''))) { this.toast('线上链接格式错误'); return; } - let flag = true; data.schedules.forEach((dayItem) => { dayItem.forEach((item) => { @@ -221,7 +203,10 @@ let localMethods = { return; } } - + if (!that.data.privacyState) { + this.toast('请先阅读并同意隐私声明'); + return; + } return true; }, toast: function (msg) { @@ -239,19 +224,18 @@ Page({ starTime: '', endTime: '', id: '', - playback: '', activeNames: [0], detailType: 0, title: '', date: '', type: '课程', form: ['1'], - mode: '小程序报名', address: '', addressName: '', registerUrl: '', desc: '', betweenDay: [], + privacyState: false, schedule: [ { start: '', @@ -267,7 +251,6 @@ Page({ ], allSchedule: [], typeList: ['课程', 'MSG', '赛事', '其他'], - modeList: ['小程序报名', '跳转其他链接报名'], datePopShow: false, timePopShow: false, formShow: false, @@ -319,10 +302,8 @@ Page({ endTime: res.end_date, actegory: res.activity_category, form: res.activity_type, - playback: res.replay_url || '', method: res.register_method, type: this.data.typeList[res.activity_category - 1], - mode: this.data.modeList[res.register_method - 1], registerUrl: res.register_url || '', liveAddress: res.online_url || '', longitude: res.longitude || '', @@ -330,13 +311,14 @@ Page({ address: res.address || '', addressName: res.detail_address || '', desc: res.synopsis || '', - betweenDay: utils.getBetweenDateStr(res.start_date, res.end_date), + betweenDay: getBetweenDateStr(res.start_date, res.end_date), topicSelIndex: res.poster, allSchedule: JSON.parse(res.schedules), + privacyState: true, }); } catch { wx.showToast({ - title: 'error', + title: '操作错误', icon: 'none', duration: 2000, }); @@ -347,15 +329,19 @@ Page({ /** * 生命周期函数--监听页面显示 */ - onShow: function () {}, - titleInput(e) { + privacyStateOnChange: function (event) { this.setData({ - title: e.detail.value, + privacyState: event.detail, + }); + }, + toPrivacy() { + wx.navigateTo({ + url: '/package-my/my/privecy', }); }, - playbackInput(e) { + titleInput(e) { this.setData({ - playback: e.detail.value, + title: e.detail.value, }); }, setStar: function () { @@ -393,11 +379,11 @@ Page({ }); }, dateConfirm: function () { - let time = new Date(this.data.currentDate).Format('yyyy-MM-dd'); + let time = formateDate(new Date(this.data.currentDate), 'yyyy-MM-dd'); let between = []; if (this.data.isStar) { if (this.data.endTime) { - between = utils.getBetweenDateStr(time, this.data.endTime); + between = getBetweenDateStr(time, this.data.endTime); if (between) { let allSchedule = []; for (let i = 0; i < between.length; i++) { @@ -431,7 +417,7 @@ Page({ }); } } else if (this.data.starTime) { - between = utils.getBetweenDateStr(this.data.starTime, time); + between = getBetweenDateStr(this.data.starTime, time); if (between) { let allSchedule = []; for (let i = 0; i < between.length; i++) { @@ -496,11 +482,6 @@ Page({ }, }); }, - modeRadioOnChange: function (e) { - this.setData({ - mode: e.detail, - }); - }, radioClick(e) { this.setData({ method: e.currentTarget.dataset.index, @@ -736,6 +717,7 @@ Page({ if (!localMethods.validation(postData)) { return; } + postData.agree = true; remoteMethods.addEvents(postData, (res) => { if (res.code === 200) { wx.redirectTo({ @@ -746,7 +728,7 @@ Page({ }, saveDraft() { let postData = {}; - if (this.data.form[0] === 1 && this.data.form.length !== 2) { + if (this.data.form[0] - 0 === 1 && this.data.form.length !== 2) { postData = { title: this.data.title, activity_category: this.data.actegory, @@ -763,7 +745,7 @@ Page({ poster: this.data.topicSelIndex, schedules: this.data.allSchedule, }; - } else if (this.data.form[0] === 2 && this.data.form.length !== 2) { + } else if (this.data.form[0] - 0 === 2 && this.data.form.length !== 2) { postData = { title: this.data.title, activity_category: this.data.actegory, @@ -799,6 +781,7 @@ Page({ if (!localMethods.validation(postData)) { return; } + postData.agree = true; remoteMethods.saveDraft(postData, (res) => { if (res.code === 200) { wx.redirectTo({ @@ -812,12 +795,11 @@ Page({ }, editScheduleConfirm() { let postData = {}; - if (this.data.form[0] === 1 && this.data.form.length !== 2) { + if (this.data.form[0] - 0 === 1 && this.data.form.length !== 2) { postData = { title: this.data.title, activity_category: this.actegory, activity_type: 1, - replay_url: this.data.playback, register_method: this.data.method, register_url: this.data.registerUrl, start_date: this.data.starTime, @@ -830,12 +812,11 @@ Page({ poster: this.data.topicSelIndex, schedules: this.data.allSchedule, }; - } else if (this.data.form[0] === 2 && this.data.form.length !== 2) { + } else if (this.data.form[0] - 0 === 2 && this.data.form.length !== 2) { postData = { title: this.data.title, activity_category: this.data.actegory, activity_type: 2, - replay_url: this.data.playback, register_url: this.data.registerUrl, register_method: this.data.method, start_date: this.data.starTime, @@ -850,7 +831,6 @@ Page({ title: this.data.title, activity_category: this.data.actegory, activity_type: 3, - replay_url: this.data.playback, register_method: this.data.method, register_url: this.data.registerUrl, online_url: this.data.liveAddress, @@ -869,17 +849,19 @@ Page({ return; } postData.schedules = JSON.stringify(this.data.allSchedule); - remoteMethods.saveDraft(postData, () => { - wx.redirectTo({ - url: '/package-events/publish/success?type=3', - }); + remoteMethods.saveDraft(postData, (res) => { + if (res.code === 200) { + wx.redirectTo({ + url: '/package-events/publish/success?type=3', + }); + } }); }, toPoster() { let activityType = 0; - if (this.data.form[0] === 1 && this.data.form.length !== 2) { + if (this.data.form[0] - 0 === 1 && this.data.form.length !== 2) { activityType = 1; - } else if (this.data.form[0] === 2) { + } else if (this.data.form[0] - 0 === 2) { activityType = 2; } else { activityType = 3; diff --git a/src/mindspore/package-events/publish/publish.wxml b/src/mindspore/package-events/publish/publish.wxml index d5b2f84527777496acfbf2eaef1b79639a822cb8..49483a5bba4f2b00f8f7d9d06d2e14ee40a044d0 100644 --- a/src/mindspore/package-events/publish/publish.wxml +++ b/src/mindspore/package-events/publish/publish.wxml @@ -59,7 +59,7 @@ - + 活动城市 * @@ -69,12 +69,12 @@ - + 具体地址 * - @@ -82,35 +82,25 @@ 报名链接 * - - + - + 线上链接 * - - - - 活动回放链接 - - - - - 活动回放链接请在活动结束后补充 - 活动简介 - - + 议题 * - @@ -164,13 +154,13 @@ Name * - Title - @@ -227,10 +217,10 @@ 点击 【申请发布】 后,你的活动将进入发布阶段,正式发布后,您仅能修改活动日程 - + - 已阅读并同意隐私声明 + 已阅读并同意《隐私声明》 diff --git a/src/mindspore/package-meeting/meeting/detail.js b/src/mindspore/package-meeting/meeting/detail.js index 5241771b6571797e80597dfaa86cb26e93633f93..28553c5d8cafb12584572e69d9f9fac49bb42dda 100644 --- a/src/mindspore/package-meeting/meeting/detail.js +++ b/src/mindspore/package-meeting/meeting/detail.js @@ -1,6 +1,8 @@ // pages/meeting/detail.js const appAjax = require('./../../utils/app-ajax'); const sessionUtil = require('../../utils/app-session.js'); +const { MEETING_START_TEMPLATE, MEETING_CANCELLATION_TEMPLATE } = require('../../utils/config'); + let remoteMethods = { getMeetingDetail: function (id, _callback) { appAjax.postJson({ @@ -104,7 +106,7 @@ Page({ }); return; } - if (this.data.collection_id != null) { + if (this.data.collection_id) { remoteMethods.uncollect(this.data.collection_id, function () { that.setData({ collection_id: null, @@ -112,7 +114,7 @@ Page({ }); } else { wx.requestSubscribeMessage({ - tmplIds: ['tK51rqE72oFo5e5ajCnvkPwnsCncfydgcV1jb9ed6Qc', 'kKkokqmaH62qp_txDQrNnyoRbM5wCptTAymhmsfHT7c'], + tmplIds: [MEETING_START_TEMPLATE, MEETING_CANCELLATION_TEMPLATE], success() { remoteMethods.collect(that.data.id, function (res) { if (res.code === 200) { diff --git a/src/mindspore/package-meeting/reserve/reserve.js b/src/mindspore/package-meeting/reserve/reserve.js index bb4a0617ec2a3413cc99d0695779f2cc5fe232cd..c382fb631a1d3d2697a227f8b796cd8920971304 100644 --- a/src/mindspore/package-meeting/reserve/reserve.js +++ b/src/mindspore/package-meeting/reserve/reserve.js @@ -1,8 +1,8 @@ // pages/reserve/reserve.js const appAjax = require('./../../utils/app-ajax'); const appSession = require('./../../utils/app-session.js'); -const utils = require('./../../utils/utils.js'); -utils.formateDate(); +const { formateDate } = require('./../../utils/utils.js'); +const { MEETING_START_TEMPLATE } = require('../../utils/config'); let remoteMethods = { getUserGroup: function (id, _callback) { @@ -270,6 +270,11 @@ Page({ agenda: '', emaillist: '', record: '', + typeKey: '', + tipsType: '', + isSig: false, + isMSG: false, + typeMeeting: '', meetingType: 'tencent', }); }, @@ -279,9 +284,7 @@ Page({ } let that = this; wx.requestSubscribeMessage({ - // 消息订阅模板 - tmplIds: ['tK51rqE72oFo5e5ajCnvkPwnsCncfydgcV1jb9ed6Qc'], - success() {}, + tmplIds: [MEETING_START_TEMPLATE], complete() { let param = { topic: that.data.topic, @@ -296,6 +299,7 @@ Page({ emaillist: that.data.emaillist, record: that.data.record ? 'cloud' : '', agenda: that.data.agenda, + agree: that.data.privacyState, }; if (that.data.meeting_type === 2) { param.city = that.data.city; @@ -449,7 +453,7 @@ Page({ }, dateConfirm: function () { this.setData({ - date: new Date(this.data.currentDate).Format('yyyy-MM-dd'), + date: formateDate(new Date(this.data.currentDate), 'yyyy-MM-dd'), datePopShow: false, }); }, diff --git a/src/mindspore/package-meeting/reserve/reserve.wxml b/src/mindspore/package-meeting/reserve/reserve.wxml index 8ccac896695e4a29710cddf5f60dc6fd48cf4432..9f8562c455afdcf034b6243cfc2ad06c810981d1 100644 --- a/src/mindspore/package-meeting/reserve/reserve.wxml +++ b/src/mindspore/package-meeting/reserve/reserve.wxml @@ -82,8 +82,8 @@ - Etherpad链接 - Etherpad链接 * + @@ -97,7 +97,7 @@ - 勾选此项进入会议自动开启录屏,录制服务由{{meetingType}}提供,会后自动上传至B站mindspore的帐号下 + 勾选此项进入会议自动开启录屏,录制服务由{{meetingType}}提供 @@ -109,7 +109,7 @@ 邮件地址 - @@ -129,7 +129,7 @@ - 已阅读并同意隐私声明 + 已阅读并同意《隐私声明》 diff --git a/src/mindspore/package-meeting/sig/add-member.js b/src/mindspore/package-meeting/sig/add-member.js index 701bcdfa714ad4bf9b69fb187c980a94240f93be..45bfbd521f0d05ab966806218ec59bc70e38a4bc 100644 --- a/src/mindspore/package-meeting/sig/add-member.js +++ b/src/mindspore/package-meeting/sig/add-member.js @@ -72,7 +72,7 @@ Page({ options: '', pageParams: { page: 1, - size: 10, + size: 50, }, total: 0, }, diff --git a/src/mindspore/package-meeting/sig/add-sig-member.js b/src/mindspore/package-meeting/sig/add-sig-member.js index be8f5f6c11f57a699d905f946c2dd68e4e6c467b..0611dbf3edc42fbf1856b1974ff1e220d71646b0 100644 --- a/src/mindspore/package-meeting/sig/add-sig-member.js +++ b/src/mindspore/package-meeting/sig/add-sig-member.js @@ -45,7 +45,7 @@ Page({ options: '', pageParams: { page: 1, - size: 10, + size: 50, }, total: 0, }, @@ -64,9 +64,6 @@ Page({ }); }, - /** - * 生命周期函数--监听页面显示 - */ onShow: function () { this.getListData(); }, diff --git a/src/mindspore/package-meeting/sig/add-sig-member.wxml b/src/mindspore/package-meeting/sig/add-sig-member.wxml index bed87e7b3a6c13950064b7aa953e51e1d45df6f4..985e30da531a48667b6a1d4ba69cadcb79e6e166 100644 --- a/src/mindspore/package-meeting/sig/add-sig-member.wxml +++ b/src/mindspore/package-meeting/sig/add-sig-member.wxml @@ -19,7 +19,7 @@ {{item.nickname}} - {{item.gitee_name}} + {{item.gitee_name || ''}} diff --git a/src/mindspore/package-meeting/sig/del-member.js b/src/mindspore/package-meeting/sig/del-member.js index 47bdbab31b646f22666b4d92a64b7858ac0b98e8..facdf27e31848ba065da0a634cca5abc3ba3585c 100644 --- a/src/mindspore/package-meeting/sig/del-member.js +++ b/src/mindspore/package-meeting/sig/del-member.js @@ -147,7 +147,7 @@ Page({ group_id: this.data.group_id, }; const { type } = this.data.options; - if (type != 'MSG') { + if (type !== 'MSG') { remoteMethods.delMemberList(postData, function (data) { if (data.code === 200) { that.setData({ diff --git a/src/mindspore/package-meeting/sig/member-detail.js b/src/mindspore/package-meeting/sig/member-detail.js index 2d3ab75fe40b2025af1eb534a2612710b178bb30..51cf0821c98d71d3fd256e3757339754d4ccf077 100644 --- a/src/mindspore/package-meeting/sig/member-detail.js +++ b/src/mindspore/package-meeting/sig/member-detail.js @@ -64,10 +64,12 @@ Page({ id: that.data.id, gitee_name: that.data.name, }, - function () { - that.setData({ - isShowMes: true, - }); + function (res) { + if (res.code === 200) { + that.setData({ + isShowMes: true, + }); + } } ); }, diff --git a/src/mindspore/package-meeting/sig/msg-list.json b/src/mindspore/package-meeting/sig/msg-list.json index 48649f50db36994f2b3b8791b8e0b0d0f532aa4b..05b429db0a84dcf1a4da227ab529fe2771527687 100644 --- a/src/mindspore/package-meeting/sig/msg-list.json +++ b/src/mindspore/package-meeting/sig/msg-list.json @@ -1,7 +1,4 @@ -{ - "usingComponents": { - "van-cell": "@vant/weapp/cell/index", - "van-cell-group": "@vant/weapp/cell-group/index" - }, - "navigationBarTitleText": "MSG城市" +{ + "usingComponents": {}, + "navigationBarTitleText": "MSG城市" } \ No newline at end of file diff --git a/src/mindspore/package-meeting/sig/msg-list.wxml b/src/mindspore/package-meeting/sig/msg-list.wxml index 24e3d94516a76d622e083c2a7789c3c4ca731665..acd25a941a0015dec2aebb8d1926517da3185496 100644 --- a/src/mindspore/package-meeting/sig/msg-list.wxml +++ b/src/mindspore/package-meeting/sig/msg-list.wxml @@ -19,7 +19,7 @@ 添加城市 - + diff --git a/src/mindspore/package-meeting/sig/sig-list.json b/src/mindspore/package-meeting/sig/sig-list.json index f8acfeae82fb0800cada89fd6edec56a284f79a8..64e2a52559f959a22fd2e1bebd758734ff9be6a5 100644 --- a/src/mindspore/package-meeting/sig/sig-list.json +++ b/src/mindspore/package-meeting/sig/sig-list.json @@ -1,7 +1,4 @@ { - "usingComponents": { - "van-cell": "@vant/weapp/cell/index", - "van-cell-group": "@vant/weapp/cell-group/index" - }, + "usingComponents": {}, "navigationBarTitleText": "SIG组管理" } \ No newline at end of file diff --git a/src/mindspore/package-my/events/my-list.wxml b/src/mindspore/package-my/events/my-list.wxml index dac67f4de8f06f34f38b426325b0b012217ccd40..4d84629704f4b2b10ebb7f36ff1a5a32e8547f23 100644 --- a/src/mindspore/package-my/events/my-list.wxml +++ b/src/mindspore/package-my/events/my-list.wxml @@ -33,9 +33,10 @@ - + - + - - - + + - - - - diff --git a/src/mindspore/package-my/my/help.wxml b/src/mindspore/package-my/my/help.wxml index 460eee8ca23957758577cab802d76389278379c9..5df7a8b2e4eb953dd082c3fbd21f0984622e696f 100644 --- a/src/mindspore/package-my/my/help.wxml +++ b/src/mindspore/package-my/my/help.wxml @@ -1,7 +1,7 @@ - {{item.name}} diff --git a/src/mindspore/package-my/my/my-meetings.json b/src/mindspore/package-my/my/my-meetings.json index a9ce98d94636f63c128472c0e33874f6c5d14057..1e97caddd70de2d3c34cf65bfc237953e75d7e4f 100644 --- a/src/mindspore/package-my/my/my-meetings.json +++ b/src/mindspore/package-my/my/my-meetings.json @@ -1,6 +1,6 @@ -{ - "usingComponents": { - "meeting-list": "/components/meeting-list/meeting-list" - }, - "navigationBarTitleText": "我预定的会议" +{ + "usingComponents": { + "meeting-list": "/components/meeting-list/meeting-list" + }, + "navigationBarTitleText": "预定的会议" } \ No newline at end of file diff --git a/src/mindspore/package-my/my/privecy-seting.wxml b/src/mindspore/package-my/my/privecy-seting.wxml index 121a0a9bd1391d5853f97e05a922a465fe338ac4..849b00540883cfaf1a05b5349b37dc7deaf4500e 100644 --- a/src/mindspore/package-my/my/privecy-seting.wxml +++ b/src/mindspore/package-my/my/privecy-seting.wxml @@ -29,7 +29,7 @@ - 请确认是否撤销同意隐私声明,撤销后帐号将匿名化处理,匿名化帐号不可再登录,请谨慎操作! + 请确认是否撤销同意隐私声明,撤销后您的Gitee ID将被匿名化处理,且已配置权限将被移除,请谨慎操作! diff --git a/src/mindspore/package-my/my/privecy.js b/src/mindspore/package-my/my/privecy.js index 04c282c70f75e28ba2c6e3561add2717940a19e9..885bba97c6bbd380d0b8467ebf3ed1c70bcbfb74 100644 --- a/src/mindspore/package-my/my/privecy.js +++ b/src/mindspore/package-my/my/privecy.js @@ -1,6 +1,3 @@ -//获取应用实例 -// const app = getApp(); - Page({ data: {}, onLoad: function () {}, diff --git a/src/mindspore/package-my/my/privecy.wxml b/src/mindspore/package-my/my/privecy.wxml index 5a57201631ef6ecd2c3002ba0dde4bce481319ce..3cc090e2fa9424660c95f803c044afa0589a2135 100644 --- a/src/mindspore/package-my/my/privecy.wxml +++ b/src/mindspore/package-my/my/privecy.wxml @@ -1,3 +1 @@ -查看历史版本隐私声明请点击 此处。 - \ No newline at end of file diff --git a/src/mindspore/package-my/my/privecy.wxss b/src/mindspore/package-my/my/privecy.wxss index 67c324422d64406f1f525e721cc17c4bd3b3499e..e324e94899a7fa4cbb4a764ea53506ceb3735eec 100644 --- a/src/mindspore/package-my/my/privecy.wxss +++ b/src/mindspore/package-my/my/privecy.wxss @@ -8,10 +8,10 @@ display: flex; font-size: 36rpx; color: #333; - padding: 0 30rpx; padding-bottom: 129rpx; } navigator { color: #389EEB; + text-decoration: underline; } \ No newline at end of file diff --git a/src/mindspore/package-my/my/qrcode.js b/src/mindspore/package-my/my/qrcode.js index 320438a930eb80942d9556cab30cfe73badd7066..132dbbdeadddf2858d2ae1271121279017eae714 100644 --- a/src/mindspore/package-my/my/qrcode.js +++ b/src/mindspore/package-my/my/qrcode.js @@ -1,4 +1,4 @@ -const { OBS_URL } = require('./../../utils/url-config'); +const { OBS_URL } = require('../../utils/config'); const resourceUrl = `${OBS_URL}/mindsporeMini/`; Page({ /** @@ -55,4 +55,7 @@ Page({ }, }); }, + backTo() { + wx.navigateBack(); + }, }); diff --git a/src/mindspore/package-my/my/sdk.js b/src/mindspore/package-my/my/sdk.js new file mode 100644 index 0000000000000000000000000000000000000000..92ecc335033d9d85244ef25d2ff6661be84f6842 --- /dev/null +++ b/src/mindspore/package-my/my/sdk.js @@ -0,0 +1,4 @@ +// package-my/my/sdk.js +Page({ + data: {}, +}); diff --git a/src/openeuler/components/privacy/privacy.json b/src/mindspore/package-my/my/sdk.json similarity index 52% rename from src/openeuler/components/privacy/privacy.json rename to src/mindspore/package-my/my/sdk.json index b18bd46e2a57068d8358871028ca9053d521331a..7a58afc8948c8fbb8512952349c54d83ead09f04 100644 --- a/src/openeuler/components/privacy/privacy.json +++ b/src/mindspore/package-my/my/sdk.json @@ -1,4 +1,3 @@ { - "component": true, "usingComponents": {} } \ No newline at end of file diff --git a/src/mindspore/package-my/my/sdk.wxml b/src/mindspore/package-my/my/sdk.wxml new file mode 100644 index 0000000000000000000000000000000000000000..3b61ae5031d7b9ef09f29e053fb6a5edadc928fd --- /dev/null +++ b/src/mindspore/package-my/my/sdk.wxml @@ -0,0 +1,23 @@ + + + 三方SDK名称 + 使用目的 + 使用场景 + 涉及个人信息 + SDK隐私声明或开发指南 + + + MindSpore邮件列表服务 + 发送会议通知邮件 + 预订/取消会议 + 会议发起人填写的邮箱地址 + https://www.mindspore.cn/privacy + + + 微信开放平台 + 获取小程序用户openid,发送订阅消息,生成二维码 + 登录、预定会议、取消会议 + 微信openid + https://open.weixin.qq.com/cgi-bin/frame?t=news/protocol_developer_tmpl + + \ No newline at end of file diff --git a/src/mindspore/package-my/my/sdk.wxss b/src/mindspore/package-my/my/sdk.wxss new file mode 100644 index 0000000000000000000000000000000000000000..7626b08e6fc8f907de9bbd2b1f2f7615bd2f820a --- /dev/null +++ b/src/mindspore/package-my/my/sdk.wxss @@ -0,0 +1,24 @@ +.table { + display: flex; + flex-direction: column; +} + +.row { + display: flex; +} + +.header { + font-weight: bold; +} + +.cell { + flex: 1; + display: flex; + text-align: center; + align-items: center; + justify-content: center; + border: 1px solid rgb(75, 73, 73); + margin: 0 -1px -1px 0; + padding: 5rpx; + word-break: break-all; +} diff --git a/src/mindspore/package-my/my/share.js b/src/mindspore/package-my/my/share.js new file mode 100644 index 0000000000000000000000000000000000000000..41757cd557363019607cbd98e5bfd7856078eb4a --- /dev/null +++ b/src/mindspore/package-my/my/share.js @@ -0,0 +1,4 @@ +// package-my/my/share.js +Page({ + data: {}, +}); diff --git a/src/mindspore/components/privacy/privacy.json b/src/mindspore/package-my/my/share.json similarity index 52% rename from src/mindspore/components/privacy/privacy.json rename to src/mindspore/package-my/my/share.json index b18bd46e2a57068d8358871028ca9053d521331a..7a58afc8948c8fbb8512952349c54d83ead09f04 100644 --- a/src/mindspore/components/privacy/privacy.json +++ b/src/mindspore/package-my/my/share.json @@ -1,4 +1,3 @@ { - "component": true, "usingComponents": {} } \ No newline at end of file diff --git a/src/mindspore/package-my/my/share.wxml b/src/mindspore/package-my/my/share.wxml new file mode 100644 index 0000000000000000000000000000000000000000..1241f4839d38f0a1fe5948460d7a3e77d0d50422 --- /dev/null +++ b/src/mindspore/package-my/my/share.wxml @@ -0,0 +1,14 @@ + + + 第三方主体 + 使用目的 + 涉及个人信息 + 第三方隐私链接 + + + MindSpore官网 + 展示从MindSpore小程序预定的会议,以便参会人快速入会 + 会议发起人的Gitee ID、所属城市组名 + https://www.mindspore.cn/privacy + + \ No newline at end of file diff --git a/src/mindspore/package-my/my/share.wxss b/src/mindspore/package-my/my/share.wxss new file mode 100644 index 0000000000000000000000000000000000000000..7626b08e6fc8f907de9bbd2b1f2f7615bd2f820a --- /dev/null +++ b/src/mindspore/package-my/my/share.wxss @@ -0,0 +1,24 @@ +.table { + display: flex; + flex-direction: column; +} + +.row { + display: flex; +} + +.header { + font-weight: bold; +} + +.cell { + flex: 1; + display: flex; + text-align: center; + align-items: center; + justify-content: center; + border: 1px solid rgb(75, 73, 73); + margin: 0 -1px -1px 0; + padding: 5rpx; + word-break: break-all; +} diff --git a/src/mindspore/pages/auth/auth.js b/src/mindspore/pages/auth/auth.js index 8800a081af00e0223a69e2e808a243415c4e7954..767c3ff820519dc3e158cf981c585722b2d06774 100644 --- a/src/mindspore/pages/auth/auth.js +++ b/src/mindspore/pages/auth/auth.js @@ -37,7 +37,7 @@ Page( ); return false; } - appUser.wxGetUserProfileLogin(async function (res) { + appUser.wxGetUserProfileLogin(this.data.record,function (res) { if (!res.access) { return false; } @@ -56,7 +56,7 @@ Page( url: url, }); } - }, {}); + }); }, recordoOnChange: function (event) { this.setData({ @@ -69,12 +69,20 @@ Page( }); }, handleDotAgree: function () { - sessionUtil.clearUserInfo(); - this.setData({ - isPrivecyShown: false, - }); - wx.switchTab({ - url: '/pages/index/index', + appAjax.postJson({ + type: 'POST', + service: 'LOGOUT', + success: (res) => { + if (res.code === 200) { + sessionUtil.clearUserInfo(); + this.setData({ + isPrivecyShown: false, + }); + wx.switchTab({ + url: '/pages/index/index', + }); + } + }, }); }, setAgreeState: function (_callback) { diff --git a/src/mindspore/pages/auth/auth.json b/src/mindspore/pages/auth/auth.json index 0b1b7eb06d4c1743ba3eb173689b9431f33bde36..40371511905a6af5c66cb75b900f8818938b47e0 100644 --- a/src/mindspore/pages/auth/auth.json +++ b/src/mindspore/pages/auth/auth.json @@ -1,7 +1,6 @@ { "navigationBarTitleText": "登录", "usingComponents": { - "privacy": "/components/privacy/privacy", "privacy-text": "/components/privacy-text/privacy-text" } } \ No newline at end of file diff --git a/src/mindspore/pages/auth/auth.wxml b/src/mindspore/pages/auth/auth.wxml index 499bc0639c98fed027cf5a504ffa8daab0cb08ab..35f4975c19510b03101efcf8de878731b2a0dda5 100644 --- a/src/mindspore/pages/auth/auth.wxml +++ b/src/mindspore/pages/auth/auth.wxml @@ -1,6 +1,5 @@ - 为便于您在使用MindSpore小程序的过程中能够获得所有操作权限,需要您允许授权使用微信用户信息 @@ -14,7 +13,7 @@ - 已阅读并同意隐私声明 + 已阅读并同意《隐私声明》 - - - + + - - - - - - diff --git a/src/mindspore/pages/index/index.json b/src/mindspore/pages/index/index.json index 1557813689cee7f8e165587d01c29d7a1d137116..95440d1294db32067fad0be5788b074c9278db8e 100644 --- a/src/mindspore/pages/index/index.json +++ b/src/mindspore/pages/index/index.json @@ -1,8 +1,7 @@ { "usingComponents": { "user-info": "/components/user-info/user-info", - "meeting-list": "/components/meeting-list/meeting-list", - "privacy": "/components/privacy/privacy" + "meeting-list": "/components/meeting-list/meeting-list" }, "navigationBarTitleText": "MindSpore", "enablePullDownRefresh": true, diff --git a/src/mindspore/project.private.config.json b/src/mindspore/project.private.config.json deleted file mode 100644 index 953441e63474a730782f8324e4570c9289d693b2..0000000000000000000000000000000000000000 --- a/src/mindspore/project.private.config.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "setting": {}, - "condition": { - "miniprogram": { - "list": [ - { - "name": "", - "pathName": "package-meeting/sig/member-detail", - "query": "id=23&avatar=https%3A%2F%2Fopeneuler-website-beijing.obs.cn-north-4.myhuaweicloud.com%2Favatar%2Fmindspore_avatar.png&name=55555555555&nickname=USER_5c859d24&grouptitle=%E4%B8%93%E5%AE%B6%E5%A7%94%E5%91%98%E4%BC%9A", - "launchMode": "default", - "scene": null - }, - { - "name": "", - "pathName": "pages/meeting/meeting", - "query": "", - "launchMode": "default", - "scene": null - }, - { - "name": "", - "pathName": "package-meeting/reserve/reserve", - "query": "", - "launchMode": "default", - "scene": null - }, - { - "name": "", - "pathName": "package-my/my/privecy-seting", - "query": "", - "launchMode": "default", - "scene": null - }, - { - "name": "", - "pathName": "pages/my/my", - "query": "", - "launchMode": "default", - "scene": null - }, - { - "name": "", - "pathName": "package-events/manage/member-detail", - "query": "id=3&avatar=https%253A%252F%252Fthirdwx.qlogo.cn%252Fmmopen%252Fvi_32%252FPOgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg%252F132&name=haml-707&nickname=%25E5%25BE%25AE%25E4%25BF%25A1%25E7%2594%25A8%25E6%2588%25B7", - "launchMode": "default", - "scene": null - }, - { - "name": "", - "pathName": "package-events/manage/member-detail", - "query": "id=3&avatar=https%3A%2F%2Fthirdwx.qlogo.cn%2Fmmopen%2Fvi_32%2FPOgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg%2F132&name=haml-707&nickname=%E5%BE%AE%E4%BF%A1%E7%94%A8%E6%88%B7&email=845831435%40qq.com&telephone=15223941049", - "launchMode": "default", - "scene": null - }, - { - "name": "", - "pathName": "package-events/manage/member-detail", - "query": "id=3&avatar=https%3A%2F%2Fthirdwx.qlogo.cn%2Fmmopen%2Fvi_32%2FPOgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg%2F132&name=user3&nickname=%E5%BE%AE%E4%BF%A1%E7%94%A8%E6%88%B7&email=845831435%40qq.com&telephone=15223941049", - "launchMode": "default", - "scene": null - }, - { - "name": "", - "pathName": "pages/auth/auth", - "query": "", - "launchMode": "default", - "scene": null - }, - { - "name": "pages/meeting/meeting", - "pathName": "pages/meeting/meeting", - "query": "", - "scene": null - }, - { - "name": "", - "pathName": "pages/meeting/meeting", - "query": "", - "scene": null - }, - { - "name": "", - "pathName": "package-meeting/meeting/detail", - "query": "id=6", - "scene": null - }, - { - "name": "", - "pathName": "pages/my/my", - "query": "", - "scene": null - }, - { - "name": "扫描进入", - "pathName": "pages/my/my", - "query": "", - "scene": 1011 - }, - { - "name": "", - "pathName": "pages/index/index", - "query": "", - "scene": 1011 - }, - { - "name": "", - "pathName": "pages/auth/auth", - "query": "", - "launchMode": "default", - "scene": null - }, - { - "name": "", - "pathName": "pages/my/my", - "query": "", - "launchMode": "default", - "scene": null - }, - { - "name": "", - "pathName": "package-my/my/privecy", - "query": "", - "launchMode": "default", - "scene": null - } - ] - } - }, - "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", - "libVersion": "3.0.1" -} \ No newline at end of file diff --git a/src/mindspore/utils/app-ajax.js b/src/mindspore/utils/app-ajax.js index d81874585120b2c3884515445a1d0cd48af19ddf..3f7d307f992afcb3b15a30bebd03bd908001390d 100644 --- a/src/mindspore/utils/app-ajax.js +++ b/src/mindspore/utils/app-ajax.js @@ -28,24 +28,24 @@ const _getInterfaceUrl = function (params) { if (!params.otherParams) { return servicesConfig[params['service']]; } - for (let key in params.otherParams) { + Object.keys(params.otherParams).forEach((key) => { interfaceUrl = (interfaceUrl || servicesConfig[params['service']]).replace( '{' + key + '}', params.otherParams[key] ); - } + }); return interfaceUrl; }; const _addUrlParam = function (data) { let postData = ''; - for (let key in data) { - if (!postData) { + Object.keys(data).forEach((key, index) => { + if (index === 0) { postData = '?' + key + '=' + data[key]; } else { postData += '&' + key + '=' + data[key]; } - } + }); return postData; }; diff --git a/src/mindspore/utils/app-session.js b/src/mindspore/utils/app-session.js index 8daed39ada34c089023edf449f74b25d0bc7cd0e..b3a7d032f1a41ec4d76f5308e49951e8eee6c81e 100644 --- a/src/mindspore/utils/app-session.js +++ b/src/mindspore/utils/app-session.js @@ -32,13 +32,6 @@ const _getValueByKey = async function (key) { }; module.exports = { - /** - * 从缓存获取token - */ - getToken: function () { - return _getValueByKey('access'); - }, - /** * 通过key获取对应信息 */ @@ -59,14 +52,4 @@ module.exports = { clearUserInfo: function () { wx.removeStorageSync(constants.APP_USERINFO_SESSION); }, - - /** - * 判断是否登录 - */ - loginCheck: function () { - if (_getUserinfo() && _getValueByKey('access')) { - return true; - } - return false; - }, }; diff --git a/src/mindspore/utils/app-user.js b/src/mindspore/utils/app-user.js index 93c237df855213d3f17d93c0102dffd809e98151..a0ccbe46122c3be8c29fc1dfd991d20629447092 100644 --- a/src/mindspore/utils/app-user.js +++ b/src/mindspore/utils/app-user.js @@ -48,7 +48,7 @@ const appUser = { * @param {Object} callback * @param {Object} userInfo */ - wxGetUserProfileLogin(callback, userInfo) { + wxGetUserProfileLogin(isAgree, callback) { wx.showToast({ title: '登录中', icon: 'loading', @@ -62,9 +62,11 @@ const appUser = { }, service: 'LOGIN', data: { + agree: isAgree, code: data.code, }, success: async function (result) { + let userInfo = {}; userInfo.agreePrivacy = result.agree_privacy_policy; userInfo.access = result.access; userInfo.level = result.level; @@ -76,14 +78,10 @@ const appUser = { userInfo.refresh = result.refresh; // // 缓存用户信息 await appUser.saveLoginInfo(userInfo || {}); - // 回调 callback && callback(userInfo || {}); }, }); }, - complete() { - wx.hideToast(); - }, }); }, }; diff --git a/src/mindspore/utils/url-config.js b/src/mindspore/utils/config.js similarity index 34% rename from src/mindspore/utils/url-config.js rename to src/mindspore/utils/config.js index d4e50465d47d8cf31c1df09c8c7ab165361858cf..afcd4cd0e7e8730a99b230c5ea427d67a2f7ea51 100644 --- a/src/mindspore/utils/url-config.js +++ b/src/mindspore/utils/config.js @@ -1,4 +1,8 @@ const OBS_URL = 'https://mindspore-website.obs.cn-north-4.myhuaweicloud.com:443'; +const MEETING_START_TEMPLATE = 'tK51rqE72oFo5e5ajCnvkPwnsCncfydgcV1jb9ed6Qc'; +const MEETING_CANCELLATION_TEMPLATE = 'kKkokqmaH62qp_txDQrNnyoRbM5wCptTAymhmsfHT7c'; module.exports = { OBS_URL, + MEETING_START_TEMPLATE, + MEETING_CANCELLATION_TEMPLATE, }; diff --git a/src/mindspore/utils/underscore-extend.js b/src/mindspore/utils/underscore-extend.js index 466bbfcfbe592bb0ffa3f148e98495b461cb68c4..52503edbf9554cd0294b48e6b0d8673f23d59135 100644 --- a/src/mindspore/utils/underscore-extend.js +++ b/src/mindspore/utils/underscore-extend.js @@ -21,13 +21,15 @@ const _ = { let isPlainObject = function (obj) { return isObject(obj) && !isWindow(obj) && obj.__proto__ === Object.prototype; }; - for (let key in source) { + Object.keys(source).forEach((key) => { if (deep && (isPlainObject(source[key]) || isArray(source[key]))) { if (isPlainObject(source[key]) && !isPlainObject(target[key])) target[key] = {}; if (isArray(source[key]) && !isArray(target[key])) target[key] = []; extend(target[key], source[key], deep); - } else if (source[key] !== undefined) target[key] = source[key]; - } + } else if (source[key] !== undefined) { + target[key] = source[key]; + } + }); }; if (typeof target === 'boolean') { diff --git a/src/mindspore/utils/utils.js b/src/mindspore/utils/utils.js index e1a00d3610a18f60e168b561196670730056ada2..ddc5e27540706c4b0274601c4782e04d88b13a53 100644 --- a/src/mindspore/utils/utils.js +++ b/src/mindspore/utils/utils.js @@ -2,23 +2,25 @@ let utils = { /** * 日期格式化 */ - formateDate: function () { - Date.prototype.Format = function (fmt) { - let o = { - 'M+': this.getMonth() + 1, //月份 - 'd+': this.getDate(), //日 - 'h+': this.getHours(), //小时 - 'm+': this.getMinutes(), //分 - 's+': this.getSeconds(), //秒 - 'q+': Math.floor((this.getMonth() + 3) / 3), //季度 - S: this.getMilliseconds(), //毫秒 - }; - if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length)); - for (let k in o) - if (new RegExp('(' + k + ')').test(fmt)) - fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length)); - return fmt; + formateDate(date, fmt) { + const o = { + 'M+': date.getMonth() + 1, // 月份 + 'd+': date.getDate(), // 日 + 'h+': date.getHours(), // 小时 + 'm+': date.getMinutes(), // 分 + 's+': date.getSeconds(), // 秒 + 'q+': Math.floor((date.getMonth() + 3) / 3), // 季度 + S: date.getMilliseconds(), // 毫秒 }; + if (/(y+)/.test(fmt)) { + fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length)); + } + Object.keys(o).forEach((k) => { + if (new RegExp('(' + k + ')').test(fmt)) { + fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length)); + } + }); + return fmt; }, /** * 加密存储数据 Promise 版本 diff --git a/src/openeuler/.gitignore b/src/openeuler/.gitignore index f6838ea8263a988ab91df83586b0117f4d389822..7e3768279c7de87b8fa8e9b23df434d9e4f2ad93 100644 --- a/src/openeuler/.gitignore +++ b/src/openeuler/.gitignore @@ -1,2 +1,3 @@ /package-lock.json -/miniprogram_npm \ No newline at end of file +/miniprogram_npm +/project.private.config.json \ No newline at end of file diff --git a/src/openeuler/app.json b/src/openeuler/app.json index a7ce0a40feb25e352593a914ded344cd5c9d37a9..7dbdd9f80d0394f35474c500b9ee4ed2cc809dcc 100644 --- a/src/openeuler/app.json +++ b/src/openeuler/app.json @@ -27,7 +27,6 @@ "pages": [ "events/event-list", "manage/enterprise-list", - "manage/member-detail", "manage/add-member", "manage/del-member", "publish/publish", @@ -47,7 +46,9 @@ "my/qrcode", "events/my-list", "my/feedback", - "my/privecy-seting" + "my/privecy-seting", + "my/sdk", + "my/share" ] } ], diff --git a/src/openeuler/components/meeting-list/meeting-list.js b/src/openeuler/components/meeting-list/meeting-list.js index 7aec177ce8107370a434c4d1fcf34bf21abadbd1..5a41c8bb9373ac1f30468534295a93ecd9947d54 100644 --- a/src/openeuler/components/meeting-list/meeting-list.js +++ b/src/openeuler/components/meeting-list/meeting-list.js @@ -1,6 +1,7 @@ // components/meeting-list/meeting-list.js const appAjax = require('./../../utils/app-ajax'); const sessionUtil = require('../../utils/app-session.js'); +const { MEETING_START_TEMPLATE, MEETING_CANCELLATION_TEMPLATE } = require('../../utils/config'); let that = null; const remoteMethods = { getSigList: function (_callback) { @@ -204,7 +205,7 @@ Component({ } else { wx.requestSubscribeMessage({ // tmplIds 对应消息模板 - tmplIds: ['2xSske0tAcOVKNG9EpBjlb1I-cjPWSZrpwPDTgqAmWI', 'UpxRbZf8Z9QiEPlZeRCgp_MKvvqHlo6tcToY8fToK50'], + tmplIds: [MEETING_START_TEMPLATE, MEETING_CANCELLATION_TEMPLATE], success() { remoteMethods.collect(that.data.id, (res) => { if (res.code === 200) { diff --git a/src/openeuler/components/privacy-text/privacy-text.js b/src/openeuler/components/privacy-text/privacy-text.js index 885bba97c6bbd380d0b8467ebf3ed1c70bcbfb74..8f938b6054a33f54a1a6540ce52aa194905ba40f 100644 --- a/src/openeuler/components/privacy-text/privacy-text.js +++ b/src/openeuler/components/privacy-text/privacy-text.js @@ -1,4 +1,9 @@ Page({ data: {}, - onLoad: function () {}, + navigateTo(e) { + wx.navigateTo({ + url: e.currentTarget.dataset.url, + }); + return; + }, }); diff --git a/src/openeuler/components/privacy-text/privacy-text.wxml b/src/openeuler/components/privacy-text/privacy-text.wxml index 9f31c5d58a84b31a9c04667bc0f16a9b2d5fb9ad..29ea24872c662d17eeeef1c30613ef18b0ba2d92 100644 --- a/src/openeuler/components/privacy-text/privacy-text.wxml +++ b/src/openeuler/components/privacy-text/privacy-text.wxml @@ -2,50 +2,86 @@ openEuler小程序隐私声明 - 我们深知您的隐私对您的重要性,并充分尊重您的隐私。在向我们提交您的个人信息之前,请您仔细阅读本《隐私政策声明》(以下简称“本声明”)。如果您对于我们处理您的个人信息的方式有任何疑问,欢迎与我们联系。本声明中的“我们”是指openEuler社区,“服务”是指openEuler小程序。 - 版本更新说明 - 请您仔细阅读此次隐私声明的更新内容: - 1. “我们如何收集和处理您的个人信息” 章节中,根据个人信息处理的合法基础进行了刷新。 - 2. “我们将保留多久您的个人信息” 章节中,对时间进行了更新。 - 3. “如何访问或控制您的个人信息” 章节中,该等权利刷新为上述权利。 + 我们深知您的隐私对您的重要性,并充分尊重您的隐私。在向我们提交您的个人信息之前,请您仔细阅读本《隐私政策声明》(以下简称“本声明”)。如果您对于我们处理您的个人信息的方式有任何疑问,欢迎与我们联系。本声明中的“我们”是指openEuler社区,“服务”是指openEuler小程序。 + 请您仔细阅读此次隐私声明的更新内容: + 1. 细化我们如何收集和处理您的个人数据。 + 2. 细化我们在何种情况披露或共享您的个人信息。 + 3. 增加第三方SDK列表、设备权限调用章节。 + 4. 细化我们将保留多久您的个人信息。 + 5. 细化个人信息存储地点。 + 6. 细化对儿童个人信息的保护。 1.我们如何收集和处理您的个人信息 - a ) 当您登录时,我们会收集您的OpenID用于,用于记录您微信与本服务的绑定关系,以确保您帐号的唯一性。当您收藏会议并同意接收微信通知的消息推送,在会议即将开始前,我们会使用您的微信OpenID通过微信通知为您发送会议开始提醒。 - b ) 当您预定会议之前,我们会收集您的Gitee ID和所属SIG组名称,用于配置预定会议权限,并作为会议信息的部分展示在小程序。 - c ) 当您预定会议时,如您填写邮箱地址我们会收集填您填写的邮箱并向其发送会议通知。 - d ) 当您创建会议后,我们会将您的Gitee ID及会议相关信息同步至本服务页面及openEuler社区网站(https://www.openeuler.org)以便对您的会议感兴趣的个人或组织及时获取相关信息。 - e ) 当您创建活动之前,我们会收集您的Gitee ID用于配置活动发布权限。 - f ) 当您创建的活动编辑活动地图时,为方便您快速填写活动地址,我们在获取您的明示同意后会关联启动腾讯地图。如您同意启动我们会获取你选择的活动地址。当您为您创建的活动添加议题时,我们会收集您所填写议题的嘉宾名称、职位、议题内容用于在活动议题的内容中及openEuler社区网站(https://www.openeuler.org)展示。 - g ) 当您在保存二维码时,我们会申请您的相册保存权限,保存二维码。 - h ) 当您点击“复制”按钮及复制图标时,我们会使用你的剪切板,用于快速复制信息。 + a ) 服务优化 + 为保障您正常使用我们的服务、维护我们服务的正常运行,确保您使用我们产品的改善及优化您的服务体验,我们会获取您的设备型号,用于前端页面适配。我们会将第三方插件WAF部署在本服务中用于安全保护,WAF插件会收集您的请求信息,详细信息请查看 + https://support.huaweicloud.com/usermanual-waf/waf_01_0172.html + b ) 登录服务 + 1. 当您登录时,我们会收集并使用您的微信openid, 用于核对您的身份在本服务中的唯一性和安排接下来的服务功能需要。同时我们会为您生成默认头像和nickname。 + 2.为记录登录凭证用于鉴权、简化您重复操作的步骤,我们会使用Storage在设备本地存储您的登录认证凭据、会议权限等级、活动权限等级、是否同意最新隐私声明、头像、nickname、Gitee ID、User ID。我们不会将该技术用于本隐私声明所述目的之外的任何用途。如果您拒绝我们使用该技术收集和使用您的相关信息,您可以通过取消同意隐私声明来撤销隐私同意。 + c ) 授权预订会议或发布活动权限 + 如果您需要预订会议或发布活动,我们需要收集您的nickname用于设置您发布会议或发布活动的权限,收集您的Gitee ID和所属SIG用于设置您的预定会议的权限。 + d ) 预定会议 + 如果您有预定会议权限,在预定会议时,我们会收集您的Gitee ID作为会议发起人,收集您的所属SIG用于选择会议所属SIG。同时我们会收集您编辑的邮箱地址,用于发送会议邀请通知邮件。如果您在预定会议时选择自动录制会议,当有参会者进入后,会议会自动录屏。在会议预订后,我们会将包含会议发起人Gitee ID的会议相关信息公开至openEuler社区官网(https://www.openeuler.org)和本服务会议列表中,以便于更多感兴趣的个人、组织查看我们的会议。 + e ) 收藏会议 + 1. 在会议即将开始前,我们会使用您的微信openid通过微信通知为您发送会议开始提醒。 + 2. 当您收藏的会议被提前取消时,我们会使用您的微信openid通过微信通知为您发送会议取消提醒。 2. 我们在何种情况披露或共享您的个人信息 共享是指我们向第三方披露您的个人信息。我们仅会出于合法、正当、必要、特定、明确的目的共享您的个人信息,我们共享这些信息的目的仅限于本声明披露或在您允许的范围内进行。 - a) 为了保护国家安全、公共安全以及您和其他个人的重大合法权益而需要共享您的个人信息。 - 3. 我们将保留多久您的个人信息 + a ) 在获取明确同意情况下的共享。获得您的明确同意后,我们会向您指定的第三方共享您授权范围内的信息。 + b ) 为了保护国家安全、公共安全以及您和其他个人的重大合法权益而需要共享您的个人信息。 + c ) 共享给业务合作伙伴。我们可能会向合作伙伴等第三方共享您的信息。但我们仅会出于合法、正当、必要、特定、明确的目的共享您的个人信息,并且只会共享提供服务所必需的个人信息。 + + 详见第三方共享信息清单 + 3. 第三方SDK列表 + 在您使用我们的服务过程中,部分服务需要由我们与第三方合作伙伴共同为您提供,例如会议预定等,为此我们集成了第三方合作伙伴的软件工具开发包(简称“SDK”)或其他类似的应用程序。 + 详见第三方SDK列表 + 我们无法控制第三方的隐私和数据保护政策,此类第三方不受到本声明的约束。在向第三方提交个人信息之前,请参见第三方的隐私保护政策。 + 4. 设备权限调用 + 当您使用本服务时,为了您能够正常使用和有更好的体验,我们可能会需要您授权使用一些权限,如相册写入、地理位置权限、剪切板、微信订阅消息,申请权限的具体目的如下: + a ) 相册写入权限:当您在本服务保存图片时,我们会在获得您的明示同意后,使用您的相册(仅写入)权限;使用场景包含:关注公众号、B站直播、关注头条号;您可以通过以下途径配置授权:小程序主页右上角“…”—“设置”—“添加到相册”—“授权”。 + b ) 地理位置权限:当您使用本服务发布活动时,为便于您快速填写活动地址,我们调用腾讯地图的服务,通过微信授权的方式开启您的地理位置权限,获取您选择的位置信息,包含经纬度;您可以通过以下途径取消授权:小程序主页右上角“…”—“设置”—“小程序已获取的信息”—“管理”—“选择的位置信息”—“通知开发者删除”。 + c ) 剪切板:为便于您快速复制内容,我们会使用您的剪切板写入权限快速复制您选择的内容。 + d ) 当您收藏会议后,为了及时通知会议情况,会在会议之前十分钟或取消会议时通过微信订阅消息的方式通知您,您可以通过以下途径配置授权:小程序主页右上角“…”—“设置”—“订阅消息”—“接受通知”—“授权”。 + 5. 我们将保留多久您的个人信息 我们将会在达成本声明所述目的所需的期限内保留您的个人信息,除非按照法律要求或您的要求需要延长保留期。 - 一般而言,我们会自您使用本服务时获取您的个人信息之日起,根据可适用法律的要求或服务协议的约定,在36个月留存期限内存储或保留您的个人信息。在您的个人信息超出保留期限后,且没有法律要求我们继续处理您的特定个人信息的情况下,我们将会根据可适用法律的要求删除您的个人信息,或进行匿名化处理。 - 4. 我们将如何保护您的个人信息 - 我们重视您的个人信息安全。我们采用适当的物理、管理和技术保障措施来保护您的个人信息。例如,我们会使用加密技术确保信息的机密性;我们会使用保护机制防止信息遭到恶意攻击;我们会部署访问控制机制,确保只有授权人员才可访问个人信息;以及我们会举办安全和隐私保护培训等。总之,我们会尽力保护您的个人信息。尽管如此,任何措施都无法做到无懈可击,也没有任何产品与服务、网站、信息传输、计算机系统、网络连接是绝对安全的。 - 5. 如何访问或控制您的个人信息 + a ) 您注销账户后,根据《个人信息法》的相关规定,我们会在保留期限内存储或保留您的个人信息。在您的个人信息超出保留期限,且没有法律要求我们继续处理您的特定个人信息的情况下,我们将会根据可适用法律的要求删除您的个人信息。例如,我们将会按照《网络安全法》《个人信息法》等相关法律法规规定的期限保存您的用户信息,保留期为您注销帐号后六(6)个月(按照30天为一个月计算)。当超过保留期,用户预订的会议、用户收藏的会议、用户发布的活动、用户收藏的活动以及用户信息将被删除。 + b ) 当您撤销同意隐私声明后,我们将立即对您的个人数据进行匿名化处理,包括您的 Gitee ID、创建会议所填写的邮箱、收藏的活动、收藏的会议。 + c ) 当您的最后登录时间距今超过2年(按照365天为一年计算),我们会对您的账户进行注销处理,用户预订的会议、用户收藏的会议、用户发布的活动、用户收藏的活动以及用户信息将被删除。 + d ) 对于您预定的会议,如果会议的创建时间距今超过2年(按照365天为一年计算),我们会对会议进行删除处理,同时清除所有用户对该会议的收藏。 + e ) 对于您发布的活动,如果活动的创建时间距今超过2年(按照365天为一年计算),我们会对活动进行删除处理,同时清除所有用户对该活动的收藏。 + 6. 我们将如何保护您的个人信息 + 我们重视您的个人信息安全。我们采用适当的物理、管理和技术保障措施来保护您的个人信息。例如,我们会使用加密技术确保信息的机密性;我们会使用保护机制防止信息遭到恶意攻击;我们会部署访问控制机制,确保只有授权人员才可访问个人信息;以及我们会举办安全和隐私保护培训等。总之,我们会尽力保护您的个人信息。尽管如此,任何措施都无法做到无懈可击,也没有任何产品与服务、网站、信息传输、计算机系统、网络连接是绝对安全的。 + 7. 如何访问或控制您的个人信息 根据适用的法律法规,就您的个人信息,您可能享有如下权利: - a) 访问我们持有的您的个人信息并获得副本的权利; - b) 要求我们更新或更正您的个人信息的权利; - c) 要求我们删除您的个人信息的权利; - d) 反对我们对您的个人信息进行处理的权利; - e) 限制我们对您的个人信息进行处理的权利; - f) 向有权的个人信息保护部门提起投诉、举报的权利; - 请注意上述权利不是绝对的,且可能根据适用的法律受到限制。如果您需要我们协助行使上述请求或权利,请通过下述“如何联系我们”联系。除非适用的法律法规另有要求,我们会在一个月内响应您的请求。根据您请求的复杂度,我们可能另行延迟两个月。如果发生该情况,我们会在收到请求的一个月内向您告知延迟及其原因。 - 请注意在某些情况下,您的请求将被驳回,比如我们无法验证您的身份,或您提出的要求超出适用的法律下赋予您的权利。我们将书面告知您提出的请求被驳回以及被驳回的原因。您可以改变您授权我们继续收集个人信息的范围或撤回您的授权,但您撤回同意或授权的决定,不会影响此前基于您的授权而开展的个人信息处理行为。 - 6.个人信息存储地点 - 为了向您提供服务,我们收集您的个人数据存储在华为云的中国节点。我们会采取措施确保收集的个人数据依据本声明和数据所在地适用法律的要求进行处理。 - 7.如何更新本声明 - 我们会根据服务或数据处理的变化更新修改本声明。如果我们更新本声明,我们会将最新版隐私声明发布在本服务上,并自发布时立即生效。建议您定期查看本声明以了解任何更改。如果我们对本声明做出任何重大更改,我们将通过适当渠道通知您,并获取您的同意。 - 8.对儿童个人信息的保护 - 我们的服务仅面向成年人和企业开放,不向未满14周岁的未成年人开放。 - 9.如何联系我们 + a ) 访问我们持有的您的个人信息并获得副本的权利; + b ) 要求我们更新或更正您的个人信息的权利; + c ) 要求我们删除您的个人信息的权利; + d ) 反对我们对您的个人信息进行处理的权利; + e ) 限制我们对您的个人信息进行处理的权利; + f ) 向有权的个人信息保护部门提起投诉、举报的权利; + g ) 撤销同意隐私声明的权利,您可以通过以下途径撤销同意隐私声明:“我的”—右上角“设置”图标—“取消同意隐私声明”; + h ) 注销帐号的权利,您可以通过以下途径注销帐号:“我的”—右上角“设置”图标—“注销帐号”; + 请注意上述权利不是绝对的,且可能根据适用的法律受到限制。如果您需要我们协助行使上述请求或权利,请通过下述“如何联系我们”联系。除非适用的法律法规另有要求,我们会在一个月内响应您的请求。根据您请求的复杂度,我们可能另行延迟两个月。如果发生该情况,我们会在收到请求的一个月内向您告知延迟及其原因。 + 请注意在某些情况下,您的请求将被驳回,比如我们无法验证您的身份,或您提出的要求超出适用的法律下赋予您的权利。我们将书面告知您提出的请求被驳回以及被驳回的原因。您可以改变您授权我们继续收集个人信息的范围或撤回您的授权,但您撤回同意或授权的决定,不会影响此前基于您的授权而开展的个人信息处理行为。 + 8.个人信息存储地点 + 本平台仅服务于中华人民共和国境内用户,您的个人信息将被存储于中华人民共和国境内。 + 9.如何更新本声明 + 我们会根据我们的服务或个人信息变化不时更新或修改本声明。如果我们更新本声明,我们会将最新版隐私声明发布在本服务上,并自发布时立即生效。建议您定期查看本声明以了解任何更改。如果我们对本声明做出任何重大更改(收集的个人信息范围和使用目的变更),我们将通过弹窗的形式通知您,并获取您的同意。 + 10.对儿童个人信息的保护 + 本服务及其内容、服务主要面向成人。如果没有父母或监护人的同意,儿童(未满 14 + 周岁的未成年人)不得使用我们提供的服务。对于经父母同意而收集儿童个人信息的情况,我们只会在受到法律允许、父母或监护人明确同意或者保护儿童所必要的情况下使用或披露此数据。如果我们发现自己在未事先获得可证实的父母同意的情况下收集了儿童的个人信息,则会设法尽快删除相关数据。 + 11.如何联系我们 如果您对本协议有任何疑问或主张任何与个人信息有关的权利,您可以通过以下方式与我们联系 联系邮箱:contact@openeuler.io 联系热线:+86 18683791700 - 最近更新时间:2023年11月18日 - 隐私声明版本:v20231118 + 最近更新时间:2023年12月1日 + 隐私声明版本:v20231201 + 查看历史版本隐私声明请点击 此处。 + \ No newline at end of file diff --git a/src/openeuler/components/privacy-text/privacy-text.wxss b/src/openeuler/components/privacy-text/privacy-text.wxss index 52837ba1dfe4a1d0fea1f04eeb7a71c53819cd4d..373c7598ff1e1c037ee50b679462afef3720f625 100644 --- a/src/openeuler/components/privacy-text/privacy-text.wxss +++ b/src/openeuler/components/privacy-text/privacy-text.wxss @@ -1,27 +1,42 @@ /* pages/my/privecy.wxss */ page { - background-color: #fff; + background-color: #fff; } +.container { + padding: 0 36rpx; +} .privecy-text text { - display: block; - margin: 24rpx 0; - line-height: 56rpx; - font-size: 36rpx; + display: block; + margin: 24rpx 0; + line-height: 56rpx; + font-size: 36rpx; + word-break: break-word; } .font-h1 { - font-size: 40rpx; + font-size: 46rpx; } .center { - text-align: center !important; + text-align: center !important; } .title { - color: #000000; + color: #000000; + font-size: 40rpx; +} +.privecy-text .link { + color: #002fa7; + text-decoration: underline; } - .content { - color: #6C7279FF; + color: #6c7279ff; +} +.container .historical { + margin-top: 0; } +navigator { + color: #002fa7; + text-decoration: underline; +} diff --git a/src/openeuler/components/privacy/privacy.js b/src/openeuler/components/privacy/privacy.js deleted file mode 100644 index 5242cb65ff16510c644c8bac3cf7d96ef5c78403..0000000000000000000000000000000000000000 --- a/src/openeuler/components/privacy/privacy.js +++ /dev/null @@ -1,90 +0,0 @@ -// component/privacy/privacy.js -Component({ - /** - * 组件的初始数据 - */ - data: { - privacyContractName: '', - showPrivacy: false, - }, - /** - * 组件的生命周期 - */ - pageLifetimes: { - show() { - const _ = this; - const version = wx.getAppBaseInfo().SDKVersion; - if (_.compareVersion(version, '2.32.3') >= 0) { - wx.getPrivacySetting({ - success(res) { - if (res.errMsg === 'getPrivacySetting:ok') { - _.setData({ - privacyContractName: res.privacyContractName, - showPrivacy: res.needAuthorization, - }); - } - }, - }); - } - }, - }, - /** - * 组件的方法列表 - */ - methods: { - // 打开隐私协议页面 - openPrivacyContract() { - wx.openPrivacyContract({ - fail: () => { - wx.showToast({ - title: '遇到错误', - icon: 'error', - }); - }, - }); - }, - // 拒绝隐私协议 - exitMiniProgram() { - wx.switchTab({ - url: '/pages/index/index', - }); - }, - // 同意隐私协议 - handleAgreePrivacyAuthorization() { - const _ = this; - _.setData({ - showPrivacy: false, - }); - }, - // 比较版本号 - compareVersion(v1, v2) { - v1 = v1.split('.'); - v2 = v2.split('.'); - const len = Math.max(v1.length, v2.length); - - while (v1.length < len) { - v1.push('0'); - } - while (v2.length < len) { - v2.push('0'); - } - - for (let i = 0; i < len; i++) { - const num1 = parseInt(v1[i]); - const num2 = parseInt(v2[i]); - - if (num1 > num2) { - return 1; - } else if (num1 < num2) { - return -1; - } - } - - return 0; - }, - // 通过绑定空事件禁止滑动事件的穿透 - handleCatchtouchMove() { - return; - }, - }, -}); diff --git a/src/openeuler/components/privacy/privacy.wxml b/src/openeuler/components/privacy/privacy.wxml deleted file mode 100644 index b50a4beba962e3ad3411eaedab41446ee19dc504..0000000000000000000000000000000000000000 --- a/src/openeuler/components/privacy/privacy.wxml +++ /dev/null @@ -1,13 +0,0 @@ - - - - 隐私保护指引 - - 在使用当前小程序服务之前,请仔细阅读{{privacyContractName}}。如您同意{{privacyContractName}},请点击“同意”开始使用。 - - - - - - - \ No newline at end of file diff --git a/src/openeuler/components/privacy/privacy.wxss b/src/openeuler/components/privacy/privacy.wxss deleted file mode 100644 index c2ed6c8cbf0a1f1f30cb3b073a2b3eb3de2e16a7..0000000000000000000000000000000000000000 --- a/src/openeuler/components/privacy/privacy.wxss +++ /dev/null @@ -1,68 +0,0 @@ -/* component/privacy/privacy.wxss */ -.privacy { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: rgba(0, 0, 0, .5); - z-index: 9999999; - display: flex; - align-items: center; - justify-content: center; -} - -.content { - width: 632rpx; - padding: 48rpx; - box-sizing: border-box; - background: #fff; - border-radius: 16rpx; -} - -.content .title { - text-align: center; - color: #333; - font-weight: bold; - font-size: 32rpx; -} - -.content .des { - font-size: 26rpx; - color: #666; - margin-top: 40rpx; - text-align: justify; - line-height: 1.6; -} - -.content .des .link { - color: #002fa7; - text-decoration: underline; -} - -.btns { - margin-top: 48rpx; - display: flex; -} - -.btns .item { - justify-content: space-between; - width: 244rpx; - height: 80rpx; - display: flex; - align-items: center; - justify-content: center; - border-radius: 16rpx; - box-sizing: border-box; - border: none; -} - -.btns .reject { - background: #f4f4f5; - color: #000; -} - -.btns .agree { - background: #f4f4f5; - color: #000; -} \ No newline at end of file diff --git a/src/openeuler/config/constants.js b/src/openeuler/config/constants.js index 9968916b79e4870ab4f6f5005e7b5890c2c85306..afd4c04e2f08bf9af6b05332cc0daec896de861f 100644 --- a/src/openeuler/config/constants.js +++ b/src/openeuler/config/constants.js @@ -5,9 +5,7 @@ let _ = require('../utils/underscore-extend.js'); // 服务连接配置 let serviceConfig = { - // SERVICE_URL: 'https://api.openeuler.org/meetings', // 正式环境 - SERVICE_URL: 'https://meetingserver-openeuler.test.osinfra.cn', // 测试环境 - // SERVICE_URL: 'https://meetings-beta.openeuler.org', // 测试环境 + SERVICE_URL: 'https://meetings.openeuler.openatom.cn', }; // 存储配置 diff --git a/src/openeuler/config/services-config.js b/src/openeuler/config/services-config.js index 34da2821bd868cf56c50654f4b7cd5fb358e16da..b2a6f89c4e2cf16259480d0be571117e06e0cd4e 100644 --- a/src/openeuler/config/services-config.js +++ b/src/openeuler/config/services-config.js @@ -147,7 +147,7 @@ let commonServiceConfig = { // 最近的会议列表 RECENTLY_MEETINGS: '/meetings_recently/', - // 同意隐私政策 + // 同意更新的隐私声明 AGREE: '/agree/', // 退出登陆 LOGOUT: '/logout/', diff --git a/src/openeuler/custom-tab-bar/index.wxml b/src/openeuler/custom-tab-bar/index.wxml index 4419a3633839c42c4f8e1d4edebcddadc327841f..0d2ec5e5635272cf49a47b02ec9a5c3f78a37726 100644 --- a/src/openeuler/custom-tab-bar/index.wxml +++ b/src/openeuler/custom-tab-bar/index.wxml @@ -1,19 +1,19 @@ - - + + 首页 - - + + 会议 - - + + 活动 - - + + 我的 \ No newline at end of file diff --git a/src/openeuler/package-events/events/event-detail.js b/src/openeuler/package-events/events/event-detail.js index 0d2fc505535a48bf126808eb6a8de21375d00e59..ce1b63ecf1619d14976dd6810930ddc9b42b0af0 100644 --- a/src/openeuler/package-events/events/event-detail.js +++ b/src/openeuler/package-events/events/event-detail.js @@ -197,6 +197,7 @@ Page({ } catch (error) { return; } + postData.agree = true; remoteMethods.draftPublish(postData, (res) => { if (res.code === 200) { wx.redirectTo({ diff --git a/src/openeuler/package-events/events/event-detail.json b/src/openeuler/package-events/events/event-detail.json index 4863d6a0ff7c657ea875f20faefbc7e1ef5a2b13..64bf16260f765d2d4ea8b599b823e19e247da579 100644 --- a/src/openeuler/package-events/events/event-detail.json +++ b/src/openeuler/package-events/events/event-detail.json @@ -1,6 +1,3 @@ { - "navigationBarTitleText": "活动详情", - "usingComponents": { - "privacy": "/components/privacy/privacy" - } + "navigationBarTitleText": "活动详情" } \ No newline at end of file diff --git a/src/openeuler/package-events/events/event-detail.wxml b/src/openeuler/package-events/events/event-detail.wxml index f6652aef930aa9d71abb53ca058adee0ed22a775..38cf0f2751f6a589c6d8046c1869e7ddbdb5992c 100644 --- a/src/openeuler/package-events/events/event-detail.wxml +++ b/src/openeuler/package-events/events/event-detail.wxml @@ -1,6 +1,5 @@ -