From 7b52a65598ee438ec345f478206fd886845e6a2a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=A8=E8=B1=AA?= <781521347@qq.com>
Date: Sat, 15 Jan 2022 18:18:05 +0800
Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
api/knowledge.js | 2 +-
api/user.js | 11 +
config/index.js | 4 +-
pages.json | 6 +
pages/authorization/agreementPage.vue | 162 +++
pages/course/detail.vue | 127 +-
pages/course/index.vue | 22 +-
pages/course/signIn.vue | 65 +-
pages/user/PersonalData/index.vue | 57 +-
pages/user/User/index.vue | 1234 +++++++++--------
pages/user/myCourses/index.vue | 10 +-
utils/index.js | 53 +-
wxcomponents/vant/button/index.vue | 96 ++
wxcomponents/vant/common/index.css | 1 +
wxcomponents/vant/common/style/clearfix.css | 1 +
wxcomponents/vant/common/style/ellipsis.css | 1 +
wxcomponents/vant/common/style/hairline.css | 1 +
.../vant/common/style/mixins/clearfix.css | 0
.../vant/common/style/mixins/ellipsis.css | 0
.../vant/common/style/mixins/hairline.css | 0
wxcomponents/vant/common/style/theme.css | 0
wxcomponents/vant/common/style/var.css | 0
wxcomponents/vant/icon/index.vue | 1012 ++++++++++++++
wxcomponents/vant/info/index.vue | 20 +
wxcomponents/vant/loading/index.vue | 51 +
25 files changed, 2201 insertions(+), 735 deletions(-)
create mode 100644 pages/authorization/agreementPage.vue
create mode 100644 wxcomponents/vant/button/index.vue
create mode 100644 wxcomponents/vant/common/index.css
create mode 100644 wxcomponents/vant/common/style/clearfix.css
create mode 100644 wxcomponents/vant/common/style/ellipsis.css
create mode 100644 wxcomponents/vant/common/style/hairline.css
create mode 100644 wxcomponents/vant/common/style/mixins/clearfix.css
create mode 100644 wxcomponents/vant/common/style/mixins/ellipsis.css
create mode 100644 wxcomponents/vant/common/style/mixins/hairline.css
create mode 100644 wxcomponents/vant/common/style/theme.css
create mode 100644 wxcomponents/vant/common/style/var.css
create mode 100644 wxcomponents/vant/icon/index.vue
create mode 100644 wxcomponents/vant/info/index.vue
create mode 100644 wxcomponents/vant/loading/index.vue
diff --git a/api/knowledge.js b/api/knowledge.js
index d22c493..29e6966 100644
--- a/api/knowledge.js
+++ b/api/knowledge.js
@@ -118,7 +118,7 @@ export function enterCourse(data) {
* 课程扫码签到
*/
export function signCourse(data) {
- return request.get("/user/signCourse?courseId="+data);
+ return request.get("/lession/signCourse?lessionId="+data);
}
/**
diff --git a/api/user.js b/api/user.js
index 1d48d61..14d3f27 100644
--- a/api/user.js
+++ b/api/user.js
@@ -1,5 +1,16 @@
import request from '@/utils/request'
+
+/**
+ * 获取我参与的课程和学习榜
+ */
+export function myLession(data) {
+ return request.get('/user/myLession', data, {
+ // return request.get("/citys", data, {
+ login: true,
+ })
+}
+
/**
* 省市区
*/
diff --git a/config/index.js b/config/index.js
index a4fc5ee..260ea95 100644
--- a/config/index.js
+++ b/config/index.js
@@ -1,7 +1,7 @@
// export const VUE_APP_API_URL = 'http://natapp.xinxintuan.co/api';
// export const VUE_APP_API_URL = 'https://wxapi.yixiang.co/api'
-// export const VUE_APP_API_URL = 'http://192.168.0.112:8088/api'
-// export const VUE_APP_API_URL = 'http://192.168.0.111:8088/api'
+// export const VUE_APP_API_URL = 'http://10.11.32.109:8088/api'
+// export const VUE_APP_API_URL = 'http://10.11.32.103:8088/api/'
export const VUE_APP_API_URL = 'https://www.cyjyyjy.com/api'
// export const VUE_APP_API_URL = 'http://natapp.xinxintuan.co/api';
// export const VUE_APP_API_URL = 'https://thapi.xinxintuan.co/api'
diff --git a/pages.json b/pages.json
index 3f73251..ceb3f5d 100644
--- a/pages.json
+++ b/pages.json
@@ -11,6 +11,12 @@
"style": {
"navigationBarTitleText": "微信授权"
}
+ },
+ {
+ "path": "pages/authorization/agreementPage",
+ "style": {
+ "navigationBarTitleText": "用户协议"
+ }
},
// {
// "path": "pages/user/Login/index",
diff --git a/pages/authorization/agreementPage.vue b/pages/authorization/agreementPage.vue
new file mode 100644
index 0000000..cae7c7e
--- /dev/null
+++ b/pages/authorization/agreementPage.vue
@@ -0,0 +1,162 @@
+
+
+ 用户协议:
+ 本隐私政策介绍本公司的隐私数据相关政策和惯例,这将涵盖我们如何收集、使用、处理、存储和/或披露那些通过本公司的移动App收集的关于您的个人信息。请你仔细阅读我们的隐私政策。
+ 一、本公司如何收集您的个人信息
+ 个人信息是可用于唯一地识别或联系某人的数据。
+ 当您使用本公司的系统,注册用户过程中我们将会收集您的个人信息,如:电子邮件地址、电话号码。为了保护个人隐私,您不应提供除本公司特别要求之外的任何其它信息。
+ 二、本公司如何使用您的个人信息
+ 1、通过您的个人信息,向您发送本公司移动App的服务信息。
+ 2、通过您的个人信息实现密码找回功能。
+ 3、除本公司发生重组、合并或出售,可将我们收集的一切个人信息转让给相关第三方外,本公司不会向任何无关第三方提供、出售、出租、分享或交易您的个人信息,除非事先得到您的许可,或该第三方和本公司单独或共同为您提供服务,且在该服务结束后,其将被禁止访问包括其以前能够访问的所有这些信息。
+ 三、个人信息安全
+ 保证您的个人数据的安全对我们来说至关重要。当您在本公司的移动App中注册输入个人数据时,我们会利用安全套接字层技术 (SSL) 对这些信息进行加密。
+ 在数据传输和数据保管两个阶段里,我们会通过广为接受的行业标准(如防火墙、加密和数据隐私法律要求)来保护您向我们提交的信息。
+ 然而,没有任何一种互联网传输或电子存储方法是100%安全的。因此,尽管我们通过商业上可接受的方式来保护您的个人信息,但仍无法保证信息的绝对安全。
+ 四、本公司会将个人信息保存多久
+ 一般来说,本公司仅保留您的个人信息至履行收集目的所需的期限,同时将遵守适用法律规定的数据保留期限。
+ 五、法律免责声明
+ 在法律要求的情况下,以及本公司认为必须披露与您有关的信息来保护本公司的法定权益和/或遵守司法程序、法院指令或适用于本公司的系统的法律程序时,我们有权透露您的个人信息。
+ 如果本公司确定为了执行本公司的条款和条件或保护我们的经营,披露是合理必须的,则我们可披露与您有关的信息。
+ 六、本隐私政策的更改
+ 如果决定更改隐私政策,我们会在本政策中、本公司网站中以及我们认为适当的位置发布这些更改,以便您了解我们如何收集、使用您的个人信息,哪些人可以访问这些信息,以及在什么情况下我们会透露这些信息。
+ 本公司保留随时修改本政策的权利,因此请经常查看。如对本政策作出重大更改,本公司会通过网站通知的形式告知。
+
+ 用户协议
+ 特别提示
+ 云生态在此特别提醒您(用户)在注册成为用户之前,请认真阅读本《用户协议》(以下简称“协议”),确保您充分理解本协议中各条款。请您审慎阅读并选择接受或不接受本协议。除非您接受本协议所有条款,否则您无权注册、登录或使用本协议所涉服务。您的注册、登录、使用等行为将视为对本协议的接受,并同意接受本协议各项条款的约束。
+ 本协议约定云生态与用户之间关于“云生态软件服务(以下简称“服务”)的权利义务。“用户”是指注册、登录、使用本服务的个人。本协议可由云生态随时更新,更新后的协议条款一旦公布即代替原来的协议条款,恕不再另行通知,用户可在本网站查阅最新版协议条款。在云生态修改协议条款后,如果用户不接受修改后的条款,请立即停止使用云生态提供的服务,用户继续使用云生态提供的服务将被视为接受修改后的协议。
+ 一、用户个人信息保护
+ 1、用户在注册帐号或使用本服务的过程中,可能需要填写或提交一些必要的个人信息,如法律法规、规章规范性文件(以下称“法律法规”)规定的需要填写的身份信息。如用户提交的信息不完整或不符合法律法规的规定,则用户可能无法使用本服务或在使用本服务的过程中受到限制。
+ 2、用户个人信息包括:
+ 1)用户自行提供的用户个人信息(如注册时填写的手机号码,电子邮件等个人信息,使用服务时提供的共享信息等);
+ 2)其他方分享的用户个人信息;
+ 3)云生态为提供服务而合法收集的用户必要个人信息(如使用服务时系统自动采集的设备或软件信息,浏览历史信息,通讯时间信息等技术信息,用户开启定位功能并使用服务时的地理位置信息等)。
+ 其中个人隐私信息是指涉及用户个人身份或个人隐私的信息,比如,用户真实姓名、身份证号、手机号码、手机设备识别码、IP地址、用户聊天记录。非个人隐私信息是指用户对本服务的操作状态以及使用习惯等明确且客观反映在云生态服务器端的基本记录信息、个人隐私信息范围外的其它普通信息,以及用户同意公开的上述隐私信息。云生态保证在取得用户书面同意的情况下收集、使用或公开用户的个人隐私信息,用户同意云生态无需获得用户的另行确认与授权即可收集、使用或公开用户的非个人隐私信息。
+ 3、尊重用户个人信息的私有性是云生态的一贯制度,云生态将采取技术措施和其他必要措施,确保用户个人信息安全,防止在本服务中收集的用户个人信息泄露、毁损或丢失。在发生前述情形或者云生态发现存在发生前述情形的可能时,云生态将及时采取补救措施并告知用户,用户如发现存在前述情形亦需立即与云生态联系。
+ 4、云生态未经用户同意不向任何第三方公开、 透露用户个人隐私信息。但以下特定情形除外:
+ (1) 云生态根据法律法规规定或有权机关的指示提供用户的个人隐私信息;
+ (2) 由于用户将其用户密码告知他人或与他人共享注册帐户与密码,由此导致的任何个人信息的泄漏,或其他非因云生态原因导致的个人隐私信息的泄露;
+ (3) 用户自行向第三方公开其个人隐私信息;
+ (4) 用户与云生态及合作单位之间就用户个人隐私信息的使用公开达成约定,云生态因此向合作单位公开用户个人隐私信息;
+ (5) 任何由于黑客攻击、电脑病毒侵入及其他不可抗力事件导致用户个人隐私信息的泄露;
+ (6) 用户个人信息已经经过处理无法识别特定个人且不能复原。
+ 5、用户同意云生态可在以下事项中使用用户的个人隐私信息:
+ (1) 云生态向用户及时发送重要通知,如软件更新、本协议条款的变更;
+ (2) 云生态内部进行审计、数据分析和研究等,以改进云生态的产品、服务和与用户之间的沟通;
+ (3) 依本协议约定,云生态管理、审查用户信息及进行处理措施;
+ (4) 适用法律法规规定的其他事项。
+ 除上述事项外,如未取得用户事先同意,云生态不会将用户个人隐私信息使用于任何其他用途。
+ 四、内容规范
+ 1、本条所述内容是指用户使用本服务过程中所制作、上载、复制、发布、传播的任何内容,包括但不限于帐号头像、名称、用户说明等注册信息及认证资料,或文字、语音、图片、视频、图文等发送、回复或自动回复消息和相关链接页面,以及其他使用帐号或本服务所产生的内容。
+ 2、用户不得利用“云生态”帐号或本服务制作、上载、复制、发布、传播如下法律、法规和政策禁止的内容:
+ (1) 反对宪法所确定的基本原则的;
+ (2) 危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的;
+ (3) 损害国家荣誉和利益的;
+ (4) 煽动民族仇恨、民族歧视,破坏民族团结的;
+ (5) 破坏国家宗教政策,宣扬邪教和封建迷信的;
+ (6) 散布谣言,扰乱社会秩序,破坏社会稳定的;
+ (7) 散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的;
+ (8) 侮辱或者诽谤他人,侵害他人合法权益的;
+ (9) 不遵守法律法规底线、社会主义制度底线、国家利益底线、公民合法权益底线、社会公共秩序底线、道德风尚底线和信息真实性底线的“七条底线”要求的;
+ (10) 含有法律、行政法规禁止的其他内容的信息。
+ 3、用户不得利用“云生态”帐号或本服务制作、上载、复制、发布、传播如下干扰“云生态”正常运营,以及侵犯其他用户或第三方合法权益的内容:
+ (1) 含有任何性或性暗示的;
+ (2) 含有辱骂、恐吓、威胁内容的;
+ (3) 含有骚扰、垃圾广告、恶意信息、诱骗信息的;
+ (4) 涉及他人隐私、个人信息或资料的;
+ (5) 侵害他人名誉权、肖像权、知识产权、商业秘密等合法权利的;
+ (6) 含有其他干扰本服务正常运营和侵犯其他用户或第三方合法权益内容的信息。
+ 五、使用规则
+ 1、用户在本服务中或通过本服务所传送、发布的任何内容并不反映或代表,也不得被视为反映或代表云生态的观点、立场或政策,云生态对此不承担任何责任。
+ 2、用户不得利用“云生态”帐号或本服务进行如下行为:
+ (1) 提交、发布虚假信息,或盗用他人头像或资料,冒充、利用他人名义的;
+ (2) 强制、诱导其他用户关注、点击链接页面或分享信息的;
+ (3) 虚构事实、隐瞒真相以误导、欺骗他人的;
+ (4) 利用技术手段批量建立虚假帐号的;
+ (5) 利用“云生态”帐号或本服务从事任何违法犯罪活动的;
+ (6) 制作、发布与以上行为相关的方法、工具,或对此类方法、工具进行运营或传播,无论这些行为是否为商业目的;
+ (7) 其他违反法律法规规定、侵犯其他用户合法权益、干扰“云生态”正常运营或云生态未明示授权的行为。
+ 3、用户须对利用“云生态”帐号或本服务传送信息的真实性、合法性、无害性、准确性、有效性等全权负责,与用户所传播的信息相关的任何法律责任由用户自行承担,与云生态无关。如因此给云生态或第三方造成损害的,用户应当依法予以赔偿。
+ 4、云生态提供的服务中可能包括广告,用户同意在使用过程中显示云生态和第三方供应商、合作伙伴提供的广告。除法律法规明确规定外,用户应自行对依该广告信息进行的交易负责,对用户因依该广告信息进行的交易或前述广告商提供的内容而遭受的损失或损害,云生态不承担任何责任。
+ 5、除非云生态书面许可,用户不得从事下列任一行为:
+ (1) 删除软件及其副本上关于著作权的信息;
+ (2) 对软件进行反向工程、反向汇编、反向编译,或者以其他方式尝试发现软件的源代码;
+ (3) 对云生态拥有知识产权的内容进行使用、出租、出借、复制、修改、链接、转载、汇编、发表、出版、建立镜像站点等;
+ (4) 对软件或者软件运行过程中释放到任何终端内存中的数据、软件运行过程中客户端与服务器端的交互数据,以及软件运行所必需的系统数据,进行复制、修改、增加、删除、挂接运行或创作任何衍生作品,形式包括但不限于使用插件、外挂或非经云生态授权的第三方工具/服务接入软件和相关系统;
+ (5) 通过修改或伪造软件运行中的指令、数据,增加、删减、变动软件的功能或运行效果,或者将用于上述用途的软件、方法进行运营或向公众传播,无论这些行为是否为商业目的;
+ (6) 通过非云生态开发、授权的第三方软件、插件、外挂、系统,登录或使用云生态软件及服务,或制作、发布、传播非云生态开发、授权的第三方软件、插件、外挂、系统。
+ 六、账户管理
+ 1、 “云生态”帐号的所有权归云生态所有,用户完成申请注册手续后,获得“云生态”帐号的使用权,该使用权仅属于初始申请注册人,禁止赠与、借用、租用、转让或售卖。云生态因经营需要,有权回收用户的“云生态”帐号。
+ 2、用户可以通过
+ 1)查看与编辑个人资料页,
+ 2)“设置”页面里的“账号与安全”页面来查询、更改、删除、注销“云生态”帐户上的个人资料、注册信息及传送内容等,但需注意,删除有关信息的同时也会删除用户储存在系统中的文字和图片。用户需承担该风险。
+ 3、用户有责任妥善保管注册帐号信息及帐号密码的安全,因用户保管不善可能导致遭受盗号或密码失窃,责任由用户自行承担。用户需要对注册帐号以及密码下的行为承担法律责任。用户同意在任何情况下不使用其他用户的帐号或密码。在用户怀疑他人使用其帐号或密码时,用户同意立即通知云生态。
+ 4、用户应遵守本协议的各项条款,正确、适当地使用本服务,如因用户违反本协议中的任何条款,云生态在通知用户后有权依据协议中断或终止对违约用户“云生态”帐号提供服务。同时,云生态保留在任何时候收回“云生态”帐号、用户名的权利。
+ 5、如用户注册“云生态”帐号后一年不登录,通知用户后,云生态可以收回该帐号,以免造成资源浪费,由此造成的不利后果由用户自行承担。
+ 6、用户可以通过“设置”页面里的“账号与安全”页面来进行账号注销服务,用户确认注销账号是不可恢复的操作,用户应自行备份与云生态账号相关的信息和数据,用户确认操作之前与云生态账号相关的所有服务均已进行妥善处理。用户确认并同意注销账号后并不代表本云生态账号注销前的账号行为和相关责任得到豁免或减轻,如在注销期间,用户的账号被他人投诉、被国家机关调查或者正处于诉讼、仲裁程序中,云生态有限自行终止用户的账号注销并无需另行得到用户的同意。
+ 八、数据储存
+ 1、云生态不对用户在本服务中相关数据的删除或储存失败负责。
+ 2、云生态可以根据实际情况自行决定用户在本服务中数据的最长储存期限,并在服务器上为其分配数据最大存储空间等。用户可根据自己的需要自行备份本服务中的相关数据。
+ 3、如用户停止使用本服务或本服务终止,云生态可以从服务器上永久地删除用户的数据。本服务停止、终止后,云生态没有义务向用户返还任何数据。
+ 九、风险承担
+ 1、用户理解并同意,“云生态”仅为用户提供信息分享、传送及获取的平台,用户必须为自己注册帐号下的一切行为负责,包括用户所传送的任何内容以及由此产生的任何后果。用户应对“云生态”及本服务中的内容自行加以判断,并承担因使用内容而引起的所有风险,包括因对内容的正确性、完整性或实用性的依赖而产生的风险。云生态无法且不会对因用户行为而导致的任何损失或损害承担责任。
+ 2、用户理解并同意,因业务发展需要,云生态保留单方面对本服务的全部或部分服务内容变更、暂停、终止或撤销的权利,用户需承担此风险。
+ 十、知识产权声明
+ 1、除本服务中涉及广告的知识产权由相应广告商享有外,云生态在本服务中提供的内容(包括但不限于网页、文字、图片、音频、视频、图表等)的知识产权均归云生态所有,但用户在使用本服务前对自己发布的内容已合法取得知识产权的除外。
+ 2、除另有特别声明外,云生态提供本服务时所依托软件的著作权、专利权及其他知识产权均归云生态所有。
+ 3、云生态在本服务中所涉及的图形、文字或其组成,以及其他云生态标志及产品、服务名称(以下统称“云生态标识”),其著作权或商标权归云生态所有。未经云生态事先书面同意,用户不得将云生态标识以任何方式展示或使用或作其他处理,也不得向他人表明用户有权展示、使用、或其他有权处理云生态标识的行为。
+ 4、上述及其他任何云生态或相关广告商依法拥有的知识产权均受到法律保护,未经云生态或相关广告商书面许可,用户不得以任何形式进行使用或创造相关衍生作品。
+ 5、用户在使用云生态服务时发表上传的文字、图片、视频、音频、软件以及表演等信息,此部分信息的知识产权归用户,责任由用户承担。但用户的发表、上传行为视为对云生态的授权,用户理解并同意授予云生态及其关联公司全球范围内完全免费、不可撤销、独家、永久、可转授权和可再许可的权利,包括但不限于:复制权、发行权、出租权、展览权、表演权、放映权、广播权、信息网络传播权、摄制权、改编权、翻译权、汇编权以及《著作权法》规定的由著作权人享有的其他著作财产权利及邻接权利。云生态可自行选择是否使用以及使用方式,包括但不限于将前述信息在云生态旗下的服务平台上使用与传播,将上述信息再次编辑后使用,以及由云生态授权给合作方使用、编辑与传播等。
+ 十一、法律责任
+ 1、如果云生态发现或收到他人举报或投诉用户违反本协议约定的,云生态有权不经通知随时对相关内容,包括但不限于用户资料、聊天记录进行审查、删除,并视情节轻重对违规帐号处以包括但不限于警告、帐号封禁 、设备封禁 、功能封禁 的处罚,且通知用户处理结果。
+ 2、因违反用户协议被封禁的用户,在封禁期限届满后自助解封。其中,被实施功能封禁的用户会在封禁期届满后自动恢复被封禁功能。被封禁用户可向云生态网站相关页面提交申诉,云生态将对申诉进行审查,并自行合理判断决定是否变更处罚措施。
+ 3、用户理解并同意,云生态有权依合理判断对违反有关法律法规或本协议规定的行为进行处罚,对违法违规的任何用户采取适当的法律行动,并依据法律法规保存有关信息向有关部门报告等,用户应承担由此而产生的一切法律责任。
+ 4、用户理解并同意,因用户违反本协议约定,导致或产生的任何第三方主张的任何索赔、要求或损失,包括合理的律师费,用户应当赔偿云生态与合作公司、关联公司,并使之免受损害。
+ 十二、不可抗力及其他免责事由
+ 1、用户理解并确认,在使用本服务的过程中,可能会遇到不可抗力等风险因素,使本服务发生中断。不可抗力是指不能预见、不能克服并不能避免且对一方或双方造成重大影响的客观事件,包括但不限于自然灾害如洪水、地震、瘟疫流行和风暴等以及社会事件如战争、动乱、政府行为等。出现上述情况时,云生态将努力在第一时间与相关单位配合,及时进行修复,但是由此给用户或第三方造成的损失,云生态及合作单位在法律允许的范围内免责。
+ 2、本服务同大多数互联网服务一样,受包括但不限于用户原因、网络服务质量、社会环境等因素的差异影响,可能受到各种安全问题的侵扰,如他人利用用户的资料,造成现实生活中的骚扰;用户下载安装的其它软件或访问的其他网站中含有“特洛伊木马”等病毒,威胁到用户的计算机信息和数据的安全,继而影响本服务的正常使用等等。用户应加强信息安全及使用者资料的保护意识,要注意加强密码保护,以免遭致损失和骚扰。
+ 3、用户理解并确认,本服务存在因不可抗力、计算机病毒或黑客攻击、系统不稳定、用户所在位置、用户关机以及其他任何技术、互联网络、通信线路原因等造成的服务中断或不能满足用户要求的风险,因此导致的用户或第三方任何损失,云生态不承担任何责任。
+ 4、用户理解并确认,在使用本服务过程中存在来自任何他人的包括误导性的、欺骗性的、威胁性的、诽谤性的、令人反感的或非法的信息,或侵犯他人权利的匿名或冒名的信息,以及伴随该等信息的行为,因此导致的用户或第三方的任何损失,云生态不承担任何责任。
+ 5、用户理解并确认,云生态需要定期或不定期地对“云生态”平台或相关的设备进行检修或者维护,如因此类情况而造成服务在合理时间内的中断,云生态无需为此承担任何责任,但云生态应事先进行通告。
+ 6、云生态重视对未成年人的保护。云生态将依赖用户提供的个人信息判断用户是否为未成年人。任何18岁以下的未成年人均不得注册帐号或使用本服务
+ 7、因云生态提供的服务系基于地理位置提供的移动社交服务,用户确认,其地理位置信息为非个人隐私信息,用户成功注册“云生态”帐号视为确认授权云生态提取、公开及使用用户的地理位置信息。
用户地理位置信息将作为用户公开资料之一,由云生态向其他用户公开以便云生态向用户提供基于地理位置的移动社交服务。如用户需要终止向其他用户公开其地理位置信息,可随时自行设置为隐身状态。
+ 8、为了改善云生态的技术和服务,向用户提供更好的服务体验,云生态或可会自行收集使用或向第三方提供用户的非个人隐私信息。
+ 9、云生态保证在合法、正当与必要的原则下收集、使用或者公开用户个人信息且不会收集与提供的服务无关的用户个人信息。
+ 10、云生态十分注重保护用户的个人隐私,并制定了《云生态隐私权政策》,用户亦可以通过“设置”页面里的“帮助”来进行具体查看,用户确认并同意使用云生态提供的服务将被视为接受《云生态隐私权政策》。
+ 2、如发生下列任何一种情形,云生态有权变更、中断或终止向用户提供的免费服务或收费服务,而无需对用户或任何第三方承担任何责任:
+ (1) 根据法律规定用户应提交真实信息,而用户提供的个人资料不真实、或与注册时信息不一致又未能提供合理证明;
+ (2) 用户违反相关法律法规或本协议的约定;
+ (3) 按照法律规定或有权机关的要求;
+ (4) 出于安全的原因或其他必要的情形。
+ 十四、“活动”服务说明与免责条款
+ 1、云生态“活动”功能板块,是以地理位置为基础、发布用户周边文化活动信息的活动信息共享平台(下称“本平台”)。
+
+
+ 2、本平台发布之全部文化活动信息,包括但不限于活动地理位置信息,均直接或者间接来自于文化活动主办方。
+ 3、本平台发布文化活动信息,意在宣传文化活动、丰富用户文化生活。本平台用户于本平台“活动”功能板块发布的留言、评论等信息,均系用户自行发布。本平台不对上述信息的真实性、准确性,或及时性、完整性负责。
+ 十五、其他
+ 1、云生态郑重提醒用户注意本协议中免除云生态责任和限制用户权利的条款,请用户仔细阅读,自主考虑风险
+ 2、本协议的效力、解释及纠纷的解决,适用于中华人民共和国法律。若用户和云生态之间发生任何纠纷或争议,首先应友好协商解决,协商不成的,用户同意将纠纷或争议提交云生态住所地有管辖权的人民法院管辖。
+ 3、本协议的任何条款无论因何种原因无效或不具可执行性,其余条款仍有效,对双方具有约束力。
+ 4、由于互联网高速发展,您与云生态签署的本协议列明的条款可能并不能完整罗列并覆盖您云生态所有权利与义务,现有的约定也不能保证完全符合未来发展的需求。因此,云生态隐私权政策、云生态平台行为规范等均为本协议的补充协议,与本协议不可分割且具有同等法律效力。如您使用云生态平台服务,视为您同意上述补充协议。
+
+
+
+
+
+
diff --git a/pages/course/detail.vue b/pages/course/detail.vue
index fd4ef20..bd515ac 100644
--- a/pages/course/detail.vue
+++ b/pages/course/detail.vue
@@ -3,13 +3,8 @@
-
+
-
@@ -19,7 +14,7 @@
{{detail.categoryName}}
- {{detail.flag[0]}}
+
@@ -38,8 +33,8 @@
- {{item.name}}
- 禪易能量高级讲师
+ {{item.realName}}
+
{{item.introduction}}
@@ -91,7 +86,6 @@
课程安排
-
{{item}}
@@ -113,11 +107,7 @@
{{item.courseStartTime.split(' ')[0]}}-{{item.courseEndTime.split(' ')[0]}}
{{item.coursePlace}}
-
-
-
去报名
@@ -128,7 +118,7 @@
@@ -81,7 +90,7 @@
if (!url) {
url = handleUrlParam(getCurrentPageUrlWithArgs())
}
- console.log(url)
+ console.log(url,'urlurlurlurl')
if (url && url.id) {
this.courseId = url.id
}
@@ -89,6 +98,9 @@
this.getDetail()
}
},
+ onPullDownRefresh() {
+ this.getDetail()
+ },
methods:{
getDetail(){
uni.showLoading({
@@ -97,34 +109,28 @@
let nowTime = Date.parse(new Date())/1000;
getCourseDetail({id:this.courseId}).then((res)=>{
uni.hideLoading()
- res.data.courseIntroduce = res.data.courseIntroduce.replace(/\{
- if(res.success){
- uni.showModal({
- title:'提示!',
- content:'签到成功!'
- })
- } else{
- uni.showToast({
- title:res.msg,
- icon:'none',
- duration:5000
- })
- }
- })
+ if(this.detail.signState == 0){
+ signCourse(this.courseId).then((res)=>{
+ if(res.success){
+ uni.showModal({
+ title:'提示!',
+ content:'签到成功!',
+ showCancel: false
+ })
+ } else{
+ uni.showToast({
+ title:res.msg,
+ icon:'none',
+ duration:5000
+ })
+ }
+ })
+ }
},
}
}
@@ -202,9 +208,12 @@
width: 100%;
background:#fff;
border-radius: 8rpx;
- padding: 0rpx 24rpx 30rpx;
+ padding: 30rpx 24rpx;
margin-bottom: 20rpx;
}
+ .content{
+ padding-top: 0;
+ }
.course-card-item{
font-size: 26rpx;
margin-bottom: 12rpx;
diff --git a/pages/user/PersonalData/index.vue b/pages/user/PersonalData/index.vue
index f07cb8a..c2789a1 100644
--- a/pages/user/PersonalData/index.vue
+++ b/pages/user/PersonalData/index.vue
@@ -74,6 +74,18 @@
+
+ 常住地址
+
+
+
+
+
+ 紧急联系人
+
+
+
+
会员信息仅用于身份确认,不做他用。
+
+
+
+
+
+ 我已阅读并同意
+ 《用户协议及隐私政策》
+
+
保存修改
0 ? this.isCheck = true : this.isCheck = false
+ },
bindPickerChange(e){
this.city = e.detail.value.join(' ')
},
@@ -251,6 +278,13 @@ export default {
submit: function () {
let userInfo = this.userInfo;
console.log(userInfo)
+ if(!this.isCheck){
+ uni.showToast({
+ title:'请填阅读并勾选用户协议',
+ icon: "none"
+ })
+ return
+ }
if(userInfo.realName == '' || userInfo.realName == null){
uni.showToast({
title:'请填写真实姓名',
@@ -272,7 +306,9 @@ export default {
idCard: this.userInfo.idCard,
code: this.verifyCode,
phone: this.userInfo.phone,
- city: this.city
+ city: this.city,
+ address: this.address,
+ contacts: this.contacts
}).then(
(res) => {
if(res.success){
@@ -328,6 +364,9 @@ export default {
};
diff --git a/pages/user/User/index.vue b/pages/user/User/index.vue
index de33e16..c23efd6 100644
--- a/pages/user/User/index.vue
+++ b/pages/user/User/index.vue
@@ -1,79 +1,79 @@
-
-
-
diff --git a/pages/user/myCourses/index.vue b/pages/user/myCourses/index.vue
index bd02c81..c902342 100644
--- a/pages/user/myCourses/index.vue
+++ b/pages/user/myCourses/index.vue
@@ -17,17 +17,15 @@
时间:{{item.courseStartTime.split(' ')[0]}}至{{item.courseEndTime.split(' ')[0]}}
地点:{{item.coursePlace}}
- 座位号:{{item.seat || '暂未安排座位'}}
-
-
-
- {{item.signState == 1 ? '已签到' : '扫一扫'}}
+
+
+ 已签到
-
已结束
diff --git a/utils/index.js b/utils/index.js
index 82af3d9..32cbc05 100644
--- a/utils/index.js
+++ b/utils/index.js
@@ -2,7 +2,7 @@ import Vue from 'vue'
// import MpvueRouterPatch from 'mpvue-router-patch'
// Vue.use(MpvueRouterPatch)
-import { wxappAuth, getUserInfo } from '@/api/user'
+import { wxappAuth, getUserInfo, wxappBindingPhone } from '@/api/user'
import store from '@/store'
import dayjs from 'dayjs'
import cookie from '@/utils/store/cookie'
@@ -1132,3 +1132,54 @@ export function handleErrorMessage(err) {
duration: 2000,
})
}
+
+// 微信小程序绑定手机号
+export function bindPhoneNumber(e){
+ return new Promise((resolve) =>{
+ // 判断一下这里是不是小程序 如果是小程序,走获取微信手机号进行绑定
+ if (e.mp.detail.errMsg == 'getPhoneNumber:ok') {
+ uni.showLoading({ title: '绑定中...', })
+ uni.login({
+ provider: 'weixin',
+ success: function (loginRes) {
+ wxappBindingPhone({
+ encryptedData: e.mp.detail.encryptedData,
+ iv: e.mp.detail.iv,
+ code: loginRes.code
+ }).then(res => {
+ resolve(res)
+ if(res.success){
+ store.dispatch('userInfo', true)
+ uni.hideLoading()
+ } else{
+ uni.hideLoading()
+ uni.showModal({
+ title:'提示!',
+ content:'授权已过期,请重新授权后绑定手机号',
+ success:function(res){
+ if(res.confirm){
+ store.commit('logout')
+ }
+ },
+ })
+ }
+ }).catch(error => {
+ uni.hideLoading()
+ store.dispatch('userInfo', true)
+ uni.showToast({
+ title: error.msg || error.response.data.msg || error.response.data.message,
+ icon: 'none',
+ duration: 2000,
+ })
+ })
+ }
+ });
+ } else {
+ uni.showToast({
+ title: '不在微信小程序',
+ icon: 'none',
+ duration: 2000,
+ })
+ }
+ })
+}
\ No newline at end of file
diff --git a/wxcomponents/vant/button/index.vue b/wxcomponents/vant/button/index.vue
new file mode 100644
index 0000000..082a862
--- /dev/null
+++ b/wxcomponents/vant/button/index.vue
@@ -0,0 +1,96 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/wxcomponents/vant/common/index.css b/wxcomponents/vant/common/index.css
new file mode 100644
index 0000000..6e6891f
--- /dev/null
+++ b/wxcomponents/vant/common/index.css
@@ -0,0 +1 @@
+.van-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.van-multi-ellipsis--l2{-webkit-line-clamp:2}.van-multi-ellipsis--l2,.van-multi-ellipsis--l3{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical}.van-multi-ellipsis--l3{-webkit-line-clamp:3}.van-clearfix:after{display:table;clear:both;content:""}.van-hairline,.van-hairline--bottom,.van-hairline--left,.van-hairline--right,.van-hairline--surround,.van-hairline--top,.van-hairline--top-bottom{position:relative}.van-hairline--bottom:after,.van-hairline--left:after,.van-hairline--right:after,.van-hairline--surround:after,.van-hairline--top-bottom:after,.van-hairline--top:after,.van-hairline:after{position:absolute;box-sizing:border-box;-webkit-transform-origin:center;transform-origin:center;content:" ";pointer-events:none;top:-50%;right:-50%;bottom:-50%;left:-50%;border:0 solid #eee;-webkit-transform:scale(.5);transform:scale(.5)}.van-hairline--top:after{border-top-width:1px}.van-hairline--left:after{border-left-width:1px}.van-hairline--right:after{border-right-width:1px}.van-hairline--bottom:after{border-bottom-width:1px}.van-hairline--top-bottom:after{border-width:1px 0}.van-hairline--surround:after{border-width:1px}
\ No newline at end of file
diff --git a/wxcomponents/vant/common/style/clearfix.css b/wxcomponents/vant/common/style/clearfix.css
new file mode 100644
index 0000000..a0ca838
--- /dev/null
+++ b/wxcomponents/vant/common/style/clearfix.css
@@ -0,0 +1 @@
+.van-clearfix:after{display:table;clear:both;content:""}
\ No newline at end of file
diff --git a/wxcomponents/vant/common/style/ellipsis.css b/wxcomponents/vant/common/style/ellipsis.css
new file mode 100644
index 0000000..1e9dbc9
--- /dev/null
+++ b/wxcomponents/vant/common/style/ellipsis.css
@@ -0,0 +1 @@
+.van-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.van-multi-ellipsis--l2{-webkit-line-clamp:2}.van-multi-ellipsis--l2,.van-multi-ellipsis--l3{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical}.van-multi-ellipsis--l3{-webkit-line-clamp:3}
\ No newline at end of file
diff --git a/wxcomponents/vant/common/style/hairline.css b/wxcomponents/vant/common/style/hairline.css
new file mode 100644
index 0000000..f64e2f8
--- /dev/null
+++ b/wxcomponents/vant/common/style/hairline.css
@@ -0,0 +1 @@
+.van-hairline,.van-hairline--bottom,.van-hairline--left,.van-hairline--right,.van-hairline--surround,.van-hairline--top,.van-hairline--top-bottom{position:relative}.van-hairline--bottom:after,.van-hairline--left:after,.van-hairline--right:after,.van-hairline--surround:after,.van-hairline--top-bottom:after,.van-hairline--top:after,.van-hairline:after{position:absolute;box-sizing:border-box;-webkit-transform-origin:center;transform-origin:center;content:" ";pointer-events:none;top:-50%;right:-50%;bottom:-50%;left:-50%;border:0 solid #eee;-webkit-transform:scale(.5);transform:scale(.5)}.van-hairline--top:after{border-top-width:1px}.van-hairline--left:after{border-left-width:1px}.van-hairline--right:after{border-right-width:1px}.van-hairline--bottom:after{border-bottom-width:1px}.van-hairline--top-bottom:after{border-width:1px 0}.van-hairline--surround:after{border-width:1px}
\ No newline at end of file
diff --git a/wxcomponents/vant/common/style/mixins/clearfix.css b/wxcomponents/vant/common/style/mixins/clearfix.css
new file mode 100644
index 0000000..e69de29
diff --git a/wxcomponents/vant/common/style/mixins/ellipsis.css b/wxcomponents/vant/common/style/mixins/ellipsis.css
new file mode 100644
index 0000000..e69de29
diff --git a/wxcomponents/vant/common/style/mixins/hairline.css b/wxcomponents/vant/common/style/mixins/hairline.css
new file mode 100644
index 0000000..e69de29
diff --git a/wxcomponents/vant/common/style/theme.css b/wxcomponents/vant/common/style/theme.css
new file mode 100644
index 0000000..e69de29
diff --git a/wxcomponents/vant/common/style/var.css b/wxcomponents/vant/common/style/var.css
new file mode 100644
index 0000000..e69de29
diff --git a/wxcomponents/vant/icon/index.vue b/wxcomponents/vant/icon/index.vue
new file mode 100644
index 0000000..d104ccb
--- /dev/null
+++ b/wxcomponents/vant/icon/index.vue
@@ -0,0 +1,1012 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/wxcomponents/vant/info/index.vue b/wxcomponents/vant/info/index.vue
new file mode 100644
index 0000000..212bccc
--- /dev/null
+++ b/wxcomponents/vant/info/index.vue
@@ -0,0 +1,20 @@
+
+{{ dot ? '' : info }}
+
+
+
+
\ No newline at end of file
diff --git a/wxcomponents/vant/loading/index.vue b/wxcomponents/vant/loading/index.vue
new file mode 100644
index 0000000..c7051ff
--- /dev/null
+++ b/wxcomponents/vant/loading/index.vue
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file