,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}b.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=b.ajaxSettings.xhr(),b.support.cors=!!Rn&&"withCredentials"in Rn,Rn=b.support.ajax=!!Rn,Rn&&b.ajaxTransport(function(n){if(!n.crossDomain||b.support.cors){var r;return{send:function(i,o){var a,s,u=n.xhr();if(n.username?u.open(n.type,n.url,n.async,n.username,n.password):u.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)u[s]=n.xhrFields[s];n.mimeType&&u.overrideMimeType&&u.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)u.setRequestHeader(s,i[s])}catch(l){}u.send(n.hasContent&&n.data||null),r=function(e,i){var s,l,c,p;try{if(r&&(i||4===u.readyState))if(r=t,a&&(u.onreadystatechange=b.noop,$n&&delete Pn[a]),i)4!==u.readyState&&u.abort();else{p={},s=u.status,l=u.getAllResponseHeaders(),"string"==typeof u.responseText&&(p.text=u.responseText);try{c=u.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,l)},n.async?4===u.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},b(e).unload($n)),Pn[a]=r),u.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+x+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=Yn.exec(t),a=i.cur(),s=+a||0,u=1,l=20;if(o){if(n=+o[2],r=o[3]||(b.cssNumber[e]?"":"px"),"px"!==r&&s){s=b.css(i.elem,e,!0)||n||1;do u=u||".5",s/=u,b.style(i.elem,e,s+r);while(u!==(u=i.cur()/a)&&1!==u&&--l)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=b.now()}function Zn(e,t){b.each(t,function(t,n){var r=(Qn[t]||[]).concat(Qn["*"]),i=0,o=r.length;for(;o>i;i++)if(r[i].call(e,t,n))return})}function er(e,t,n){var r,i,o=0,a=Gn.length,s=b.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;for(;u>a;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),1>o&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:b.extend({},t),opts:b.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=b.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),c=l.props;for(tr(c,l.opts.specialEasing);a>o;o++)if(r=Gn[o].call(l,e,c,l.opts))return r;return Zn(l,c),b.isFunction(l.opts.start)&&l.opts.start.call(e,l),b.fx.timer(b.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function tr(e,t){var n,r,i,o,a;for(i in e)if(r=b.camelCase(i),o=t[r],n=e[i],b.isArray(n)&&(o=n[1],n=e[i]=n[0]),i!==r&&(e[r]=n,delete e[i]),a=b.cssHooks[r],a&&"expand"in a){n=a.expand(n),delete e[r];for(i in n)i in e||(e[i]=n[i],t[i]=o)}else t[r]=o}b.Animation=b.extend(er,{tweener:function(e,t){b.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,u,l,c,p,f=this,d=e.style,h={},g=[],m=e.nodeType&&nn(e);n.queue||(c=b._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,p=c.empty.fire,c.empty.fire=function(){c.unqueued||p()}),c.unqueued++,f.always(function(){f.always(function(){c.unqueued--,b.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],"inline"===b.css(e,"display")&&"none"===b.css(e,"float")&&(b.support.inlineBlockNeedsLayout&&"inline"!==un(e.nodeName)?d.zoom=1:d.display="inline-block")),n.overflow&&(d.overflow="hidden",b.support.shrinkWrapBlocks||f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(i in t)if(a=t[i],Vn.exec(a)){if(delete t[i],u=u||"toggle"===a,a===(m?"hide":"show"))continue;g.push(i)}if(o=g.length){s=b._data(e,"fxshow")||b._data(e,"fxshow",{}),"hidden"in s&&(m=s.hidden),u&&(s.hidden=!m),m?b(e).show():f.done(function(){b(e).hide()}),f.done(function(){var t;b._removeData(e,"fxshow");for(t in h)b.style(e,t,h[t])});for(i=0;o>i;i++)r=g[i],l=f.createTween(r,m?s[r]:0),h[r]=s[r]||b.style(e,r),r in s||(s[r]=l.start,m&&(l.end=l.start,l.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}b.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=b.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[b.cssProps[e.prop]]||b.cssHooks[e.prop])?b.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.each(["toggle","show","hide"],function(e,t){var n=b.fn[t];b.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),b.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=b.isEmptyObject(e),o=b.speed(t,n,r),a=function(){var t=er(this,b.extend({},e),o);a.finish=function(){t.stop(!0)},(i||b._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=b.timers,a=b._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&b.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=b._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=b.timers,a=r?r.length:0;for(n.finish=!0,b.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}b.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){b.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),b.speed=function(e,t,n){var r=e&&"object"==typeof e?b.extend({},e):{complete:n||!n&&t||b.isFunction(e)&&e,duration:e,easing:n&&t||t&&!b.isFunction(t)&&t};return r.duration=b.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in b.fx.speeds?b.fx.speeds[r.duration]:b.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){b.isFunction(r.old)&&r.old.call(this),r.queue&&b.dequeue(this,r.queue)},r},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},b.timers=[],b.fx=rr.prototype.init,b.fx.tick=function(){var e,n=b.timers,r=0;for(Xn=b.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||b.fx.stop(),Xn=t},b.fx.timer=function(e){e()&&b.timers.push(e)&&b.fx.start()},b.fx.interval=13,b.fx.start=function(){Un||(Un=setInterval(b.fx.tick,b.fx.interval))},b.fx.stop=function(){clearInterval(Un),Un=null},b.fx.speeds={slow:600,fast:200,_default:400},b.fx.step={},b.expr&&b.expr.filters&&(b.expr.filters.animated=function(e){return b.grep(b.timers,function(t){return e===t.elem}).length}),b.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){b.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,b.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},b.offset={setOffset:function(e,t,n){var r=b.css(e,"position");"static"===r&&(e.style.position="relative");var i=b(e),o=i.offset(),a=b.css(e,"top"),s=b.css(e,"left"),u=("absolute"===r||"fixed"===r)&&b.inArray("auto",[a,s])>-1,l={},c={},p,f;u?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),b.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(l.top=t.top-o.top+p),null!=t.left&&(l.left=t.left-o.left+f),"using"in t?t.using.call(e,l):i.css(l)}},b.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===b.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),b.nodeName(e[0],"html")||(n=e.offset()),n.top+=b.css(e[0],"borderTopWidth",!0),n.left+=b.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-b.css(r,"marginTop",!0),left:t.left-n.left-b.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||o.documentElement;while(e&&!b.nodeName(e,"html")&&"static"===b.css(e,"position"))e=e.offsetParent;return e||o.documentElement})}}),b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);b.fn[e]=function(i){return b.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?b(a).scrollLeft():o,r?o:b(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return b.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}b.each({Height:"height",Width:"width"},function(e,n){b.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){b.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return b.access(this,function(n,r,i){var o;return b.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?b.css(n,r,s):b.style(n,r,i,s)},n,a?i:t,a,null)}})}),e.jQuery=e.$=b,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return b})})(window);// JavaScript Document Add agreement page · 9072dd97ba - Gogs: Go Git Service

Add agreement page

Brightcells 8 years ago
parent
commit
9072dd97ba
12 changed files with 256 additions and 0 deletions
  1. 1 0
      manual/settings.py
  2. 1 0
      manual/urls.py
  3. 0 0
      page/__init__.py
  4. 7 0
      page/admin.py
  5. 8 0
      page/apps.py
  6. 0 0
      page/migrations/__init__.py
  7. 7 0
      page/models.py
  8. 8 0
      page/page_views.py
  9. 200 0
      page/templates/page/agreement.html
  10. 7 0
      page/tests.py
  11. 10 0
      page/urls.py
  12. 7 0
      page/views.py

+ 1 - 0
manual/settings.py

@@ -48,6 +48,7 @@ INSTALLED_APPS = [
48 48
     'config',
49 49
     'intro',
50 50
     'message',
51
+    'page',
51 52
     'support',
52 53
 ]
53 54
 

+ 1 - 0
manual/urls.py

@@ -26,6 +26,7 @@ urlpatterns = [
26 26
     url(r'^api/', include('api.urls', namespace='api')),
27 27
     url(r'^uniapi/', include('django_uniapi.urls', namespace='uniapi')),
28 28
     url(r'^we/', include('django_we.urls', namespace='wechat')),
29
+    url(r'^page/', include('page.urls', namespace='page')),
29 30
 ]
30 31
 
31 32
 urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

+ 0 - 0
page/__init__.py


+ 7 - 0
page/admin.py

@@ -0,0 +1,7 @@
1
+# -*- coding: utf-8 -*-
2
+from __future__ import unicode_literals
3
+
4
+from django.contrib import admin
5
+
6
+
7
+# Register your models here.

+ 8 - 0
page/apps.py

@@ -0,0 +1,8 @@
1
+# -*- coding: utf-8 -*-
2
+from __future__ import unicode_literals
3
+
4
+from django.apps import AppConfig
5
+
6
+
7
+class PageConfig(AppConfig):
8
+    name = 'page'

+ 0 - 0
page/migrations/__init__.py


+ 7 - 0
page/models.py

@@ -0,0 +1,7 @@
1
+# -*- coding: utf-8 -*-
2
+from __future__ import unicode_literals
3
+
4
+from django.db import models
5
+
6
+
7
+# Create your models here.

+ 8 - 0
page/page_views.py

@@ -0,0 +1,8 @@
1
+# -*- coding: utf-8 -*-
2
+from __future__ import unicode_literals
3
+
4
+from django.shortcuts import render
5
+
6
+
7
+def agreement(request):
8
+    return render(request, 'page/agreement.html', {})

+ 200 - 0
page/templates/page/agreement.html

@@ -0,0 +1,200 @@
1
+<!DOCTYPE html>
2
+<html lang="en">
3
+<head>
4
+    <meta charset="utf-8">
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
6
+    <meta name="format-detection" content="telephone=no,email=no,address=no">
7
+    <meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no">
8
+    <title>服务使用协议</title>
9
+
10
+    <style>
11
+{#            index.css#}
12
+        *, :after, :before {
13
+            box-sizing: border-box;
14
+            outline: none;
15
+        }
16
+{#            Body#}
17
+        body {
18
+            color: #333;
19
+            font-family: -apple-system,Arial,Microsoft YaHei,Helvetica Neue,sans-serif;
20
+            -webkit-font-smoothing: antialiased;
21
+            text-rendering: optimizeLegibility;
22
+            background-color: #fff;
23
+        }
24
+        body {
25
+            margin: 0;
26
+        }
27
+{#            A#}
28
+        a {
29
+            color: #000;
30
+            text-decoration: none;
31
+            -webkit-transition: color,.3s;
32
+            transition: color,.3s;
33
+        }
34
+        a {
35
+            background-color: transparent;
36
+        }
37
+{#            Img#}
38
+        img {
39
+            border: 0;
40
+        }
41
+        div {
42
+            line-height: 150%;
43
+        }
44
+        .container {
45
+            position: relative;
46
+            width: 960px;
47
+            margin-left: auto;
48
+            margin-right: auto;
49
+            text-align: justify;
50
+        }
51
+        @media (max-width: 960px) {
52
+            .container {
53
+                width: 100%;
54
+            }
55
+        }
56
+        .container {
57
+            position: relative;
58
+            width: 100%;
59
+            height: 100%;
60
+            padding: 1em .5em 2em;
61
+            background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, .1));
62
+        }
63
+        .title {
64
+            font-size: 150%;
65
+            line-height: 150%;
66
+        }
67
+        .text-center {
68
+            text-align: center;
69
+        }
70
+        .text-right {
71
+            text-align: right;
72
+        }
73
+        .indent {
74
+            text-indent: 2em;
75
+        }
76
+        .item {
77
+            line-height: 300%;
78
+        }
79
+    </style>
80
+</head>
81
+<body>
82
+    <div class="container">
83
+        <div class="content">
84
+            <div class="title text-center"><strong>《”MINDERAGE”服务使用协议》</strong></div>
85
+            <div class="text-center">感谢您下载APP!</div>
86
+
87
+            <div class="item"><strong>第一条【完全了解】</strong></div>
88
+            <div class="indent">请您(以下亦称“用户”)仔细阅读本协议全部条款,并确认您已完全了解本协议之规定。</div>
89
+            <div class="indent">未成年人应当在监护人陪同和指导下阅读本协议,并在使用本协议项下服务前取得监护人的同意。</div>
90
+            <div class="indent">请您审慎阅读并选择接受或不接受本协议。除非您接受本协议所有条款,否则您无权注册、登录或使用本协议所涉服务。您的注册、登录、使用等行为将视为对本协议的接受,并同意接受本协议各项条款的约束,本协议将构成您与 “MINDERAGE”APP之间直接有约束力的法律文件。</div>
91
+
92
+            <div class="item"><strong>第二条【充分授权】</strong></div>
93
+            <div class="indent">请确认您依照中华人民共和国法律(为本协议之目的,含行政法规、部门规章、规范性文件,下同)、及您所在地之法律、及您自愿或应当接收其管辖之法律(以下合称“法律”),有权签署并同意接受本协议的约束。如果您代表您的雇主或单位,请在签署前,确认并保证您已获得签署本协议的充分授权。</div>
94
+
95
+            <div class="item"><strong>第三条 【协议变更】</strong></div>
96
+            <div class="indent">本协议如果变更,“MINDERAGE”将尽可能提前在“MINDERAGE”发布通知。但您应了解并同意,”MINDERAGE”有可能未经事先通知,而修改或变更本协议的全部或部分内容,您也应随时关注本协议是否有修改或变更之情形。</div>
97
+            <div class="indent">如果本协议修改或变更,而您不能接受修改或变更后的内容,您可以停止使用”MINDERAGE”。如果您继续使用”MINDERAGE”,则表明您完全接受并愿意遵守修改或变更后的本协议。</div>
98
+            <div class="indent">无论您停止使用或继续使用“MINDERAGE”,您都承诺不因本协议修改或变更给您造成的损失或不便而向 “MINDERAGE”要求赔偿或补偿。</div>
99
+
100
+            <div class="item"><strong>第四条 【服务方式】</strong></div>
101
+            <div class="indent">“MINDERAGE”主要是一家网络服务提供者,可针对不同传播渠道用户为其提供内容服务,前述传播渠道包括但不限于:</div>
102
+            <div class="indent">1)通过”MINDERAGE”的服务;</div>
103
+            <div class="indent">2)”MINDERAGE”提供的可以使用的其他传播渠道。</div>
104
+            <div class="indent">除免费服务外,”MINDERAGE”可能提供部分收费服务。您可以通过付费方式购买收费服务,具体方式为:通过网上银行或其他”MINDERAGE”提供的付费途径支付一定数额的人民币,从而获得收费服务使用权限。对于收费服务, “MINDERAGE”会在您使用之前给予明确的提示,只有根据提示确认其同意按照前述支付方式支付费用并完成了支付行为,才能使用该等收费服务。支付行为的完成以银行或第三方支付平台生成“支付已完成”的确认通知为准。</div>
105
+            <div class="indent">您应了解”MINDERAGE”可能对该等服务(含收费服务)进行更改、更新或提高,并承诺不因”MINDERAGE”更改、更新或提高其服务给您造成的损失或不便而向 “MINDERAGE”要求赔偿或补偿。</div>
106
+
107
+            <div class="item"><strong>第五条【善意使用】</strong></div>
108
+            <div class="indent">您同意,遵守法律及本协议规定,秉承善意使用”MINDERAGE”,且保证:</div>
109
+            <div class="indent">1)仅作为学习使用,不会利用”MINDERAGE”进行非法活动、或进行侵犯他人权利或损害他人利益的活动;不会以非法方式获取或利用”MINDERAGE”其他用户的信息。</div>
110
+            <div class="indent">2)不会以技术方式攻击或破坏或改变”MINDERAGE”的部分或全部、或干扰其运行;不会以非法方式获取或使用”MINDERAGE”的任何软件、代码或其他技术或商业信息;不会对”MINDERAGE”运行的任何程序进行反向工程、反向编译、反向汇编或改写。</div>
111
+            <div class="indent">3)不会未经许可使用”MINDERAGE”的网站名称、公司名称、商标、商业标识、网页版式或内容、或其他由 “MINDERAGE”享有知识产权或权利的信息或资料;不会侵犯”MINDERAGE”的商标权、著作权、专利权、其他知识产权或其他合法权利或权益。不会以任何方式贬损”MINDERAGE”的商业声誉。
112
+</div>
113
+            <div class="indent">4)不会利用”MINDERAGE”进行其他违背公序良俗的活动。
114
+</div>
115
+            <div class="indent">您使用”MINDERAGE”的记录,可能被保存作为对您不利的证据。”MINDERAGE”也可能将您违反法律或侵犯第三方权利或权益的记录报告给行政主管部门、司法机关。
116
+</div>
117
+
118
+            <div class="item"><strong>第六条 【账号使用】</strong></div>
119
+            <div class="indent">您需要在”MINDERAGE”使用微信账号进行授权登录,您应自行使用该账号,并对任何人利用您的帐号及密码所进行的活动负完全的责任。</div>
120
+            <div class="indent">您应了解,在账号和密码匹配时,”MINDERAGE”无法对非法或未经您授权使用您帐号及密码的行为作出甄别,因此,”MINDERAGE”对任何使用您账号和密码登录并使用”MINDERAGE”的行为不承担任何责任。</div>
121
+            <div class="indent"> “MINDERAGE”有权根据自己的判定,在怀疑账号被不当使用时,拒绝账号使用或限制账号使用或注销该账号。</div>
122
+
123
+            <div class="item"><strong>第七条 【个人信息】</strong></div>
124
+            <div class="indent">“MINDERAGE”可能需要搜集能识别用户身份的个人信息以便可以在必要时联系用户,或为用户提供更好的使用体验。“个人信息”包括但不限于用户的姓名、性别、联系电话、个人说明、手机软硬件信息、手机识别码等。</div>
125
+            <div class="indent">“MINDERAGE”承诺,不以非法方式披露您依照”MINDERAGE”规定的方式标明应予保密的用户个人信息。</div>
126
+            <div class="indent">您了解并同意,”MINDERAGE”可依照法律或司法、行政机关的强制性命令对第三方披露您的个人信息且无需事先向您发出通知。</div>
127
+            <div class="indent">您了解并同意,当您购买在”MINDERAGE”列出的商品或服务时,您的信息将被提供前述商品或服务商家收集,您应自行承担此类信息披露的责任。</div>
128
+            <div class="indent">您了解并同意,”MINDERAGE”在下述情形下可利用您的个人信息:</div>
129
+            <div class="indent">1)在紧急情况下,为维护用户及公众的权益。</div>
130
+            <div class="indent">2)为维护”MINDERAGE”的著作权、商标权、专利权及其他任何合法权利或权益。</div>
131
+            <div class="indent">3)在进行促销或抽奖时,”MINDERAGE”可能会与赞助商共享用户的个人信息,在这些情况下”MINDERAGE”会在发送用户信息之前进行提示,并且用户可以通过明确表示不参与活动而终止传送过程。</div>
132
+            <div class="indent">4)为获取第三方数据而将用户信息与第三方数据匹配。</div>
133
+
134
+            <div class="item"><strong>第九条 【知识产权】</strong></div>
135
+            <div class="indent">“MINDERAGE”服务及”MINDERAGE”所使用的软件所包含的受知识产权法或其他法律保护的资料享有相应的权利。”MINDERAGE”的整体内容(包括但不仅限于设计图样以及其他图样、产品及服务名称)版权归”MINDERAGE”所享有;飞思(Phaes One)是相机系统品牌,源于丹麦飞思公司,系统中涉及的部分Phaes One设计图样以及其他图样、产品版权归原作者所有,任何人不得使用、复制或用作其他用途。</div>
136
+            <div class="indent">经由”MINDERAGE”传送的文字、图片、音频、视频及其他内容,受到著作权法、商标法、专利法或其他法律的保护;未经”MINDERAGE”书面授权许可,您不得自行或许可第三方进行修改、出租、售卖或衍生其他作品。</div>
137
+            <div class="indent">“MINDERAGE”对其专有内容、原创内容和其他通过授权取得的独占或者独家内容享有知识产权。未经”MINDERAGE”书面许可,任何单位和个人不得私自转载、传播和提供收听服务或者有其他侵犯”MINDERAGE”知识产权的行为。否则,将承担法律责任。</div>
138
+            <div class="indent">为了促进知识的分享和传播,您将在”MINDERAGE”上发表的全部内容(包括但不仅限于留言、评论和笔记),授予”MINDERAGE”免费的、不可撤销的、非独家使用许可,”MINDERAGE”有权将该内容用于”MINDERAGE”各种形态的产品和服务上,包括但不限于”MINDERAGE”以及发表的应用或其他互联网产品。</div>
139
+            <div class="indent">您在”MINDERAGE”上传或发表的内容,应保证其为著作权人或已取得合法授权,并且该内容不会侵犯任何第三方的合法权益。如果第三方提出关于著作权的异议,”MINDERAGE”有权根据实际情况删除相关的内容,且有权追究用户的法律责任。给”MINDERAGE”或任何第三方造成损失的,用户应负责全额赔偿。</div>
140
+            <div class="indent">“MINDERAGE”有权对您发布的内容进行审核,有权根据相关证据结合《侵权责任法》、《信息网络传播权保护条例》等法律法规及”MINDERAGE”学习小组指导原则对侵权信息进行处理。</div>
141
+
142
+            <div class="item"><strong>第十条 【链接】</strong></div>
143
+            <div class="indent">为方便您使用,”MINDERAGE”可能会提供第三方互联网网站或资源链接。您应了解,除非另有声明,”MINDERAGE”无法对第三方网站服务进行控制。您因下载或传播或使用或依赖上述网站或资源所产生的损失或损害,应由您自行承担全部责任。</div>
144
+
145
+            <div class="item"><strong>第十一条 【容忍义务】</strong></div>
146
+            <div class="indent">您应了解,基于不同用户的个人特征和喜好,”MINDERAGE”可能存在一些让您不快、厌恶或难以接受的内容。您承诺,不就前述内容追究”MINDERAGE”或第三方的任何责任。</div>
147
+
148
+            <div class="item"><strong>第十二条 【”MINDERAGE”的经营活动】</strong></div>
149
+            <div class="indent">您了解并接受,”MINDERAGE”为维护其运营所经营,可能进行下述商业活动:</div>
150
+            <div class="indent">1)通过电子邮件、客户端、网页或其他合法方式向用户发送产品或其他相关产品信息。</div>
151
+            <div class="indent">2)通过增值服务系统或其他方式向用户发送的相关服务信息或其他信息,其他信息包括但不限于通知信息、宣传信息等。</div>
152
+
153
+            <div class="item"><strong>第十三条 【非商业使用】</strong></div>
154
+            <div class="indent">您同意,仅以非商业目的使用”MINDERAGE”;不对”MINDERAGE”的任何部分或全部进行商业性质利用、复制、拷贝、出售、调查、广告,或将”MINDERAGE”用于其他任何商业目的或商业性质的活动;但”MINDERAGE”与您另行签订有协议或”MINDERAGE”另行指定可供您使用的特定商业服务除外。</div>
155
+
156
+            <div class="item"><strong>第十四条 【网络运行】</strong></div>
157
+            <div class="indent">“MINDERAGE”尽可能保证其稳定运行。</div>
158
+            <div class="indent">您应理解并同意,因法律、政策、技术、经济、管理的原因,除非您和”MINDERAGE”另有约定,”MINDERAGE”不会因以下情形出现而对您承担责任:</div>
159
+            <div class="indent">1)“MINDERAGE”无法使用或中断使用或无法完全适合用户的使用要求。</div>
160
+            <div class="indent">2)“MINDERAGE”受到干扰,无法及时、安全、可靠运行,或出现任何错误。</div>
161
+            <div class="indent">3)经由”MINDERAGE”取得的任何产品、服务(含收费服务)或其他材料不符合您的期望。</div>
162
+            <div class="indent">4)用户资料遭到未经授权的使用或修改。</div>
163
+            <div class="indent">“MINDERAGE”不对您在本协议项下服务中相关数据的删除或储存失败负责。”MINDERAGE”可以根据实际情况自行决定用户在本服务中数据的最长储存期限,并在服务器上为其分配数据最大存储空间等。如您停止使用”MINDERAGE”,或”MINDERAGE”所提供的服务终止或中止,”MINDERAGE”可以从服务器上永久地删除用户的数据。”MINDERAGE”没有义务向用户返还任何数据。</div>
164
+
165
+            <div class="item"><strong>第十五条 【服务终止】</strong></div>
166
+            <div class="indent">本协议或本协议项下”MINDERAGE”所提供的服务(含收费服务)可在下述情形下部分或全部中止或终止:</div>
167
+            <div class="indent">1)因法律规定,或”MINDERAGE”服从行政命令或司法判令的要求。</div>
168
+            <div class="indent">2)用户违反本协议。</div>
169
+            <div class="indent">3)“MINDERAGE”认为应予终止的其他情形。</div>
170
+            <div class="indent">在一般情形下,”MINDERAGE”会提前按照您提供的联系方式以电子邮件或短信或其他电子方式通知您,服务将中止或终止。您应了解并同意,在紧急情况或特殊下,”MINDERAGE”可不经通知即中止或终止服务。</div>
171
+            <div class="indent">在本协议或本协议项下”MINDERAGE”提供的服务(含收费服务)中止或终止时,”MINDERAGE”有权</div>
172
+            <div class="indent">1)拒绝用户登录”MINDERAGE”;</div>
173
+            <div class="indent">2)删除用户信息;</div>
174
+            <div class="indent">3)删除用户购买的内容。</div>
175
+            <div class="indent">您同意,不因本协议或本协议项下”MINDERAGE”所提供的服务中止或终止,而要求 “MINDERAGE”向您作出赔偿或补偿或承担任何其他责任。</div>
176
+
177
+            <div class="item"><strong>第十六条 【法律适用】</strong></div>
178
+            <div class="indent">您在使用”MINDERAGE”时,应遵守中华人民共和国法律、及您所在地之法律、及您自愿或应当接收其管辖之法律。</div>
179
+            <div class="indent">本协议的解释及履行应按照中华人民共和国法律进行。</div>
180
+
181
+            <div class="item"><strong>第十七条 【法律责任】</strong></div>
182
+            <div class="indent">您应就所上传的内容承担全部法律责任;无论前述责任是因侵犯第三方权利所引起的、或因您违反与第三方或本协议引起的、或因您违反法律引起的;前述责任包括对”MINDERAGE”或第三方所承担的民事责任、或行政机关要求承担的行政责任或刑事责任。</div>
183
+            <div class="indent">您同意,如因您违反法律规定或本协议规定给“MINDERAGE”造成损失,您将充分赔偿“MINDERAGE”所遭受的损失、包括其直接损失、间接损失、预期利益损失等一切损失。</div>
184
+            <div class="indent">您承诺,如因第三方向您主张权利而导致您承担责任,或您承担行政责任或刑事责任的,您不以此为理由追究“MINDERAGE”的责任。</div>
185
+            <div class="indent">如您应向”MINDERAGE”承担责任,前述责任不因本协议或本协议项下的服务被终止而免除。</div>
186
+
187
+            <div class="item"><strong>第十八条 【相关协议】</strong></div>
188
+            <div class="indent">“MINDERAGE”可能不时发布针对用户的相关协议,并可能将该相关协议作为对本协议的补充或修改而将其内容作为本协议的一部分。请您及时关注并阅读相关协议。</div>
189
+
190
+            <div class="item"><strong>第十九条 【争议解决】</strong></div>
191
+            <div class="indent">您和”MINDERAGE”均同意,因本协议解释或执行引起的任何争议,双方应首先友好协商解决。协商不成时,则任一方均可将争议提交北京仲裁委员会依据其届时有效的仲裁规则以仲裁方式解决。仲裁地点为北京,仲裁语言为中文。仲裁裁决为终局的,对各方均有法律约束力。</div>
192
+
193
+            <div class="item"><strong>第二十条【免责声明】</strong></div>
194
+            <div class="indent">本公司官网/APP/微博/微信所出现的部分文章/图片/新闻/声音/视频等内容收集整理和转载自互联网或其他媒体,目的在于传递更多信息以及供参考使用或学习交流。涉及到的一切转载图文、影音版权及署名权归图文/影音原作者、整理者和首发媒体所有,同时所提供的所有作品版权归原作者所有,由于收集过程中几经转载,很多作品的原作者不详,如果本公司官网/APP/微博/微信中使用了您的作品,请联系我们。</div>
195
+
196
+            <div class="text-center">请您再次确认您已全部阅读并充分理解上述协议。</div>
197
+        </div>
198
+    </div>
199
+</body>
200
+</html>

+ 7 - 0
page/tests.py

@@ -0,0 +1,7 @@
1
+# -*- coding: utf-8 -*-
2
+from __future__ import unicode_literals
3
+
4
+from django.test import TestCase
5
+
6
+
7
+# Create your tests here.

+ 10 - 0
page/urls.py

@@ -0,0 +1,10 @@
1
+# -*- coding: utf-8 -*-
2
+
3
+from django.conf.urls import url
4
+
5
+from page import page_views
6
+
7
+
8
+urlpatterns = [
9
+    url(r'^agreement$', page_views.agreement, name='agreement'),  # 用户协议
10
+]

+ 7 - 0
page/views.py

@@ -0,0 +1,7 @@
1
+# -*- coding: utf-8 -*-
2
+from __future__ import unicode_literals
3
+
4
+from django.shortcuts import render
5
+
6
+
7
+# Create your views here.