From cc062618e10141fa37c53751c21d63677a6e184c Mon Sep 17 00:00:00 2001 From: haml-707 <845831435@qq.com> Date: Sat, 25 Nov 2023 22:22:44 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BB=A3=E7=A0=81=E6=95=B4=E6=94=B9?= =?UTF-8?q?=EF=BC=8C=E6=96=B0=E5=A2=9E=E4=B8=89=E6=96=B9SDK,=E4=B8=89?= =?UTF-8?q?=E6=96=B9=E5=85=B1=E4=BA=AB=E6=B8=85=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix: 消息订阅模板抽离,隐私声明加书名号,for in 替换为Object.keys --- .gitignore | 3 +- src/mindspore/README.en.md | 36 -- src/mindspore/app.json | 258 +++++------ .../components/meeting-list/meeting-list.js | 22 +- .../components/privacy-text/privacy-text.js | 20 +- .../components/privacy-text/privacy-text.wxml | 90 ++-- .../components/privacy-text/privacy-text.wxss | 37 +- src/mindspore/components/privacy/privacy.js | 87 ---- src/mindspore/components/privacy/privacy.wxml | 13 - src/mindspore/components/privacy/privacy.wxss | 68 --- src/mindspore/config/constants.js | 4 +- src/mindspore/config/services-config.js | 2 +- src/mindspore/custom-tab-bar/index.wxml | 16 +- .../package-events/events/event-detail.js | 9 +- .../package-events/events/event-detail.json | 5 +- .../package-events/events/event-detail.wxml | 29 +- .../package-events/events/event-list.wxml | 15 +- .../package-events/publish/publish.js | 94 ++-- .../package-events/publish/publish.wxml | 30 +- .../package-meeting/meeting/detail.js | 4 +- .../package-meeting/reserve/reserve.js | 11 +- .../package-meeting/reserve/reserve.wxml | 6 +- .../package-meeting/sig/add-member.js | 2 +- .../package-meeting/sig/add-sig-member.js | 5 +- src/mindspore/package-my/events/my-list.wxml | 19 +- src/mindspore/package-my/my/help.wxml | 2 +- src/mindspore/package-my/my/my-meetings.json | 10 +- .../package-my/my/privecy-seting.wxml | 2 +- src/mindspore/package-my/my/qrcode.js | 2 +- src/mindspore/package-my/my/sdk.js | 4 + .../package-my/my/sdk.json} | 1 - src/mindspore/package-my/my/sdk.wxml | 40 ++ src/mindspore/package-my/my/sdk.wxss | 24 + src/mindspore/package-my/my/share.js | 4 + .../privacy.json => package-my/my/share.json} | 1 - src/mindspore/package-my/my/share.wxml | 14 + src/mindspore/package-my/my/share.wxss | 24 + src/mindspore/pages/auth/auth.js | 24 +- src/mindspore/pages/auth/auth.json | 1 - src/mindspore/pages/auth/auth.wxml | 3 +- src/mindspore/pages/events/events.js | 1 - src/mindspore/pages/events/events.json | 3 +- src/mindspore/pages/events/events.wxml | 20 +- src/mindspore/pages/index/index.json | 3 +- src/mindspore/project.private.config.json | 131 ------ src/mindspore/utils/app-ajax.js | 10 +- src/mindspore/utils/app-session.js | 17 - src/mindspore/utils/app-user.js | 4 +- .../utils/{url-config.js => config.js} | 4 + src/mindspore/utils/underscore-extend.js | 8 +- src/openeuler/.gitignore | 3 +- src/openeuler/app.json | 4 +- .../components/meeting-list/meeting-list.js | 3 +- .../components/privacy-text/privacy-text.js | 7 +- .../components/privacy-text/privacy-text.wxml | 106 +++-- .../components/privacy-text/privacy-text.wxss | 28 +- src/openeuler/components/privacy/privacy.js | 90 ---- src/openeuler/components/privacy/privacy.wxml | 13 - src/openeuler/components/privacy/privacy.wxss | 68 --- src/openeuler/config/constants.js | 4 +- src/openeuler/config/services-config.js | 2 +- src/openeuler/custom-tab-bar/index.wxml | 16 +- .../package-events/events/event-detail.js | 1 + .../package-events/events/event-detail.json | 5 +- .../package-events/events/event-detail.wxml | 27 +- .../package-events/events/event-list.wxml | 14 +- .../package-events/events/poster.wxml | 2 +- .../package-events/publish/publish.js | 81 ++-- .../package-events/publish/publish.wxml | 44 +- .../package-events/publish/publish.wxss | 435 +++++++++--------- .../package-meeting/meeting/detail.js | 4 +- .../package-meeting/reserve/reserve.js | 7 +- .../package-meeting/reserve/reserve.wxml | 6 +- src/openeuler/package-my/my/help.js | 2 +- src/openeuler/package-my/my/my-meetings.json | 2 +- .../package-my/my/privecy-historical.json | 2 +- .../package-my/my/privecy-historical.wxml | 4 +- .../package-my/my/privecy-seting.wxml | 4 +- src/openeuler/package-my/my/privecy.wxss | 17 +- src/openeuler/package-my/my/qrcode.js | 2 +- src/openeuler/package-my/my/sdk.js | 4 + src/openeuler/package-my/my/sdk.json | 3 + src/openeuler/package-my/my/sdk.wxml | 47 ++ src/openeuler/package-my/my/sdk.wxss | 24 + src/openeuler/package-my/my/share.js | 4 + src/openeuler/package-my/my/share.json | 3 + src/openeuler/package-my/my/share.wxml | 14 + src/openeuler/package-my/my/share.wxss | 24 + src/openeuler/pages/auth/auth.js | 27 +- src/openeuler/pages/auth/auth.json | 1 - src/openeuler/pages/auth/auth.wxml | 3 +- src/openeuler/pages/index/index.js | 2 +- src/openeuler/project.private.config.json | 74 --- src/openeuler/utils/app-ajax.js | 19 +- src/openeuler/utils/app-session.js | 10 - src/openeuler/utils/app-user.js | 4 +- .../utils/{url-config.js => config.js} | 4 + src/openeuler/utils/underscore-extend.js | 8 +- src/openeuler/utils/utils.js | 6 +- src/sourcemap-mindspore.zip | Bin 1544937 -> 0 bytes src/sourcemap-openeuler.zip | Bin 1158036 -> 0 bytes 101 files changed, 1144 insertions(+), 1382 deletions(-) delete mode 100644 src/mindspore/README.en.md delete mode 100644 src/mindspore/components/privacy/privacy.js delete mode 100644 src/mindspore/components/privacy/privacy.wxml delete mode 100644 src/mindspore/components/privacy/privacy.wxss create mode 100644 src/mindspore/package-my/my/sdk.js rename src/{openeuler/components/privacy/privacy.json => mindspore/package-my/my/sdk.json} (52%) create mode 100644 src/mindspore/package-my/my/sdk.wxml create mode 100644 src/mindspore/package-my/my/sdk.wxss create mode 100644 src/mindspore/package-my/my/share.js rename src/mindspore/{components/privacy/privacy.json => package-my/my/share.json} (52%) create mode 100644 src/mindspore/package-my/my/share.wxml create mode 100644 src/mindspore/package-my/my/share.wxss delete mode 100644 src/mindspore/project.private.config.json rename src/mindspore/utils/{url-config.js => config.js} (34%) delete mode 100644 src/openeuler/components/privacy/privacy.js delete mode 100644 src/openeuler/components/privacy/privacy.wxml delete mode 100644 src/openeuler/components/privacy/privacy.wxss create mode 100644 src/openeuler/package-my/my/sdk.js create mode 100644 src/openeuler/package-my/my/sdk.json create mode 100644 src/openeuler/package-my/my/sdk.wxml create mode 100644 src/openeuler/package-my/my/sdk.wxss create mode 100644 src/openeuler/package-my/my/share.js create mode 100644 src/openeuler/package-my/my/share.json create mode 100644 src/openeuler/package-my/my/share.wxml create mode 100644 src/openeuler/package-my/my/share.wxss delete mode 100644 src/openeuler/project.private.config.json rename src/openeuler/utils/{url-config.js => config.js} (57%) delete mode 100644 src/sourcemap-mindspore.zip delete mode 100644 src/sourcemap-openeuler.zip diff --git a/.gitignore b/.gitignore index 5b3cade..f6051b4 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 49eedac..0000000 --- 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 0d11d4e..d78d67a 100644 --- a/src/mindspore/app.json +++ b/src/mindspore/app.json @@ -1,129 +1,131 @@ -{ - "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/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", + "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 92f6cab..bff9070 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 5a56414..79b05d6 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 71bd0e4..f0984ef 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插件会收集访问请求时间、请求的客户端IP地址、请求的客户端端口号、请求协议类型、请求响应码、请求方法、请求的服务器域名、请求URL、请求的长度、请求处理时间、通过SNI请求的域名、请求header中的user-gent、请求所属Region,请求头中的Referer内容。 + b ) 登录服务 + 1. 当您登录时,我们会收集并使用您的微信openid, 用于核对您的身份在本服务中的唯一性和安排接下来的服务功能需要。同时我们会为您生成默认头像和nickname。 + 2.为记录登录凭证用于鉴权、简化您重复操作的步骤,我们会使用Storage在设备本地存储您的认证凭据、会议权限等级、活动权限等级、是否同意最新隐私声明、头像、nickname、Gitee ID、User ID。我们不会将该技术用于本隐私政策所述目的之外的任何用途。如果您拒绝我们使用该技术收集和使用您的相关信息,您可以通过取消同意隐私声明来撤销隐私同意。 + c ) 授权预订会议或发布活动权限 + 如果您需要预订会议或发布活动,我们需要收集您的nickname用于设置您发布会议或发布活动的权限,收集您的Gitee ID、所属城市和所属SIG用于设置您的预定会议的权限。 + d ) 预定会议 + 如果您有预定会议权限,在预定会议时,我们会收集您的Gitee ID作为会议发起人,收集您的所属城市用于确定MSG城市,收集您的所属SIG用于选择会议所属SIG。同时我们会收集您编辑的邮箱地址,用于发送会议邀请通知邮件。如果您在预定会议时选择会议自动录屏当有参会者进入后,会议会自动录屏。在会议预订后,我们会将会议相关信息(包含会议主题、会议描述、会议发起人、会议时间、会议ID、会议链接、etherpad链接、回放链接)公开至Mindspore社区官网(https://www.mindspore.cn)和本服务会议列表中,以便于更多感兴趣的个人、组织回顾我们的会议。 + e ) 申请发布活动 + 当您创建活动时,我们会收集您填写的活动相关信息,包括活动名称、活动时间、报名链接、线上链接、活动简介、活动议程(活动嘉宾的姓名、学校/公司或职位)、活动地址,以便参与活动人员了解活动。活动信息审核通过发布后,我们会将上述活动相关信息公开至MindSpore社区官网(https://www.mindspore.cn)和本服务活动列表中,以便更多人了解本活动。 + f ) 收藏会议 + 1. 在会议即将开始前,我们会使用您的微信openid通过微信通知为您发送会议开始提醒。 + 2. 当您收藏的会议被提前取消时,我们会使用您的微信openid通过微信通知为您发送会议取消提醒。 2. 我们在何种情况披露或共享您的个人信息 共享是指我们向第三方披露您的个人信息。我们仅会出于合法、正当、必要、特定、明确的目的共享您的个人信息,我们共享这些信息的目的仅限于本声明披露或在您允许的范围内进行。 - a ) 为了保护国家安全、公共安全以及您和其他个人的重大合法权益而需要共享您的个人信息。 - 3. 我们将保留多久您的个人信息 + a ) 在获取明确同意情况下的共享。获得您的明确同意后,我们会向您指定的第三方共享您授权范围内的信息。 + b ) 为了保护国家安全、公共安全以及您和其他个人的重大合法权益而需要共享您的个人信息。 + c ) 共享给业务合作伙伴。我们可能会向合作伙伴等第三方共享您的信息。但我们仅会出于合法、正当、必要、特定、明确的目的共享您的个人信息,并且只会共享提供服务所必需的个人信息。 + + 详见第三方共享信息清单。 + 3. 第三方SDK列表 + 详见第三方SDK列表。 + 4. 设备权限调用 + 当您使用本服务时,为了您能够正常使用和有更好的体验,我们可能会需要您授权使用一些权限,如相册写入、地理位置权限、剪切板、微信订阅消息,申请权限的具体目的如下: + a ) 相册写入权限:当您在本服务保存图片时,我们会在获得您的明示同意后,使用您的相册(仅写入)权限;使用场景包含:关注公众号、B站直播、关注头条号;您可以通过以下途径配置授权:小程序主页右上角“…”—“设置”—添加到相册—授权。 + b ) 地理位置权限:当您使用本服务发布活动时,为便于您快速填写活动地址,我们调用腾讯地图的服务,通过微信授权的方式开启您的地理位置权限,获取您选择的位置信息,包含经纬度;您可以通过以下途径取消授权:小程序主页右上角“…”—“设置”—小程序已获取的信息—点击“管理”—点击“选择的位置信息”—通知开发者删除。 + c ) 剪切板:为便于您快速复制内容,我们会使用您的剪切板写入权限快速复制您选择的内容。 + d ) 当您收藏会议后,为了及时通知会议情况,会在会议之前十分钟或取消会议时通过微信订阅消息的方式通知您,您可以通过以下途径配置授权:小程序主页右上角“…”—“设置”—订阅消息—接受通知—授权。 + 5. 我们将保留多久您的个人信息 我们将会在达成本声明所述目的所需的期限内保留您的个人信息,除非按照法律要求或您的要求需要延长保留期。 - 一般而言,我们会自您使用本服务时获取您的个人信息之日起,根据可适用法律的要求或服务协议的约定,在留存期限内存储或保留您的个人信息。在您的个人信息超出保留期限后,且没有法律要求我们继续处理您的特定个人信息的情况下,我们将会根据可适用法律的要求删除您的个人信息,或进行匿名化处理。 - 4. 我们将如何保护您的个人信息 - 我们重视您的个人信息安全。我们采用适当的物理、管理和技术保障措施来保护您的个人信息。例如,我们会使用加密技术确保信息的机密性;我们会使用保护机制防止信息遭到恶意攻击;我们会部署访问控制机制,确保只有授权人员才可访问个人信息;以及我们会举办安全和隐私保护培训等。总之,我们会尽力保护您的个人信息。尽管如此,任何措施都无法做到无懈可击,也没有任何产品与服务、网站、信息传输、计算机系统、网络连接是绝对安全的。 - 5. 如何访问或控制您的个人信息 + a ) 您注销账户后,根据《个人信息法》的相关规定,我们会在保留期限内存储或保留您的个人信息。在您的个人信息超出保留期限,且没有法律要求我们继续处理您的特定个人信息的情况下,我们将会根据可适用法律的要求删除您的个人信息。例如,我们将会按照《网络安全法》《个人信息法》等相关法律法规规定的期限保存您的用户信息,保留期为您注销帐号后六(6)个月(按照30天为一个月计算)。当超过保留期,用户预订的会议、用户预定会议录制及其上传记录、用户收藏的会议、用户发布的活动、用户收藏的活动以及用户信息将被删除。 + b ) 当您撤销同意隐私声明后,我们将立即对您的个人数据进行匿名化处理,包括您的openid 、nickname、Gitee ID、创建会议所填写的邮箱。 + c ) 当您的最后登录时间距今超过2年(按照365天为一年计算),我们会对您的账户进行注销处理,用户预订的会议、用户预定会议录制及其上传记录、用户收藏的会议、用户发布的活动、用户收藏的活动以及用户信息将被删除。 + d ) 对于您预定的会议,如果会议的创建时间距今超过2年(按照365天为一年计算),我们会对会议进行删除处理,同时清除所有用户对该会议的收藏。 + e ) 对于您发布的活动,如果活动的创建时间距今超过2年(按照365天为一年计算),我们会对活动进行删除处理,同时清除所有用户对该活动的收藏。 + 6. 我们将如何保护您的个人信息 + 我们重视您的个人信息安全。我们采用适当的物理、管理和技术保障措施来保护您的个人信息。例如,我们会使用加密技术确保信息的机密性;我们会使用保护机制防止信息遭到恶意攻击;我们会部署访问控制机制,确保只有授权人员才可访问个人信息;以及我们会举办安全和隐私保护培训等。总之,我们会尽力保护您的个人信息。尽管如此,任何措施都无法做到无懈可击,也没有任何产品与服务、网站、信息传输、计算机系统、网络连接是绝对安全的。 + 7. 如何访问或控制您的个人信息 根据适用的法律法规,就您的个人信息,您可能享有如下权利: a ) 访问我们持有的您的个人信息并获得副本的权利; b ) 要求我们更新或更正您的个人信息的权利; @@ -28,20 +62,22 @@ d ) 反对我们对您的个人信息进行处理的权利; e ) 限制我们对您的个人信息进行处理的权利; f ) 向有权的个人信息保护部门提起投诉、举报的权利; - 请注意上述权利不是绝对的,且可能根据适用的法律受到限制。如果您需要我们协助行使上述请求或权利,请通过下述“如何联系我们”联系。 - 除非适用的法律法规另有要求,我们会在一个月内响应您的请求。根据您请求的复杂度,我们可能另行延迟两个月。如果发生该情况,我们会在收到请求的一个月内向您告知延迟及其原因。请注意在某些情况下,您的请求将被驳回,比如我们无法验证您的身份,或您提出的要求超出适用的法律下赋予您的权利。我们将书面告知您提出的请求被驳回以及被驳回的原因。 - 您可以改变您授权我们继续收集个人信息的范围或撤回您的授权,但您撤回同意或授权的决定,不会影响此前基于您的授权而开展的个人信息处理行为。 - 6.个人信息存储地点 - 为了向您提供服务,我们收集您的个人数据存储在华为云的北京节点。我们会采取措施确保收集的个人数据依据本声明和数据所在地适用法律的要求进行处理。 - 7.如何更新本声明 - 我们会根据服务或数据处理的变化更新修改本声明。如果我们更新本声明,我们会将最新版隐私声明发布在本服务上,并自发布时立即生效。建议您定期查看本声明以了解任何更改。如果我们对本声明做出任何重大更改,我们将通过适当渠道通知您,并获取您的同意。 - 8.对儿童个人信息的保护 - 我们的服务仅面向成年人和企业开放,不向未满14周岁的未成年人开放。 - 9.如何联系我们 + 请注意上述权利不是绝对的,且可能根据适用的法律受到限制。如果您需要我们协助行使上述请求或权利,请通过下述“如何联系我们”联系。除非适用的法律法规另有要求,我们会在一个月内响应您的请求。根据您请求的复杂度,我们可能另行延迟两个月。如果发生该情况,我们会在收到请求的一个月内向您告知延迟及其原因。 + 请注意在某些情况下,您的请求将被驳回,比如我们无法验证您的身份,或您提出的要求超出适用的法律下赋予您的权利。我们将书面告知您提出的请求被驳回以及被驳回的原因。您可以改变您授权我们继续收集个人信息的范围或撤回您的授权,但您撤回同意或授权的决定,不会影响此前基于您的授权而开展的个人信息处理行为。 + 8.个人信息存储地点 + 本平台仅服务于中华人民共和国境内用户,您的个人信息将被存储于中华人民共和国境内。 + 9.如何更新本声明 + 我们会根据我们的服务或个人信息变化不时更新或修改本声明。如果我们更新本声明,我们会将最新版隐私声明发布在本服务上,并自发布时立即生效。建议您定期查看本声明以了解任何更改。如果我们对本声明做出任何重大更改(收集的个人信息范围和使用目的变更),我们将通过弹窗的形式通知您,并获取您的同意。 + 10.对儿童个人信息的保护 + 本服务及其内容、服务主要面向成人。如果没有父母或监护人的同意,儿童(未满14周岁的未成年人)不得使用我们提供的服务。对于经父母同意而收集儿童个人信息的情况,我们只会在受到法律允许、父母或监护人明确同意或者保护儿童所必要的情况下使用或披露此数据。如果我们发现自己在未事先获得可证实的父母同意的情况下收集了儿童的个人信息,则会设法尽快删除相关数据。 + 11.如何联系我们 如果您对本协议有任何疑问或主张任何与个人信息有关的权利,您可以通过以下方式与我们联系 联系邮箱:contact@mindspore.cn 联系热线:+86 18683791700 - 最近更新时间:2023年9月19日 - 隐私声明版本:v2023091901 + 最近更新时间:2023年11月27日 + 隐私声明版本:v20231127 \ 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 0ae5db7..98a47a0 100644 --- a/src/mindspore/components/privacy-text/privacy-text.wxss +++ b/src/mindspore/components/privacy-text/privacy-text.wxss @@ -1,36 +1,33 @@ /* 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; } .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; -} \ 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 0bacf1c..0000000 --- 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 49e6122..0000000 --- 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 a906dcd..0000000 --- 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 3b7d5e4..6a8dcdc 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://meetingserver-mindspore-icsl.test.osinfra.cn', // 灰度环境、 }; // 存储配置 diff --git a/src/mindspore/config/services-config.js b/src/mindspore/config/services-config.js index 8b72f34..e4ed6d9 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 cbe3dc4..b63caa7 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 f82a06e..bf55345 100644 --- a/src/mindspore/package-events/events/event-detail.js +++ b/src/mindspore/package-events/events/event-detail.js @@ -117,13 +117,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 +136,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) { @@ -250,6 +250,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 4863d6a..64bf162 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 1504cad..8159996 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||''}} + + @@ -111,21 +112,13 @@ - - - + + - - - - diff --git a/src/mindspore/package-events/events/event-list.wxml b/src/mindspore/package-events/events/event-list.wxml index c049feb..03cce1e 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/publish/publish.js b/src/mindspore/package-events/publish/publish.js index 97a9d93..9030a1c 100644 --- a/src/mindspore/package-events/publish/publish.js +++ b/src/mindspore/package-events/publish/publish.js @@ -95,6 +95,18 @@ let localMethods = { this.toast('请选择活动结束日期'); return; } + if (data.register_url?.trim() === '') { + this.toast('请输入报名链接'); + return; + } + if (data.replay_url?.trim() && !urlRegex.test(data.replay_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 +116,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 +140,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 +180,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 +207,10 @@ let localMethods = { return; } } - + if (!that.data.privacyState) { + this.toast('请先阅读并同意隐私声明'); + return; + } return true; }, toast: function (msg) { @@ -246,12 +235,12 @@ Page({ date: '', type: '课程', form: ['1'], - mode: '小程序报名', address: '', addressName: '', registerUrl: '', desc: '', betweenDay: [], + privacyState: false, schedule: [ { start: '', @@ -267,7 +256,6 @@ Page({ ], allSchedule: [], typeList: ['课程', 'MSG', '赛事', '其他'], - modeList: ['小程序报名', '跳转其他链接报名'], datePopShow: false, timePopShow: false, formShow: false, @@ -322,7 +310,6 @@ Page({ 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 || '', @@ -333,10 +320,11 @@ Page({ betweenDay: utils.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,7 +335,16 @@ Page({ /** * 生命周期函数--监听页面显示 */ - onShow: function () {}, + privacyStateOnChange: function (event) { + this.setData({ + privacyState: event.detail, + }); + }, + toPrivacy() { + wx.navigateTo({ + url: '/package-my/my/privecy', + }); + }, titleInput(e) { this.setData({ title: e.detail.value, @@ -496,11 +493,6 @@ Page({ }, }); }, - modeRadioOnChange: function (e) { - this.setData({ - mode: e.detail, - }); - }, radioClick(e) { this.setData({ method: e.currentTarget.dataset.index, @@ -736,6 +728,7 @@ Page({ if (!localMethods.validation(postData)) { return; } + postData.agree = true; remoteMethods.addEvents(postData, (res) => { if (res.code === 200) { wx.redirectTo({ @@ -746,7 +739,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 +756,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 +792,7 @@ Page({ if (!localMethods.validation(postData)) { return; } + postData.agree = true; remoteMethods.saveDraft(postData, (res) => { if (res.code === 200) { wx.redirectTo({ @@ -812,7 +806,7 @@ 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, @@ -830,7 +824,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, @@ -869,17 +863,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 d5b2f84..6f7c82f 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,24 +82,24 @@ 报名链接 * - - + - + 线上链接 * - 活动回放链接 - @@ -107,10 +107,10 @@ 活动简介 - - + 议题 * - @@ -164,13 +164,13 @@ Name * - Title - @@ -227,10 +227,10 @@ 点击 【申请发布】 后,你的活动将进入发布阶段,正式发布后,您仅能修改活动日程 - + - 已阅读并同意隐私声明 + 已阅读并同意《隐私声明》 diff --git a/src/mindspore/package-meeting/meeting/detail.js b/src/mindspore/package-meeting/meeting/detail.js index 5241771..c052751 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({ @@ -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 bb4a061..36fdb44 100644 --- a/src/mindspore/package-meeting/reserve/reserve.js +++ b/src/mindspore/package-meeting/reserve/reserve.js @@ -2,6 +2,8 @@ const appAjax = require('./../../utils/app-ajax'); const appSession = require('./../../utils/app-session.js'); const utils = require('./../../utils/utils.js'); +const { MEETING_START_TEMPLATE } = require('../../utils/config'); + utils.formateDate(); let remoteMethods = { @@ -270,6 +272,11 @@ Page({ agenda: '', emaillist: '', record: '', + typeKey: '', + tipsType: '', + isSig: false, + isMSG: false, + typeMeeting: '', meetingType: 'tencent', }); }, @@ -280,8 +287,7 @@ Page({ let that = this; wx.requestSubscribeMessage({ // 消息订阅模板 - tmplIds: ['tK51rqE72oFo5e5ajCnvkPwnsCncfydgcV1jb9ed6Qc'], - success() {}, + tmplIds: [MEETING_START_TEMPLATE], complete() { let param = { topic: that.data.topic, @@ -296,6 +302,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; diff --git a/src/mindspore/package-meeting/reserve/reserve.wxml b/src/mindspore/package-meeting/reserve/reserve.wxml index 8ccac89..99ff4dc 100644 --- a/src/mindspore/package-meeting/reserve/reserve.wxml +++ b/src/mindspore/package-meeting/reserve/reserve.wxml @@ -83,7 +83,7 @@ Etherpad链接 - @@ -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 701bcdf..45bfbd5 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 be8f5f6..0611dbf 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-my/events/my-list.wxml b/src/mindspore/package-my/events/my-list.wxml index dac67f4..4d84629 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 460eee8..5df7a8b 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 a9ce98d..1e97cad 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 121a0a9..849b005 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/qrcode.js b/src/mindspore/package-my/my/qrcode.js index 320438a..a9394e7 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({ /** diff --git a/src/mindspore/package-my/my/sdk.js b/src/mindspore/package-my/my/sdk.js new file mode 100644 index 0000000..92ecc33 --- /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 b18bd46..7a58afc 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 0000000..cfa433e --- /dev/null +++ b/src/mindspore/package-my/my/sdk.wxml @@ -0,0 +1,40 @@ + + + 三方SDK名称 + 使用目的 + 使用场景 + 涉及个人信息 + SDK隐私声明或开发指南 + + + 腾讯会议 + 预订会议 + 预订/取消会议/获取录像列表/获取录像下载地址 + 会议日期、开始时间、结束时间、会议名称、host_id,是否自动录制/会议ID/会议开始时间、会议结束时间/会议ID、User ID + https://privacy.qq.com/document/preview/4467add90f9d4baaabd790cb1cb08b26 + + + WeLink会议 + 预订会议 + 预订/取消会议/获取录像列表/获取录像下载地址 + 会议日期、开始时间、结束时间、会议名称、host_id,是否自动录制/会议ID、host_id/会议开始时间、会议结束时间、host_id/confuuid, + host_id + https://api.welink.huaweicloud.com/mcloud/mag/FreeProxyForText/ppolicy/v2/privacy/latestContent/cn + + + + MTA(MindSpore邮件列表服务) + 发送通知邮件 + 预订/取消会议 + 邮箱地址、会议名称、会议日期、开始时间、结束时间、会议平台、会议ID、会议所属SIG、会议内容, Etherpad链接, 会议链接/邮箱地址、会议名称、开始时间、所属SIG、会议平台 + https://www.mindspore.cn/privacy + + + 微信开放平台 + 获取小程序用户openid,发送订阅消息,生成二维码 + 获取小程序用户openid/发送订阅消息/生成二维码 + 登录授权code/openid、会议名称、会议ID、会议日期、会议开始时间/活动ID + https://www.mindspore.cn/privacy + + \ 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 0000000..7626b08 --- /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 0000000..41757cd --- /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 b18bd46..7a58afc 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 0000000..a518271 --- /dev/null +++ b/src/mindspore/package-my/my/share.wxml @@ -0,0 +1,14 @@ + + + 第三方主体 + 使用目的 + 涉及个人信息 + 第三方官网链接 + + + MindSpore官网 + 分享会议和活动的详细信息 + 会议发起人、会议日期、会议开始时间、会议结束时间、会议ID、会议链接、会议平台、会议名称、会议所属SIG、Etherpad链接、会议内容/活动ID、活动类型、活动地址及其经纬度、活动详细地址、活动开始日期、活动结束日期、报名链接、活动主题、活动日程 + https://www.mindspore.cn + + \ 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 0000000..7626b08 --- /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 8800a08..acd3fcb 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, async 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 0b1b7eb..4037151 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 499bc06..35f4975 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 1557813..95440d1 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 953441e..0000000 --- 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 d818745..3f7d307 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 8daed39..b3a7d03 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 93c237d..1244611 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; 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 d4e5046..afcd4cd 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 466bbfc..52503ed 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/openeuler/.gitignore b/src/openeuler/.gitignore index f6838ea..7e37682 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 a7ce0a4..38f5649 100644 --- a/src/openeuler/app.json +++ b/src/openeuler/app.json @@ -47,7 +47,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 7aec177..5a41c8b 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 885bba9..8f938b6 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 9f31c5d..423b864 100644 --- a/src/openeuler/components/privacy-text/privacy-text.wxml +++ b/src/openeuler/components/privacy-text/privacy-text.wxml @@ -2,50 +2,82 @@ 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插件会收集访问请求时间、请求的客户端IP地址、请求的客户端端口号、请求协议类型、请求响应码、请求方法、请求的服务器域名、请求URL、请求的长度、请求处理时间、通过SNI请求的域名、请求header中的user-gent、请求所属Region,请求头中的Referer内容。 + b ) 登录服务 + 1. 当您登录时,我们会收集并使用您的微信openid, 用于核对您的身份在本服务中的唯一性和安排接下来的服务功能需要。同时我们会为您生成默认头像和nickname。 + 2.为记录登录凭证用于鉴权、简化您重复操作的步骤,我们会使用Storage在设备本地存储您的认证凭据、会议权限等级、活动权限等级、是否同意最新隐私声明、头像、nickname、Gitee ID、User ID。我们不会将该技术用于本隐私政策所述目的之外的任何用途。如果您拒绝我们使用该技术收集和使用您的相关信息,您可以通过取消同意隐私声明来撤销隐私同意。 + c ) 授权预订会议或发布活动权限 + 如果您需要预订会议或发布活动,我们需要收集您的nickname用于设置您发布会议或发布活动的权限,收集您的Gitee ID和所属SIG用于设置您的预定会议的权限。 + d ) 预定会议 + 如果您有预定会议权限,在预定会议时,我们会收集您的Gitee ID作为会议发起人,收集您的所属SIG用于选择会议所属SIG。同时我们会收集您编辑的邮箱地址,用于发送会议邀请通知邮件。如果您在预定会议时选择会议自动录屏当有参会者进入后,会议会自动录屏。在会议预订后,我们会将会议相关信息(包含会议主题、会议描述、会议发起人、会议时间、会议ID、会议链接、etherpad链接、回放链接)公开至openEuler社区官网(https://www.openeuler.org)和本服务会议列表中,以便于更多感兴趣的个人、组织回顾我们的会议。 + e ) 申请发布活动 + 当您创建活动时,我们会收集您填写的活动相关信息(包括活动简介、活动议程(活动嘉宾的姓名、学校/公司或职位)、活动地址),以便参与活动人员了解活动。活动信息审核通过发布后,我们会将上述活动相关信息公开至openEuler社区官网(https://www.openeuler.org)和本服务活动列表中,以便更多人了解本活动。 + f ) 收藏会议 + 1. 在会议即将开始前,我们会使用您的微信openid通过微信通知为您发送会议开始提醒。 + 2. 当您收藏的会议被提前取消时,我们会使用您的微信openid通过微信通知为您发送会议取消提醒。 2. 我们在何种情况披露或共享您的个人信息 共享是指我们向第三方披露您的个人信息。我们仅会出于合法、正当、必要、特定、明确的目的共享您的个人信息,我们共享这些信息的目的仅限于本声明披露或在您允许的范围内进行。 - a) 为了保护国家安全、公共安全以及您和其他个人的重大合法权益而需要共享您的个人信息。 - 3. 我们将保留多久您的个人信息 + a ) 在获取明确同意情况下的共享。获得您的明确同意后,我们会向您指定的第三方共享您授权范围内的信息。 + b ) 为了保护国家安全、公共安全以及您和其他个人的重大合法权益而需要共享您的个人信息。 + c ) 共享给业务合作伙伴。我们可能会向合作伙伴等第三方共享您的信息。但我们仅会出于合法、正当、必要、特定、明确的目的共享您的个人信息,并且只会共享提供服务所必需的个人信息。 + + 详见第三方共享信息清单。 + 3. 第三方SDK列表 + 详见第三方SDK列表。 + 4. 设备权限调用 + 当您使用本服务时,为了您能够正常使用和有更好的体验,我们可能会需要您授权使用一些权限,如相册写入、地理位置权限、剪切板、微信订阅消息,申请权限的具体目的如下: + a ) 相册写入权限:当您在本服务保存图片时,我们会在获得您的明示同意后,使用您的相册(仅写入)权限;使用场景包含:关注公众号、B站直播、关注头条号;您可以通过以下途径配置授权:小程序主页右上角“…”—“设置”—添加到相册—授权。 + b ) 地理位置权限:当您使用本服务发布活动时,为便于您快速填写活动地址,我们调用腾讯地图的服务,通过微信授权的方式开启您的地理位置权限,获取您选择的位置信息,包含经纬度;您可以通过以下途径取消授权:小程序主页右上角“…”—“设置”—小程序已获取的信息—点击“管理”—点击“选择的位置信息”—通知开发者删除。 + c ) 剪切板:为便于您快速复制内容,我们会使用您的剪切板写入权限快速复制您选择的内容。 + d ) 当您收藏会议后,为了及时通知会议情况,会在会议之前十分钟或取消会议时通过微信订阅消息的方式通知您,您可以通过以下途径配置授权:小程序主页右上角“…”—“设置”—订阅消息—接受通知—授权。 + 5. 我们将保留多久您的个人信息 我们将会在达成本声明所述目的所需的期限内保留您的个人信息,除非按照法律要求或您的要求需要延长保留期。 - 一般而言,我们会自您使用本服务时获取您的个人信息之日起,根据可适用法律的要求或服务协议的约定,在36个月留存期限内存储或保留您的个人信息。在您的个人信息超出保留期限后,且没有法律要求我们继续处理您的特定个人信息的情况下,我们将会根据可适用法律的要求删除您的个人信息,或进行匿名化处理。 - 4. 我们将如何保护您的个人信息 - 我们重视您的个人信息安全。我们采用适当的物理、管理和技术保障措施来保护您的个人信息。例如,我们会使用加密技术确保信息的机密性;我们会使用保护机制防止信息遭到恶意攻击;我们会部署访问控制机制,确保只有授权人员才可访问个人信息;以及我们会举办安全和隐私保护培训等。总之,我们会尽力保护您的个人信息。尽管如此,任何措施都无法做到无懈可击,也没有任何产品与服务、网站、信息传输、计算机系统、网络连接是绝对安全的。 - 5. 如何访问或控制您的个人信息 + a ) 您注销账户后,根据《个人信息法》的相关规定,我们会在保留期限内存储或保留您的个人信息。在您的个人信息超出保留期限,且没有法律要求我们继续处理您的特定个人信息的情况下,我们将会根据可适用法律的要求删除您的个人信息。例如,我们将会按照《网络安全法》《个人信息法》等相关法律法规规定的期限保存您的用户信息,保留期为您注销帐号后六(6)个月(按照30天为一个月计算)。当超过保留期,用户预订的会议、用户收藏的会议、用户发布的活动、用户收藏的活动以及用户信息将被删除。 + b ) 当您撤销同意隐私声明后,我们将立即对您的个人数据进行匿名化处理,包括您的openid 、nickname、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 ) 向有权的个人信息保护部门提起投诉、举报的权利; + 请注意上述权利不是绝对的,且可能根据适用的法律受到限制。如果您需要我们协助行使上述请求或权利,请通过下述“如何联系我们”联系。除非适用的法律法规另有要求,我们会在一个月内响应您的请求。根据您请求的复杂度,我们可能另行延迟两个月。如果发生该情况,我们会在收到请求的一个月内向您告知延迟及其原因。 + 请注意在某些情况下,您的请求将被驳回,比如我们无法验证您的身份,或您提出的要求超出适用的法律下赋予您的权利。我们将书面告知您提出的请求被驳回以及被驳回的原因。您可以改变您授权我们继续收集个人信息的范围或撤回您的授权,但您撤回同意或授权的决定,不会影响此前基于您的授权而开展的个人信息处理行为。 + 8.个人信息存储地点 + 本平台仅服务于中华人民共和国境内用户,您的个人信息将被存储于中华人民共和国境内。 + 9.如何更新本声明 + 我们会根据我们的服务或个人信息变化不时更新或修改本声明。如果我们更新本声明,我们会将最新版隐私声明发布在本服务上,并自发布时立即生效。建议您定期查看本声明以了解任何更改。如果我们对本声明做出任何重大更改(收集的个人信息范围和使用目的变更),我们将通过弹窗的形式通知您,并获取您的同意。 + 10.对儿童个人信息的保护 + 本服务及其内容、服务主要面向成人。如果没有父母或监护人的同意,儿童(未满 14 + 周岁的未成年人)不得使用我们提供的服务。对于经父母同意而收集儿童个人信息的情况,我们只会在受到法律允许、父母或监护人明确同意或者保护儿童所必要的情况下使用或披露此数据。如果我们发现自己在未事先获得可证实的父母同意的情况下收集了儿童的个人信息,则会设法尽快删除相关数据。 + 11.如何联系我们 如果您对本协议有任何疑问或主张任何与个人信息有关的权利,您可以通过以下方式与我们联系 联系邮箱:contact@openeuler.io 联系热线:+86 18683791700 - 最近更新时间:2023年11月18日 - 隐私声明版本:v20231118 + 最近更新时间:2023年11月27日 + 隐私声明版本:v20231127 \ 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 52837ba..84e7ae3 100644 --- a/src/openeuler/components/privacy-text/privacy-text.wxss +++ b/src/openeuler/components/privacy-text/privacy-text.wxss @@ -1,27 +1,33 @@ /* 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; } .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; } - diff --git a/src/openeuler/components/privacy/privacy.js b/src/openeuler/components/privacy/privacy.js deleted file mode 100644 index 5242cb6..0000000 --- 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 b50a4be..0000000 --- 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 c2ed6c8..0000000 --- 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 9968916..1fbdbc4 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://meetingserver-openeuler-v2.test.osinfra.cn', }; // 存储配置 diff --git a/src/openeuler/config/services-config.js b/src/openeuler/config/services-config.js index 34da282..b2a6f89 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 4419a36..0d2ec5e 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 0d2fc50..ce1b63e 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 4863d6a..64bf162 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 f6652ae..076b0af 100644 --- a/src/openeuler/package-events/events/event-detail.wxml +++ b/src/openeuler/package-events/events/event-detail.wxml @@ -1,6 +1,5 @@ -