├── .gitignore ├── 1525435858(1).jpg ├── 1525436110(1).jpg ├── LICENSE ├── README.md ├── app.js ├── app.json ├── app.wxss ├── data ├── 2310.mp3 ├── data.js └── post-data.js ├── image ├── img0.jpg ├── logo.jpg └── result.jpg ├── pages ├── begin │ ├── begin.js │ ├── begin.json │ ├── begin.wxml │ └── begin.wxss ├── index │ ├── index.js │ ├── index.wxml │ └── index.wxss ├── logs │ ├── logs.js │ ├── logs.json │ ├── logs.wxml │ └── logs.wxss ├── result │ ├── result.js │ ├── result.json │ ├── result.wxml │ └── result.wxss └── test │ ├── test.js │ ├── test.json │ ├── test.wxml │ └── test.wxss ├── project.config.json └── utils └── util.js /.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 | -------------------------------------------------------------------------------- /1525435858(1).jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XTFxiaofei/weixinxiaochengxuPsychtest/183ec48c7ed748d23a425ce54b3adda01d85d9d6/1525435858(1).jpg -------------------------------------------------------------------------------- /1525436110(1).jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XTFxiaofei/weixinxiaochengxuPsychtest/183ec48c7ed748d23a425ce54b3adda01d85d9d6/1525436110(1).jpg -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # weixiaochengxuPsychtest 2 | 微信小程序心理测试
3 |

测试截图


4 | 5 | ![Image text](https://github.com/XTF1182741213/weixinxiaochengxuPsychtest/blob/master/1525435858(1).jpg) 6 | 7 | 8 |

测试结构截图


9 | 10 | ![Image text](https://github.com/XTF1182741213/weixinxiaochengxuPsychtest/blob/master/1525436110(1).jpg) 11 | -------------------------------------------------------------------------------- /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 | }) -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /data/2310.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XTFxiaofei/weixinxiaochengxuPsychtest/183ec48c7ed748d23a425ce54b3adda01d85d9d6/data/2310.mp3 -------------------------------------------------------------------------------- /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 | } -------------------------------------------------------------------------------- /image/img0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XTFxiaofei/weixinxiaochengxuPsychtest/183ec48c7ed748d23a425ce54b3adda01d85d9d6/image/img0.jpg -------------------------------------------------------------------------------- /image/logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XTFxiaofei/weixinxiaochengxuPsychtest/183ec48c7ed748d23a425ce54b3adda01d85d9d6/image/logo.jpg -------------------------------------------------------------------------------- /image/result.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XTFxiaofei/weixinxiaochengxuPsychtest/183ec48c7ed748d23a425ce54b3adda01d85d9d6/image/result.jpg -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /pages/begin/begin.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /pages/begin/begin.wxml: -------------------------------------------------------------------------------- 1 | 2 | 00:00:00 3 | 4 | 小测试 5 | 6 | 7 | 8 | 9 | 10 | {{motto}} 11 | 12 | -------------------------------------------------------------------------------- /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.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 2 | 3 | 4 | 5 | 6 | 7 | 小测试 8 | {{postList[index].name}} 9 | 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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /pages/logs/logs.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "查看启动日志" 3 | } -------------------------------------------------------------------------------- /pages/logs/logs.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {{index + 1}}. {{log}} 5 | 6 | 7 | -------------------------------------------------------------------------------- /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/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/result/result.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /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/test/test.js: -------------------------------------------------------------------------------- 1 | var postData = require("../../data/data.js"); 2 | var progressNum = 0;//进度条 3 | 4 | //计时器 5 | function timing(that) { 6 | var seconds = that.data.seconds 7 | if (seconds > 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 | }) -------------------------------------------------------------------------------- /pages/test/test.json: -------------------------------------------------------------------------------- 1 | { 2 | "backgroundTextStyle": "light", 3 | "navigationBarBackgroundColor": "#000", 4 | "navigationBarTitleText": "小程序", 5 | "navigationBarTextStyle": "white" 6 | } -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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 | } -------------------------------------------------------------------------------- /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 | --------------------------------------------------------------------------------