├── pages
├── begin
│ ├── begin.json
│ ├── begin.wxml
│ ├── begin.wxss
│ └── begin.js
├── result
│ ├── result.json
│ ├── result.wxml
│ ├── result.wxss
│ └── result.js
├── logs
│ ├── logs.json
│ ├── logs.wxss
│ ├── logs.wxml
│ └── logs.js
├── test
│ ├── test.json
│ ├── test.wxss
│ ├── test.wxml
│ └── test.js
└── index
│ ├── index.wxss
│ ├── index.wxml
│ └── index.js
├── data
├── 2310.mp3
├── data.js
└── post-data.js
├── image
├── img0.jpg
├── logo.jpg
└── result.jpg
├── 1525435858(1).jpg
├── 1525436110(1).jpg
├── app.wxss
├── README.md
├── .gitignore
├── app.json
├── utils
└── util.js
├── project.config.json
├── app.js
└── LICENSE
/pages/begin/begin.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/pages/result/result.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/pages/logs/logs.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarTitleText": "查看启动日志"
3 | }
--------------------------------------------------------------------------------
/data/2310.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XTFxiaofei/weixinxiaochengxuPsychtest/HEAD/data/2310.mp3
--------------------------------------------------------------------------------
/image/img0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XTFxiaofei/weixinxiaochengxuPsychtest/HEAD/image/img0.jpg
--------------------------------------------------------------------------------
/image/logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XTFxiaofei/weixinxiaochengxuPsychtest/HEAD/image/logo.jpg
--------------------------------------------------------------------------------
/1525435858(1).jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XTFxiaofei/weixinxiaochengxuPsychtest/HEAD/1525435858(1).jpg
--------------------------------------------------------------------------------
/1525436110(1).jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XTFxiaofei/weixinxiaochengxuPsychtest/HEAD/1525436110(1).jpg
--------------------------------------------------------------------------------
/image/result.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XTFxiaofei/weixinxiaochengxuPsychtest/HEAD/image/result.jpg
--------------------------------------------------------------------------------
/pages/logs/logs.wxss:
--------------------------------------------------------------------------------
1 | .log-list {
2 | display: flex;
3 | flex-direction: column;
4 | padding: 40rpx;
5 | }
6 | .log-item {
7 | margin: 10rpx;
8 | }
9 |
--------------------------------------------------------------------------------
/pages/test/test.json:
--------------------------------------------------------------------------------
1 | {
2 | "backgroundTextStyle": "light",
3 | "navigationBarBackgroundColor": "#000",
4 | "navigationBarTitleText": "小程序",
5 | "navigationBarTextStyle": "white"
6 | }
--------------------------------------------------------------------------------
/pages/logs/logs.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{index + 1}}. {{log}}
5 |
6 |
7 |
--------------------------------------------------------------------------------
/app.wxss:
--------------------------------------------------------------------------------
1 | /**app.wxss**/
2 | .container {
3 | height: 100%;
4 | display: flex;
5 | flex-direction: column;
6 | align-items: center;
7 | justify-content: space-between;
8 | padding: 200rpx 0;
9 | box-sizing: border-box;
10 | }
11 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # weixiaochengxuPsychtest
2 | 微信小程序心理测试
3 |
测试截图
4 |
5 | .jpg)
6 |
7 |
8 | 测试结构截图
9 |
10 | .jpg)
11 |
--------------------------------------------------------------------------------
/pages/logs/logs.js:
--------------------------------------------------------------------------------
1 | //logs.js
2 | const util = require('../../utils/util.js')
3 |
4 | Page({
5 | data: {
6 | logs: []
7 | },
8 | onLoad: function () {
9 | this.setData({
10 | logs: (wx.getStorageSync('logs') || []).map(log => {
11 | return util.formatTime(new Date(log))
12 | })
13 | })
14 | }
15 | })
16 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Compiled class file
2 | *.class
3 |
4 | # Log file
5 | *.log
6 |
7 | # BlueJ files
8 | *.ctxt
9 |
10 | # Mobile Tools for Java (J2ME)
11 | .mtj.tmp/
12 |
13 | # Package Files #
14 | *.jar
15 | *.war
16 | *.ear
17 | *.zip
18 | *.tar.gz
19 | *.rar
20 |
21 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
22 | hs_err_pid*
23 |
--------------------------------------------------------------------------------
/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "pages":[
3 | "pages/begin/begin",
4 | "pages/test/test",
5 | "pages/index/index",
6 | "pages/result/result",
7 | "pages/logs/logs"
8 | ],
9 | "window":{
10 | "backgroundTextStyle":"light",
11 | "navigationBarBackgroundColor": "#fff",
12 | "navigationBarTitleText": "WeChat",
13 | "navigationBarTextStyle":"black"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/pages/begin/begin.wxml:
--------------------------------------------------------------------------------
1 |
2 | 00:00:00
3 |
4 | 小测试
5 |
6 |
7 |
8 |
9 |
10 | {{motto}}
11 |
12 |
--------------------------------------------------------------------------------
/utils/util.js:
--------------------------------------------------------------------------------
1 | const formatTime = date => {
2 | const year = date.getFullYear()
3 | const month = date.getMonth() + 1
4 | const day = date.getDate()
5 | const hour = date.getHours()
6 | const minute = date.getMinutes()
7 | const second = date.getSeconds()
8 |
9 | return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
10 | }
11 |
12 | const formatNumber = n => {
13 | n = n.toString()
14 | return n[1] ? n : '0' + n
15 | }
16 |
17 | module.exports = {
18 | formatTime: formatTime
19 | }
20 |
--------------------------------------------------------------------------------
/project.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "description": "项目配置文件。",
3 | "setting": {
4 | "urlCheck": true,
5 | "es6": true,
6 | "postcss": true,
7 | "minified": true,
8 | "newFeature": true
9 | },
10 | "compileType": "miniprogram",
11 | "libVersion": "1.9.91",
12 | "appid": "touristappid",
13 | "projectname": "testfirst",
14 | "condition": {
15 | "search": {
16 | "current": -1,
17 | "list": []
18 | },
19 | "conversation": {
20 | "current": -1,
21 | "list": []
22 | },
23 | "game": {
24 | "currentL": -1,
25 | "list": []
26 | },
27 | "miniprogram": {
28 | "current": -1,
29 | "list": []
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/pages/result/result.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | 测试结果
12 |
13 |
14 |
15 |
16 | 用时: {{time}}
17 | A: {{countA}}
18 | B: {{countB}}
19 | C: {{countC}}
20 |
21 |
--------------------------------------------------------------------------------
/pages/result/result.wxss:
--------------------------------------------------------------------------------
1 | .container{
2 | background-image: url('../image/img0.jpg')
3 | }
4 | .texts{
5 | font-size:25px;
6 | }
7 | .buttons{
8 | color:#000000;
9 | background-color:chartreuse;
10 | }
11 | .userinfo {
12 | flex-direction: column;
13 | align-items: center;
14 | margin: 10px;
15 | }
16 |
17 | .userinfo-avatar {
18 | width: 128rpx;
19 | height: 128rpx;
20 | margin: 20rpx;
21 |
22 | }
23 |
24 | .userinfo-nickname {
25 | color: #aaa;
26 | }
27 | .userinfo-nickname2 {
28 | color: #000000;
29 | text-align: center;
30 | font-size:30px;
31 | }
32 |
33 | .usermotto {
34 | margin: 120px;
35 | border: 1px solid #405f80;
36 | width: 200rpx;
37 | height: 80rpx;
38 | text-align: center;
39 | border-radius: 5px;
40 | }
41 | .user-motto{
42 | font-size: 32rpx;
43 | font-family: MicroSoft Yahei;
44 | font-weight: bold;
45 | line-height: 80rpx;
46 | }
47 |
48 | page{
49 | height: 100%;
50 | background: #b3d4db;
51 | }
--------------------------------------------------------------------------------
/pages/begin/begin.wxss:
--------------------------------------------------------------------------------
1 | .times{
2 | position: relative;
3 | left: 125px;
4 | top: -90px;
5 | font-size:25px;
6 | color:blue;
7 | }
8 |
9 | .container{
10 | background-image: url('../image/img0.jpg')
11 | }
12 |
13 | .userinfo {
14 | flex-direction: column;
15 | align-items: center;
16 | margin: 10px;
17 | }
18 |
19 | .userinfo-avatar {
20 | width: 128rpx;
21 | height: 128rpx;
22 | margin: 20rpx;
23 |
24 | }
25 |
26 | .userinfo-nickname {
27 | color: #aaa;
28 | }
29 | .userinfo-nickname2 {
30 | color: #000000;
31 | text-align: center;
32 | font-size:30px;
33 | }
34 |
35 | .usermotto {
36 | margin: 120px;
37 | border: 1px solid #405f80;
38 | width: 200rpx;
39 | height: 80rpx;
40 | text-align: center;
41 | border-radius: 5px;
42 | }
43 | .user-motto{
44 | font-size: 32rpx;
45 | font-family: MicroSoft Yahei;
46 | font-weight: bold;
47 | line-height: 80rpx;
48 | }
49 |
50 | page{
51 | height: 100%;
52 | background: #b3d4db;
53 | }
--------------------------------------------------------------------------------
/pages/index/index.wxss:
--------------------------------------------------------------------------------
1 | /**index.wxss**/
2 | .text-size{
3 | font-size: 16px;
4 | float:left;
5 | text-align: left;
6 | }
7 | .button-style{
8 | color:aqua;
9 | }
10 |
11 |
12 |
13 | page {
14 | height: 100%;
15 | }
16 |
17 | .userinfo {
18 | display: flex;
19 | flex-direction: column;
20 | align-items: center;
21 |
22 | }
23 |
24 | .userinfo-avatar {
25 | width: 128rpx;
26 | height: 128rpx;
27 | margin: 20rpx;
28 | border-radius: 50%;
29 | }
30 |
31 | .userinfo-nickname {
32 | color: #aaa;
33 | }
34 |
35 | .usermotto {
36 | margin-top: 200px;
37 | }
38 |
39 | button{
40 | width: 90%;
41 | }
42 |
43 |
44 |
45 | button{
46 | margin-top:20px;
47 |
48 | }
49 |
50 | .warp{
51 |
52 | height: 100%;
53 | width: 100%;
54 |
55 | }
56 |
57 | .title{
58 |
59 | margin-top:20px;
60 | font-weight:bold;
61 | }
62 |
63 | .text1{
64 | display: flex;
65 | flex-direction: column;
66 | align-items: center;
67 | }
68 |
69 | .choose{
70 | display: flex;
71 | flex-direction: column;
72 | align-items: center;
73 | margin-top:10px;
74 | }
75 |
76 |
77 | button text {
78 | vertical-align:left;
79 | display: table-cell;
80 | }
--------------------------------------------------------------------------------
/pages/test/test.wxss:
--------------------------------------------------------------------------------
1 | .times{
2 | position: relative;
3 | left: 255px;
4 | font-size:25px;
5 | color:blue;
6 | }
7 |
8 | .warp{
9 | height: 100%;
10 | width: 100%;
11 | }
12 | /* pages/question/question.wxss */
13 | page{
14 | height: 100%;
15 | width: 100%;
16 |
17 | font-weight: bold
18 | }
19 |
20 | .outer{
21 | height: 100%;
22 |
23 | }
24 |
25 | #describe{
26 | margin: 1rem;
27 | color: black;
28 | }
29 |
30 | #answer{
31 | margin-bottom: 2rem
32 | }
33 |
34 | radio{
35 | margin: 10px;
36 | width: 100%
37 | }
38 |
39 | radio .wx-radio-input.wx-radio-input-checked{
40 | border: none;
41 | background: red;
42 | }
43 |
44 | radio .wx-radio-input.wx-radio-input-checked::before{
45 | border-radius: 50%;
46 | width: 40rpx;
47 | height: 40rpx;
48 | line-height: 40rpx;
49 | text-align: center;
50 | font-size: 30rpx;
51 | color: #fff;
52 | background: rgb(67, 82, 163);
53 | transform: translate(-50%,-50%) scale(1.3);
54 | -webkit-transform: translate(-50%,-50%) scale(1.3)
55 | }
56 |
57 | .item{
58 | background: whitesmoke;
59 | margin:20px;
60 | border-radius: 10px;
61 | font-weight: bold;
62 | color: rgba(67, 82, 163, 0.9);
63 | }
64 |
65 | .item:active{
66 | background: lightblue;
67 | margin:20px;
68 | border-radius: 15px;
69 | font-weight: bold;
70 | color: rgba(67, 82, 163, 0.9);
71 | }
72 |
73 | #confirm:active{
74 | background: lightblue
75 | }
76 |
77 |
78 |
79 |
80 |
81 |
--------------------------------------------------------------------------------
/pages/test/test.wxml:
--------------------------------------------------------------------------------
1 |
2 | {{time}}
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | {{index+1}}、{{title[list[index]]}}
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | {{choice[list[index]][radios[0]]}}
22 |
23 |
24 |
25 |
26 |
27 | {{choice[list[index]][radios[1]]}}
28 |
29 |
30 |
31 |
32 |
33 | {{choice[list[index]][radios[2]]}}
34 |
35 |
36 |
37 |
38 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/pages/begin/begin.js:
--------------------------------------------------------------------------------
1 | //获取应用实例
2 | const app = getApp()
3 |
4 | Page({
5 | data: {
6 | motto: '开始测试',
7 | userInfo: {},
8 | hasUserInfo: false,
9 | canIUse: wx.canIUse('button.open-type.getUserInfo')
10 | },
11 | //事件处理函数
12 | bindViewTap: function () {
13 | wx.navigateTo({
14 | url: '../logs/logs'
15 | })
16 | },
17 | onLoad: function () {
18 | if (app.globalData.userInfo) {
19 | this.setData({
20 | userInfo: app.globalData.userInfo,
21 | hasUserInfo: true
22 | })
23 | } else if (this.data.canIUse) {
24 | // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
25 | // 所以此处加入 callback 以防止这种情况
26 | app.userInfoReadyCallback = res => {
27 | this.setData({
28 | userInfo: res.userInfo,
29 | hasUserInfo: true
30 | })
31 | }
32 | } else {
33 | // 在没有 open-type=getUserInfo 版本的兼容处理
34 | wx.getUserInfo({
35 | success: res => {
36 | app.globalData.userInfo = res.userInfo
37 | this.setData({
38 | userInfo: res.userInfo,
39 | hasUserInfo: true
40 | })
41 | }
42 | })
43 | }
44 | },
45 | getUserInfo: function (e) {
46 | console.log(e)
47 | app.globalData.userInfo = e.detail.userInfo
48 | this.setData({
49 | userInfo: e.detail.userInfo,
50 | hasUserInfo: true
51 | })
52 | },
53 |
54 | beginttest: function(){
55 | wx.redirectTo({
56 | url: '/pages/test/test'
57 | })
58 | }
59 | })
60 |
--------------------------------------------------------------------------------
/app.js:
--------------------------------------------------------------------------------
1 | //app.js
2 | App({
3 | onLaunch: function () {
4 | // 展示本地存储能力
5 | var logs = wx.getStorageSync('logs') || []
6 | logs.unshift(Date.now())
7 | wx.setStorageSync('logs', logs)
8 |
9 | // 登录
10 | wx.login({
11 | success: res => {
12 | // 发送 res.code 到后台换取 openId, sessionKey, unionId
13 | }
14 | })
15 | // 获取用户信息
16 | wx.getSetting({
17 | success: res => {
18 | if (res.authSetting['scope.userInfo']) {
19 | // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
20 | wx.getUserInfo({
21 | success: res => {
22 | // 可以将 res 发送给后台解码出 unionId
23 | this.globalData.userInfo = res.userInfo
24 |
25 | // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
26 | // 所以此处加入 callback 以防止这种情况
27 | if (this.userInfoReadyCallback) {
28 | this.userInfoReadyCallback(res)
29 | }
30 | }
31 | })
32 | }
33 | }
34 | })
35 | },
36 | globalData: {
37 | userInfo: null,
38 | question: [{ "question": "当你觉得累了,哪种活动能让你放松", "option": { "A": "与别人说话或听音乐、听故事", "V": "看书、看电视或录像", "K": "出去玩或者做游戏,做运动" } }, { "question": "如果你教给别人怎么做事,通常用的方法", "option": { "A": "用语言告诉他怎么做", "V": "画图告诉怎么做", "K": "用手势和行动告诉他怎么做" } }, { "question": "当你正在做事时,你觉得什么最容易干扰你的注意力", "option": { "A": "噪音", "V": "你觉得新鲜好好玩的东西", "K": "你周围正在动的人或东西" } }, { "question": "当你一个人呆着时喜欢做干什么", "option": { "A": "给别人打电话或听收音机", "V": "看电视、录像或看", "K": "自己玩游戏或者做自己喜欢做的事" } }]
39 | },
40 | countA:0,
41 | countB:0,
42 | countC:0,
43 | })
--------------------------------------------------------------------------------
/pages/result/result.js:
--------------------------------------------------------------------------------
1 | // pages/result/result.js
2 | Page({
3 |
4 | /**
5 | * 页面的初始数据
6 | */
7 | data: {
8 | countA: 0,
9 | countC: 0,
10 | countB: 0,
11 | kind: '',
12 | time: '00:00:00',
13 | //弹出的选择按钮
14 | tip: '',
15 | buttonDisabled: false,
16 | modalHidden: true,
17 | show: false,
18 | },
19 | //弹出的选择提示
20 | modalBindaconfirm: function () {
21 | this.setData({
22 | modalHidden: !this.data.modalHidden,
23 | show: !this.data.show,
24 | tip: '您点击了【确认】按钮!',
25 | buttonDisabled: !this.data.buttonDisabled
26 | })
27 | wx.navigateTo({
28 | url: '../logs/logs',
29 | })
30 | },
31 | modalBindcancel: function () {
32 | this.setData({
33 | modalHidden: !this.data.modalHidden,
34 | tip: '您点击了【取消】按钮!'
35 | })
36 | },
37 | toSave: function () {
38 | if (wx.getStorageSync('key')) {
39 | //这里进行保存操作
40 | } else {
41 | this.setData({
42 | modalHidden: !this.data.modalHidden
43 | })
44 | }
45 | },
46 | /**
47 | * 生命周期函数--监听页面加载
48 | */
49 | onLoad: function (options) {
50 |
51 | this.setData({
52 | countA: options.A - 0,
53 | countC: options.C - 0,
54 | countB: options.B - 0,
55 | time:options.time
56 | })
57 | /*
58 | this.data.countA = getApp().globalData.countA;
59 | this.data.countB = getApp().globalData.countB;
60 | this.data.countC = getApp().globalData.countC;
61 | */
62 | var data = this.data;
63 | },
64 |
65 | /**
66 | * Amax:听觉
67 | * Kmax:动觉
68 | * Vmax:视觉
69 | * A=K>V:听觉动觉均衡型……
70 | */
71 | })
--------------------------------------------------------------------------------
/pages/index/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | 小测试
8 | {{postList[index].name}}
9 | {{postList[index].daan}}
10 |
11 |
12 |
13 |
14 |
17 |
20 |
23 |
24 |
25 |
28 |
31 |
34 |
35 |
36 |
42 |
43 |
44 | 你已经选择A:{{countA}} ,B:{{countB}}, C:{{countC}}
45 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/data/data.js:
--------------------------------------------------------------------------------
1 | var describes=[
2 | '当你觉得累了,哪种活动能让你放松:',
3 | '如果你教给别人怎么做事,通常用的方法:',
4 | '当你正在做事时,你觉得什么最容易干扰你的注意力:',
5 | '当你一个人呆着时喜欢做干什么:',
6 | '当你遇到难题时,你觉得用什么方法解决问题最好:',
7 | '排队时你通常做什么:',
8 | '如果你很关心一个人,通常你会:',
9 | '遇到你认为很难写的字,你通常会:',
10 | '你自己做的事情,怎样就满意了:',
11 | '在课堂上你喜欢什么活动:',
12 | '教完别人做事之后,你通常问什么问题才知道他会了:',
13 | '学习诗歌时,你觉得怎样记忆更快',
14 | '你怎么知道别人高兴或者难过:',
15 | '你喜欢什么样的幽默:',
16 | '在有许多人的聚会上,你喜欢:',
17 | '别人怎样解释问题你更容易明白:',
18 | '如果你的假日很有趣,你通常怎样和朋友讲述:',
19 | '买衣服时:',
20 | '什么情况下你听人说话最清楚:',
21 | '你最容易记住别人的:'
22 |
23 | ]
24 |
25 |
26 | var answers=[
27 | { 'C': '看书、看电视或录像', 'A': '与别人说话或听音乐、听故事', 'B': '出去玩或者做游戏,做运动' },
28 | { 'C': '画图告诉怎么做', 'A': '用语言告诉他怎么做', 'B': '用手势和行动告诉他怎么做' },
29 | { 'C': '你觉得新鲜好好玩的东西', 'A': '噪音', 'B': '你周围正在动的人或东西' },
30 | { 'C': '看电视、录像或看书', 'A': '给别人打电话或听收音机', 'B': '自己玩游戏或者做自己喜欢做的事' },
31 | { 'C': '回想以前是怎么解决类似问题的', 'A': '把所有你会的方法都说出来,选一个最好的', 'B': '想出几种解决方法,选一个最好的' },
32 | { 'C': '看过往的人或周围的景色', 'A': '自己小声嘟囔或与别人说话', 'B': '总是来回晃动、坐不住、手脚不停' },
33 | { 'C': '给他寄一张卡片或发邮件', 'A': '给他打电话', 'B': '亲自去找他拜访他' },
34 | { 'C': '先写出来这个字,再看看是否对', 'A': '重复几遍这个字的读音,听起来觉得对就可以了', 'B': '反复写几遍这个字,感觉一下怎么写才对' },
35 | { 'C': '看起来是对的就满意了', 'A': '听起来是对的就满意了', 'B': '感觉是对的就满意了' },
36 | { 'C': '看图表、图画和录像', 'A': '听讲并且和别人说话', 'B': '做实验和搞活动' },
37 | { 'C': '你看懂了吗', 'A': '你听明白了吗', 'B': '你知道了吗' },
38 | { 'C': '反反复复地读', 'A': '大声地朗读', 'B': '不停地走动,打着节拍读' },
39 | { 'C': '看别人的脸', 'A': '听别人的声音', 'B': '注意别人的动作' },
40 | { 'C': '喜欢色彩丰富的戏剧和动画片', 'A': '喜欢滑稽搞笑的语言', 'B': '喜欢滑稽搞笑的动作' },
41 | { 'C': '看别人正在干什么', 'A': '和别人说话或者听别人说话', 'B': '到处转悠或者闲逛' },
42 | { 'C': '用图表、图画、地图等形式', 'A': '听讲、互相交流、讨论', 'B': '亲自做一做' },
43 | { 'C': '给他们看你的照片', 'A': '打电话讲给他听', 'B': '去找他们,给他们讲讲你的经历' },
44 | { 'C': '选择喜欢的颜色和样式', 'A': '别人说好看我就觉得好,别人说不好我也觉得不好', 'B': '选择穿起来舒服的衣服' },
45 | { 'C': '必须清清楚楚地看见说话的人,才能听得清楚', 'A': '你闭上眼睛,不看说话的人,听得更清楚', 'B': '你边走边听别人讲' },
46 | { 'C': '别人的相貌,才能听得清楚', 'A': '别人说过的话', 'B': '别人做过的事' }
47 | ]
48 |
49 | module.exports = {
50 | describe: describes,
51 | answer:answers
52 | }
53 |
--------------------------------------------------------------------------------
/data/post-data.js:
--------------------------------------------------------------------------------
1 | var local_database = [{
2 | "name": "1、 当你觉得累了,哪种活动能让你放松:",
3 | "daan": "A",
4 | "content": ["(A).与别人说话或听音乐、听故事", "(C).看书、看电视或录像", "(B).出去玩或者做游戏,做运动"]
5 | },
6 | {
7 | "name": "2、如果你教给别人怎么做事,通常用的方法:",
8 | "daan": "B",
9 | "content": ["(A).用语言告诉他怎么做", "(C).画图告诉怎么做", "(B).用手势和行动告诉他怎么做"]
10 | },
11 | {
12 | "name": "3、当你正在做事时,你觉得什么最容易干扰你的注意力:",
13 | "daan": "C",
14 | "content": ["(A).噪音", "(C).你觉得新鲜好好玩的东西", "(B).你周围正在动的人或东西"]
15 | },
16 | {
17 | "name": "4、当你一个人呆着时喜欢做干什么:",
18 | "daan": "C",
19 | "content": ["(A).给别人打电话或听收音机", "(C).看电视、录像或看书", "(B).自己玩游戏或者做自己喜欢做的事"]
20 | },
21 | {
22 | "name": "5、当你遇到难题时,你觉得用什么方法解决问题最好:",
23 | "daan": "C",
24 | "content": ["(A).把所有你会的方法都说出来,选一个最好的", "(C).回想以前是怎么解决类似问题的", "(B).想出几种解决方法,选一个最好的"]
25 | },
26 | {
27 | "name": "6、排队时你通常做什么:",
28 | "daan": "C",
29 | "content": ["(A).自己小声嘟囔或与别人说话", "(C).看过往的人或周围的景色", "(B).总是来回晃动、坐不住、手脚不停"]
30 | },
31 | {
32 | "name": "7、如果你很关心一个人,通常你会:",
33 | "daan": "C",
34 | "content": ["(A).给他打电话", "(C).给他寄一张卡片或发邮件", "(B).亲自去找他拜访他"]
35 | },
36 | {
37 | "name": "8、遇到你认为很难写的字,你通常会:",
38 | "daan": "C",
39 | "content": ["(A).重复几遍这个字的读音,听起来觉得对就可以了", "(C).先写出来这个字,再看看是否对", "(B).反复写几遍这个字,感觉一下怎么写才对"]
40 | },
41 | {
42 | "name": "9、你自己做的事情,怎样就满意了:",
43 | "daan": "C",
44 | "content": ["(A).听起来是对的就满意了", "(C).看起来是对的就满意了", "(B).感觉是对的就满意了"]
45 | },
46 | {
47 | "name": "10、在课堂上你喜欢什么活动:",
48 | "daan": "C",
49 | "content": ["(A).听讲并且和别人说话", "(C).看图表、图画和录像", "(B).做实验和搞活动"]
50 | },
51 | {
52 | "name": "11、教完别人做事之后,你通常问什么问题才知道他会了:",
53 | "daan": "C",
54 | "content": ["(A).你听明白了吗", "(B).你知道了吗", "(C).你看懂了吗"]
55 | },
56 | {
57 | "name": "12、学习诗歌时,你觉得怎样记忆更快",
58 | "daan": "C",
59 | "content": ["(A).大声地朗读", "(B).不停地走动,打着节拍读","(C).反反复复地读"]
60 | },
61 | {
62 | "name": "13、你怎么知道别人高兴或者难过:",
63 | "daan": "C",
64 | "content": ["(A).听别人的声音", "(B).注意别人的动作","(C).看别人的脸"]
65 | },
66 | {
67 | "name": "14、你喜欢什么样的幽默:",
68 | "daan": "C",
69 | "content": ["(A).喜欢滑稽搞笑的语言", "(B).喜欢滑稽搞笑的动作","(C).喜欢色彩丰富的戏剧和动画片"]
70 | },
71 | {
72 | "name": "15、在有许多人的聚会上,你喜欢:",
73 | "daan": "C",
74 | "content": ["(A).和别人说话或者听别人说话", "(B).到处转悠或者闲逛","(C).看别人正在干什么"]
75 | },
76 | {
77 | "name": "16、别人怎样解释问题你更容易明白:",
78 | "daan": "C",
79 | "content": ["(A).听讲、互相交流、讨论", "(B).亲自做一做" ,"(C).用图表、图画、地图等形式"]
80 | },
81 | {
82 | "name": "17、如果你的假日很有趣,你通常怎样和朋友讲述:",
83 | "daan": "C",
84 | "content": ["(A).打电话讲给他听", "(B).去找他们,给他们讲讲你的经历", "(C).给他们看你的照片",]
85 | },
86 | {
87 | "name": "18、买衣服时:",
88 | "daan": "C",
89 | "content": ["(A).别人说好看我就觉得好,别人说不好我也觉得不好", "(B).选择穿起来舒服的衣服", "(C).选择喜欢的颜色和样式" ]
90 | },
91 | {
92 | "name": "19、什么情况下你听人说话最清楚:",
93 | "daan": "C",
94 | "content": ["(A).你闭上眼睛,不看说话的人,听得更清楚", "(B).你边走边听别人讲","(C).必须清清楚楚地看见说话的人,才能听得清楚"]
95 | },
96 | {
97 | "name": "20、你最容易记住别人的:",
98 | "daan": "C",
99 | "content": ["(A).别人说过的话", "(B).别人做过的事", "(C).别人的相貌"]
100 | }
101 |
102 | ]
103 | module.exports = {
104 | postList: local_database
105 | }
--------------------------------------------------------------------------------
/pages/index/index.js:
--------------------------------------------------------------------------------
1 | var postData = require("../../data/post-data.js");
2 | Page({
3 | data: {
4 | // text:"这是一个页面"
5 | postList: postData.postList,
6 | index: 0,
7 | bc_default: '#FBFBFB',
8 | bc_right: '#98FB98',
9 | bc_wrong: '#FF99B4',
10 | bcA: '',
11 | bcB: '',
12 | bcC: '',
13 | bcD: '',
14 | ny: 'true',
15 | defen: 0,
16 |
17 |
18 | selectA:0,
19 | selectC:0,
20 | selectB:0,
21 | countA:0,
22 | countC:0,
23 | countB:0,
24 | lastpage:0,
25 | pages:0,
26 | },
27 |
28 | nextQuestion: function () {
29 | var that = this;
30 | if (that.data.index < postData.postList.length - 1) {
31 | this.setData({
32 | index: that.data.index + 1,
33 | bcA: that.data.bc_default,
34 | bcB: that.data.bc_default,
35 | bcC: that.data.bc_default,
36 | bcD: that.data.bc_default,
37 | ny: 'true'
38 | });
39 | }
40 | },
41 | lastQuestion: function () {
42 | var that = this;
43 | if (that.data.index > 0) {
44 | this.setData({
45 | index: that.data.index - 1
46 | });
47 | }
48 | },
49 | btnOpClick:function(e){
50 | var that=this;
51 | var select=e.currentTarget.id;
52 | //console.log("select是"+select)
53 | console.log("that.data.index是"+that.data.index)
54 | this.setData({
55 | pages:that.data.index+1
56 | })
57 | if(that.data.index 21599) {
8 | that.setData({
9 | time: '6小时,不想继续了gg'
10 | });
11 | return;
12 | }
13 | setTimeout(function () {
14 | that.setData({
15 | seconds: seconds + 1
16 | });
17 | timing(that);
18 | }
19 | , 1000)
20 | formatSeconds(that)
21 | }
22 | function formatSeconds(that) {
23 | var mins = 0, hours = 0, seconds = that.data.seconds, time = ''
24 | if (seconds < 60) {
25 |
26 | } else if (seconds < 3600) {
27 | mins = parseInt(seconds / 60)
28 | seconds = seconds % 60
29 | } else {
30 | mins = parseInt(seconds / 60)
31 | seconds = seconds % 60
32 | hours = parseInt(mins / 60)
33 | mins = mins % 60
34 | }
35 | that.setData({
36 | time: formatTime(hours) + ':' + formatTime(mins) + ':' + formatTime(seconds)
37 | });
38 | }
39 | function formatTime(num) {
40 | if (num < 10)
41 | return '0' + num
42 | else
43 | return num + ''
44 | }
45 | // pages/question/question.js
46 | Page({
47 |
48 | /**
49 | * 页面的初始数据
50 | */
51 | data: {
52 | per:0,
53 | clear: false,
54 | A: 0,
55 | C: 0,
56 | B: 0,
57 | index: 0,
58 | title: postData.describe,
59 | choice: postData.answer,
60 | radios: ['A', 'C', 'B'],
61 | list: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19],
62 | seconds: 0,
63 | time: '00:00:00',
64 | },
65 |
66 | randSort: function () {
67 | return Math.random() > 0.5 ? 1 : -1;
68 | },
69 |
70 | setList: function () {
71 | var newList = this.data.list.sort(this.randSort);
72 | this.setData({
73 | list: newList
74 | });
75 | },
76 |
77 | setRadios: function () {
78 | var newRadios = this.data.radios.sort(this.randSort);
79 | this.setData({
80 | radios: newRadios
81 | });
82 | },
83 | //点击按钮播放音乐
84 | playmusic:function(){
85 | const innerAudioContext = wx.createInnerAudioContext()
86 | innerAudioContext.autoplay = true
87 | innerAudioContext.src = '/data/2310.mp3'
88 | innerAudioContext.onPlay(() => {
89 | console.log('开始播放')
90 | })
91 | innerAudioContext.onError((res) => {
92 | console.log(res.errMsg)
93 | console.log(res.errCode)
94 | })
95 | },
96 |
97 | select: function (e) {
98 | var tmp = e.detail.value;
99 | progressNum = progressNum + 10;
100 | this.setData({per:progressNum})
101 | if (tmp == 'A') {
102 | this.setData({
103 | A: this.data.A + 1
104 | })
105 | } else if (tmp == 'C') {
106 | this.setData({
107 | C: this.data.C + 1
108 | })
109 | } else if (tmp == 'B') {
110 | this.setData({
111 | B: this.data.B + 1
112 | });
113 | }
114 | if (this.data.index < 9) {
115 | this.setRadios();
116 | this.setData({
117 | index: this.data.index + 1,
118 | clear: false
119 | });
120 | }else{
121 | this.submit();
122 | }
123 |
124 | },
125 |
126 | submit: function () {
127 | wx.redirectTo({
128 | url: '/pages/result/result?A=' + this.data.A + '&C=' + this.data.C + '&B=' + this.data.B+'&time='+this.data.time,
129 | })
130 |
131 | /*
132 | wx.navigateTo({
133 | url: '../pages/result/result',
134 | })
135 | */
136 | },
137 |
138 | /**
139 | * 生命周期函数--监听页面显示
140 | */
141 | onShow: function () {
142 | timing(this);
143 | this.setList();
144 | this.setRadios();
145 | this.setData({
146 | A: 0,
147 | C: 0,
148 | B: 0
149 | });
150 | }
151 |
152 | })
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Eclipse Public License - v 2.0
2 |
3 | THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
4 | PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION
5 | OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
6 |
7 | 1. DEFINITIONS
8 |
9 | "Contribution" means:
10 |
11 | a) in the case of the initial Contributor, the initial content
12 | Distributed under this Agreement, and
13 |
14 | b) in the case of each subsequent Contributor:
15 | i) changes to the Program, and
16 | ii) additions to the Program;
17 | where such changes and/or additions to the Program originate from
18 | and are Distributed by that particular Contributor. A Contribution
19 | "originates" from a Contributor if it was added to the Program by
20 | such Contributor itself or anyone acting on such Contributor's behalf.
21 | Contributions do not include changes or additions to the Program that
22 | are not Modified Works.
23 |
24 | "Contributor" means any person or entity that Distributes the Program.
25 |
26 | "Licensed Patents" mean patent claims licensable by a Contributor which
27 | are necessarily infringed by the use or sale of its Contribution alone
28 | or when combined with the Program.
29 |
30 | "Program" means the Contributions Distributed in accordance with this
31 | Agreement.
32 |
33 | "Recipient" means anyone who receives the Program under this Agreement
34 | or any Secondary License (as applicable), including Contributors.
35 |
36 | "Derivative Works" shall mean any work, whether in Source Code or other
37 | form, that is based on (or derived from) the Program and for which the
38 | editorial revisions, annotations, elaborations, or other modifications
39 | represent, as a whole, an original work of authorship.
40 |
41 | "Modified Works" shall mean any work in Source Code or other form that
42 | results from an addition to, deletion from, or modification of the
43 | contents of the Program, including, for purposes of clarity any new file
44 | in Source Code form that contains any contents of the Program. Modified
45 | Works shall not include works that contain only declarations,
46 | interfaces, types, classes, structures, or files of the Program solely
47 | in each case in order to link to, bind by name, or subclass the Program
48 | or Modified Works thereof.
49 |
50 | "Distribute" means the acts of a) distributing or b) making available
51 | in any manner that enables the transfer of a copy.
52 |
53 | "Source Code" means the form of a Program preferred for making
54 | modifications, including but not limited to software source code,
55 | documentation source, and configuration files.
56 |
57 | "Secondary License" means either the GNU General Public License,
58 | Version 2.0, or any later versions of that license, including any
59 | exceptions or additional permissions as identified by the initial
60 | Contributor.
61 |
62 | 2. GRANT OF RIGHTS
63 |
64 | a) Subject to the terms of this Agreement, each Contributor hereby
65 | grants Recipient a non-exclusive, worldwide, royalty-free copyright
66 | license to reproduce, prepare Derivative Works of, publicly display,
67 | publicly perform, Distribute and sublicense the Contribution of such
68 | Contributor, if any, and such Derivative Works.
69 |
70 | b) Subject to the terms of this Agreement, each Contributor hereby
71 | grants Recipient a non-exclusive, worldwide, royalty-free patent
72 | license under Licensed Patents to make, use, sell, offer to sell,
73 | import and otherwise transfer the Contribution of such Contributor,
74 | if any, in Source Code or other form. This patent license shall
75 | apply to the combination of the Contribution and the Program if, at
76 | the time the Contribution is added by the Contributor, such addition
77 | of the Contribution causes such combination to be covered by the
78 | Licensed Patents. The patent license shall not apply to any other
79 | combinations which include the Contribution. No hardware per se is
80 | licensed hereunder.
81 |
82 | c) Recipient understands that although each Contributor grants the
83 | licenses to its Contributions set forth herein, no assurances are
84 | provided by any Contributor that the Program does not infringe the
85 | patent or other intellectual property rights of any other entity.
86 | Each Contributor disclaims any liability to Recipient for claims
87 | brought by any other entity based on infringement of intellectual
88 | property rights or otherwise. As a condition to exercising the
89 | rights and licenses granted hereunder, each Recipient hereby
90 | assumes sole responsibility to secure any other intellectual
91 | property rights needed, if any. For example, if a third party
92 | patent license is required to allow Recipient to Distribute the
93 | Program, it is Recipient's responsibility to acquire that license
94 | before distributing the Program.
95 |
96 | d) Each Contributor represents that to its knowledge it has
97 | sufficient copyright rights in its Contribution, if any, to grant
98 | the copyright license set forth in this Agreement.
99 |
100 | e) Notwithstanding the terms of any Secondary License, no
101 | Contributor makes additional grants to any Recipient (other than
102 | those set forth in this Agreement) as a result of such Recipient's
103 | receipt of the Program under the terms of a Secondary License
104 | (if permitted under the terms of Section 3).
105 |
106 | 3. REQUIREMENTS
107 |
108 | 3.1 If a Contributor Distributes the Program in any form, then:
109 |
110 | a) the Program must also be made available as Source Code, in
111 | accordance with section 3.2, and the Contributor must accompany
112 | the Program with a statement that the Source Code for the Program
113 | is available under this Agreement, and informs Recipients how to
114 | obtain it in a reasonable manner on or through a medium customarily
115 | used for software exchange; and
116 |
117 | b) the Contributor may Distribute the Program under a license
118 | different than this Agreement, provided that such license:
119 | i) effectively disclaims on behalf of all other Contributors all
120 | warranties and conditions, express and implied, including
121 | warranties or conditions of title and non-infringement, and
122 | implied warranties or conditions of merchantability and fitness
123 | for a particular purpose;
124 |
125 | ii) effectively excludes on behalf of all other Contributors all
126 | liability for damages, including direct, indirect, special,
127 | incidental and consequential damages, such as lost profits;
128 |
129 | iii) does not attempt to limit or alter the recipients' rights
130 | in the Source Code under section 3.2; and
131 |
132 | iv) requires any subsequent distribution of the Program by any
133 | party to be under a license that satisfies the requirements
134 | of this section 3.
135 |
136 | 3.2 When the Program is Distributed as Source Code:
137 |
138 | a) it must be made available under this Agreement, or if the
139 | Program (i) is combined with other material in a separate file or
140 | files made available under a Secondary License, and (ii) the initial
141 | Contributor attached to the Source Code the notice described in
142 | Exhibit A of this Agreement, then the Program may be made available
143 | under the terms of such Secondary Licenses, and
144 |
145 | b) a copy of this Agreement must be included with each copy of
146 | the Program.
147 |
148 | 3.3 Contributors may not remove or alter any copyright, patent,
149 | trademark, attribution notices, disclaimers of warranty, or limitations
150 | of liability ("notices") contained within the Program from any copy of
151 | the Program which they Distribute, provided that Contributors may add
152 | their own appropriate notices.
153 |
154 | 4. COMMERCIAL DISTRIBUTION
155 |
156 | Commercial distributors of software may accept certain responsibilities
157 | with respect to end users, business partners and the like. While this
158 | license is intended to facilitate the commercial use of the Program,
159 | the Contributor who includes the Program in a commercial product
160 | offering should do so in a manner which does not create potential
161 | liability for other Contributors. Therefore, if a Contributor includes
162 | the Program in a commercial product offering, such Contributor
163 | ("Commercial Contributor") hereby agrees to defend and indemnify every
164 | other Contributor ("Indemnified Contributor") against any losses,
165 | damages and costs (collectively "Losses") arising from claims, lawsuits
166 | and other legal actions brought by a third party against the Indemnified
167 | Contributor to the extent caused by the acts or omissions of such
168 | Commercial Contributor in connection with its distribution of the Program
169 | in a commercial product offering. The obligations in this section do not
170 | apply to any claims or Losses relating to any actual or alleged
171 | intellectual property infringement. In order to qualify, an Indemnified
172 | Contributor must: a) promptly notify the Commercial Contributor in
173 | writing of such claim, and b) allow the Commercial Contributor to control,
174 | and cooperate with the Commercial Contributor in, the defense and any
175 | related settlement negotiations. The Indemnified Contributor may
176 | participate in any such claim at its own expense.
177 |
178 | For example, a Contributor might include the Program in a commercial
179 | product offering, Product X. That Contributor is then a Commercial
180 | Contributor. If that Commercial Contributor then makes performance
181 | claims, or offers warranties related to Product X, those performance
182 | claims and warranties are such Commercial Contributor's responsibility
183 | alone. Under this section, the Commercial Contributor would have to
184 | defend claims against the other Contributors related to those performance
185 | claims and warranties, and if a court requires any other Contributor to
186 | pay any damages as a result, the Commercial Contributor must pay
187 | those damages.
188 |
189 | 5. NO WARRANTY
190 |
191 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
192 | PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS"
193 | BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
194 | IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF
195 | TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
196 | PURPOSE. Each Recipient is solely responsible for determining the
197 | appropriateness of using and distributing the Program and assumes all
198 | risks associated with its exercise of rights under this Agreement,
199 | including but not limited to the risks and costs of program errors,
200 | compliance with applicable laws, damage to or loss of data, programs
201 | or equipment, and unavailability or interruption of operations.
202 |
203 | 6. DISCLAIMER OF LIABILITY
204 |
205 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
206 | PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS
207 | SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
208 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
209 | PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
210 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
211 | ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
212 | EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
213 | POSSIBILITY OF SUCH DAMAGES.
214 |
215 | 7. GENERAL
216 |
217 | If any provision of this Agreement is invalid or unenforceable under
218 | applicable law, it shall not affect the validity or enforceability of
219 | the remainder of the terms of this Agreement, and without further
220 | action by the parties hereto, such provision shall be reformed to the
221 | minimum extent necessary to make such provision valid and enforceable.
222 |
223 | If Recipient institutes patent litigation against any entity
224 | (including a cross-claim or counterclaim in a lawsuit) alleging that the
225 | Program itself (excluding combinations of the Program with other software
226 | or hardware) infringes such Recipient's patent(s), then such Recipient's
227 | rights granted under Section 2(b) shall terminate as of the date such
228 | litigation is filed.
229 |
230 | All Recipient's rights under this Agreement shall terminate if it
231 | fails to comply with any of the material terms or conditions of this
232 | Agreement and does not cure such failure in a reasonable period of
233 | time after becoming aware of such noncompliance. If all Recipient's
234 | rights under this Agreement terminate, Recipient agrees to cease use
235 | and distribution of the Program as soon as reasonably practicable.
236 | However, Recipient's obligations under this Agreement and any licenses
237 | granted by Recipient relating to the Program shall continue and survive.
238 |
239 | Everyone is permitted to copy and distribute copies of this Agreement,
240 | but in order to avoid inconsistency the Agreement is copyrighted and
241 | may only be modified in the following manner. The Agreement Steward
242 | reserves the right to publish new versions (including revisions) of
243 | this Agreement from time to time. No one other than the Agreement
244 | Steward has the right to modify this Agreement. The Eclipse Foundation
245 | is the initial Agreement Steward. The Eclipse Foundation may assign the
246 | responsibility to serve as the Agreement Steward to a suitable separate
247 | entity. Each new version of the Agreement will be given a distinguishing
248 | version number. The Program (including Contributions) may always be
249 | Distributed subject to the version of the Agreement under which it was
250 | received. In addition, after a new version of the Agreement is published,
251 | Contributor may elect to Distribute the Program (including its
252 | Contributions) under the new version.
253 |
254 | Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
255 | receives no rights or licenses to the intellectual property of any
256 | Contributor under this Agreement, whether expressly, by implication,
257 | estoppel or otherwise. All rights in the Program not expressly granted
258 | under this Agreement are reserved. Nothing in this Agreement is intended
259 | to be enforceable by any entity that is not a Contributor or Recipient.
260 | No third-party beneficiary rights are created under this Agreement.
261 |
262 | Exhibit A - Form of Secondary Licenses Notice
263 |
264 | "This Source Code may also be made available under the following
265 | Secondary Licenses when the conditions for such availability set forth
266 | in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
267 | version(s), and exceptions or additional permissions here}."
268 |
269 | Simply including a copy of this Agreement, including this Exhibit A
270 | is not sufficient to license the Source Code under Secondary Licenses.
271 |
272 | If it is not possible or desirable to put the notice in a particular
273 | file, then You may include the notice in a location (such as a LICENSE
274 | file in a relevant directory) where a recipient would be likely to
275 | look for such a notice.
276 |
277 | You may add additional accurate notices of copyright ownership.
278 |
--------------------------------------------------------------------------------