├── .gitignore
├── 12.jpg
├── LICENSE
├── README.md
├── app.js
├── app.json
├── app.wxss
├── data
├── 500.js
├── cet4.js
├── cet4_import.js
├── cet4_t.js
├── cet6.js
├── cet6_import.js
├── kaoyan.js
├── kaoyan_import.js
├── vocabulary.js
└── zy8.js
├── dist
├── Bmob-1.6.3.min.js
└── Bmob-1.6.4.min.js
├── images
├── about.png
├── book.png
├── bottom.gif
├── choice.png
├── choice2.png
├── ciba.png
├── home.png
├── home2.png
├── ji.png
├── ji2.png
├── line.png
├── mine.png
├── more.png
├── new.png
├── ok.png
├── sc.png
├── sc2.png
├── search.png
├── search2.png
├── settings-selected.png
├── settings.png
├── statistic.png
├── statistic2.png
├── test.png
├── time.png
├── yuying.png
├── zf.png
├── 我的.png
├── 我的2.png
└── 沟通页_语音_右_03.png
├── pages
├── about
│ ├── about.js
│ ├── about.json
│ ├── about.wxml
│ └── about.wxss
├── all_detail
│ ├── all_detail.js
│ ├── all_detail.json
│ ├── all_detail.wxml
│ └── all_detail.wxss
├── audio_test
│ ├── audio_test.js
│ ├── audio_test.json
│ ├── audio_test.wxml
│ └── audio_test.wxss
├── choice
│ ├── choice.js
│ ├── choice.json
│ ├── choice.wxml
│ └── choice.wxss
├── collect_card
│ ├── collect_card.js
│ ├── collect_card.json
│ ├── collect_card.wxml
│ └── collect_card.wxss
├── detail-word
│ ├── detail-word.js
│ ├── detail-word.json
│ ├── detail-word.wxml
│ └── detail-word.wxss
├── index
│ ├── index.js
│ ├── index.json
│ ├── index.wxml
│ ├── index.wxss
│ └── md5.js
├── job
│ ├── job.js
│ ├── job.json
│ ├── job.wxml
│ └── job.wxss
├── me
│ ├── me.js
│ ├── me.json
│ ├── me.wxml
│ └── me.wxss
├── my_word
│ ├── my_word.js
│ ├── my_word.json
│ ├── my_word.wxml
│ └── my_word.wxss
├── rank
│ ├── rank.js
│ ├── rank.json
│ ├── rank.wxml
│ └── rank.wxss
├── search
│ ├── search.js
│ ├── search.json
│ ├── search.wxml
│ ├── search.wxml.js
│ ├── search.wxml.json
│ ├── search.wxml.wxml
│ ├── search.wxml.wxss
│ └── search.wxss
├── study
│ ├── itemtpl.wxml
│ ├── study.js
│ ├── study.json
│ ├── study.wxml
│ └── study.wxss
├── suggestion
│ ├── suggestion.js
│ ├── suggestion.json
│ ├── suggestion.wxml
│ └── suggestion.wxss
└── test
│ ├── test.js
│ ├── test.json
│ ├── test.wxml
│ └── test.wxss
├── project.config.json
└── utils
├── Touches.js
├── common.js
├── md5.js
├── upDateShareInfoToUser_network.js
├── upDateUser_networkFromClickId.js
├── util.js
└── wxcharts.js
/.gitignore:
--------------------------------------------------------------------------------
1 | # Windows
2 | [Dd]esktop.ini
3 | Thumbs.db
4 | $RECYCLE.BIN/
5 |
6 | # macOS
7 | .DS_Store
8 | .fseventsd
9 | .Spotlight-V100
10 | .TemporaryItems
11 | .Trashes
12 |
13 | # Node.js
14 | node_modules/
15 |
--------------------------------------------------------------------------------
/12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/12.jpg
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | LICENSE - "MIT License"
2 |
3 | Copyright (c) 2016 by Tencent Cloud
4 |
5 | Permission is hereby granted, free of charge, to any person
6 | obtaining a copy of this software and associated documentation
7 | files (the "Software"), to deal in the Software without
8 | restriction, including without limitation the rights to use,
9 | copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | copies of the Software, and to permit persons to whom the
11 | Software is furnished to do so, subject to the following
12 | conditions:
13 |
14 | The above copyright notice and this permission notice shall be
15 | included in all copies or substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
19 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
21 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
22 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
24 | OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | 
3 |
4 |
5 |
6 |
7 |
8 | **2018-11-02 更新**
9 | 1. UI美化
10 | 2. 没了
11 |
12 |
13 | **2018-10-30 更新**
14 |
15 |
16 |
17 | **项目主页**:[背单词微信小程序--小鸡单词](https://me.idealli.com/post/118d23db.html)
18 |
19 | 该项目已上架微信小程序市场,可以通过微信搜索“小鸡单词”进行使用
20 |
21 | 
22 |
23 |
24 |
25 | ## 项目介绍
26 |
27 |
28 | **这个背单词小程序有哪些特点?**
29 |
30 |
31 | 1. 根据用户记忆遗忘曲线安排每天的学习计划
32 | 2. 每天学习的细节比普通背单词程序更详细,用户可以实时看到自己每天忘记那些单词,熟悉那些单词
33 | 3. 用户自主选词,自己选择要背的单词,使用起来更主动
34 | 4. 功能齐全,市场背单词程序有的功能,在这个小程序上都有,可使用登陆备份等功能
35 |
36 | > 这是一个可以根据用户记忆曲线安排用户每天学习计划的背单词小程序,并且依托微信这个巨大的流量平台已经在小程序流量平台发布,拥有了一定数量的用户
37 |
38 |
39 |
40 | - 项目免责说明:该项目界面UI一定程度模仿墨墨背单词,由于该项目并非用于商业,免费且开源,仅供学习参考,最终解释权归项目负责人所有
41 |
42 | - 开源:本项目已在GitHub上开源,并在多个小程序社区被转载和发布
43 |
44 | - 说明:该小程序并无自己的数据库,使用的是扇贝单词api(后期版本计划使用自己数据库)
45 |
46 | - 背单词页面,仿墨墨背单词
47 |
48 | - 单词选词页面(目前支持四六级词汇,考研词汇,四六级核心词汇等)
49 |
50 |
51 | 
52 |
53 |
54 |
55 | > 每天任务细节页面
56 |
57 | 1. 每个单词设置单词权重
58 | 2. 初始单词权重为0.5
59 | 3. 每忘记一次单词,会有相应的算法去减掉一定的权重
60 | 4. 会有排序算法将单词列表将单词按权重从低到高重新排列
61 | 5. 每天安排新的任务计划时,权重低的单词优先安排
62 |
63 |
64 |
65 | 
66 |
67 |
68 |
69 |
70 | > 个人设置页面
71 |
72 | **目前实现功能**
73 |
74 | 1. 每日单词量设置
75 | 2. 已加入计划单词量
76 | 3. 备份与还原
77 | 4. 登陆设置
78 | 5. 词汇测试
79 | 6. 词汇量全服排名
80 |
81 |
82 |
83 | **待完成功能**
84 |
85 | 1. 单词上限购买
86 | 2. 记忆模式:看中文拼英文
87 |
88 |
89 |
90 | > 词汇量测试的全服排名模仿跳一跳的排名
91 |
92 |
93 |
94 | 
95 |
96 |
97 |
98 | ## 项目历程
99 |
100 |
101 |
102 | **该项目是由小鸡单词1.0进行版本更新,由于版本改动较大,所以作为新版本发布**
103 |
104 |
105 |
106 | **项目todo列表**
107 |
108 | [✔] 背单词的界面美化
109 |
110 | [✔] 删掉wafer云后台
111 |
112 | [✔] 将数据放在bomb云
113 |
114 | [✔] 将单词的选择做成每日选词的模式
115 |
116 | [✔] 可以根据使用者对单词的掌握程度,在日后的学习中穿插复习
117 |
118 | [✔] 添加历史学习情况表
119 |
120 | [✔] 单词测试的排名
121 |
122 | [✔] 每日单词详情,细节
123 |
124 | [ ❌ ] 增加购买单词的功能
125 |
126 |
127 | ## 源码简介
128 |
129 |
130 |
131 | **下面是小程序的各页面构成**
132 | 一共15个页面,主要页面有5个,另外有五个页面由于上个版本遗留,暂时废弃,但是考虑到后续版本可能会继续使用,所以保留(不占空间)
133 |
134 |
135 | ```java
136 | Demo
137 | ├─data //本地词库
138 | ├─dist //bmob云的sdk
139 | ├─images //图片素材
140 | ├─pages //
141 | │ ├─about //关于我
142 | │ ├─all_detail //统计页,学习情况详情
143 | │ ├─audio_test //听音词汇测试,本版本废弃
144 | │ ├─choice //挑选单词书,本版本废弃
145 | │ ├─collect_card //收集单词的卡片
146 | │ ├─detail-word //单词收索页,本版本废弃
147 | │ ├─index //
148 | │ ├─job //选词页面
149 | │ ├─me //设置页面
150 | │ ├─my_word //已挑选的单词展示页
151 | │ ├─rank //排名页,本版本废弃
152 | │ ├─search //搜索页,本版本废弃
153 | │ ├─study //学习页,重要页面
154 | │ ├─suggestion //建议页
155 | │ └─test //词汇测试页
156 | └─utils
157 |
158 | ```
159 |
160 |
161 | ## 项目目前的发展
162 |
163 |
164 |
165 | 1. 小程序目前的累计使用人数已超过一千
166 |
167 |
168 |
169 | 主要集中在10月份
170 |
171 | 
172 |
173 |
174 |
175 | 2. 小程序在搜索栏被打开的比例占了55%
176 |
177 |
178 |
179 | 
180 |
181 |
182 |
183 | 3. 小程序使用人群
184 |
185 |
186 |
187 | **从目前情况来看,18~24岁的年轻女性比较多**看来还是女孩子比较爱背单词
188 |
189 |
190 |
191 | 
192 |
193 |
194 |
195 | 4. 目前小程序的发行版本 3.5.6666
196 |
197 | > 3.5.6667版本开始加入广告
198 |
199 |
200 |
201 | 
202 |
203 |
204 |
205 | ## 项目后期发展规划
206 |
207 | 1. 加入单词购买功能
208 |
209 | 2. 简化算法
210 |
211 | 3. 建立自己的单词数据库
212 |
213 |
214 | ## 感慨
215 |
216 | 代码现在看来还是比较臃肿,方法也都很笨,后期的版本更新会继续优化。
217 |
218 | > 小程序的的核心代码在study页(代码较烂,有点看不下
219 |
220 | 后台使用bmob云,小程序够用,目前免费,感兴趣自行搜索
221 |
--------------------------------------------------------------------------------
/app.js:
--------------------------------------------------------------------------------
1 | //app.js
2 | var Bmob = require('/dist/Bmob-1.6.4.min.js');
3 | //var qcloud = require('./vendor/wafer2-client-sdk/index');
4 | //var config = require('./config');
5 | var util = require('./utils/util.js')
6 | Bmob.initialize("你的bmob云appid", "你的bmob云密钥");
7 |
8 | App({
9 | globalData:{
10 | userInfo:[]
11 | },
12 | appData: {
13 |
14 | },
15 | onLaunch(opt) {
16 | this.appData.opt = opt
17 | // qcloud.setLoginUrl(config.service.loginUrl); //设置登录地址
18 | // this.doLogin();
19 | Bmob.User.auth().then(res => {
20 | console.log(res)
21 | const query = Bmob.Query('_User');
22 | query.get(res.objectId).then(res => {
23 | console.log(res)
24 | wx.setStorage({
25 | key: 'data_objectid',
26 | data: res.data_objectid,
27 | })
28 | }).catch(err => {
29 | console.log(err)
30 | })
31 | wx.setStorage({
32 | key: 'usr_objectId',
33 | data: res.objectId,
34 | })
35 |
36 | console.log('一键登陆成功')
37 |
38 | }).catch(err => {
39 | console.log(err)
40 | });
41 |
42 | this.globalData.userInfo=wx.getStorageSync("userInfo")
43 | if(!wx.getStorageSync("word_list")&&!wx.getStorageSync("all_detail")){
44 | wx.setStorage({
45 | key: 'all_detail',
46 | data: [],
47 | })
48 |
49 | wx.setStorage({
50 | key: 'word_list',
51 | data: [{"word":"equip","ease":0.5,"day":0},{"word":"frown","ease":0.5,"day":0},{"word":"fasten","ease":0.5,"day":0},{"word":"software","ease":0.5,"day":0},{"word":"stir","ease":0.5,"day":0},{"word":"distribution","ease":0.5,"day":0},{"word":"flexible","ease":0.5,"day":0},{"word":"solution","ease":0.5,"day":0},{"word":"lad","ease":0.5,"day":0},{"word":"panel","ease":0.5,"day":0},{"word":"ministry","ease":0.5,"day":0},{"word":"supreme","ease":0.5,"day":0},{"word":"supreme","ease":0.5,"day":0},{"word":"describe","ease":0.5,"day":0},{"word":"limb","ease":0.5,"day":0},{"word":"circumstance","ease":0.5,"day":0},{"word":"core","ease":0.5,"day":0},{"word":"assistant","ease":0.5,"day":0},{"word":"mess","ease":0.5,"day":0},{"word":"minus","ease":0.5,"day":0},{"word":"sector","ease":0.5,"day":0},{"word":"detection","ease":0.5,"day":0},{"word":"statue","ease":0.5,"day":0},{"word":"saucer","ease":0.5,"day":0},{"word":"skillful","ease":0.5,"day":0},{"word":"civilization","ease":0.5,"day":0},{"word":"overhead","ease":0.5,"day":0},{"word":"hobby","ease":0.5,"day":0},{"word":"statistic","ease":0.5,"day":0},{"word":"pregnant","ease":0.5,"day":0}],
52 | })
53 | wx.setStorage({
54 | key: 'day_task',
55 | data: 10,
56 | })
57 | wx.setStorage({
58 | key: "my_word_num",
59 | data: 1000,
60 | })
61 |
62 | wx.setStorage({
63 | key: "free_word_num",
64 | data: 1000,
65 | })
66 | }
67 | },
68 |
69 |
70 | onShow(opt) {
71 | this.storeUser_network(opt)//每次打开程序都启动存储用户关系表
72 | },
73 |
74 |
75 | storeUser_network(opt) {
76 | const that = this
77 | const userInfo = wx.getStorageSync('user_info_F2C224D4-2BCE-4C64-AF9F-A6D872000D1A')
78 | if (userInfo) {//已缓存的用户数据直接用
79 | getGId(that, userInfo, opt)
80 | } else {
81 | this.userInfoReadyCallback = (userInfo) => { //获取用户信息后的回调函数
82 | getGId(that, userInfo, opt)
83 | }
84 | }
85 | function getGId(that, userInfo, opt) {
86 | //判断是否是从微信群内打开该程序的
87 | wx.getShareInfo({
88 | shareTicket: opt.shareTicket,
89 | //含GId的情况
90 | success: (res) => {
91 | qcloud.request({
92 | login: false,
93 | data: {
94 | appId: that.appData.appId,
95 | openId: userInfo.openId,
96 | encryptedData: res.encryptedData,
97 | iv: res.iv
98 | },
99 | url: `${that.appData.baseUrl}getGId`,
100 | success: (res) => {
101 | let GId = res.data.data
102 | store(that, userInfo, opt, GId)
103 | }
104 | })
105 | },
106 | //不含GId的情况
107 | fail: function (res) {
108 | store(that, userInfo, opt)
109 | }
110 | })
111 | }
112 | },
113 |
114 | })
--------------------------------------------------------------------------------
/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "pages":[
3 | "pages/study/study",
4 | "pages/job/job",
5 | "pages/all_detail/all_detail",
6 | "pages/search/search",
7 | "pages/detail-word/detail-word",
8 | "pages/me/me",
9 | "pages/choice/choice",
10 | "pages/test/test",
11 | "pages/collect_card/collect_card",
12 | "pages/audio_test/audio_test",
13 | "pages/about/about",
14 | "pages/my_word/my_word",
15 | "pages/suggestion/suggestion"
16 |
17 | ],
18 |
19 | "window":{
20 | "backgroundTextStyle":"light",
21 | "backgroundColor": "#fff",
22 | "navigationBarBackgroundColor": "#fff",
23 | "navigationBarTitleText": "小鸡单词",
24 | "navigationBarTextStyle":"black"
25 | }
26 | ,
27 | "tabBar": {
28 | "color": "#000",
29 | "selectedColor": "#000",
30 | "borderStyle": "white",
31 | "backgroundColor": "#ffffff",
32 | "list": [
33 | {
34 | "pagePath": "pages/study/study",
35 | "text": "Learning",
36 | "iconPath": "images/home2.png",
37 | "selectedIconPath": "images/home2.png"
38 | },
39 |
40 | {
41 | "pagePath": "pages/job/job",
42 | "text": "Choice",
43 | "iconPath": "images/choice.png",
44 | "selectedIconPath": "images/choice.png"
45 | },
46 |
47 | {
48 | "pagePath": "pages/all_detail/all_detail",
49 | "text": "Statistic",
50 | "iconPath": "images/statistic.png",
51 | "selectedIconPath": "images/statistic.png"
52 | },
53 |
54 | {
55 | "pagePath": "pages/me/me",
56 | "text": "Mine",
57 | "iconPath": "images/我的.png",
58 | "selectedIconPath": "images/我的.png"
59 | }
60 | ]
61 | }
62 | }
--------------------------------------------------------------------------------
/app.wxss:
--------------------------------------------------------------------------------
1 | /**app.wxss**/
2 |
3 | page {
4 | background-color: #EFEFF4;
5 | }
6 |
7 | .container {
8 | height: 100%;
9 | display: flex;
10 | flex-direction: column;
11 | align-items: center;
12 | justify-content: space-between;
13 | box-sizing: border-box;
14 | }
15 |
--------------------------------------------------------------------------------
/data/500.js:
--------------------------------------------------------------------------------
1 | var word_list =
2 | ['binary code',
3 | 'binary digit',
4 | 'bit',
5 | 'branch',
6 | 'buffer storage',
7 | 'calculator',
8 | 'call instruction',
9 | 'cell',
10 | 'channel',
11 | 'Character Set',
12 | 'clock',
13 | 'code',
14 | 'coder',
15 | 'command',
16 | 'compiler',
17 | 'computer language',
18 | 'console',
19 | 'control unit ',
20 | 'counter',
21 | 'cycle',
22 | 'data',
23 | 'data processing',
24 | 'debugging',
25 | 'decision',
26 | 'digit',
27 | 'digital computer ',
28 | 'disc、 disk ',
29 | 'display unit',
30 | 'drum',
31 | 'electronics',
32 | 'feedback',
33 | 'field',
34 | 'file',
35 | 'floppy disk',
36 | 'flow chart',
37 | 'frame',
38 | 'hardware',
39 | 'identifier',
40 | 'index',
41 | 'information',
42 | 'inline processing',
43 | 'input',
44 | 'inquiry',
45 | 'instruction',
46 | 'integrated circuit',
47 | 'item',
48 | 'jump',
49 | 'key ',
50 | 'keyboard',
51 | 'latency time',
52 | 'library',
53 | 'linkage',
54 | 'location',
55 | 'logger',
56 | 'loop',
57 | 'machine language',
58 | 'magnetic storage',
59 | 'magnetic tape',
60 | 'matrix ',
61 | 'memory',
62 | 'message',
63 | 'microcomputer',
64 | 'module',
65 | 'monitor',
66 | 'nanosecond',
67 | 'network',
68 | 'numeric、 numerical',
69 | 'octet',
70 | 'operator',
71 | 'optical character reader',
72 | 'optical scanner',
73 | 'output',
74 | 'overflow',
75 | 'panel',
76 | 'parameter',
77 | 'perforator',
78 | 'peripheral equipment',
79 | 'personal computer',
80 | 'printed circuit ',
81 | 'printer',
82 | 'printout',
83 | 'processing unit',
84 | 'program ',
85 | 'programmer',
86 | 'programming',
87 | 'random access',
88 | 'reader',
89 | 'reading ',
90 | 'real time',
91 | 'record、 register ',
92 | 'redundancy',
93 | 'routine',
94 | 'selector',
95 | 'sentine',
96 | 'sequence',
97 | 'sequential',
98 | 'serial',
99 | 'shift',
100 | 'signal',
101 | 'simulation',
102 | 'simulator ',
103 | 'software',
104 | 'sort',
105 | 'storage ',
106 | 'subroutine、 subprogram',
107 | 'switch',
108 | 'symbol',
109 | 'symbolic language',
110 | 'system',
111 | 'terminal',
112 | 'terminal unit ',
113 | 'time sharing',
114 | 'timer',
115 | 'timing',
116 | 'to clear',
117 | 'to code',
118 | 'to edit',
119 | 'to encode',
120 | 'to erase',
121 | 'to feed',
122 | 'to interpret',
123 | 'to load',
124 | 'to process',
125 | 'to program',
126 | 'to punch',
127 | 'to read',
128 | 'to store',
129 | 'to update',
130 | 'track',
131 | 'transducer',
132 | 'translator',
133 | 'working storage',
134 | 'Application under test (AUT)',
135 | 'feasible path',
136 | 'Operation and Maintenance.',
137 | 'Software Development Life Cycle',
138 | 'Software life cycle',
139 | 'test log',
140 | 'The End User',
141 | 'The Institute of Electrical and Electronics Engineers',
142 | 'Waterfall model',
143 | 'Zero bug bounce (ZBB)',
144 | 'Actual Fix Time',
145 | 'Assigned To',
146 | 'Blocker',
147 | 'Bug report',
148 | 'Bug tracking system',
149 | 'Build',
150 | 'Closed',
151 | 'Closed in Version',
152 | 'Closing Date',
153 | 'Creation Date',
154 | 'Critical',
155 | 'Defect ID',
156 | 'Description',
157 | 'Detected By ',
158 | 'Detected in Version',
159 | 'Detected on Date',
160 | 'Duplicate',
161 | 'Enhancement',
162 | 'Estimated Fix Time',
163 | 'Failure',
164 | 'Fault',
165 | 'Fixed',
166 | 'Invalid',
167 | 'Issue',
168 | 'Later',
169 | 'Major',
170 | 'Minor',
171 | 'Modified',
172 | 'New',
173 | 'Normal',
174 | 'Planned Closing Version',
175 | 'Priority',
176 | 'Project',
177 | 'R&D Comments',
178 | 'Remind',
179 | 'Reopened',
180 | 'Reproducible',
181 | 'Resolved',
182 | 'Severity',
183 | 'Status',
184 | 'Summary',
185 | 'Trivial',
186 | 'Unconfirmed',
187 | 'Verified',
188 | 'Wontfix',
189 | 'Worksforme',
190 | 'Capability Maturity Model (CMM)',
191 | 'Capability Maturity Model Integration (CMMI)',
192 | 'defect density ',
193 | 'Defect Tracking ',
194 | 'Maintainability',
195 | 'Measurement ',
196 | 'MTBF(mean time between failures)',
197 | 'MTP (MAIN TEST PLAN)',
198 | 'MTTF(mean time to failure)',
199 | 'MTTR(mean time to repair)',
200 | 'Quality Assurance',
201 | 'Reliability/Availability',
202 | 'Reusability',
203 | 'Robustness',
204 | 'SQA(Software Quality Assurance)',
205 | 'SQAP(SOFTWARE QUALITY ASSURENCE PLAN)',
206 | 'test procedure',
207 | 'Testability',
208 | 'Usability Testing',
209 | 'Acceptance Testing',
210 | 'Acceptance testing',
211 | 'Acceptance Testing',
212 | 'Accessibility test',
213 | 'Ad hoc testing',
214 | 'Alpha testing',
215 | 'Automated Testing',
216 | 'Beta testing',
217 | 'Black box testing',
218 | 'Bottom-up testing',
219 | 'Code Inspection',
220 | 'Compatibility Testing',
221 | 'Configuration Testing',
222 | 'Data Flow Analysis ',
223 | 'Documentation Testing',
224 | 'Dynamic testing',
225 | 'Execution-Based Testing',
226 | 'Function Testing',
227 | 'Glass-box testing ',
228 | 'Gray-Box Testing',
229 | 'Installation Testing',
230 | 'Integration Testing',
231 | 'International testing',
232 | 'Load testing',
233 | 'Localizability testing',
234 | 'maintainability testing',
235 | 'Non-Execution-Based Testing/Static testing',
236 | 'Performance Testing',
237 | 'Portability testing',
238 | 'Recovery Testing',
239 | 'Regression testing',
240 | 'Security Testing',
241 | 'Smoke testing',
242 | 'Static testing',
243 | 'Stress Testing',
244 | 'System Testing',
245 | 'Testing procedure',
246 | 'top-down testing',
247 | 'UI Testing',
248 | 'Unit Testing',
249 | 'Usability Testing',
250 | 'User interface testing',
251 | 'V&V (Verification & Validation)',
252 | 'validation',
253 | 'verification',
254 | 'version',
255 | 'Volume Testing',
256 | 'Walkthrough',
257 | 'White-Box Testing',
258 | 'test execution',
259 | 'White box testing',
260 | 'boundary value coverage',
261 | 'cause-effect graph',
262 | 'Equivalence class',
263 | 'equivalence partition coverage',
264 | 'equivalence partition testing',
265 | 'Error guessing',
266 | 'expected outcome',
267 | 'invalid inputs',
268 | 'output domain',
269 | 'SDP(software development plan)',
270 | 'state',
271 | 'state diagram',
272 | 'state transition',
273 | 'state transition testing',
274 | 'TCS (TEST CASE SPECIFICATION)',
275 | 'TDS(TEST DESIGN SPECIFICATION)',
276 | 'Test case(TC)',
277 | 'test case design technique',
278 | 'Test design',
279 | 'Test strategy',
280 | 'Testing coverage',
281 | 'The Test Cases',
282 | 'User acceptance Test',
283 | 'Functional Specification',
284 | 'Review',
285 | 'TBD(To be determined)',
286 | 'The Requirements Phase ',
287 | 'The Test Specifications',
288 | 'traceability analysis',
289 | 'traceability matrix',
290 | 'Verifying The Requirements',
291 | 'Walkthrough',
292 | 'a master test plan',
293 | 'Formal Test Environment',
294 | 'Risk',
295 | 'test completion criterion',
296 | 'Testing environment',
297 | 'Testing item',
298 | 'Testing plan',
299 | 'The Test Approach,',
300 | 'The test Completion criteria',
301 | 'The Test Environment,',
302 | 'The test procedures,',
303 | 'The Test Schedules',
304 | 'The Test Scope',
305 | 'The Test Strategy',
306 | 'Work breakdown structure (WBS)',
307 | 'add',
308 | 'aggregate ',
309 | 'alter',
310 | 'and',
311 | 'commit',
312 | 'Constraint',
313 | 'count',
314 | 'create ',
315 | 'DDL',
316 | 'delete',
317 | 'DML',
318 | 'DQL',
319 | 'drop',
320 | 'Truncate',
321 |
322 | 'function',
323 | 'group by',
324 | 'having',
325 | 'index',
326 | 'intersect',
327 | 'join',
328 | 'modify',
329 | 'not',
330 | 'null',
331 | 'or',
332 | 'order by ',
333 | 'outer join',
334 | 'primary key ',
335 | 'references',
336 | 'rename',
337 | 'rollback',
338 | 'select',
339 | 'SQL',
340 | 'Table',
341 | 'truncate',
342 | 'union',
343 | 'union all',
344 | 'unique',
345 | 'Update ',
346 | 'value',
347 | 'view',
348 | 'where ',
349 | 'entity',
350 | 'list',
351 | 'tuple',
352 | 'dictionary',
353 | 'set',
354 | 'def',
355 | 'attribute',
356 | 'property',
357 | 'ListIndex',
358 | 'interpreter',
359 | 'eclipse',
360 | 'API',
361 | 'module',
362 | 'self',
363 | 'key',
364 | 'value',
365 | 'pop',
366 | 'remove',
367 | 'append',
368 | 'coding',
369 | 'split',
370 | 'sort',
371 | 'count',
372 | 'length (缩写 len())',
373 | 'iteration',
374 | 'Iterable',
375 | 'instance',
376 | 'debug',
377 | 'argument',
378 | 'bool',
379 | 'class',
380 | 'classpath',
381 | 'double',
382 | 'Exception',
383 | 'float',
384 | 'for',
385 | 'if ... else',
386 | 'import',
387 | 'int (integer)',
388 | 'JDK (Java Development Kit)',
389 | 'main',
390 | 'method',
391 | 'Object',
392 | 'package',
393 | 'parameter',
394 | 'return',
395 | 'input',
396 | 'source',
397 | 'static',
398 | 'String',
399 | 'switch... case',
400 | 'try …except…finally',
401 | 'while',
402 | 'CSS: Cascading Style Sheets',
403 | 'DCD: Document Content Description for XML',
404 | 'DTD: Document Type Definition',
405 | 'HTML(HyperText Markup Language)',
406 | 'WWW(World Wide Web)',
407 | 'Audit',
408 | 'audit trail',
409 | 'baseline',
410 | 'Basic Block',
411 | 'change control',
412 | 'Change Management',
413 | 'Change Request',
414 | 'Check In ',
415 | 'Check Out',
416 | 'configuration control',
417 | 'Configuration item',
418 | 'configuration management',
419 | 'Configuration testing',
420 | 'Capture/Replay Tool',
421 | 'Test Objectives',
422 | 'Testing script',
423 | 'Concurrency user ',
424 | 'Load testing ',
425 | 'Performance',
426 | 'Test scenario',
427 | 'transaction volume',
428 | 'transform. analysis',
429 | 'volume testing',
430 | 'transaction',
431 | 'Assertion checking',
432 | 'branch condition',
433 | 'branch condition coverage',
434 | 'branch condition testing',
435 | 'Branch coverage',
436 | 'branch point',
437 | 'branch testing',
438 | 'Condition coverage ',
439 | 'condition outcome',
440 | 'decision',
441 | 'Decision condition',
442 | 'Decision coverage ',
443 | 'decision outcome',
444 | 'decision table',
445 | 'instrumentation',
446 | 'instrumenter',
447 | 'statement',
448 | 'Statement coverage',
449 | 'statement testing',
450 | 'Static Analysis',
451 | 'Static Analyzer',
452 | 'stub',
453 | 'branch',
454 | ]
455 | module.exports = {
456 | wordList: word_list
457 | }
458 |
--------------------------------------------------------------------------------
/data/cet4_import.js:
--------------------------------------------------------------------------------
1 | var word_list =
2 | ['alter',
3 | 'burst',
4 | 'dispose',
5 | 'blast',
6 | 'consume',
7 | 'split',
8 | 'spit',
9 | 'spill',
10 | 'slip',
11 | 'slide',
12 | 'bacteria',
13 | 'breed',
14 | 'budget',
15 | 'candidate',
16 | 'campus',
17 | 'liberal',
18 | 'transform',
19 | 'transmit',
20 | 'transplant',
21 | 'transport',
22 | 'shift',
23 | 'vary',
24 | 'vanish',
25 | 'swallow',
26 | 'suspicion',
27 | 'suspicious',
28 | 'mild',
29 | 'tender',
30 | 'nuisance',
31 | 'insignificant',
32 | 'accelerate',
33 | 'absolute',
34 | 'boundary',
35 | 'brake',
36 | 'catalog',
37 | 'vague',
38 | 'vain',
39 | 'extinct',
40 | 'extraordinary',
41 | 'extreme',
42 | 'agent',
43 | 'alcohol',
44 | 'appeal',
45 | 'appreciate',
46 | 'approve',
47 | 'stimulate',
48 | 'acquire',
49 | 'accomplish',
50 | 'network',
51 | 'tide',
52 | 'tidy',
53 | 'trace',
54 | 'torture',
55 | 'wander',
56 | 'wax',
57 | 'weave',
58 | 'preserve',
59 | 'abuse',
60 | 'academic',
61 | 'academy',
62 | 'battery',
63 | 'barrier',
64 | 'cargo',
65 | 'career',
66 | 'vessel',
67 | 'vertical',
68 | 'oblige',
69 | 'obscure',
70 | 'extent',
71 | 'exterior',
72 | 'external',
73 | 'petrol',
74 | 'petroleum',
75 | 'delay',
76 | 'decay',
77 | 'decent',
78 | 'route',
79 | 'ruin',
80 | 'sake',
81 | 'satellite',
82 | 'scale',
83 | 'temple',
84 | 'tedious',
85 | 'tend',
86 | 'tendency',
87 | 'ultimate',
88 | 'undergo',
89 | 'abundant',
90 | 'adopt',
91 | 'adapt',
92 | 'bachelor',
93 | 'casual',
94 | 'trap',
95 | 'vacant',
96 | 'vacuum',
97 | 'oral',
98 | 'optics',
99 | 'organ',
100 | 'excess',
101 | 'expel',
102 | 'expend',
103 | 'expenditure',
104 | 'expense',
105 | 'expensive',
106 | 'expand',
107 | 'expansion',
108 | 'private',
109 | 'individual',
110 | 'personal',
111 | 'personnel',
112 | 'thePacificOcean',
113 | 'theAtlanticOcean',
114 | 'theArcticOcean',
115 | 'theAntarcticOcean',
116 | 'grant',
117 | 'grand',
118 | 'invade',
119 | 'acid',
120 | 'acknowledge',
121 | 'balcony',
122 | 'calculate',
123 | 'calendar',
124 | 'optimistic',
125 | 'optional',
126 | 'outstanding',
127 | 'export',
128 | 'import',
129 | 'impose',
130 | 'religion',
131 | 'religious',
132 | 'victim',
133 | 'video',
134 | 'videotape',
135 | 'offend',
136 | 'bother',
137 | 'interfere',
138 | 'internal',
139 | 'beforehand',
140 | 'racial',
141 | 'radiation',
142 | 'radical',
143 | 'range',
144 | 'wonder',
145 | 'isolate',
146 | 'issue',
147 | 'hollow',
148 | 'hook',
149 | 'adequate',
150 | 'adhere',
151 | 'ban',
152 | 'capture',
153 | 'valid',
154 | 'valley',
155 | 'consistent',
156 | 'continuous',
157 | 'continual',
158 | 'explode',
159 | 'exploit',
160 | 'explore',
161 | 'explosion',
162 | 'explosive',
163 | 'remote',
164 | 'removal',
165 | 'render',
166 | 'precaution',
167 | 'idle',
168 | 'identify',
169 | 'identify',
170 | 'poverty',
171 | 'resistant',
172 | 'resolve',
173 | 'barrel',
174 | 'bargain',
175 | 'coarse',
176 | 'coach',
177 | 'code',
178 | 'coil',
179 | 'adult',
180 | 'advertise',
181 | 'advertisement',
182 | 'agency',
183 | 'focus',
184 | 'forbid',
185 | 'debate',
186 | 'debt',
187 | 'decade',
188 | 'enclose',
189 | 'encounter',
190 | 'globe',
191 | 'global',
192 | 'scan',
193 | 'scandal',
194 | 'significance',
195 | 'subsequent',
196 | 'virtue',
197 | 'virtual',
198 | 'orient',
199 | 'portion',
200 | 'target',
201 | 'portable',
202 | 'decline',
203 | 'illusion',
204 | 'likelihood',
205 | 'stripe',
206 | 'emphasize',
207 | 'emotion',
208 | 'emotional',
209 | 'awful',
210 | 'awkward',
211 | 'clue',
212 | 'collision',
213 | 'device',
214 | 'devise',
215 | 'inevitable',
216 | 'naval',
217 | 'navigation',
218 | 'necessity',
219 | 'previous',
220 | 'provision',
221 | 'pursue',
222 | 'stale',
223 | 'substitute',
224 | 'deserve',
225 | 'discrimination',
226 | 'professional',
227 | 'secure',
228 | 'security',
229 | 'scratch',
230 | 'talent',
231 | 'insurance',
232 | 'insure',
233 | 'nevertheless',
234 | 'neutral',
235 | 'spot',
236 | 'spray',
237 | 'medium',
238 | 'media',
239 | 'auxiliary',
240 | 'automatic',
241 | 'compete',
242 | 'competent',
243 | 'competition',
244 | 'distribute',
245 | 'disturb',
246 | 'infer',
247 | 'integrate',
248 | 'moist',
249 | 'moisture',
250 | 'promote',
251 | 'region',
252 | 'register',
253 | 'stable',
254 | 'sophisticated',
255 | 'splendid',
256 | 'cancel',
257 | 'variable',
258 | 'prospect',
259 | 'prosperity',
260 | 'aspect',
261 | 'cope',
262 | 'core',
263 | 'maintain',
264 | 'mainland',
265 | 'discipline',
266 | 'domestic',
267 | 'constant',
268 | 'cliff',
269 | 'authority',
270 | 'audio',
271 | 'attitude',
272 | 'community',
273 | 'commit',
274 | 'comment',
275 | 'distinguish',
276 | 'distress',
277 | 'facility',
278 | 'faculty',
279 | 'mixture',
280 | 'mood',
281 | 'moral',
282 | 'prominent',
283 | 'substance',
284 | 'substantial',
285 | 'prompt',
286 | 'vivid',
287 | 'vocabulary',
288 | 'venture',
289 | 'version',
290 | 'waist',
291 | 'weld',
292 | 'yawn',
293 | 'yield',
294 | 'zone',
295 | 'strategy',
296 | 'strategic',
297 | 'tense',
298 | 'tension',
299 | 'avenue',
300 | 'available',
301 | 'comparable',
302 | 'comparative',
303 | 'dash',
304 | 'data',
305 | 'dive',
306 | 'diverse',
307 | 'entitle',
308 | 'regulate',
309 | 'release',
310 | 'exaggerate',
311 | 'evil',
312 | 'shrink',
313 | 'subtract',
314 | 'suburb',
315 | 'subway',
316 | 'survey',
317 | 'wealthy',
318 | 'adjust',
319 | 'attach',
320 | 'profit',
321 | 'profitable',
322 | 'slope',
323 | 'reinforce',
324 | 'reject',
325 | 'fatal',
326 | 'fate',
327 | 'humble',
328 | 'illegal',
329 | 'award',
330 | 'aware',
331 | 'column',
332 | 'comedy',
333 | 'dumb',
334 | 'dump',
335 | 'deaf',
336 | 'decorate',
337 | 'principal',
338 | 'principle',
339 | 'prior',
340 | 'priority',
341 | 'prohibit',
342 | 'remarkable',
343 | 'remedy',
344 | 'repetition',
345 | 'vain',
346 | 'undertake',
347 | 'unique',
348 | 'obstacle',
349 | 'odd',
350 | 'omit',
351 | 'opponent',
352 | 'opportunity',
353 | 'orchestra',
354 | 'semester',
355 | 'semiconductor',
356 | 'seminar',
357 | 'terminal',
358 | 'territory',
359 | 'approximate',
360 | 'arbitrary',
361 | 'architect',
362 | 'architecture',
363 | 'biology',
364 | 'geography',
365 | 'geology',
366 | 'geometry',
367 | 'arichmetic',
368 | 'algebra',
369 | 'entertainment',
370 | 'enthusiasm',
371 | 'entry',
372 | 'enviroment',
373 | 'episode',
374 | 'equation',
375 | 'restrain',
376 | 'restraint',
377 | 'resume',
378 | 'severe',
379 | 'sexual',
380 | 'simplicity',
381 | 'simplify',
382 | 'sorrow',
383 | 'stuff',
384 | 'temporary',
385 | 'temptation',
386 | 'terror',
387 | 'thrust',
388 | 'treaty',
389 | 'arise',
390 | 'arouse',
391 | 'burden',
392 | 'bureau',
393 | 'marveous',
394 | 'massive',
395 | 'mature',
396 | 'maximum',
397 | 'minimum',
398 | 'nonsense',
399 | 'nuclear',
400 | 'nucleus',
401 | 'retail',
402 | 'retain',
403 | 'restrict',
404 | 'sponsor',
405 | 'spur',
406 | 'triumph',
407 | 'tuition',
408 | 'twist',
409 | 'undergraduate',
410 | 'universal',
411 | 'universe',
412 | 'viaprep.',
413 | 'vibrate',
414 | 'virus',
415 | 'voluntary',
416 | 'volunteer',
417 | 'vote',
418 | 'wagon',
419 | 'appoint',
420 | 'approach',
421 | 'appropriate',
422 | 'bunch',
423 | 'bundle',
424 | 'ceremony',
425 | 'chaos',
426 | 'discount',
427 | 'display',
428 | 'equivalent',
429 | 'erect',
430 | 'fax',
431 | 'ferfile',
432 | 'fertilizer',
433 | 'grateful',
434 | 'gratitude',
435 | 'horror',
436 | 'horrible',
437 | 'Internet',
438 | 'interpret',
439 | 'interpretation',
440 | 'jungle',
441 | 'knot',
442 | 'leak',
443 | 'lean',
444 | 'leap',
445 | 'modify',
446 | 'nylon',
447 | 'onion',
448 | 'powder',
449 | 'applicable',
450 | 'applicant',
451 | 'breadth',
452 | 'conservation',
453 | 'conservative',
454 | 'parallel',
455 | 'passion',
456 | 'passive',
457 | 'pat',
458 | 'peak',
459 | 'phenomenon',
460 | 'reluctant',
461 | 'rely',
462 | 'relevant',
463 | 'reliable',
464 | 'relief',
465 | 'reputation',
466 | 'rescue',
467 | 'triangle',
468 | 'sequence',
469 | 'shallow',
470 | 'shivervi',
471 | 'shrug',
472 | 'signature',
473 | 'sincere',
474 | 'utilify',
475 | 'utilise',
476 | 'utter',
477 | 'variation',
478 | 'vehicle',
479 | 'applause',
480 | 'appliance',
481 | 'consent',
482 | 'conquer',
483 | 'defect',
484 | 'delicate',
485 | 'evolve',
486 | 'evolution',
487 | 'frown',
488 | 'frustrate',
489 | 'guarantee',
490 | 'guilty',
491 | 'jealous',
492 | 'jeans',
493 | 'liquor',
494 | 'literlitre',
495 | 'modest',
496 | 'molecule',
497 | 'orbit',
498 | 'participate',
499 | 'particle',
500 | 'particularly',
501 | 'respond',
502 | 'response',
503 | 'sensible',
504 | 'sensitive',
505 | 'tremble',
506 | 'tremendous',
507 | 'trend',
508 | 'trial',
509 | 'apparent',
510 | 'appetite',
511 | 'deposit',
512 | 'deputy',
513 | 'derive',
514 | 'descend',
515 | 'missile',
516 | 'mission',
517 | 'mist',
518 | 'noticeable',
519 | 'notify',
520 | 'notion',
521 | 'resemble',
522 | 'reveal',
523 | 'revenue',
524 | 'shelter',
525 | 'shield',
526 | 'vital',
527 | 'vitally',
528 | 'urban',
529 | 'urge',
530 | 'urgent',
531 | 'usage',
532 | 'violence',
533 | 'violent',
534 | 'violet',
535 | 'weed',
536 | 'welfare',
537 | 'whatsoever',
538 | 'whereasconj.',
539 | 'essential',
540 | 'estimate',
541 | 'uate',
542 | 'exceed',
543 | 'exceedingly',
544 | 'exclaim',
545 | 'exclude',
546 | 'exclusive',
547 | 'excursion',
548 | 'flash',
549 | 'flee',
550 | 'flexible',
551 | 'flock',
552 | 'hardware',
553 | 'harmony',
554 | 'haste',
555 | 'hatred',
556 | 'incident',
557 | 'index',
558 | 'infant',
559 | 'infect',
560 | 'inferior',
561 | 'infinite',
562 | 'ingredient',
563 | 'inhabitant',
564 | 'jail',
565 | 'jam',
566 | 'jewel',
567 | 'joint',
568 | 'junior',
569 | 'laser',
570 | 'launch',
571 | 'luxury',
572 | 'magnet',
573 | 'male',
574 | 'female',
575 | 'manual',
576 | 'manufacture',
577 | 'marine',
578 | 'mutual',
579 | 'naked',
580 | 'negative',
581 | 'neglect',
582 | 'origin',
583 | 'oval',
584 | 'outset',
585 | 'presumably',
586 | 'prevail',
587 | 'quit',
588 | 'quotation',
589 | 'recreation',
590 | 'recruit',
591 | 'rival',
592 | 'shuttle',
593 | 'skim',
594 | 'sketch',
595 | 'slender',
596 | 'theme',
597 | 'textile',
598 | 'tropical',
599 | 'kneel',
600 | 'label',
601 | 'merchant',
602 | 'mere',
603 | 'nuisance',
604 | 'numerrous',
605 | 'parade',
606 | 'pants[pl.]',
607 | 'partial',
608 | 'passport',
609 | 'prescribe',
610 | 'primitive',
611 | 'ridge',
612 | 'ridiculous',
613 | 'ridid',
614 | 'withstand',
615 | 'witness',
616 | 'withdraw',
617 | 'slippery',
618 | 'smash',
619 | 'snap',
620 | 'software',
621 | 'solar',
622 | 'lynar',
623 | 'submerge',
624 | 'submit',
625 | 'timber',
626 | 'tissue',
627 | 'title',
628 | 'tone',
629 | 'drift',
630 | 'drip',
631 | 'durable',
632 | 'duration',
633 | 'dusk',
634 | 'leather',
635 | 'legislation',
636 | 'leisure',
637 | 'loose',
638 | 'loosen',
639 | 'tarnest',
640 | 'earthquake',
641 | 'echo',
642 | 'elaborate',
643 | 'elastic',
644 | 'elbow',
645 | 'electron',
646 | 'volcano',
647 | 'volume',
648 | 'fatigue',
649 | 'faulty',
650 | 'favorable',
651 | 'favorite',
652 | 'gallery',
653 | 'gallon',
654 | 'gap',
655 | 'garbage',
656 | 'gaze',
657 | 'gear',
658 | 'gene',
659 | 'lestconj.',
660 | 'liable',
661 | 'liberal',
662 | 'liberty',
663 | 'licencelicense',
664 | 'moisture',
665 | 'motivate',
666 | 'motive',
667 | 'generate',
668 | 'genius',
669 | 'genuine',
670 | 'gasoline',
671 | 'germ',
672 | 'gesture',
673 | 'giant',
674 | 'glimpse',
675 | 'glory',
676 | 'glorious',
677 | 'golf',
678 | 'hydrogen',
679 | 'oxygen',
680 | 'hostile',
681 | 'household',
682 | 'hook',
683 | 'holy',
684 | 'hint',
685 | 'hestiate',
686 | 'highlight',
687 | 'hence',
688 | 'herd',
689 | ]
690 | module.exports = {
691 | wordList: word_list
692 | }
--------------------------------------------------------------------------------
/data/cet4_t.js:
--------------------------------------------------------------------------------
1 | var translate =
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 |
27 | '能力',
28 |
29 | 'professionala',
30 | '点',
31 | '趋向',
32 |
33 | '视图',
34 |
35 | '主张',
36 | '量',
37 |
38 | '社区;',
39 | '关心',
40 |
41 | '环境',
42 | '因子',
43 | '情报',
44 | '可能',
45 | '广告',
46 | '返回',
47 | '社会',
48 |
49 | '后果',
50 | '药物',
51 | '专家',
52 |
53 | '延伸',
54 |
55 | '产业',
56 | '道德',
57 |
58 |
59 | '行动',
60 | '成人',
61 |
62 | '志向',
63 | '竞争',
64 | '容量',
65 | '详情',
66 |
67 | '证据',
68 | '演化',
69 | '基金',
70 | '通货膨胀',
71 | '本地',
72 | '保持',
73 | '管理',
74 | '生产率',
75 | '生存',
76 |
77 | '宇宙',
78 |
79 | '学习',
80 |
81 |
82 | '广告',
83 | '影响',
84 | '效益',
85 |
86 | '辩论',
87 | '直',
88 | '元件',
89 | '必要',
90 |
91 | '识别',
92 | '打算',
93 | '投资',
94 | '合理',
95 | '责任',
96 | '机会',
97 | '个性',
98 | '私人的',
99 |
100 | '改变',
101 | '适当',
102 |
103 | '繁荣',
104 |
105 | '结合',
106 |
107 | '公司',
108 | '企业',
109 | '联邦',
110 | '加油站',
111 | '高度',
112 | '问题',
113 |
114 | '组织同一雇主',
115 | '原理',
116 | '项目',
117 | '认识-ISE',
118 | '具体',
119 | '结构体',
120 |
121 | '物质',
122 | '趋势',
123 |
124 | '活动',
125 | '优点',
126 | '方面',
127 | '态度',
128 | '平衡',
129 |
130 | '特性',
131 |
132 | '要求',
133 | '评论',
134 |
135 | '构成',
136 | '合同',
137 |
138 | '创意',
139 | '文化',
140 | '历史',
141 | '解释',
142 |
143 | '方式',
144 | '质量;',
145 | '获得',
146 | '强大',
147 | '预测',
148 | '风险',
149 |
150 | '机器人',
151 | '转移',
152 | '种类',
153 |
154 | '办法',
155 | '论据',
156 | '承担',
157 | '蓝图',
158 | '气候',
159 | '竞争的',
160 | '复杂',
161 | '概念',
162 | '迷惑',
163 | '危急',
164 | '原油',
165 | '出现',
166 | '雇员',
167 | '存在',
168 | '革新',
169 | '访谈',
170 | '涉及',
171 | '日志',
172 | '链接',
173 |
174 | '表现',
175 |
176 | '运动',
177 | '明显',
178 | '性能',
179 | '政策',
180 | '可能性',
181 | '压力',
182 | '属性',
183 | '展望',
184 |
185 | '涉及',
186 |
187 | '资源',
188 | '资源',
189 | '自杀',
190 |
191 | '访问',
192 | '获得',
193 | '适应',
194 | '额外',
195 | '激进',
196 | '业余',
197 | '分析',
198 | '应用',
199 | '出现',
200 | '假设',
201 | '保证',
202 | '权威',
203 | '避免',
204 | '偏压',
205 |
206 | '简要',
207 |
208 | '现金',
209 | '挑战',
210 |
211 | '委员会',
212 | '冲突',
213 |
214 | '考虑',
215 | '不变',
216 |
217 | '消费',
218 | '联系',
219 | '惯例',
220 | '说服',
221 | '宇宙',
222 | '数据',
223 | '定义',
224 | '交货',
225 | '演示',
226 | '拒绝',
227 | '数字',
228 | '学科',
229 | '区别',
230 | '教育',
231 | '有效',
232 | '电子',
233 | '重点',
234 | '启用',
235 | '错误',
236 | '建立',
237 | '程度',
238 | '焦点',
239 | '功能',
240 | '基本的',
241 | '基因',
242 | '天才',
243 | '巨人',
244 | 'HUMO',
245 |
246 | '意义',
247 | '改善',
248 | '独立',
249 | '影响',
250 |
251 | '直觉',
252 | '意向',
253 | '发明',
254 | '项目',
255 | '机制',
256 | '观察',
257 | '奇',
258 | '得罪',
259 | '反对',
260 | '面板',
261 | '现象',
262 | '物理',
263 | '潜在',
264 |
265 | '延长',
266 | '心理',
267 | '反映',
268 | '相关',
269 | '备注',
270 |
271 | '需求',
272 | '响应',
273 | 'rsponse',
274 | '负责任的',
275 | '革命',
276 | '抢',
277 | '规模',
278 | '安全',
279 | '现场',
280 |
281 | '状态',
282 | '股票',
283 | '强调',
284 | '足够',
285 | '调查',
286 | '同情',
287 | '威胁',
288 | '失业',
289 | '投票',
290 |
291 |
292 | '国外',
293 | '上诉',
294 | '俘虏',
295 |
296 | '基础设施',
297 | '溢价',
298 |
299 | '辞职',
300 | '跨度',
301 |
302 | '标题',
303 | '不太可能',
304 |
305 | '放弃',
306 | '确认',
307 | '加成',
308 | '广告',
309 | '援助',
310 |
311 | '骚扰',
312 | '明显的',
313 | '欣赏',
314 |
315 | '人为',
316 | '组装',
317 | '属性',
318 |
319 | '基础',
320 | '出价',
321 |
322 |
323 | '事业',
324 | '仪式',
325 | '字符',
326 | '商业',
327 |
328 | '承诺',
329 | '商品',
330 | '比较',
331 | '比较',
332 | '补偿',
333 | '进行',
334 |
335 | '会议',
336 | '置信度',
337 | '面对',
338 | '对比',
339 | '常规',
340 | '刑事',
341 |
342 | '危机',
343 | '评论家',
344 | '当前',
345 |
346 | '周期',
347 |
348 | '定义',
349 | '剥夺',
350 | '派生',
351 | '值得',
352 | '设备',
353 | '减少',
354 | '消失',
355 | '丢弃',
356 | '容易',
357 | '高效',
358 | '雇主',
359 | '有权',
360 | '估计',
361 |
362 | '行政人员',
363 |
364 | '费用',
365 | '出口',
366 | '外部',
367 | '吸引',
368 | '时尚',
369 | '致命',
370 | '闪',
371 |
372 | '禁止',
373 | '正式',
374 | '形成',
375 | '前任的',
376 |
377 | '毛',
378 |
379 |
380 | '保证',
381 |
382 | '幸福',
383 | '有害',
384 | '因此',
385 | '说明',
386 | '意味着',
387 | '表明',
388 | '必然',
389 | '损伤',
390 | '知识分子',
391 |
392 | '智能',
393 | '内部',
394 | '证明',
395 | '标签',
396 | '制造',
397 | '修改',
398 | '垄断',
399 | '大多',
400 | '忽略',
401 | '网络',
402 | '不过',
403 | '概念',
404 | '核',
405 | 'offspringsing。',
406 | '起源',
407 | '步伐',
408 | '痛苦',
409 | '政治',
410 | '具有',
411 | '贫穷',
412 | '特权',
413 | '利润',
414 |
415 | '促进',
416 | '比例',
417 | '追求',
418 | '激进',
419 | ]
420 |
421 | module.exports = {
422 | wordList:translate
423 | }
--------------------------------------------------------------------------------
/data/cet6_import.js:
--------------------------------------------------------------------------------
1 | var word_list=[
2 |
3 | 'hospitality',
4 | 'pastime',
5 | 'revenue',
6 | 'routine',
7 | 'scorn',
8 | 'shortage',
9 | 'smash',
10 | 'stability',
11 | 'stack',
12 | 'standard',
13 | 'surface',
14 | 'temperament',
15 | 'threshold',
16 | 'tolerance',
17 | 'transaction',
18 | 'trend',
19 | 'transition',
20 | 'variation',
21 | 'warehouse',
22 | 'way',
23 | 'access',
24 | 'accommodation',
25 | 'acknowledgement',
26 | 'pattern',
27 | 'penalty',
28 | 'pension',
29 | 'personality',
30 | 'pledge',
31 | 'position',
32 | 'predecessor',
33 | 'premise',
34 | 'prescription',
35 | 'preservation',
36 | 'prestige',
37 | 'priority',
38 | 'prestige',
39 | 'prospect',
40 | 'rate',
41 | 'ration',
42 | 'reflection',
43 | 'recession',
44 | 'reputation',
45 | 'reservation',
46 | 'illusion',
47 | 'ingredient',
48 | 'insight',
49 | 'inspection',
50 | 'instinct',
51 | 'integrity',
52 | 'intuition',
53 | 'lease',
54 | 'legislation',
55 | 'limitation',
56 | 'loyalty',
57 | 'luxury',
58 | 'manifestation',
59 | 'mechanism',
60 | 'minority',
61 | 'misfortune',
62 | 'morality',
63 | 'notion',
64 | 'obligation',
65 | 'occasion',
66 | 'opponent',
67 | 'ornament',
68 | 'admiration',
69 | 'advocate',
70 | 'allowance',
71 | 'ambition',
72 | 'analogy',
73 | 'anticipation',
74 | 'appreciation',
75 | 'array',
76 | 'assurance',
77 | 'blame',
78 | 'blunder',
79 | 'budget',
80 | 'capability',
81 | 'cash',
82 | 'circulation',
83 | 'commitment',
84 | 'compensation',
85 | 'consideration',
86 | 'distinction',
87 | 'emergency',
88 | 'encouragement',
89 | 'essence',
90 | 'estimate',
91 | 'expenditure',
92 | 'extinctionn',
93 | 'fashion',
94 | 'flaw',
95 | 'fortune',
96 | 'fraction',
97 | 'fuse',
98 | 'guarantee',
99 | 'guilt',
100 | 'harmony',
101 |
102 |
103 | 'abnormal',
104 | 'absurd',
105 | 'abundant',
106 | 'acute',
107 | 'aggressive',
108 | 'ambiguous',
109 | 'ambitious',
110 | 'appropriate',
111 | 'authentic',
112 | 'average',
113 | 'barren',
114 | 'bound',
115 | 'chronic',
116 | 'commentary',
117 | 'compact',
118 | 'competitive',
119 | 'compulsory',
120 | 'confidential',
121 | 'conservative',
122 | 'consistent',
123 | 'conspicuous',
124 | 'crucial',
125 | 'current',
126 | 'decent',
127 | 'delicate',
128 | 'destructive',
129 | 'economic',
130 | 'elegant',
131 | 'embarrassing',
132 | 'energetic',
133 | 'equivalent',
134 | 'eternal',
135 | 'exclusive',
136 | 'extinct',
137 | 'fake',
138 | 'fatal',
139 | 'feasible',
140 | 'feeble',
141 | 'gloomy',
142 | 'greasy',
143 | 'identical',
144 | 'imaginative',
145 | 'inaccessible',
146 | 'inadequate',
147 | 'incredible',
148 | 'indifference',
149 | 'indignant',
150 | 'infectious',
151 | 'inferior',
152 | 'inferior',
153 | 'inherent',
154 | 'inspirational',
155 | 'intent',
156 | 'intricate',
157 | 'Intrinsic',
158 | 'irreplaceable',
159 | 'literal',
160 | 'massive',
161 | 'merciful',
162 | 'mobile',
163 | 'naive',
164 | 'negligible',
165 | 'notorious',
166 | 'obedient',
167 | 'obscure',
168 | 'optimistic',
169 | 'original',
170 | 'pathetic',
171 | 'persistent',
172 | 'potential',
173 | 'prevalent',
174 | 'primitive',
175 | 'proficient',
176 | 'profound',
177 | 'prominent',
178 | 'prompt',
179 | 'raw',
180 | 'relevant',
181 | 'respectable',
182 | 'rewarding',
183 | 'rough',
184 | 'rude',
185 | 'sensitive',
186 | 'sheer',
187 | 'shrewd',
188 | 'stationary',
189 | 'subordinate',
190 | 'subtle',
191 | 'superficial',
192 | 'suspicious',
193 | 'tedious',
194 | 'trivial',
195 | 'turbulent',
196 | 'underlying',
197 | 'versatile',
198 | 'vivid',
199 | 'void',
200 | 'vulnerable',
201 | 'worth',
202 |
203 |
204 | 'abandon',
205 | 'acknowledge',
206 | 'acquaint',
207 | 'acquire',
208 | 'afford',
209 | 'allege',
210 | 'alternate',
211 | 'anticipate',
212 | 'applaud',
213 | 'ascend',
214 | 'ascribe',
215 | 'assemble',
216 | 'assign',
217 | 'attribute',
218 | 'base',
219 | 'bewilder',
220 | 'breed',
221 | 'cling',
222 | 'coincide',
223 | 'collaborate',
224 | 'collide',
225 | 'commence',
226 | 'compensate',
227 | 'complement',
228 | 'comply',
229 | 'conceive',
230 | 'concern',
231 | 'condense',
232 | 'conflict',
233 | 'conform',
234 | 'confront',
235 | 'conserve',
236 | 'consolidate',
237 | 'convey',
238 | 'crash',
239 | 'cruise',
240 | 'dazzle',
241 | 'deceive',
242 | 'decline',
243 | 'dedicate',
244 | 'defend',
245 | 'defy',
246 | 'deny',
247 | 'deprive',
248 | 'derive',
249 | 'descend',
250 | 'descend',
251 | 'deserve',
252 | 'deviate',
253 | 'disguise',
254 | 'dominate',
255 | 'drain',
256 | 'duplicate',
257 | 'eliminate',
258 | 'endure',
259 | 'enhance',
260 | 'enroll',
261 | 'evoke',
262 | 'immerse',
263 | 'impose',
264 | 'induce',
265 | 'indulge',
266 | 'intend',
267 | 'interpret',
268 | 'jeopardize',
269 | 'linger',
270 | 'locate',
271 | 'magnify',
272 | 'mean',
273 | 'mingle',
274 | 'minimize',
275 | 'monitor',
276 | 'neglect',
277 | 'occupy',
278 | 'oppress',
279 | 'originate',
280 | 'overlap',
281 | 'overwhelm',
282 | 'parade',
283 | 'permeate',
284 | 'prescribe',
285 | 'preside',
286 | 'prolong',
287 | 'promise',
288 | 'propel',
289 | 'protest',
290 | 'provoke',
291 | 'radiate',
292 | 'reconcile',
293 | 'refresh',
294 | 'refute',
295 | 'remain',
296 | 'repel',
297 | 'rescue',
298 | 'resign',
299 | 'resort',
300 | 'resume',
301 | 'revenge',
302 | 'scan',
303 | 'scrape',
304 | 'scratch',
305 | 'shrink',
306 | 'standardize',
307 | 'steer',
308 | 'strengthen',
309 | 'stretch',
310 | 'subscribe',
311 | 'suck()',
312 | 'suppress',
313 | 'sustain',
314 | 'tackle',
315 | 'tempt',
316 | 'terminate',
317 | 'transmit',
318 | 'verify',
319 | 'view',
320 | 'wreck',
321 |
322 |
323 | 'deliberately',
324 | 'deliberately',
325 | 'exclusively',
326 | 'explicitly',
327 | 'forcibly',
328 | 'formerly',
329 | 'increasingly',
330 | 'inevitably',
331 | 'intentionally',
332 | 'optimistically',
333 | 'outwardly',
334 | 'presumably',
335 | 'simultaneously',
336 | 'somewhat',
337 | 'spontaneously',
338 | 'startlingly',
339 | 'triumphantly',
340 | 'unexpectedly',
341 | 'virtually',
342 |
343 |
344 | 'adhereto',
345 | 'afterall',
346 | 'atrandom',
347 | 'breakout',
348 | 'breakup',
349 | 'butfor',
350 | 'byfar',
351 | 'bynomeans',
352 | 'catchon',
353 | 'catchupwith',
354 | 'collidewith',
355 | 'comeupwith',
356 | 'commenton',
357 | 'contraryto',
358 | 'contributeto',
359 | 'copewith',
360 | 'cutshort',
361 | 'doawaywith',
362 | 'docreditto',
363 | 'dueto',
364 | 'goinfor',
365 | 'gooff',
366 | 'hangbyathread',
367 | 'heappraiseupon',
368 | 'inaccordancewith',
369 | 'inbetween',
370 | 'incaseof',
371 | 'inhonourof',
372 | 'inresponseto',
373 | 'intermsof',
374 | 'inthat',
375 | 'inthevicinityof',
376 | 'keepoff',
377 | 'layoff',
378 | 'letalone',
379 | 'lookinto',
380 | 'lookon',
381 | 'losenotime',
382 | 'makesenseofsth.',
383 | 'ofnoavail',
384 | 'onfile',
385 | 'onnoaccount',
386 | 'onthedecline',
387 | 'outofstock',
388 | 'providedthat',
389 | 'pullup',
390 | 'putaway',
391 | 'regardlessof',
392 | 'resultin',
393 | 'seeto',
394 | 'showto',
395 | 'standfor',
396 | 'takeon',
397 | 'takeover',
398 | 'taketo',
399 | 'talkinto',
400 | 'thatis',
401 | 'turnin',
402 | 'turnout',
403 | 'turnto',
404 | 'wardoff',
405 | 'withreferenceto',
406 | 'workout',
407 | 'worthoneswhile',
408 | 'abbreviation',
409 | 'abolish',
410 | 'absent',
411 | 'absorption',
412 | 'abstract',
413 | 'absurd',
414 | 'abundance',
415 | 'accessory',
416 | 'accord',
417 | 'acknowledge',
418 |
419 | ]
420 | module.exports = {
421 | wordList: word_list
422 | }
--------------------------------------------------------------------------------
/images/about.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/about.png
--------------------------------------------------------------------------------
/images/book.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/book.png
--------------------------------------------------------------------------------
/images/bottom.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/bottom.gif
--------------------------------------------------------------------------------
/images/choice.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/choice.png
--------------------------------------------------------------------------------
/images/choice2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/choice2.png
--------------------------------------------------------------------------------
/images/ciba.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/ciba.png
--------------------------------------------------------------------------------
/images/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/home.png
--------------------------------------------------------------------------------
/images/home2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/home2.png
--------------------------------------------------------------------------------
/images/ji.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/ji.png
--------------------------------------------------------------------------------
/images/ji2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/ji2.png
--------------------------------------------------------------------------------
/images/line.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/line.png
--------------------------------------------------------------------------------
/images/mine.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/mine.png
--------------------------------------------------------------------------------
/images/more.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/more.png
--------------------------------------------------------------------------------
/images/new.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/new.png
--------------------------------------------------------------------------------
/images/ok.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/ok.png
--------------------------------------------------------------------------------
/images/sc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/sc.png
--------------------------------------------------------------------------------
/images/sc2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/sc2.png
--------------------------------------------------------------------------------
/images/search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/search.png
--------------------------------------------------------------------------------
/images/search2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/search2.png
--------------------------------------------------------------------------------
/images/settings-selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/settings-selected.png
--------------------------------------------------------------------------------
/images/settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/settings.png
--------------------------------------------------------------------------------
/images/statistic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/statistic.png
--------------------------------------------------------------------------------
/images/statistic2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/statistic2.png
--------------------------------------------------------------------------------
/images/test.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/test.png
--------------------------------------------------------------------------------
/images/time.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/time.png
--------------------------------------------------------------------------------
/images/yuying.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/yuying.png
--------------------------------------------------------------------------------
/images/zf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/zf.png
--------------------------------------------------------------------------------
/images/我的.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/我的.png
--------------------------------------------------------------------------------
/images/我的2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/我的2.png
--------------------------------------------------------------------------------
/images/沟通页_语音_右_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flymysql/WeChat-applets/a24303f6dfbc8c103536eba45eefc8228054be62/images/沟通页_语音_右_03.png
--------------------------------------------------------------------------------
/pages/about/about.js:
--------------------------------------------------------------------------------
1 | // pages/about/about.js
2 | Page({
3 |
4 | /**
5 | * 页面的初始数据
6 | */
7 | data: {
8 |
9 | },
10 |
11 | /**
12 | * 生命周期函数--监听页面加载
13 | */
14 | onLoad: function (options) {
15 |
16 | },
17 |
18 | /**
19 | * 生命周期函数--监听页面初次渲染完成
20 | */
21 | onReady: function () {
22 |
23 | },
24 |
25 | /**
26 | * 生命周期函数--监听页面显示
27 | */
28 | onShow: function () {
29 |
30 | },
31 |
32 | /**
33 | * 生命周期函数--监听页面隐藏
34 | */
35 | onHide: function () {
36 |
37 | },
38 |
39 | /**
40 | * 生命周期函数--监听页面卸载
41 | */
42 | onUnload: function () {
43 |
44 | },
45 |
46 | /**
47 | * 页面相关事件处理函数--监听用户下拉动作
48 | */
49 | onPullDownRefresh: function () {
50 |
51 | },
52 |
53 | /**
54 | * 页面上拉触底事件的处理函数
55 | */
56 | onReachBottom: function () {
57 |
58 | },
59 |
60 | /**
61 | * 用户点击右上角分享
62 | */
63 | onShareAppMessage: function () {
64 |
65 | }
66 | })
--------------------------------------------------------------------------------
/pages/about/about.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/pages/about/about.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 小鸡单词 v2.02
5 | 开发者信息
6 | 兰州小红鸡
7 | 微博:@二肆
8 | 意见反馈及商务合作
9 | 联系微信:sinx-3
10 | 本软件已开源,Demo原创归作者所有
11 | github地址
12 | http://github.com/flymysql
13 | 小鸡个人网站
14 | http://me.idealli.com
15 | License
16 | Permission is hereby granted, free of charge, to any person
17 | obtaining a copy of this software and associated documentation
18 | files (the "Software"), to deal in the Software without
19 | restriction, including without limitation the rights to use,
20 | copy, modify, merge, publish, distribute, sublicense, and/or sell
21 | copies of the Software, and to permit persons to whom the
22 | Software is furnished to do so, subject to the following
23 | conditions:
24 |
25 | The above copyright notice and this permission notice shall be
26 | included in all copies or substantial portions of the Software.
27 |
28 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
29 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
30 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
31 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
32 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
33 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
34 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
35 | OTHER DEALINGS IN THE SOFTWARE.
36 |
37 |
--------------------------------------------------------------------------------
/pages/about/about.wxss:
--------------------------------------------------------------------------------
1 | /* pages/about/about.wxss */
2 | .page{
3 | background-color: white;
4 | height: 100%;
5 | text-align: center;
6 | font-size: 17px;
7 | }
8 | .license{
9 | margin: 10%;
10 | height: 300px;
11 | width: 80%;
12 | font-size: 14px;
13 | border: 4px solid #333;
14 | border-radius: 5px;
15 | text-align: left;
16 | overflow: scroll;
17 | }
--------------------------------------------------------------------------------
/pages/all_detail/all_detail.js:
--------------------------------------------------------------------------------
1 | var wxCharts = require('../../utils/wxcharts.js');
2 | var app = getApp();
3 | var lineChart = null;
4 | var startPos = null;
5 |
6 |
7 | Page({
8 |
9 | /**
10 | * 页面的初始数据
11 | */
12 | data: {
13 |
14 | },
15 | touchHandler: function (e) {
16 | lineChart.scrollStart(e);
17 | },
18 | moveHandler: function (e) {
19 | lineChart.scroll(e);
20 | },
21 | touchEndHandler: function (e) {
22 | lineChart.scrollEnd(e);
23 | lineChart.showToolTip(e, {
24 | format: function (item, category) {
25 | return category + ' ' + item.name + ':' + item.data
26 | }
27 | });
28 | },
29 | createSimulationData: function () {
30 | var categories = [];
31 | var rem = [];
32 | var mohu = [];
33 | var forget = [];
34 | var all_detail=wx.getStorageSync("all_detail");
35 | var length=all_detail.length;
36 | if(length===0){
37 | for(var i=0;i<15;i++){
38 | categories.push('2018-10-'+i);
39 | rem.push(50+Math.random() * (25 - 10) + 10);
40 | mohu.push(30 + Math.random() * (25 - 10) + 10);
41 | forget.push(20 + Math.random() * (25 - 10) + 10)
42 | }
43 | }
44 | else if(length<15){
45 | for (var i = 0; i < 15; i++) {
46 | if(i0.7)r++;
142 | else{
143 | if (wordlist[i].ease > 0.4)m++;
144 | else r++;
145 | }
146 | }
147 | var today_detail=wx.getStorageSync("today_detail")
148 | this.setData({
149 | rem:r,
150 | mohu:m,
151 | forget:f,
152 | today_rem:today_detail.rem,
153 | today_mohu:today_detail.mohu,
154 | today_forget:today_detail.forget,
155 | total_word:len,
156 | day_num:wx.getStorageSync("day_num")
157 | })
158 | },
159 |
160 | /**
161 | * 生命周期函数--监听页面初次渲染完成
162 | */
163 | onReady: function () {
164 | this.onLoad();
165 |
166 | },
167 |
168 | /**
169 | * 生命周期函数--监听页面显示
170 | */
171 | onShow: function () {
172 | this.onLoad();
173 | },
174 |
175 | /**
176 | * 生命周期函数--监听页面隐藏
177 | */
178 | onHide: function () {
179 |
180 | },
181 |
182 | /**
183 | * 生命周期函数--监听页面卸载
184 | */
185 | onUnload: function () {
186 |
187 | },
188 |
189 | /**
190 | * 页面相关事件处理函数--监听用户下拉动作
191 | */
192 | onPullDownRefresh: function () {
193 |
194 | },
195 |
196 | /**
197 | * 页面上拉触底事件的处理函数
198 | */
199 | onReachBottom: function () {
200 |
201 | },
202 |
203 | /**
204 | * 用户点击右上角分享
205 | */
206 | onShareAppMessage: function () {
207 |
208 | }
209 | })
--------------------------------------------------------------------------------
/pages/all_detail/all_detail.json:
--------------------------------------------------------------------------------
1 | {
2 | "backgroundTextStyle": "light",
3 | "backgroundColor": "#a4d8fa",
4 | "navigationBarBackgroundColor": "#a4d8fa",
5 | "navigationBarTitleText": "数据统计",
6 | "navigationBarTextStyle": "white"
7 | }
--------------------------------------------------------------------------------
/pages/all_detail/all_detail.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 熟悉的单词 | 今日:{{today_rem}} | 总计:{{rem}} | 每个单词权重为0~1之间
5 | 模糊的单词 | 今日:{{today_mohu}} | 总计:{{mohu}} | 权重0.4~0.7的单词为模糊
6 | 忘记的单词 | 今日:{{today_forget}} | 总计:{{forget}} | 权重小于0.4的为忘记
7 | 新词权重为0.5,忘记或模糊会减少权重,提前安排复习
8 | 加入计划的单词 {{total_word}}
9 | 打卡天数 {{day_num}}
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/pages/all_detail/all_detail.wxss:
--------------------------------------------------------------------------------
1 | /* pages/all_detail/all_detail.wxss */
2 |
3 | .container{
4 | background-color: #fff;
5 | height: 100%;
6 | align-content: left;
7 | align-items: left;
8 | text-align: left;
9 | }
10 | .canvas{
11 | margin-top: 10px;
12 | height: 260px;
13 | width: 100%;
14 | background-color: #fff;
15 | border-bottom: #aaa solid 1px;
16 | }
17 | .statistic{
18 | margin-left: 20px;
19 | background-color: #fff;
20 | align-items: left;
21 | width: 100%;
22 | margin-top: 26px;
23 | text-align: left;
24 |
25 | }
26 | .rember{
27 | border-left: 4px solid green;
28 | height: 20px;
29 | font-size: 12px;
30 | padding-left: 10px;
31 | margin-bottom: 10px;
32 | color: green;
33 | }
34 | .mohu{
35 | border-left: 4px solid orange;
36 | height: 20px;
37 | font-size: 12px;
38 | padding-left: 10px;
39 | margin-bottom: 10px;
40 | color: orange;
41 | }
42 |
43 | .forget{
44 | border-left: 4px solid red;
45 | height: 20px;
46 | font-size: 12px;
47 | padding-left: 10px;
48 | margin-bottom: 10px;
49 | color: red;
50 | }
51 |
52 | .total{
53 | border-left: 4px solid gray;
54 | height: 20px;
55 | font-size: 12px;
56 | padding-left: 10px;
57 | margin-bottom: 10px;
58 | color: grey;
59 | }
--------------------------------------------------------------------------------
/pages/audio_test/audio_test.js:
--------------------------------------------------------------------------------
1 | // pages/audio_test/audio_test.js
2 | var list = require('../../data/vocabulary.js')
3 |
4 | Page({
5 |
6 | /**
7 | * 页面的初始数据
8 | */
9 | data: {
10 | daan: false,
11 | showDaan: false,
12 | complete: false,
13 | num: 1,
14 | true_num: 0
15 | },
16 |
17 | /**
18 | * 生命周期函数--监听页面加载
19 | */
20 | onLoad: function (options) {
21 |
22 | this.search()
23 |
24 | },
25 |
26 | /**
27 | * 生命周期函数--监听页面初次渲染完成
28 | */
29 | onReady: function () {
30 |
31 | },
32 |
33 | /**
34 | * 生命周期函数--监听页面显示
35 | */
36 | onShow: function () {
37 |
38 | },
39 |
40 | /**
41 | * 生命周期函数--监听页面隐藏
42 | */
43 | onHide: function () {
44 |
45 | },
46 |
47 | /**
48 | * 生命周期函数--监听页面卸载
49 | */
50 | onUnload: function () {
51 |
52 | },
53 |
54 | /**
55 | * 页面相关事件处理函数--监听用户下拉动作
56 | */
57 | onPullDownRefresh: function () {
58 |
59 | },
60 |
61 | /**
62 | * 页面上拉触底事件的处理函数
63 | */
64 | onReachBottom: function () {
65 |
66 | },
67 |
68 | /**
69 | * 用户点击右上角分享
70 | */
71 | onShareAppMessage: function (options) {
72 | return {
73 | title: "我在小鸡单词测试,答对了" + this.data.true_num + "道题,你也快来测一测吧!",
74 | }
75 | },
76 | search() {
77 |
78 | var that = this
79 | var num = Math.floor(Math.random() * 400) + 1
80 | var word4 = list.wordList[Math.floor(Math.random() * 12345) + 1]
81 | wx.request({
82 | url: 'https://api.shanbay.com/bdc/search/?word=' + word4,
83 | data: {},
84 | method: 'GET',
85 | success: function (res) {
86 | console.log(res)
87 | that.setData({
88 | da1: [res.data.data.definition.split(",")[0].split("\n")[0],word4]
89 | })
90 | if (num < 100) {
91 | that.setData({ truedaan: res.data.data.definition.split(",")[0].split("\n")[0], true_word: word4})
92 | }
93 | }
94 | })
95 | var word3 = list.wordList[Math.floor(Math.random() * 12345) + 1]
96 | wx.request({
97 | url: 'https://api.shanbay.com/bdc/search/?word=' + word3,
98 | data: {},
99 | method: 'GET',
100 | success: function (res) {
101 | console.log(res)
102 | that.setData({
103 | da2: [res.data.data.definition.split(",")[0].split("\n")[0], word3]
104 | })
105 | if (num < 200&&num>100) {
106 | that.setData({ truedaan: res.data.data.definition.split(",")[0].split("\n")[0], true_word: word3})
107 | }
108 | }
109 | })
110 | var word2 = list.wordList[Math.floor(Math.random() * 12345) + 1]
111 | wx.request({
112 | url: 'https://api.shanbay.com/bdc/search/?word=' + word2,
113 | data: {},
114 | method: 'GET',
115 | success: function (res) {
116 | console.log(res)
117 | that.setData({
118 | da3: [res.data.data.definition.split(",")[0].split("\n")[0],word2]
119 | })
120 | if (num < 300&&num>200) {
121 | that.setData({ truedaan: res.data.data.definition.split(",")[0].split("\n")[0], true_word: word2 })
122 | }
123 | }
124 | })
125 | var word1 = list.wordList[Math.floor(Math.random() * 12345) + 1]
126 | wx.request({
127 | url: 'https://api.shanbay.com/bdc/search/?word=' + word1,
128 | data: {},
129 | method: 'GET',
130 | success: function (res) {
131 | console.log(res)
132 | that.setData({
133 | da4: [res.data.data.definition.split(",")[0].split("\n")[0],word1]
134 | })
135 | if (num >300) {
136 | that.setData({ truedaan: res.data.data.definition.split(",")[0].split("\n")[0], true_word: word1})
137 | }}
138 | })
139 |
140 | },
141 | choice(e){
142 | if(e.currentTarget.id === this.data.truedaan) {
143 | this.setData({daan:true,true_num:this.data.true_num+1})
144 | const innerAudioContext = wx.createInnerAudioContext()
145 | innerAudioContext.autoplay = true
146 | innerAudioContext.src = 'http://media-audio1.qiniu.baydn.com/us/n/ni/nice_v3.mp3'
147 | innerAudioContext.onPlay(() => {
148 | })
149 | }
150 | else{
151 | this.setData({daan:false})
152 | const innerAudioContext = wx.createInnerAudioContext()
153 | innerAudioContext.autoplay = true
154 | innerAudioContext.src = 'https://media-audio1.baydn.com/us%2Fs%2Fsa%2Fsad_v4.mp3'
155 | innerAudioContext.onPlay(() => {
156 | })
157 | this.setData({ complete: true })
158 | this.my_score()
159 | this.paiming()
160 | }
161 |
162 | this.setData({ showDaan: true})
163 |
164 | },
165 | next(){
166 | this.search()
167 | this.setData({ showDaan: false, num: this.data.num + 1 })
168 | },
169 | again() {
170 | this.setData({
171 | showDaan: false,
172 | complete: false,
173 | num: 1,
174 | true_num: 0
175 | })
176 | }
177 | })
--------------------------------------------------------------------------------
/pages/audio_test/audio_test.json:
--------------------------------------------------------------------------------
1 | {
2 | "backgroundTextStyle": "light",
3 | "backgroundColor": "#141412",
4 | "navigationBarBackgroundColor": "#141412",
5 | "navigationBarTitleText": "小鸡单词",
6 | "navigationBarTextStyle": "white"
7 | }
--------------------------------------------------------------------------------
/pages/audio_test/audio_test.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{true_word}}
4 |
5 |
6 | {{num}}
7 |
8 |
9 | {{da4[0]}}
10 |
11 |
12 | {{da3[0]}}
13 |
14 |
15 | {{da2[0]}}
16 |
17 |
18 | {{da1[0]}}
19 |
20 |
21 |
22 |
23 | {{truedaan}}
24 |
25 |
26 | 回答正确
27 |
28 |
29 | 回答错误
30 |
31 |
32 | 下一个
33 |
34 |
35 | {{true_num}}
36 | 好友挑战
37 | 历史最高分:{{my[2]}}
38 |
39 |
40 | 排行榜·每周一更新
41 | 总排行
42 |
43 |
44 |
45 | 1
46 |
47 | {{one[1]}}
48 |
49 | {{one[2]}}
50 |
51 |
52 |
53 | 2
54 |
55 | {{two[1]}}
56 |
57 | {{two[2]}}
58 |
59 |
60 |
61 | 3
62 |
63 | {{three[1]}}
64 |
65 | {{three[2]}}
66 |
67 |
68 |
69 | 4
70 |
71 | {{four[1]}}
72 |
73 | {{four[2]}}
74 |
75 |
76 |
77 | {{my[3]}}
78 |
79 | {{my[1]}}
80 |
81 | {{my[2]}}
82 |
83 |
84 |
85 | 再来一局
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/pages/audio_test/audio_test.wxss:
--------------------------------------------------------------------------------
1 | /* pages/audio_test/audio_test.wxss */
2 | @import "../test/test.wxss";
--------------------------------------------------------------------------------
/pages/choice/choice.js:
--------------------------------------------------------------------------------
1 | // pages/choice/choice.js
2 | Page({
3 |
4 | /**
5 | * 页面的初始数据
6 | */
7 | data: {
8 | cihui:false,
9 | tianshu:false,
10 | id1:"kaoyan",
11 | id2:"suiji",
12 | id3:"cet4",
13 | id4:"cet6",
14 | id11:"kaoyan_import",
15 | id12:"cet4_import",
16 | id13:"cet6_import",
17 | id14:"zy8",
18 | id5:20,
19 | id6: 30,
20 | id7: 40,
21 | id8: 50,
22 | id9: 60,
23 | id10: 80,
24 | },
25 |
26 | /**
27 | * 生命周期函数--监听页面加载
28 | */
29 | onLoad: function (options) {
30 |
31 | var cet4= require('../../data/cet4.js')
32 | var cet4_import = require('../../data/cet4_import.js')
33 | var cet6 = require('../../data/cet6.js')
34 | var cet6_import = require('../../data/cet6_import.js')
35 | var kaoyan = require('../../data/kaoyan.js')
36 | var kaoyan_import = require('../../data/kaoyan_import.js')
37 | var suiji = require('../../data/vocabulary.js')
38 | var zy8= require('../../data/zy8.js')
39 | wx.setStorage({
40 | key: "cet4",
41 | data: cet4.wordList
42 | })
43 | wx.setStorage({
44 | key: "cet4_import",
45 | data: cet4_import.wordList
46 | })
47 | wx.setStorage({
48 | key: "cet6",
49 | data: cet6.wordList
50 | })
51 | wx.setStorage({
52 | key: "cet6_import",
53 | data: cet6_import.wordList
54 | })
55 | wx.setStorage({
56 | key: "kaoyan",
57 | data: kaoyan.wordList
58 | })
59 | wx.setStorage({
60 | key: "kaoyan_import",
61 | data: kaoyan_import.wordList
62 | })
63 | wx.setStorage({
64 | key: "suiji",
65 | data: suiji.wordList
66 | })
67 | wx.setStorage({
68 | key: "zy8",
69 | data: zy8.wordList
70 | })
71 |
72 | },
73 |
74 | /**
75 | * 生命周期函数--监听页面初次渲染完成
76 | */
77 | onReady: function () {
78 |
79 | },
80 |
81 | /**
82 | * 生命周期函数--监听页面显示
83 | */
84 | onShow: function () {
85 |
86 | },
87 |
88 | /**
89 | * 生命周期函数--监听页面隐藏
90 | */
91 | onHide: function () {
92 |
93 | },
94 |
95 | /**
96 | * 生命周期函数--监听页面卸载
97 | */
98 | onUnload: function () {
99 |
100 | },
101 |
102 | /**
103 | * 页面相关事件处理函数--监听用户下拉动作
104 | */
105 | onPullDownRefresh: function () {
106 |
107 | },
108 |
109 | /**
110 | * 页面上拉触底事件的处理函数
111 | */
112 | onReachBottom: function () {
113 |
114 | },
115 |
116 | /**
117 | * 用户点击右上角分享
118 | */
119 | onShareAppMessage: function () {
120 |
121 | },
122 | choice_book(e)
123 | {
124 | this.setData({
125 | cihui:true
126 | })
127 | wx.setStorage({
128 | key: "book",
129 | data: e.currentTarget.id
130 | })
131 | wx.setStorage({
132 | key: 'day_num',
133 | data: 0
134 | })
135 | },
136 | day_num(e){
137 | wx.setStorage({
138 | key: "day_task",
139 | data: e.currentTarget.id-0
140 | })
141 | wx.setStorage({
142 | key: "word_num",
143 | data: e.currentTarget.id-0
144 | })
145 | var task=[]
146 | for (var i = 0; i
2 |
3 | 考研词汇
4 | 3837词
5 |
6 | 顺序词汇12347词
7 | 四级词汇2895词
8 | 六级词汇2085词
9 | 四级核心词 687词
10 | 六级重点词407词
11 | 考研核心词817词
12 | 专八词汇1938词
13 |
14 |
15 |
16 |
17 | 词汇书一共1000个单词
18 | 你的每天任务量为:
19 | 注意是指新词数
20 | 20
21 | 30
22 | 40
23 | 50
24 | 60
25 | 80
26 |
27 |
28 | 开始
29 |
--------------------------------------------------------------------------------
/pages/choice/choice.wxss:
--------------------------------------------------------------------------------
1 | /* pages/choice/choice.wxss */
2 |
3 | .bg1{
4 | height: 1200rpx;
5 | width: 100%;
6 | background-image: url('https://upload-images.jianshu.io/upload_images/4179819-9f18bb7a70c502fc.gif?imageMogr2/auto-orient/strip%7CimageView2/2/w/400');
7 | background-size:cover;
8 | }
9 | .botton1{
10 | position: fixed;
11 | left: 5%;
12 | top: 5%;
13 | display: flex;
14 | flex-direction: column;
15 | border-radius: 5%;
16 | width: 27%;
17 | height: 20%;
18 | border: 1rpx solid #4a475b;
19 | align-items: center;
20 | background-color: white;
21 | opacity: 0.78;
22 | }
23 | .botton2{
24 | position: fixed;
25 | left: 37%;
26 | top: 5%;
27 | display: flex;
28 | flex-direction: column;
29 | border-radius: 5%;
30 | width: 27%;
31 | height: 20%;
32 | border: 1rpx solid #4a475b;
33 | align-items: center;
34 | background-color: white;
35 | opacity: 0.78;
36 | }
37 | .botton3{
38 | position: fixed;
39 | left: 69%;
40 | top: 5%;
41 | display: flex;
42 | flex-direction: column;
43 | border-radius: 5%;
44 | width: 27%;
45 | height: 20%;
46 | border: 1rpx solid #4a475b;
47 | align-items: center;
48 | background-color: white;
49 | opacity: 0.78;
50 | }
51 | .botton4{
52 | position: fixed;
53 | left: 5%;
54 | top: 30%;
55 | display: flex;
56 | flex-direction: column;
57 | border-radius: 5%;
58 | width: 27%;
59 | height: 20%;
60 | border: 1rpx solid #4a475b;
61 | align-items: center;
62 | background-color: white;
63 | opacity: 0.78;
64 | }
65 | .botton5{
66 | position: fixed;
67 | left: 37%;
68 | top: 30%;
69 | display: flex;
70 | flex-direction: column;
71 | border-radius: 5%;
72 | width: 27%;
73 | height: 20%;
74 | border: 1rpx solid #4a475b;
75 | align-items: center;
76 | background-color: white;
77 | opacity: 0.78;
78 | }
79 | .botton6{
80 | position: fixed;
81 | left: 69%;
82 | top: 30%;
83 | display: flex;
84 | flex-direction: column;
85 | border-radius: 5%;
86 | width: 27%;
87 | height: 20%;
88 | border: 1rpx solid #4a475b;
89 | align-items: center;
90 | background-color: white;
91 | opacity: 0.78;
92 | }
93 |
94 | .botton7{
95 | position: fixed;
96 | left: 5%;
97 | top: 55%;
98 | display: flex;
99 | flex-direction: column;
100 | border-radius: 5%;
101 | width: 27%;
102 | height: 20%;
103 | border: 1rpx solid #4a475b;
104 | align-items: center;
105 | background-color: white;
106 | opacity: 0.78;
107 | }
108 | .botton8{
109 | position: fixed;
110 | left: 37%;
111 | top: 55%;
112 | display: flex;
113 | flex-direction: column;
114 | border-radius: 5%;
115 | width: 27%;
116 | height: 20%;
117 | border: 1rpx solid #4a475b;
118 | align-items: center;
119 | background-color: white;
120 | opacity: 0.78;
121 | }
122 | .word{
123 | margin: auto;
124 | font-family: Songti TC;
125 | font-size: 38rpx;
126 | color: black;
127 | font-weight: 600
128 | }
129 | .num_word{
130 | margin: auto;
131 | font-family: Songti TC;
132 | font-size: 30rpx;
133 | color: gray;
134 | font-weight: 600
135 | }
136 | .bg2{
137 | height: 200px;
138 | width: 100%;
139 | background-image: url('https://upload-images.jianshu.io/upload_images/4179819-bcc39e6dd6bc9878.gif?imageMogr2/auto-orient/strip%7CimageView2/2/w/429');
140 |
141 | }
142 | .bg3{
143 | height: 1200rpx;
144 | width: 100%;
145 | background-color: white;
146 | text-align: center;
147 | font-size: 20px;
148 | align-items: center;
149 | background-image: url('https://upload-images.jianshu.io/upload_images/4179819-a2a42aa749ca2630.gif?imageMogr2/auto-orient/strip%7CimageView2/2/w/480');
150 | }
151 | .day1{
152 | position: fixed;
153 | right: 10%;
154 | bottom: 10%;
155 | display: flex;
156 | flex-direction: column;
157 | border-radius: 50%;
158 | width: 60px;
159 | height: 60px;
160 | border: 7rpx solid #4a475b;
161 | align-items: center;
162 | opacity: 0.78;
163 | background-color: white;
164 | }
165 | .day2{
166 | position: fixed;
167 | right: 40%;
168 | bottom: 10%;
169 | display: flex;
170 | flex-direction: column;
171 | border-radius: 50%;
172 | width: 60px;
173 | height: 60px;
174 | border: 7rpx solid #4a475b;
175 | align-items: center;
176 | opacity: 0.78;
177 | background-color: white;
178 | }
179 | .day3{
180 | position: fixed;
181 | right: 70%;
182 | bottom: 10%;
183 | display: flex;
184 | flex-direction: column;
185 | border-radius: 50%;
186 | width: 60px;
187 | height: 60px;
188 | border: 7rpx solid #4a475b;
189 | align-items: center;
190 | opacity: 0.78;
191 | background-color: white;
192 | }
193 | .day4{
194 | position: fixed;
195 | right: 10%;
196 | bottom: 25%;
197 | display: flex;
198 | flex-direction: column;
199 | border-radius: 50%;
200 | width: 60px;
201 | height: 60px;
202 | border: 7rpx solid #4a475b;
203 | align-items: center;
204 | opacity: 0.78;
205 | background-color: white;
206 | }
207 | .day5{
208 | position: fixed;
209 | right: 40%;
210 | bottom: 25%;
211 | display: flex;
212 | flex-direction: column;
213 | border-radius: 50%;
214 | width: 60px;
215 | height: 60px;
216 | border: 7rpx solid #4a475b;
217 | align-items: center;
218 | opacity: 0.78;
219 | background-color: white;
220 | }
221 | .day6{
222 | position: fixed;
223 | right: 70%;
224 | bottom: 25%;
225 | display: flex;
226 | flex-direction: column;
227 | border-radius: 50%;
228 | width: 60px;
229 | height: 60px;
230 | border: 7rpx solid #4a475b;
231 | align-items: center;
232 | opacity: 0.78;
233 | background-color: white;
234 | }
235 |
236 | .begin{
237 | position: fixed;
238 | left: 41%;
239 | bottom: 15%;
240 | display: flex;
241 | flex-direction: column;
242 | border-radius: 50%;
243 | width: 80px;
244 | height: 80px;
245 | border: 7rpx solid #4a475b;
246 | align-items: center;
247 | opacity: 0.78;
248 | background-color: white;
249 | }
--------------------------------------------------------------------------------
/pages/collect_card/collect_card.js:
--------------------------------------------------------------------------------
1 | // pages/collect_card/collect_card.js
2 | Page({
3 |
4 | /**
5 | * 页面的初始数据
6 | */
7 | data: {
8 |
9 | },
10 |
11 | /**
12 | * 生命周期函数--监听页面加载
13 | */
14 | onLoad: function (options) {
15 | this.setData({ collect_list: wx.getStorageSync('collect')})
16 |
17 | },
18 |
19 | /**
20 | * 生命周期函数--监听页面初次渲染完成
21 | */
22 | onReady: function () {
23 |
24 | },
25 |
26 | /**
27 | * 生命周期函数--监听页面显示
28 | */
29 | onShow: function () {
30 |
31 | },
32 |
33 | /**
34 | * 生命周期函数--监听页面隐藏
35 | */
36 | onHide: function () {
37 |
38 | },
39 |
40 | /**
41 | * 生命周期函数--监听页面卸载
42 | */
43 | onUnload: function () {
44 |
45 | },
46 |
47 | /**
48 | * 页面相关事件处理函数--监听用户下拉动作
49 | */
50 | onPullDownRefresh: function () {
51 |
52 | },
53 |
54 | /**
55 | * 页面上拉触底事件的处理函数
56 | */
57 | onReachBottom: function () {
58 |
59 | },
60 |
61 | /**
62 | * 用户点击右上角分享
63 | */
64 | onShareAppMessage: function () {
65 |
66 | },
67 | read: function (e) {
68 | const innerAudioContext = wx.createInnerAudioContext()
69 | innerAudioContext.autoplay = true
70 | innerAudioContext.src = e.target.id
71 | innerAudioContext.onPlay(() => {
72 | })
73 | innerAudioContext.onError((res) => {
74 | console.log(res.errMsg)
75 | console.log(res.errCode)
76 | })
77 | },
78 | })
--------------------------------------------------------------------------------
/pages/collect_card/collect_card.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/pages/collect_card/collect_card.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{item[0]}} /{{item[1].uk}}/
5 | {{item[4]}}
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/pages/collect_card/collect_card.wxss:
--------------------------------------------------------------------------------
1 | /* pages/collect_card/collect_card.wxss */
2 | .collect{
3 | width: 100%;
4 | margin: 10px;
5 | font-size: 16px;
6 | display: flex;
7 | flex-direction: column;
8 | }
9 |
10 | .pages{
11 | background-color: white;
12 | height: 100%;width: 100%;
13 | }
14 | .simple_look{
15 | display: flex;
16 | flex-direction: row;
17 | padding-top: 15px;
18 | padding-left: 6px;
19 |
20 | }
21 | .definition{
22 | padding-left: 38px;
23 | font-size: 15px;
24 |
25 | }
26 | .last_line{
27 | width: 100%;
28 | height: 300px;
29 | background-image: url('https://upload-images.jianshu.io/upload_images/4179819-4c247b1477685278.gif?imageMogr2/auto-orient/strip%7CimageView2/2/w/700');
30 | background-repeat: round;
31 | }
--------------------------------------------------------------------------------
/pages/detail-word/detail-word.js:
--------------------------------------------------------------------------------
1 | Page({
2 |
3 | /**
4 | * 页面的初始数据
5 | */
6 | data: {
7 | voteTitle: null,
8 | simple:false,
9 | detail:false
10 | },
11 |
12 | /**
13 | * 生命周期函数--监听页面加载
14 | */
15 | onLoad: function (options) {
16 |
17 | },
18 |
19 | /**
20 | * 生命周期函数--监听页面初次渲染完成
21 | */
22 | onReady: function () {
23 |
24 | },
25 |
26 | /**
27 | * 生命周期函数--监听页面显示
28 | */
29 | onShow: function () {
30 |
31 | },
32 |
33 | /**
34 | * 生命周期函数--监听页面隐藏
35 | */
36 | onHide: function () {
37 |
38 | },
39 |
40 | /**
41 | * 生命周期函数--监听页面卸载
42 | */
43 | onUnload: function () {
44 |
45 | },
46 |
47 | /**
48 | * 页面相关事件处理函数--监听用户下拉动作
49 | */
50 | onPullDownRefresh: function () {
51 |
52 | },
53 |
54 | /**
55 | * 页面上拉触底事件的处理函数
56 | */
57 | onReachBottom: function () {
58 |
59 | },
60 |
61 | /**
62 | * 用户点击右上角分享
63 | */
64 | onShareAppMessage: function (options) {
65 |
66 | },
67 | voteTitle: function (e) {
68 | this.setData({ simple:true,voteTitle:e.detail.value})
69 |
70 | },
71 | detail(){
72 |
73 | var that = this
74 | wx.request({
75 | url: 'https://api.shanbay.com/bdc/search/?word=' + this.data.voteTitle,
76 | data: {},
77 | method: 'GET',
78 | success: function (res) {
79 |
80 | console.log(res)
81 | that.setData({
82 | word: res.data.data.content,
83 | pron: res.data.data.pronunciation,
84 | definition: res.data.data.definition,
85 | pron_audio: res.data.data.audio
86 |
87 | })
88 | that.get_sams(res.data.data.conent_id)
89 | },
90 | fail: function () {
91 | },
92 | complete: function () {
93 | }
94 | })
95 |
96 | this.setData({
97 | detail: true,
98 | simple: false
99 | })
100 | },
101 | read(){
102 | const innerAudioContext = wx.createInnerAudioContext()
103 | innerAudioContext.autoplay = true
104 | innerAudioContext.src = this.data.pron_audio
105 | innerAudioContext.onPlay(() => {
106 | })
107 | innerAudioContext.onError((res) => {
108 | console.log(res.errMsg)
109 | console.log(res.errCode)
110 | })
111 | },
112 | get_sams(id){
113 | var that=this
114 | wx.request({
115 | url: 'https://api.shanbay.com/bdc/example/?vocabulary_id=' + id,
116 | data: {},
117 | method: 'GET',
118 | success: function (res) {
119 | console.log(res)
120 | that.setData({
121 | defen: [res.data.data[0], res.data.data[4]]
122 | })
123 | },
124 | fail: function () {
125 | },
126 | complete: function () {
127 | }
128 | })
129 | }
130 | })
--------------------------------------------------------------------------------
/pages/detail-word/detail-word.json:
--------------------------------------------------------------------------------
1 | {
2 |
3 | "backgroundTextStyle": "light",
4 | "backgroundColor": "#8a8a8a",
5 | "navigationBarBackgroundColor": "#8a8a8a",
6 | "navigationBarTitleText": "小鸡单词",
7 | "navigationBarTextStyle": "white"
8 | }
--------------------------------------------------------------------------------
/pages/detail-word/detail-word.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{voteTitle}}
6 |
7 |
8 |
9 | {{word}} 【{{pron}}】
10 |
11 | {{definition}}
12 | {{defen[0].first}} {{defen[1].mid}} {{defen[0].last}}
13 | {{defen[0].translation}}
14 |
15 | {{defen[1].first}} {{defen[1].mid}} {{defen[1].last}}
16 | {{defen[1].translation}}
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/pages/detail-word/detail-word.wxss:
--------------------------------------------------------------------------------
1 | /* pages/detail-word/detail-word.wxss */
2 | @import "../study/study.wxss";
3 | .page{
4 | background-image: url('https://upload-images.jianshu.io/upload_images/4179819-a2a42aa749ca2630.gif?imageMogr2/auto-orient/strip%7CimageView2/2/w/480');
5 | height: 1200rpx;
6 | width: 100%;
7 | background-size: cover;
8 | }
9 | .input_counter{
10 | position: fixed;
11 | left: 7%;
12 | top: 5%;
13 | display: flex;
14 | flex-direction: column;
15 | border-radius: 50rpx;
16 | width:86% ;
17 | height: 90rpx;
18 | border: 1rpx solid #4a475b;
19 | align-items: center;
20 | background-color: white;
21 | opacity: 0.78;
22 | }
23 | .input{
24 | width:85% ;
25 | height: 78rpx;
26 | color: black;
27 | margin-top: 5rpx;
28 | }
29 | .simple_look{
30 | position: fixed;
31 | left: 10%;
32 | top: 15%;
33 | display: flex;
34 | flex-direction: column;
35 | width:78% ;
36 | border: 1rpx solid #4a475b;
37 | background-color: white;
38 | opacity: 0.78;
39 | padding:10px;
40 | }
41 | .read{
42 | position: fixed;
43 | right: 10%;
44 | top: 17%;
45 | display: flex;
46 | flex-direction: column;
47 | width:60rpx;
48 | height: 60rpx;
49 | border-radius: 50%;
50 |
51 | background-color: white;
52 | opacity: 0.78;
53 | }
54 | .sc{
55 | position: fixed;
56 | right: 25%;
57 | top: 17%;
58 | display: flex;
59 | flex-direction: column;
60 | width:60rpx;
61 | height: 60rpx;
62 |
63 | background-color: white;
64 | opacity: 0.78;
65 | }
--------------------------------------------------------------------------------
/pages/index/index.js:
--------------------------------------------------------------------------------
1 | //index.js
2 | //获取应用实例
3 | var app = getApp()
4 | Page({
5 | data: {
6 | motto: 'Hello World',
7 | userInfo: {}
8 | },
9 | //事件处理函数
10 | bindViewTap: function() {
11 | wx.navigateTo({
12 | url: '../logs/logs'
13 | })
14 | },
15 | onLoad: function () {
16 | console.log('onLoad')
17 | var that = this
18 | //调用应用实例的方法获取全局数据
19 | app.getUserInfo(function(userInfo){
20 | //更新数据
21 | that.setData({
22 | userInfo:userInfo
23 | })
24 | })
25 | }
26 | })
27 |
--------------------------------------------------------------------------------
/pages/index/index.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/pages/index/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{userInfo.nickName}}
6 |
7 |
8 | {{motto}}
9 |
10 |
11 |
--------------------------------------------------------------------------------
/pages/index/index.wxss:
--------------------------------------------------------------------------------
1 | /**index.wxss**/
2 | .userinfo {
3 | display: flex;
4 | flex-direction: column;
5 | align-items: center;
6 | }
7 |
8 | .userinfo-avatar {
9 | width: 128rpx;
10 | height: 128rpx;
11 | margin: 20rpx;
12 | border-radius: 50%;
13 | }
14 |
15 | .userinfo-nickname {
16 | color: #aaa;
17 | }
18 |
19 | .usermotto {
20 | margin-top: 200px;
21 | }
--------------------------------------------------------------------------------
/pages/index/md5.js:
--------------------------------------------------------------------------------
1 | var MD5 = function (string) {
2 |
3 | function RotateLeft(lValue, iShiftBits) {
4 | return (lValue<>>(32-iShiftBits));
5 | }
6 |
7 | function AddUnsigned(lX,lY) {
8 | var lX4,lY4,lX8,lY8,lResult;
9 | lX8 = (lX & 0x80000000);
10 | lY8 = (lY & 0x80000000);
11 | lX4 = (lX & 0x40000000);
12 | lY4 = (lY & 0x40000000);
13 | lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);
14 | if (lX4 & lY4) {
15 | return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
16 | }
17 | if (lX4 | lY4) {
18 | if (lResult & 0x40000000) {
19 | return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
20 | } else {
21 | return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
22 | }
23 | } else {
24 | return (lResult ^ lX8 ^ lY8);
25 | }
26 | }
27 |
28 | function F(x,y,z) { return (x & y) | ((~x) & z); }
29 | function G(x,y,z) { return (x & z) | (y & (~z)); }
30 | function H(x,y,z) { return (x ^ y ^ z); }
31 | function I(x,y,z) { return (y ^ (x | (~z))); }
32 |
33 | function FF(a,b,c,d,x,s,ac) {
34 | a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));
35 | return AddUnsigned(RotateLeft(a, s), b);
36 | };
37 |
38 | function GG(a,b,c,d,x,s,ac) {
39 | a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));
40 | return AddUnsigned(RotateLeft(a, s), b);
41 | };
42 |
43 | function HH(a,b,c,d,x,s,ac) {
44 | a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));
45 | return AddUnsigned(RotateLeft(a, s), b);
46 | };
47 |
48 | function II(a,b,c,d,x,s,ac) {
49 | a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac));
50 | return AddUnsigned(RotateLeft(a, s), b);
51 | };
52 |
53 | function ConvertToWordArray(string) {
54 | var lWordCount;
55 | var lMessageLength = string.length;
56 | var lNumberOfWords_temp1=lMessageLength + 8;
57 | var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64;
58 | var lNumberOfWords = (lNumberOfWords_temp2+1)*16;
59 | var lWordArray=Array(lNumberOfWords-1);
60 | var lBytePosition = 0;
61 | var lByteCount = 0;
62 | while ( lByteCount < lMessageLength ) {
63 | lWordCount = (lByteCount-(lByteCount % 4))/4;
64 | lBytePosition = (lByteCount % 4)*8;
65 | lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount)<>>29;
73 | return lWordArray;
74 | };
75 |
76 | function WordToHex(lValue) {
77 | var WordToHexValue="",WordToHexValue_temp="",lByte,lCount;
78 | for (lCount = 0;lCount<=3;lCount++) {
79 | lByte = (lValue>>>(lCount*8)) & 255;
80 | WordToHexValue_temp = "0" + lByte.toString(16);
81 | WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2);
82 | }
83 | return WordToHexValue;
84 | };
85 |
86 | function Utf8Encode(string) {
87 | string = string.replace(/\r\n/g,"\n");
88 | var utftext = "";
89 |
90 | for (var n = 0; n < string.length; n++) {
91 |
92 | var c = string.charCodeAt(n);
93 |
94 | if (c < 128) {
95 | utftext += String.fromCharCode(c);
96 | }
97 | else if((c > 127) && (c < 2048)) {
98 | utftext += String.fromCharCode((c >> 6) | 192);
99 | utftext += String.fromCharCode((c & 63) | 128);
100 | }
101 | else {
102 | utftext += String.fromCharCode((c >> 12) | 224);
103 | utftext += String.fromCharCode(((c >> 6) & 63) | 128);
104 | utftext += String.fromCharCode((c & 63) | 128);
105 | }
106 |
107 | }
108 |
109 | return utftext;
110 | };
111 |
112 | var x=Array();
113 | var k,AA,BB,CC,DD,a,b,c,d;
114 | var S11=7, S12=12, S13=17, S14=22;
115 | var S21=5, S22=9 , S23=14, S24=20;
116 | var S31=4, S32=11, S33=16, S34=23;
117 | var S41=6, S42=10, S43=15, S44=21;
118 |
119 | string = Utf8Encode(string);
120 |
121 | x = ConvertToWordArray(string);
122 |
123 | a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476;
124 |
125 | for (k=0;k {
219 | n = n.toString()
220 | return n[1] ? n : '0' + n
221 | }
222 | return [year, month, day].map(formatNumber).join('/')
223 |
224 | },
225 |
226 | test1_card() {
227 | wx.navigateTo({
228 | url: '../test/test',
229 | })
230 | },
231 | test2_card() {
232 | wx.navigateTo({
233 | url: '../test/test',
234 | })
235 | },
236 |
237 | choice_book(e) {
238 | var book = e.currentTarget.id;
239 | if (book != 'no') {
240 | wx.setStorage({
241 | key: "book",
242 | data: book
243 | })
244 | this.setData({
245 | choice: true,
246 | book_list: wx.getStorageSync(book)
247 | })
248 | } else {
249 | this.setData({
250 | choice: false
251 | })
252 | this.sort_wordlist();
253 |
254 | }
255 |
256 | },
257 |
258 | choice_word(e) {
259 | var add = e.currentTarget.id;
260 | var word = {
261 | "word": add,
262 | "ease": 0.5,
263 | "day": 0
264 | };
265 | var wordlist = wx.getStorageSync("word_list");
266 | wordlist.push(word);
267 | wx.setStorageSync("word_list", wordlist);
268 | var list = this.data.book_list;
269 | var len = list.length;
270 | var i = 0;
271 | for (var i = 0; i < len; i++) {
272 | if (list[i] == add) break;
273 | }
274 | list.splice(i, 1);
275 | var book = wx.getStorageSync("book");
276 | wx.setStorageSync(book, list);
277 | this.setData({
278 | book_list: list,
279 | my_word: this.data.my_word + 1,
280 | today_had_choice: this.data.today_had_choice + 1
281 | });
282 | },
283 |
284 | sort_wordlist() {
285 | var last_list = wx.getStorageSync("word_list");
286 | var len2 = last_list.length;
287 | for (var i = 0; i < len2; i++) {
288 | for (var j = i + 1; j < len2; j++) {
289 | if (last_list[j].ease < last_list[i].ease) {
290 | var temp = last_list[j];
291 | last_list[j] = last_list[i];
292 | last_list[i] = temp;
293 | } else {
294 | if (last_list[j].ease === last_list[i].ease && last_list[j].day > last_list[i].day) {
295 | var temp = last_list[j];
296 | last_list[j] = last_list[i];
297 | last_list[i] = temp;
298 | }
299 | }
300 | }
301 | }
302 | wx.setStorageSync("word_list", last_list);
303 |
304 | var day_num = wx.getStorageSync("day_task");
305 | var today_list = [];
306 | for (var i = 0, k = 0; i < len2; i++) {
307 | if (k === day_num || (last_list[i].ease > 0.5 && last_list[i].day > 3)) break;
308 | today_list[k++] = last_list[i];
309 | }
310 | wx.setStorage({
311 | key: 'today_word',
312 | data: today_list,
313 | })
314 |
315 | },
316 |
317 | goto_search(){
318 | wx.navigateTo({
319 | url: '../detail-word/detail-word',
320 | })
321 | }
322 |
323 | })
--------------------------------------------------------------------------------
/pages/job/job.json:
--------------------------------------------------------------------------------
1 | {
2 | "backgroundTextStyle": "light",
3 | "backgroundColor": "#58bbd1",
4 | "navigationBarBackgroundColor": "#58bbd1",
5 | "navigationBarTitleText": "选词",
6 | "navigationBarTextStyle": "white"
7 |
8 | }
--------------------------------------------------------------------------------
/pages/job/job.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{day_num}}
5 | 打卡天数
6 |
7 |
8 |
9 |
10 |
11 |
12 | 那么现在,开始我们的单词之旅
13 |
14 | 点我
15 |
16 |
17 | -->
18 |
19 | {{today_new_num}}
20 | 今日新词
21 |
22 |
23 | {{lest_word}}
24 | 已背单词
25 |
26 | {{day_num}}
27 | 累计打卡
28 |
29 | {{my_word}}
30 | 规划单词
31 |
32 |
33 |
34 |
35 |
36 | 选取单词
37 | {{today_had_choice}}词
38 |
39 |
40 |
41 |
42 |
43 | 搜索单词
44 | 🔍
45 |
46 |
47 |
48 | 考研词汇
49 | 3837词
50 |
51 | 四级词汇2895词
52 | 六级词汇2085词
53 | 四级核心词 687词
54 | 六级重点词407词
55 | 考研核心词817词
56 | 软件测试500词
57 | 专八词汇1938词
58 |
59 |
60 |
61 |
62 | {{item}}
63 | 添加
64 |
65 |
66 |
67 |
68 |
69 | 返回选取单词
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 | start
81 |
82 |
83 |
84 | 英汉测试
85 |
86 | 汉英测试
87 |
88 | -->
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
--------------------------------------------------------------------------------
/pages/job/job.wxss:
--------------------------------------------------------------------------------
1 | page{
2 | height: 100%;
3 | background-color: rgb(233, 240, 235)
4 | }
5 |
6 | .job_day{
7 |
8 | margin: 2%;
9 | border-radius: 5px;
10 | width: 96%;
11 | height: 400rpx;
12 | display: flex;
13 | flex-direction: column;
14 | background-image: url(https://picture-1256429518.cos.ap-chengdu.myqcloud.com/blog/wxbg2.jpg);
15 | background-repeat: round;
16 | opacity: 0.8;
17 |
18 | }
19 | .day_num{
20 | width: 100%;
21 | margin-top: 100rpx;
22 | font-size: 150rpx;
23 | text-align: center;
24 | color: red;
25 | font-weight: 800;
26 |
27 | }
28 | .day_notice{
29 | width: 100%;
30 | font-size: 25rpx;
31 | text-align: center;
32 | margin-bottom: 20px;
33 | font-weight: 700;
34 | color: black
35 | }
36 | .word_num{
37 | margin: 2%;
38 | border-radius: 5px;
39 | width: 96%;
40 | height: 150rpx;
41 | display: flex;
42 | flex-direction: row;
43 | background-color:white;
44 | border-top: 7px solid ghostwhite;
45 | justify-content: space-around;
46 | font-weight: 400;
47 | color: #515151;
48 | }
49 | .today_word_num{
50 | font-size: 16 px;
51 | text-align: center;
52 | font-weight: 800;
53 | }
54 | .new_word_num{
55 | font-size: 16 px;
56 | text-align: center;
57 | font-weight: 800;
58 | }
59 | .lest_num{
60 | font-size: 16 px;
61 | text-align: center;
62 | font-weight: 800;
63 | }
64 | .my_word_num{
65 | font-size: 16 px;
66 | text-align: center;
67 | font-weight: 800;
68 | }
69 |
70 | .star{
71 | margin: auto;
72 | font-family: Songti TC;
73 | font-size: 20px;
74 | color: red;
75 | background-color: white;
76 | font-weight: 700;
77 | }
78 | .star_study{
79 | display: flex;
80 | margin-left: 40%;
81 | margin-top: 20px;
82 | flex-direction: column;
83 | border-radius: 50%;
84 | width: 160rpx;
85 | height: 160rpx;
86 | border: 2rpx solid red;
87 | align-items: center;
88 | background-color: white;
89 | }
90 | .bookline{
91 | display: flex;
92 | margin-top: 60px;
93 | flex-direction: row;
94 | width: 100%;
95 | height: 200px;
96 | background-color: gainsboro;
97 | }
98 | .book1{
99 | margin: 5%;
100 | border-radius:20px;
101 | background-repeat: round;
102 | width: 40%;
103 | height: 130px;
104 | align-items: center;
105 | text-align: center;
106 | border: 1px #e3351f;
107 | background-image: url('https://wxt.sinaimg.cn/thumb300/a0e81c70gy1fdd6iglc3xg20az0aywfg.gif?tags=%5B%5D')
108 | }
109 | .book2{
110 | margin: 5%;
111 | border-radius:20px;
112 | background-repeat: round;
113 |
114 | width: 40%;
115 | height: 130px;
116 | align-items: center;
117 | text-align: center;
118 | border: 1px #e3351f;
119 | background-image: url('https://wxt.sinaimg.cn/thumb300/a0e81c70gy1fdd6ihqcp6g209q0a0wfz.gif?tags=%5B%5D');
120 | }
121 | .have_done{
122 | position: fixed;
123 | left: 10%;
124 | bottom: 10%;
125 | display: flex;
126 | flex-direction: column;
127 | border-radius: 5%;
128 | width: 80%;
129 | height: 80%;
130 | border: 1rpx solid #4a475b;
131 | align-items: center;
132 | background-image: url('https://upload-images.jianshu.io/upload_images/4179819-756122e814b07ec2.gif?imageMogr2/auto-orient/strip%7CimageView2/2/w/480');
133 | background-size:cover;
134 | }
135 | .first_notice{
136 | margin: auto;
137 | margin-top: 45px;
138 | font-family: Songti TC;
139 | font-size: 38rpx;
140 | color: white;
141 | font-weight: 600
142 | }
143 | .start_botton{
144 | position: fixed;
145 | left: 41%;
146 | bottom: 25%;
147 | display: flex;
148 | flex-direction: column;
149 | border-radius: 50%;
150 | width: 60px;
151 | height: 60px;
152 | border: 6rpx solid gray;
153 | align-items: center;
154 | background-color: white;
155 | opacity: 0.8;
156 | }
157 | .look_me{
158 | margin: auto;
159 | font-family: Songti TC;
160 | font-size: 38rpx;
161 | color: black;
162 | font-weight: 600;
163 |
164 | }
165 |
166 | .botton{
167 | display: flex;
168 | margin-left: 2%;
169 | margin-right: 2%;
170 | margin-top: 5px;
171 | border-radius: 12px;
172 | width: 96%;
173 | flex-direction: row;
174 | height: 44px;
175 | border-bottom: 1px solid #59bbd1;
176 | align-items: left;
177 | background-color: white;
178 | letter-spacing: 3px;
179 | line-height: 25.59375px;
180 |
181 | }
182 |
183 | .search_botton{
184 | display: flex;
185 | margin-left: 2%;
186 | margin-right: 2%;
187 | margin-top: 5px;
188 | margin-bottom: 5px;
189 | border-radius: 16px;
190 | width: 96%;
191 | flex-direction: row;
192 | height: 38px;
193 | border-bottom: 1px solid #59bbd1;
194 | align-items: left;
195 | background-color: #b1e5f1;
196 | letter-spacing: 3px;
197 | line-height: 25.59375px;
198 | }
199 |
200 | .botton_word{
201 | display: flex;
202 | margin-left: 2%;
203 | margin-right: 2%;
204 | width: 96%;
205 | flex-direction: row;
206 | height: 42px;
207 | border-bottom: 1px solid rgb(132, 192, 182);
208 | text-align: left;
209 | background-color: white;
210 | opacity: 0.82
211 | }
212 |
213 | .botton_my{
214 | display: flex;
215 | margin-left: 2%;
216 | margin-right: 2%;
217 |
218 | width: 96%;
219 | flex-direction: row;
220 | height: 40px;
221 | border-top: 3px solid rgb(132, 192, 182);
222 | border-bottom: 3px solid rgb(132, 192, 182);
223 | align-items: left;
224 | background-color: white;
225 | }
226 |
227 | .btn_content{
228 | display: flex;
229 | flex-direction: column;
230 | border-radius: 5px;
231 | }
232 |
233 | .word{
234 | margin: auto;
235 | font-family: Songti TC;
236 | font-size: 15 px;
237 | color: black;
238 | text-align: left;
239 | font-weight: 200;
240 | }
241 |
242 | .word2{
243 | width: 40%;
244 | margin: auto;
245 | font-family: Songti TC;
246 | font-size: 15 px;
247 | color: black;
248 |
249 | text-align: left;
250 | font-weight: 200;
251 | }
252 |
253 | .num_word2{
254 | width: 40px;
255 | margin: auto;
256 | font-family: Songti TC;
257 | font-size: 15px;
258 | border: 1px solid greenyellow;
259 | border-radius: 3px;
260 | color: #333;
261 | font-weight: 200;
262 | text-align: center;
263 | }
264 |
265 | .num_word{
266 | margin: auto;
267 | font-family: Songti TC;
268 | font-size: 15px;
269 | color: gray;
270 | font-weight: 200;
271 | }
272 | .bg2{
273 | height: 200px;
274 | width: 100%;
275 | background-image: url('https://upload-images.jianshu.io/upload_images/4179819-bcc39e6dd6bc9878.gif?imageMogr2/auto-orient/strip%7CimageView2/2/w/429');
276 |
277 | }
278 | .bg3{
279 | height: 1200rpx;
280 | width: 100%;
281 | background-color: white;
282 | text-align: center;
283 | font-size: 20px;
284 | align-items: center;
285 | background-image: url('https://upload-images.jianshu.io/upload_images/4179819-a2a42aa749ca2630.gif?imageMogr2/auto-orient/strip%7CimageView2/2/w/480');
286 | }
287 |
288 | .voc_item{
289 | margin: 10%;
290 | display: flex;
291 | flex-direction: column;
292 | border-radius: 50%;
293 | width: 60px;
294 | height: 60px;
295 | border: 7rpx solid #4a475b;
296 | align-items: center;
297 | opacity: 0.78;
298 | background-color: white;
299 | }
300 |
301 | .collect{
302 | width: 100%;
303 | margin: 10px;
304 | font-size: 16px;
305 | display: flex;
306 | flex-direction: column;
307 | }
308 |
309 | .simple_look{
310 | display: flex;
311 | flex-direction: row;
312 | padding-top: 15px;
313 | padding-left: 6px;
314 |
315 | }
316 | .definition{
317 | padding-left: 38px;
318 | font-size: 15px;
319 |
320 | }
321 | .last_line{
322 | width: 100%;
323 | height: 300px;
324 | background-image: url('https://upload-images.jianshu.io/upload_images/4179819-4c247b1477685278.gif?imageMogr2/auto-orient/strip%7CimageView2/2/w/700');
325 | background-repeat: round;
326 | }
--------------------------------------------------------------------------------
/pages/me/me.js:
--------------------------------------------------------------------------------
1 |
2 | var Bmob = require('../../dist/Bmob-1.6.4.min.js');
3 | Bmob.initialize("你的bmob云appid", "你的bmob云密钥");
4 | const app = getApp()
5 | Page({
6 |
7 | /**
8 | * 页面的初始数据
9 | */
10 | data: {
11 | yes:false,
12 | toforgive:false,
13 | tobackup:false,
14 | user_note:""
15 | },
16 |
17 | /**
18 | * 生命周期函数--监听页面加载
19 | */
20 | onLoad: function (options) {
21 | var time = this.set_time(new Date())
22 | this.setData({
23 | have_done: wx.getStorageSync(time),
24 | day_task: wx.getStorageSync('day_task'),
25 | my_word_num: wx.getStorageSync("my_word_num"),
26 | free_word_num: wx.getStorageSync("free_word_num"),
27 | complete_day: wx.getStorageSync("day_num"),
28 | add_word_num:wx.getStorageSync("word_list").length,
29 | })
30 | if(!wx.getStorageSync("userInfo")){
31 | this.setData({user_note:"点击获得头像昵称"})
32 | }
33 | else{
34 | this.setData({
35 | userInfo: wx.getStorageSync("userInfo"),
36 | hasUserInfo: true,
37 | user_note: wx.getStorageSync("userInfo").nickName
38 | })
39 | }
40 |
41 |
42 | },
43 |
44 | show_backup(){
45 | if(this.data.tobackup===false){
46 | this.setData({ tobackup: true })
47 | }
48 | else{
49 | this.setData({ tobackup: false })
50 | }
51 |
52 | },
53 |
54 | toup(){
55 | const query = Bmob.Query('user_data');
56 | var obid = wx.getStorageSync("data_objectid");
57 | if( obid===undefined || obid===null){
58 | query.set("username", wx.getStorageSync("userInfo").nickName)
59 | query.set("word_list", wx.getStorageSync("word_list"))
60 | query.set("day_num", wx.getStorageSync("day_num"))
61 | query.set("openid", wx.getStorageSync("openid"))
62 | query.set("all_detail", wx.getStorageSync("all_detail"))
63 | query.set("my_word_num", wx.getStorageSync("my_word_num"))
64 | query.set("free_word_num", wx.getStorageSync("free_word_num"))
65 | query.save().then(res => {
66 | console.log(res)
67 | wx.setStorage({
68 | key: 'data_objectid',
69 | data: res.objectId,
70 | })
71 | const query2 = Bmob.Query('_User');
72 | query2.get(wx.getStorageSync("usr_objectId")).then(res => {
73 | console.log(res)
74 | res.set('data_objectid', wx.getStorageSync("data_objectid"))
75 | res.save()
76 | }).catch(err => {
77 | console.log(err)
78 | })
79 | }).catch(err => {
80 | console.log(err)
81 | })
82 | }
83 | else{
84 | query.get(obid).then(res => {
85 | console.log(res)
86 | res.set("username", wx.getStorageSync("userInfo").nickName)
87 | res.set("word_list", wx.getStorageSync("word_list"))
88 | res.set("day_num", wx.getStorageSync("day_num"))
89 | res.set("openid", wx.getStorageSync("openid"))
90 | res.set("all_detail", wx.getStorageSync("all_detail"))
91 | res.set("my_word_num", wx.getStorageSync("my_word_num"))
92 | res.set("free_word_num", wx.getStorageSync("free_word_num"))
93 | res.save()
94 |
95 | }).catch(err => {
96 |
97 | })
98 | }
99 |
100 | this.setData({tobackup:false})
101 | wx.showToast({
102 | title: '备份成功'
103 | })
104 |
105 |
106 | },
107 |
108 | my_word_list(){
109 | wx.navigateTo({
110 | url: '../my_word/my_word',
111 | })
112 | },
113 |
114 | toback(){
115 | const query = Bmob.Query('user_data');
116 | query.get(wx.getStorageSync("data_objectid")).then(res => {
117 | wx.setStorage({
118 | key: 'word_list',
119 | data: res.word_list,
120 | })
121 | wx.setStorage({
122 | key: 'day_num',
123 | data: res.day_num,
124 | })
125 | wx.setStorage({
126 | key: 'all_detail',
127 | data: res.all_detail,
128 | })
129 | wx.setStorage({
130 | key: 'my_word_num',
131 | data: res.my_word_num,
132 | })
133 | wx.setStorage({
134 | key: 'free_word_num',
135 | data: res.free_word_num,
136 | })
137 | wx.showToast({
138 | title: '还原成功'
139 | })
140 | }).catch(err => {
141 | console.log(err)
142 | wx.showToast({
143 | title: '还原失败,请确认登陆并有先前的备份!'
144 | })
145 | })
146 | this.setData({tobackup:false})
147 | },
148 |
149 |
150 | getUserInfo: function (e) {
151 |
152 | var info = e.detail.userInfo;
153 | app.globalData.userInfo = info
154 |
155 | Bmob.User.upInfo(info)
156 | console.log(info)
157 | this.setData({
158 | userInfo: info,
159 | hasUserInfo: true,
160 | user_note: info.nickName
161 | })
162 | wx.setStorage({
163 | key: 'userInfo',
164 | data: info,
165 | })
166 | },
167 |
168 | set_time: function (date) {
169 | var month = date.getMonth() + 1
170 | var day = date.getDate()
171 | var year = date.getFullYear()
172 | const formatNumber = n => {
173 | n = n.toString()
174 | return n[1] ? n : '0' + n
175 | }
176 | return [year, month, day].map(formatNumber).join('/')
177 |
178 | },
179 |
180 | update(data) {
181 | data = data || this.data
182 | this.setData(data)
183 |
184 | },
185 |
186 |
187 | /**
188 | * 生命周期函数--监听页面初次渲染完成
189 | */
190 | onReady: function () {
191 |
192 | },
193 |
194 | /**
195 | * 生命周期函数--监听页面显示
196 | */
197 | onShow: function () {
198 |
199 | },
200 |
201 | /**
202 | * 生命周期函数--监听页面隐藏
203 | */
204 | onHide: function () {
205 |
206 | },
207 |
208 | /**
209 | * 生命周期函数--监听页面卸载
210 | */
211 | onUnload: function () {
212 |
213 | },
214 |
215 | /**
216 | * 页面相关事件处理函数--监听用户下拉动作
217 | */
218 | onPullDownRefresh: function () {
219 |
220 | },
221 |
222 | /**
223 | * 页面上拉触底事件的处理函数
224 | */
225 | onReachBottom: function () {
226 |
227 | },
228 |
229 |
230 | voteTitle: function (e) {
231 | if(e.detail.value<500&&e.value>0)
232 | this.setData({ day_task: e.detail.value })
233 | wx.setStorage({
234 | key: 'day_task',
235 | data: e.detail.value,
236 | })
237 |
238 | },
239 | /**
240 | * 用户点击右上角分享
241 | */
242 |
243 |
244 | onShareAppMessage: function () {
245 | return {
246 | title: options.target.id,
247 | path: '/pages/study/study',
248 | success: function (res) {
249 | wx.setStorage({
250 | key: 'my_word_num',
251 | data: wx.getStorageSync("my_word_num") + 5,
252 | })
253 | wx.setStorage({
254 | key: 'free_word_num',
255 | data: wx.getStorageSync("free_word_num") + 5,
256 | })
257 | }
258 | }
259 | },
260 | set_time: function (date) {
261 | var month = date.getMonth() + 1
262 | var day = date.getDate()
263 | var year = date.getFullYear()
264 | const formatNumber = n => {
265 | n = n.toString()
266 | return n[1] ? n : '0' + n
267 | }
268 | return [year, month, day].map(formatNumber).join('/')
269 |
270 | },
271 | my_collect(){
272 | wx.navigateTo({
273 | url: '../collect_card/collect_card',
274 | })
275 | },
276 | choice_book(){
277 | this.setData({
278 | yes:true
279 | })
280 | },
281 | choice(){
282 | this.setData({yes:false})
283 | wx.navigateTo({
284 | url: '../choice/choice',
285 | })
286 | },
287 | test_card(){
288 | wx.navigateTo({
289 | url: '../test/test',
290 | })
291 | },
292 | about_me(){
293 | wx.navigateTo({
294 | url: '../about/about',
295 | })
296 | },
297 | cancle(){
298 | this.setData({
299 | yes:false
300 | })
301 | },
302 | my_word(){
303 | wx.navigateTo({
304 | url: '../my_word/my_word',
305 | })
306 | },
307 | suggestion(){
308 | wx.navigateTo({
309 | url: '../suggestion/suggestion',
310 | })
311 | },
312 | forgive(){
313 | this.setData({toforgive:false})
314 | },
315 | toforgive(){
316 | this.setData({toforgive:true})
317 | }
318 | })
--------------------------------------------------------------------------------
/pages/me/me.json:
--------------------------------------------------------------------------------
1 | {
2 | "backgroundTextStyle": "light",
3 | "backgroundColor": "#58bbd1;",
4 | "navigationBarBackgroundColor": "#58bbd1",
5 | "navigationBarTitleText": "小鸡单词",
6 | "navigationBarTextStyle": "white"
7 |
8 | }
--------------------------------------------------------------------------------
/pages/me/me.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
14 |
15 | 学习设置
16 |
17 |
18 |
19 |
20 |
21 | 每日学习量
22 | 当日复习的词量 + 当日新学词量
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 | 记忆模式:看英文会议中文
33 |
34 |
35 | 英中
36 |
37 |
38 |
39 |
40 |
41 | 已加入学习计划的单词量
42 |
43 |
44 | {{add_word_num}}
45 |
46 |
47 |
48 |
49 |
50 | 连续签到天数
51 |
52 |
53 | {{complete_day}}
54 |
55 |
56 |
57 |
58 |
59 | 备份与还原
60 |
61 |
62 | (ง •_•)ง
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 | 单词上限(购买功能未上线)
73 |
74 |
75 |
76 |
77 |
78 | 我的单词总上限
79 |
80 |
81 | {{my_word_num}}
82 |
83 |
84 |
85 |
86 |
87 | 已获得免费的单词限额
88 |
89 |
90 | {{my_word_num}}
91 |
92 |
93 |
94 |
95 |
96 | 购买上限(未开放)
97 |
98 |
99 | 0
100 |
101 |
102 |
103 |
104 |
105 | 我收藏的单词
106 |
107 |
108 |
109 |
110 |
111 | 我加入计划的单词
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 | 其他
120 |
121 |
122 |
123 |
124 |
125 | 词汇量测试
126 |
127 |
128 |
129 |
130 |
131 | 意见反馈 & bug提交
132 |
133 |
134 |
135 |
136 |
137 | 小鸡单词使用指南
138 |
139 |
140 |
141 |
142 |
143 | 关于小鸡单词
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 | 抱歉,该功能开发者还没写
161 | 原谅
162 |
163 |
164 |
165 | 还原
166 | 备份
167 | 取消
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 | -->
177 |
178 |
--------------------------------------------------------------------------------
/pages/me/me.wxss:
--------------------------------------------------------------------------------
1 | /* pages/me/me.wxss */
2 |
3 | /* pages/me/index.wxss */
4 | .page {
5 | background-color: #e6f6e8;
6 | padding-top: 10px;
7 | }
8 | .userinfo{
9 | height: 80px;
10 | background-color: #fff;
11 | display: flex;
12 | flex-direction: row;
13 | margin-left: 2%;
14 | margin-right: 2%;
15 | border-radius: 5px;
16 |
17 | }
18 | .user_pic{
19 | height: 60px;
20 | width: 60px;
21 |
22 | margin-top: auto;
23 | margin-bottom: auto;
24 | border-radius: 50%;
25 | }
26 |
27 | .user_detail{
28 | display: flex;
29 | flex-direction: column;
30 | margin-left: 15px;
31 | padding-left: 10px;
32 | color: #334;
33 | }
34 |
35 | .study_set{
36 | background-color: #e6f6e8;
37 | margin-left: 2%;
38 | margin-right: 2%;
39 | border-radius: 5px;
40 | }
41 |
42 | .study_set_block{
43 |
44 | padding-top: 5px;
45 | padding-left: 5px;
46 | font-size: 14px;
47 | color: #333;
48 | height: 45px;
49 | display: flex;
50 | margin-bottom: 8px;
51 | border-radius: 3px;
52 | width: 100%;
53 | flex-direction: row;
54 | /* border-bottom: 1px solid rgb(132, 192, 182); */
55 | text-align: left;
56 | background-color: white;
57 | letter-spacing: 1px;
58 | line-height: 25.59375px;
59 | /* opacity: 0.82 */
60 | }
61 | .day_num_title{
62 | font-size: 14px;
63 | color: #333;
64 | }
65 | .day_num_note{
66 | font-size: 9px;
67 | color: #999;
68 | }
69 |
70 | .left_block{
71 | width: 65%;
72 | margin-top: auto;
73 | margin-bottom: auto;
74 | }
75 | .right_block{
76 | margin-right: 20px;
77 | margin-left: 20px;
78 | width: 70px;
79 | height: 32px;
80 | background-color: #51aad1;
81 | border-radius: 3px;
82 | margin-top: auto;
83 | margin-bottom: auto;
84 | color: #fff;
85 | text-align-last: center;
86 | text-align: center;
87 | }
88 |
89 | .input_content{
90 | margin-right: 20px;
91 | margin-left: 20px;
92 | width: 70px;
93 | height: 32px;
94 | border: 1px solid #51ddb1;
95 | background-color: #fff;
96 | border-radius: 3px;
97 | margin-top: auto;
98 | font-size: 16px;
99 | margin-bottom: auto;
100 | color: #000;
101 | text-align-last: center;
102 | text-align: center;
103 | }
104 |
105 | .right_block_content{
106 | align-content: center;
107 | text-align: left;
108 | color: #000;
109 |
110 | }
111 |
112 | .sorry_note{
113 | position: fixed;
114 | width: 450rpx;
115 | height: 220px;
116 | background-color: #fff;
117 | border: 3px solid grey;
118 | border-radius: 8px;
119 | left: 150rpx;
120 | top: 100px;
121 | display: flex;
122 | flex-direction: column;
123 | align-items: center;
124 | }
125 |
126 | .back_note{
127 | position: fixed;
128 | width: 550rpx;
129 | height: 150px;
130 | background-color: #fff;
131 | border: 3px solid grey;
132 | border-radius: 8px;
133 | left: 100rpx;
134 | top: 400rpx;
135 | display: flex;
136 | flex-direction: row;
137 | align-items: center;
138 | }
139 |
140 | .sorry_word{
141 | color: #333;
142 | margin: auto;
143 | font-size: 14px;
144 | font-weight: 800;
145 | text-align: center;
146 | }
147 |
148 | .forgive{
149 | color: #fff;
150 | margin: auto;
151 | background-color: green;
152 | border-radius: 6px;
153 | width: 80px;
154 | height: 30px;
155 | border: 3px solid grey;
156 | font-size: 18px;
157 | text-justify: auto;
158 | font-weight: 800;
159 | text-align: center;
160 | }
161 | /*
162 | .user-card {
163 |
164 | box-shadow: 0 0 15rpx 0 rgba(0, 0, 0, 0.1);
165 | position: relative;
166 | background-size: contain;
167 | z-index: 0;
168 | margin-bottom: 30rpx;
169 | padding-top: 80px;
170 | background-image: url('https://upload-images.jianshu.io/upload_images/4179819-f9776ab6601fe9c2.gif?imageMogr2/auto-orient/strip%7CimageView2/2/w/700');
171 | background-repeat: round;
172 | }
173 |
174 | .user-card__bg {
175 | position: absolute;
176 | left: 0;
177 | top: 0;
178 | right: 0;
179 | width: 100%;
180 | height: 1600rpx;
181 | z-index: -1;
182 | }
183 |
184 | .user-card__head {
185 | width: 120rpx;
186 | height: 120rpx;
187 | border: 1px solid #6482DD;
188 | border-radius: 50%;
189 | margin-left: 7%;
190 | margin-right: 30rpx;
191 | background-color: #fff;
192 | }
193 |
194 | .user-card__name {
195 | color: #000;
196 | font-size: 38rpx;
197 | }
198 |
199 | .user-card__links {
200 | display: flex;
201 | padding: 20rpx 0;
202 | border-bottom: 1px solid #ccc;
203 | }
204 |
205 | .user-card__linkItem {
206 | flex: 1;
207 | font-size: 32rpx;
208 | color: #333;
209 | text-align: center;
210 | border-right: 1px dotted #ccc;
211 | padding: 5rpx 0;
212 | }
213 |
214 | .user-card__linkItem:last-child {
215 | border-right: none;
216 | }
217 |
218 | .user-card__linkLabel {
219 | color: black;
220 | }
221 |
222 | .user-card__linkValue {
223 | padding-left: 15rpx;
224 | }
225 | .itemcard{
226 | margin-left: 60rpx;
227 | width: 50%;
228 | border-bottom: 1rpx solid #ccc;
229 | display: flex;
230 | flex-direction: row;
231 | height: 30px;
232 | font-size: 20px;
233 | padding-top:13px;
234 |
235 | }
236 | .item_line{
237 | padding-top: 70rpx;
238 | background-color: white;
239 | width: 100%;
240 | height: 800rpx;
241 | }
242 | .have_done{
243 | position: fixed;
244 | left: 10%;
245 | bottom: 10%;
246 | display: flex;
247 | flex-direction: column;
248 | border-radius: 5%;
249 | width: 80%;
250 | height: 80%;
251 | border: 1rpx solid #4a475b;
252 | align-items: center;
253 | background-color: wheat;
254 | background-size:cover;
255 | }
256 | .first_notice{
257 | margin: auto;
258 | margin-top: 70px;
259 | font-family: Songti TC;
260 | font-size: 38rpx;
261 | text-align: center;
262 | padding: 20px;
263 | color: balck;
264 | font-weight: 600
265 | }
266 | .start_botton{
267 | position: fixed;
268 | left: 25%;
269 | bottom: 25%;
270 | display: flex;
271 | flex-direction: column;
272 | border-radius: 50%;
273 | width: 60px;
274 | height: 60px;
275 | border: 6rpx solid gray;
276 | align-items: center;
277 | background-color: white;
278 | opacity: 0.8;
279 | }
280 | .cancle_botton{
281 | position: fixed;
282 | right: 25%;
283 | bottom: 25%;
284 | display: flex;
285 | flex-direction: column;
286 | border-radius: 50%;
287 | width: 60px;
288 | height: 60px;
289 | border: 6rpx solid gray;
290 | align-items: center;
291 | background-color: white;
292 | opacity: 0.8;
293 | }
294 | .look_me{
295 | margin: auto;
296 | font-family: Songti TC;
297 | font-size: 38rpx;
298 | color: black;
299 | font-weight: 600;
300 |
301 | }
302 |
303 | */
--------------------------------------------------------------------------------
/pages/my_word/my_word.js:
--------------------------------------------------------------------------------
1 | // pages/my_word/my_word.js
2 | Page({
3 |
4 | /**
5 | * 页面的初始数据
6 | */
7 | data: {
8 |
9 | },
10 |
11 | /**
12 | * 生命周期函数--监听页面加载
13 | */
14 | onLoad: function (options) {
15 | this.setData({
16 | list: wx.getStorageSync('word_list')
17 | })
18 | },
19 |
20 | /**
21 | * 生命周期函数--监听页面初次渲染完成
22 | */
23 | onReady: function () {
24 |
25 | },
26 |
27 | /**
28 | * 生命周期函数--监听页面显示
29 | */
30 | onShow: function () {
31 |
32 | },
33 |
34 | /**
35 | * 生命周期函数--监听页面隐藏
36 | */
37 | onHide: function () {
38 |
39 | },
40 |
41 | /**
42 | * 生命周期函数--监听页面卸载
43 | */
44 | onUnload: function () {
45 |
46 | },
47 |
48 | /**
49 | * 页面相关事件处理函数--监听用户下拉动作
50 | */
51 | onPullDownRefresh: function () {
52 |
53 | },
54 |
55 | /**
56 | * 页面上拉触底事件的处理函数
57 | */
58 | onReachBottom: function () {
59 |
60 | },
61 |
62 | /**
63 | * 用户点击右上角分享
64 | */
65 | onShareAppMessage: function () {
66 |
67 | },
68 |
69 | })
--------------------------------------------------------------------------------
/pages/my_word/my_word.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/pages/my_word/my_word.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | {{item.word}}
8 | 权重:{{item.ease}}
9 | {{item.day}}天前
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/pages/my_word/my_word.wxss:
--------------------------------------------------------------------------------
1 | /* pages/my_word/my_word.wxss */
2 | .collect{
3 | width: 100%;
4 | margin: 10px;
5 | font-size: 16px;
6 | display: flex;
7 | flex-direction: column;
8 | }
9 | .sim_word{
10 | width: 50%;
11 | text-align: left;
12 | margin: auto;
13 | }
14 | .quan{
15 | width: 20%;
16 | text-align: left;
17 | font-size: 14px;
18 | color: #5f9084;
19 | margin: auto;
20 | }
21 | .day_num{
22 | width: 20%;
23 | text-align: center;
24 | font-size: 13px;
25 | color: #444;
26 | margin: auto;
27 | }
28 |
29 | .pages{
30 | background-color: white;
31 | height: 100%;width: 100%;
32 | }
33 | .simple_look{
34 |
35 | display: flex;
36 | margin-left: 2%;
37 | margin-right: 2%;
38 | width: 96%;
39 | flex-direction: row;
40 | height: 36px;
41 | border-bottom: 1px solid rgb(132, 192, 182);
42 | text-align: left;
43 | background-color: white;
44 | opacity: 0.82
45 |
46 | }
47 | .definition{
48 | padding-left: 38px;
49 | font-size: 15px;
50 |
51 | }
52 | .last_line{
53 | width: 100%;
54 | height: 300px;
55 | background-image: url('https://upload-images.jianshu.io/upload_images/4179819-4c247b1477685278.gif?imageMogr2/auto-orient/strip%7CimageView2/2/w/700');
56 | background-repeat: round;
57 | }
58 | .my_bg{
59 | height: 1200rpx;
60 | width: 100%;
61 | background-color: #fff;
62 |
63 | background-size:cover;
64 | }
--------------------------------------------------------------------------------
/pages/rank/rank.js:
--------------------------------------------------------------------------------
1 | //var qcloud = require('../../vendor/wafer2-client-sdk/index')
2 | //var config = require('../../config')
3 | var util = require('../../utils/util.js')
4 | const app = getApp();
5 | Page({
6 | data: {
7 | currentTab: 0,
8 | friendsData: [],
9 | globalData: [],
10 | loadNumber: 0//全球排名数据加载次数
11 | },
12 | onLoad: function (opt) {
13 | wx.showShareMenu({
14 | withShareTicket: true
15 | })
16 | app.pageGetUserInfo(this)
17 | this.getRankGlobalData();
18 | },
19 | onShow() {
20 | this.getRankFriendsData();
21 | },
22 | onReachBottom: function () {//下拉加载
23 | const that = this
24 | if (that.data.currentTab) {
25 | that.getRankGlobalData()
26 | }
27 | },
28 |
29 | /*
30 | getRankGlobalData() {//加载全球排名的数据
31 | const that = this
32 | qcloud.request({
33 | login: false,
34 | url: app.appData.baseUrl + 'getRankGlobalData',
35 | data: {
36 | loadNumber: that.data.loadNumber
37 | },
38 | success: (res) => {
39 | that.setData({
40 | globalData: that.data.globalData.concat(res.data.data),//数据叠加
41 | loadNumber: that.data.loadNumber+1
42 | })
43 | },
44 | fail(error) {
45 | util.showModel('请求失败', error);
46 | console.log('request fail', error);
47 | },
48 | })
49 | },
50 | getRankFriendsData: function () {
51 | const that = this
52 | qcloud.request({
53 | login: false,
54 | url: app.appData.baseUrl + 'getRankFriendsData',
55 | data: {
56 | openId: this.data.openId
57 | },
58 | success: (res) => {
59 | this.setData({
60 | friendsData: res.data.data
61 | })
62 | },
63 | fail(error) {
64 | util.showModel('请求失败', error);
65 | console.log('request fail', error);
66 | },
67 | });
68 | },
69 | swichNav(e) {
70 | var that = this;
71 | that.setData({
72 | currentTab: e.target.dataset.current,
73 | })
74 | },
75 | */
76 | })
--------------------------------------------------------------------------------
/pages/rank/rank.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/pages/rank/rank.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 好友排名
5 | 全球排名
6 |
7 |
8 |
9 |
10 |
11 | {{index+1}}
12 |
13 |
14 |
15 |
16 |
17 | {{item.nickName}}
18 | 来自:{{item.city}}
19 |
20 |
21 | 最强王者
22 | 得分:{{item.score}}
23 |
24 |
25 |
26 |
27 |
28 |
29 | {{index+1}}
30 |
31 |
32 |
33 |
34 |
35 | {{item.nickName}}
36 | 来自:{{item.city?item.city:'德玛西亚'}}
37 |
38 |
39 | 最强王者
40 | 得分:{{item.score}}
41 |
42 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/pages/rank/rank.wxss:
--------------------------------------------------------------------------------
1 | page {
2 | background-color: wheat;
3 | background-size:100% 100%;
4 | background-attachment: fixed;
5 | color: white;
6 | }
7 |
8 | .tab {
9 | background:transparent;
10 | display: flex;
11 | justify-content: space-around;
12 | text-align: center;
13 | font-size: 32rpx;
14 | line-height: 80rpx;
15 | color: #999;
16 | font-weight: bold;
17 | }
18 |
19 | .tab view {
20 | width: 30%;
21 | }
22 |
23 | .on {
24 | color: #333;
25 | border-bottom: 4rpx solid #338fff;
26 | }
27 |
28 | .item {
29 | display: flex;
30 | justify-content: space-between;
31 | align-items: center;
32 | font-size: 30rpx;
33 | width: 80%;
34 | margin: 30rpx auto;
35 | border-radius: 10rpx;
36 | padding: 20rpx;
37 | background: #999;
38 | }
39 |
40 | .item image {
41 | width: 100rpx;
42 | height: 100rpx;
43 | border-radius: 50%;
44 | border: 8rpx solid #fff;
45 | }
46 |
47 | .itemDetail {
48 | display: flex;
49 | justify-content: space-between;
50 | }
51 |
52 | .itemDetail text {
53 | display: inline-block;
54 | margin: 10rpx;
55 | }
56 |
--------------------------------------------------------------------------------
/pages/search/search.js:
--------------------------------------------------------------------------------
1 | //index.js
2 | ///var qcloud = require('../../vendor/wafer2-client-sdk/index')
3 | //var config = require('../../config')
4 | var util = require('../../utils/util.js')
5 | const app = getApp();
6 | Page({
7 | data: {
8 | score: 0,
9 | currentTab: 1,
10 | friendsData: [],
11 | globalData: [],
12 | loadNumber: 0//全球排名数据加载次数
13 | },
14 | onLoad(opt) {
15 |
16 | /*
17 | app.appData.fromClickId = opt.currentClickId
18 | app.upDateUser_networkFromClickId = require('../../utils/upDateUser_networkFromClickId.js').upDateUser_networkFromClickId
19 | wx.showShareMenu({
20 | withShareTicket: true
21 | })
22 |
23 | wx.showShareMenu({
24 | withShareTicket: true
25 | })
26 | app.pageGetUserInfo(this)
27 | this.getRankGlobalData();
28 | */
29 | },
30 | onShow() {
31 |
32 | },
33 |
34 | /*
35 | onShareAppMessage(res) {
36 | const that = this;
37 | return {
38 | title: '谁才是头脑王者?比比看吧!',
39 | path: `/pages/entry/entry?currentClickId=${app.appData.currentClickId}`,
40 | success: (res) => {
41 | //转发时向用户关系表中更新一条转发记录(个人为person,群为GId)。
42 | require('../../utils/upDateShareInfoToUser_network.js').upDateShareInfoToUser_network(app, that, res)
43 | }
44 | }
45 | },
46 |
47 | */
48 | onReachBottom: function () {//下拉加载
49 | const that = this
50 | if (that.data.currentTab) {
51 | that.getRankGlobalData()
52 | }
53 | },
54 | /*
55 | getRankGlobalData() {//加载全球排名的数据
56 | const that = this
57 | qcloud.request({
58 | login: false,
59 | url: app.appData.baseUrl + 'getRankGlobalData',
60 | data: {
61 | loadNumber: that.data.loadNumber
62 | },
63 | success: (res) => {
64 | that.setData({
65 | globalData: that.data.globalData.concat(res.data.data),//数据叠加
66 | loadNumber: that.data.loadNumber + 1
67 | })
68 | },
69 | fail(error) {
70 | util.showModel('请求失败', error);
71 | console.log('request fail', error);
72 | },
73 | })
74 | },
75 | getRankFriendsData: function () {
76 | const that = this
77 | qcloud.request({
78 | login: false,
79 | url: app.appData.baseUrl + 'getRankFriendsData',
80 | data: {
81 | openId: this.data.openId
82 | },
83 | success: (res) => {
84 | this.setData({
85 | friendsData: res.data.data
86 | })
87 | },
88 | fail(error) {
89 | util.showModel('请求失败', error);
90 | console.log('request fail', error);
91 | },
92 | });
93 | },
94 | swichNav(e) {
95 | var that = this;
96 | that.setData({
97 | currentTab: e.target.dataset.current,
98 | })
99 | },
100 | word_test(){
101 | wx.navigateTo({
102 | url: '../test/test',
103 | })
104 | },
105 | searchinput(){
106 | wx.navigateTo({
107 | url: '../detail-word/detail-word',
108 | })
109 | }
110 | */
111 |
112 | })
--------------------------------------------------------------------------------
/pages/search/search.json:
--------------------------------------------------------------------------------
1 | {
2 |
3 | "backgroundTextStyle": "light",
4 | "backgroundColor": "#4a475b",
5 | "navigationBarBackgroundColor": "#4a475b",
6 | "navigationBarTitleText": "小鸡单词",
7 | "navigationBarTextStyle": "white",
8 | "enablePullDownRefresh": true
9 |
10 | }
--------------------------------------------------------------------------------
/pages/search/search.wxml:
--------------------------------------------------------------------------------
1 |
2 | 在此输入单词或句子
3 |
4 |
5 |
6 |
7 |
8 |
9 | 世界排名
10 | 好友排名
11 |
12 |
13 |
14 |
15 |
16 |
17 | {{index+1}}
18 |
19 |
20 |
21 |
22 |
23 | {{item.nickName}}
24 | 来自:{{item.city}}
25 |
26 |
27 | 最强词王
28 | 得分:{{item.score}}
29 |
30 |
31 |
32 |
33 |
34 |
35 | {{index+1}}
36 |
37 |
38 |
39 |
40 |
41 | {{item.nickName}}
42 | 来自:{{item.city?item.city:'德玛西亚'}}
43 |
44 |
45 | 最强词王
46 | 得分:{{item.score}}
47 |
48 |
49 |
50 |
51 |
52 |
53 | 挑战
54 |
55 | -->
56 |
57 |
58 |
--------------------------------------------------------------------------------
/pages/search/search.wxml.js:
--------------------------------------------------------------------------------
1 | // pages/search/search.wxml.js
2 | Page({
3 |
4 | /**
5 | * 页面的初始数据
6 | */
7 | data: {
8 |
9 | },
10 |
11 | /**
12 | * 生命周期函数--监听页面加载
13 | */
14 | onLoad: function (options) {
15 |
16 | },
17 |
18 | /**
19 | * 生命周期函数--监听页面初次渲染完成
20 | */
21 | onReady: function () {
22 |
23 | },
24 |
25 | /**
26 | * 生命周期函数--监听页面显示
27 | */
28 | onShow: function () {
29 |
30 | },
31 |
32 | /**
33 | * 生命周期函数--监听页面隐藏
34 | */
35 | onHide: function () {
36 |
37 | },
38 |
39 | /**
40 | * 生命周期函数--监听页面卸载
41 | */
42 | onUnload: function () {
43 |
44 | },
45 |
46 | /**
47 | * 页面相关事件处理函数--监听用户下拉动作
48 | */
49 | onPullDownRefresh: function () {
50 |
51 | },
52 |
53 | /**
54 | * 页面上拉触底事件的处理函数
55 | */
56 | onReachBottom: function () {
57 |
58 | },
59 |
60 | /**
61 | * 用户点击右上角分享
62 | */
63 | onShareAppMessage: function () {
64 |
65 | }
66 | })
--------------------------------------------------------------------------------
/pages/search/search.wxml.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/pages/search/search.wxml.wxml:
--------------------------------------------------------------------------------
1 |
2 | pages/search/search.wxml.wxml
3 |
--------------------------------------------------------------------------------
/pages/search/search.wxml.wxss:
--------------------------------------------------------------------------------
1 | /* pages/search/search.wxml.wxss */
--------------------------------------------------------------------------------
/pages/search/search.wxss:
--------------------------------------------------------------------------------
1 | @import "../rank/rank.wxss";
2 |
3 | .person-infor {
4 | display: flex;
5 | align-items: center;
6 | justify-content: space-between;
7 | padding: 16rpx;
8 | width: 90%;
9 | margin: 0 auto;
10 | background-color: #f6f6f6;
11 | border-radius: 10rpx;
12 | color: white;
13 | }
14 |
15 | .avatarUrl {
16 | width: 100rpx;
17 | height: 100rpx;
18 | border: 4rpx solid white;
19 | border-radius: 50%;
20 | }
21 |
22 | .qr {
23 | width: 100rpx;
24 | height: 100rpx;
25 | }
26 |
27 | .choose {
28 | position: relative;
29 | margin-top: 20rpx;
30 | color: #f6f6f6;
31 | }
32 |
33 | .choose view {
34 | font-weight: bold;
35 | font-size: 36rpx;
36 | position: absolute;
37 | left: 70%;
38 | top: 15%;
39 | }
40 |
41 | .choose image {
42 | width: 600rpx;
43 | height: 320rpx;
44 | border-radius: 10rpx;
45 | }
46 |
47 |
48 | .search-content{
49 | width: 100%;
50 | height: 330rpx;
51 | background-color: #4a475b;
52 | display: flex;
53 | flex-direction: column;
54 | }
55 | .word-input{
56 | margin: 0% 5% 5% 5%;
57 | background-color: #6d6b79;
58 | widows: 90%;
59 | height: 150rpx;
60 | border-radius: 6px;
61 | color: ghostwhite;
62 | opacity: 0.6;
63 | }
64 | .test_choice{
65 | margin: 0% 5% 5% 5%;
66 | widows: 90%;
67 | height: 120rpx;
68 | border-radius: 6px;
69 | display: flex;
70 | flex-direction: row;
71 | justify-content: space-between;
72 | }
73 | .test{
74 | background-color: #ffffff;
75 | height: 100rpx;
76 | width: 45%;
77 | border-radius: 6px;
78 | align-items: center;
79 | display: flex;
80 | flex-direction: row;
81 | color: grey;
82 | font-size: 30rpx;
83 | font-weight: 800;
84 | justify-content: center;
85 | }
86 | .quanquan{
87 | height: 70rpx;
88 | width: 70rpx;
89 | border-radius: 40rpx;
90 | margin: 15rpx 15rpx;
91 | background-color: red;
92 | color: white;
93 | font-size: 45rpx;
94 | font-weight: 800;
95 | text-align: center;
96 | }
97 | .paiming{
98 | width: 100%;
99 | height: 100%;
100 | background-color: #fff;
101 | }
102 | .first_one{
103 | display: flex;
104 | flex-direction: row;
105 | height: 40px;
106 | font-size: 16px;
107 | width: 100%;
108 | color:red;
109 | justify-content: space-between;
110 | font-weight: 700;
111 |
112 | }
113 |
114 | .first_paimin{
115 | height: 40px;
116 | width: 15px;
117 | color: goldenrod;
118 | margin: auto;
119 | padding: 12px;
120 | }
121 | .first_name{
122 | height: 40px;
123 | margin: auto;
124 | padding: 12px;
125 | color: #464765;
126 | }
127 |
128 | .button-test {
129 | position: fixed;
130 | left: 70%;
131 | bottom: 110rpx;
132 | display: flex;
133 | flex-direction: column;
134 | border-radius: 50%;
135 | width: 160rpx;
136 | height: 160rpx;
137 | border: 1rpx solid red;
138 | align-items: center;
139 | background-color: white;
140 | }
141 | .word-test {
142 | margin: auto;
143 | font-family: Songti TC;
144 | font-size: 32rpx;
145 | color: #585858;
146 | font-weight: 700;
147 | }
--------------------------------------------------------------------------------
/pages/study/itemtpl.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{item.first}} {{item.mid}} {{item.last}}
6 | {{item.translation}}
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/pages/study/study.json:
--------------------------------------------------------------------------------
1 | {
2 | "backgroundTextStyle": "light",
3 | "backgroundColor": "#a4d8fa",
4 | "navigationBarBackgroundColor": "#a4d8fa",
5 | "navigationBarTitleText": "小鸡单词",
6 | "navigationBarTextStyle": "black"
7 | }
--------------------------------------------------------------------------------
/pages/study/study.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{content}}
4 |
5 |
6 | /{{pron.uk}}/
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | {{content}}
16 |
17 |
18 | 英/{{pron.uk}}/
19 |
20 | 美/{{pron.us}}/
21 |
22 | {{definition}}
23 |
24 |
25 |
26 |
27 |
28 | 更多例句
29 |
30 |
31 |
32 | {{defen[0].first}} {{defen[0].mid}} {{defen[0].last}}
33 | {{defen[0].translation}}
34 |
35 | {{defen[2].first}} {{defen[2].mid}} {{defen[2].last}}
36 | {{defen[2].translation}}
37 |
38 | {{defen[3].first}} {{defen[3].mid}} {{defen[3].last}}
39 | {{defen[3].translation}}
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 | 你今天需要选择 {{today_new_num}}个新单词!
73 | 在词库中选取
74 |
75 |
76 | 每天的新词数根据平常学习情况而定
77 |
78 |
79 |
80 |
81 |
82 |
83 | 大声把英文发音和中文解释说出口!
84 | 点击屏幕查看答案
85 |
86 |
87 |
88 | {{bottomline}}
89 |
90 |
91 |
92 |
93 |
94 | 太棒啦!今天的任务都完成了
95 | 这是你的第{{complete_day_num}}天签到
96 | 获得10个单词上限
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 | 将小鸡单词分享给好友可以获得5个单词上限哦
108 |
109 |
110 |
111 |
112 |
113 |
--------------------------------------------------------------------------------
/pages/study/study.wxss:
--------------------------------------------------------------------------------
1 |
2 | @font-face {
3 | font-family: Chalkboard;
4 | src: url('/assets/font/chalkboard.ttf'),
5 | }
6 | page{
7 | height: 100%;
8 | font-family: Arial;
9 | }
10 | .detail_card{
11 |
12 | display: flex;
13 | flex-direction: column;
14 | width: 100%;
15 | height: 100%;
16 | background-color: #fff;
17 | }
18 |
19 | .head{
20 | background: #a4d8fa;
21 | padding-left: 20px;
22 | padding-right: 20px;
23 | padding-bottom: 10px;
24 | border-bottom: 1px solid #8F8F8F;
25 | }
26 | .body{
27 | background-color: #fff;
28 | padding-left: 20px;
29 | height: 100%;
30 | letter-spacing: 0.5px;
31 | line-height: 18px;
32 | }
33 | .detail_word{
34 | font-weight: 900;
35 | font-size: 35px;
36 | font-family: Chalkboard;
37 | padding-bottom: 30rpx;
38 |
39 | }
40 | .detail_pron{
41 | font-size: 14px;
42 | font-family: Chalkboard;
43 | padding-bottom: 30rpx;
44 | padding-right: 20px;
45 | width: 90%;
46 | display: flex;
47 | flex-direction: row;
48 | }
49 | .detail_definition{
50 | font-size: 14px;
51 | font-family: Chalkboard;
52 | padding-bottom: 30rpx;
53 |
54 | }
55 | .liju_content{
56 | width: 85%;
57 | font-size: 14px;
58 | font-family: Arial;
59 | background-color: #fff;
60 | }
61 | .detail_defin{
62 | font-size: 13px;
63 |
64 | display: inline-block;
65 | flex-direction: row;
66 | font-family: Arial;
67 | flex-wrap: wrap;
68 | }
69 | .detail_trans{
70 | font-size: 13px;
71 | font-family: Arial;
72 | }
73 | .detail_defin_content{
74 | display: flex;
75 | flex-direction: row;
76 | }
77 |
78 | .job_day{
79 | width: 100%;
80 | height: 18%;
81 | border-bottom: 2rpx solid #8F8F8F;
82 | display: flex;
83 | flex-direction: column;
84 | /* background-image: url(https://picture-1256429518.cos.ap-chengdu.myqcloud.com/blog/wxbg2.jpg); */
85 | background-color: #a4d8fa;
86 | background-repeat: no-repeat;
87 | background-size: 100% auto;
88 | align-items: center;
89 | box-sizing: border-box;
90 |
91 | }
92 | .day_num{
93 | width: 100%;
94 | margin-top: 8px;
95 | font-size: 70rpx;
96 | text-align: center;
97 | color: #000;
98 | font-family: Chalkboard;
99 | font-weight: 800;
100 | }
101 |
102 | .detect{
103 | height: 80%;
104 | background-color: #fff;
105 | font-family: Arial;
106 | font-size: 16px;
107 | padding-top: 300rpx;
108 | color: #555;
109 | font-weight: 500;
110 | }
111 |
112 | .detect2{
113 | height: 80%;
114 | background-color: #fff;
115 | font-family: Arial;
116 | font-size: 16px;
117 | padding-top: 60px;
118 | color: #555;
119 | font-weight: 600;
120 | }
121 |
122 | .content{
123 | height: 80%;
124 | background-color: #fff;
125 | align-items: center;
126 | align-content: center;
127 | text-align: center;
128 | letter-spacing: 3px;
129 | line-height: 25.59375px;
130 | }
131 |
132 | .content_cpt{
133 | height: 95%;
134 | background-color: #fff;
135 | align-items: center;
136 | align-content: center;
137 | text-align: center;
138 | }
139 |
140 | .pron-container {
141 | display: flex;
142 | flex-direction: row;
143 | align-items: center;
144 | }
145 |
146 | .pron-icon {
147 | width: 48rpx;
148 | height: 48rpx;
149 | }
150 |
151 | .word-pron {
152 | margin-left: 9rpx;
153 | font-family: Chalkboard;
154 | font-size: 36rpx;
155 | color: #8F8F8F;
156 | }
157 |
158 | .word-definition {
159 | position: fixed;
160 | height: 50%;
161 | width: 100%;
162 | bottom: 600rpx;
163 | margin-top: 194rpx;
164 | font-family: Yuanti TC;
165 | font-size: 30rpx;
166 | color: #585858;
167 | }
168 |
169 | .button-miss {
170 | position: fixed;
171 | left: 15%;
172 | bottom: 110rpx;
173 | display: flex;
174 | flex-direction: column;
175 | border-radius: 50%;
176 | width: 160rpx;
177 | height: 160rpx;
178 | border: 1rpx solid red;
179 | align-items: center;
180 | background-color: white;
181 | }
182 |
183 | .word-miss {
184 | margin: auto;
185 | font-family: Songti TC;
186 | font-size: 32rpx;
187 | color: #585858;
188 | background-color: white;
189 | font-weight: 700;
190 | }
191 |
192 | .button-next {
193 | position: fixed;
194 | left: 65%;
195 | bottom: 110rpx;
196 | display: flex;
197 | flex-direction: column;
198 | border-radius: 50%;
199 | width: 160rpx;
200 | height: 160rpx;
201 | border: 1rpx solid red;
202 | align-items: center;
203 | background-color: white;
204 | }
205 | .word-next {
206 | margin: auto;
207 | font-family: Songti TC;
208 | font-size: 32rpx;
209 | color: #585858;
210 | font-weight: 700;
211 | }
212 | .defin_item{
213 | height: 30px;
214 | width: 80%;
215 | font-size: 18px;
216 | font-family: Songti TC;
217 | padding-bottom: 10px;
218 | }
219 | .notice_line{
220 | height: 30px;
221 | width: 87%;
222 | border-bottom: 1px solid red;
223 |
224 | }
225 | .ok{
226 | font-size: 60rpx;
227 | line-height: 90rpx;
228 | text-align: center;
229 | align-content: center;
230 | box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
231 | position: fixed;
232 | bottom: 2px;
233 | left: 0px;
234 | display: flex;
235 | flex-direction: row;
236 | width: 100%;
237 | height: 40px;
238 | border: 2rpx solid #55bbdd;
239 | align-items: center;
240 | background-color: white;
241 |
242 | }
243 |
244 | .bottomline{
245 | font-family: Arial;
246 | font-size: 14px;
247 | color: #555;
248 | font-weight: 500;
249 | padding-left: 10px;
250 | height: 35px;
251 | }
252 |
253 | .ok_word{
254 | margin: auto;
255 | font-family: Songti TC;
256 | font-size: 32rpx;
257 | color: black;
258 | font-weight: 800
259 | }
260 | .sc2{
261 | position: fixed;
262 | left: 80%;
263 | top: 30px;
264 | width: 50rpx;
265 | height:50rpx;
266 | margin-left: -45rpx;
267 | font-size: 60rpx;
268 | line-height: 90rpx;
269 | text-align: center;
270 |
271 | color: red;
272 | }
273 | .zf{
274 | position: fixed;
275 | left: 93%;
276 | top: 30px;
277 | width: 50rpx;
278 | height:50rpx;
279 | margin-left: -45rpx;
280 | font-size: 60rpx;
281 | line-height: 90rpx;
282 | text-align: center;
283 | background-color: #a4d8fa;
284 |
285 | color: red;
286 | }
287 | .complete{
288 | position: fixed;
289 | left: 15%;
290 | bottom: 15%;
291 | display: flex;
292 | flex-direction: column;
293 | border-radius: 5%;
294 | width: 70%;
295 | height: 50%;
296 | border: 1rpx solid #4a475b;
297 | align-items: center;
298 | background-color: #4a475b;
299 | opacity: 0.7
300 | }
301 | .congratulate{
302 | margin: auto;
303 | font-family: Songti TC;
304 | font-size: 32rpx;
305 | color: white;
306 | font-weight: 800
307 | }
308 | .share{
309 | position: fixed;
310 | left: 21%;
311 | bottom: 18%;
312 | display: flex;
313 | flex-direction: column;
314 | border-radius: 50%;
315 | width: 80px;
316 | height: 80px;
317 | border: 3rpx solid white;
318 | align-items: center;
319 | background-color: white
320 |
321 |
322 | }
323 | .challenge{
324 | position: fixed;
325 | right: 21%;
326 | bottom: 18%;
327 | display: flex;
328 | flex-direction: column;
329 | border-radius: 50%;
330 | width: 80px;
331 | height: 80px;
332 | border: 3rpx solid white;
333 | align-items: center;
334 |
335 |
336 | }
337 | .complete_bg{
338 | height: 1200rpx;
339 | width: 100%;
340 | background-image: url('https://upload-images.jianshu.io/upload_images/4179819-9f18bb7a70c502fc.gif?imageMogr2/auto-orient/strip%7CimageView2/2/w/400');
341 | background-size:cover;
342 | }
343 | .share_word{
344 | margin: auto;
345 | font-family: Songti TC;
346 | font-size: 32rpx;
347 | color: black;
348 | font-weight: 800
349 | }
350 | .myButton1 {
351 | border-radius: 3px;
352 | background-color: #a4d8fa;
353 | display:inline-block;
354 | color:#ffffff;
355 | font-family:Arial;
356 | font-size:15px;
357 | font-weight: 400;
358 | width: 30%;
359 | }
360 |
361 | .myButton2 {
362 |
363 | border-radius: 3px;
364 | background-color: #ffc477;
365 |
366 | display:inline-block;
367 |
368 | color:#ffffff;
369 | font-family:Arial;
370 | font-size:15px;
371 | font-weight: 400;
372 | width: 30%;
373 |
374 | }
375 |
376 | .myButton3 {
377 |
378 | border-radius: 3px;
379 | background-color: #fc8d83;
380 | display:inline-block;
381 |
382 | color:#ffffff;
383 | font-family:Arial;
384 | font-size:15px;
385 | font-weight: 400;
386 | width: 30%;
387 |
388 | }
389 |
390 | .title {
391 | text-align: center;
392 | position: relative;
393 | margin-top: 20rpx;
394 | margin-bottom: 20rpx;
395 | }
396 | .back-btn {
397 | position: absolute;
398 | left: 20rpx;
399 | top: 0;
400 | }
401 |
402 | .canvas_content{
403 | width: 100%;
404 | position: fixed;
405 | bottom: 0px;
406 | left: 0px;
407 | }
408 |
--------------------------------------------------------------------------------
/pages/suggestion/suggestion.js:
--------------------------------------------------------------------------------
1 | // pages/suggestion/suggestion.js
2 | var Bmob = require('../../dist/Bmob-1.6.4.min.js');
3 | Bmob.initialize("你的bmob云appid", "你的bmob云密钥");
4 |
5 | Page({
6 |
7 | /**
8 | * 页面的初始数据
9 | */
10 | data: {
11 |
12 | },
13 |
14 | /**
15 | * 生命周期函数--监听页面加载
16 | */
17 | onLoad: function (options) {
18 |
19 | },
20 |
21 | /**
22 | * 生命周期函数--监听页面初次渲染完成
23 | */
24 | onReady: function () {
25 |
26 | },
27 |
28 | /**
29 | * 生命周期函数--监听页面显示
30 | */
31 | onShow: function () {
32 |
33 | },
34 |
35 | /**
36 | * 生命周期函数--监听页面隐藏
37 | */
38 | onHide: function () {
39 |
40 | },
41 |
42 | /**
43 | * 生命周期函数--监听页面卸载
44 | */
45 | onUnload: function () {
46 |
47 | },
48 |
49 | /**
50 | * 页面相关事件处理函数--监听用户下拉动作
51 | */
52 | onPullDownRefresh: function () {
53 |
54 | },
55 |
56 | /**
57 | * 页面上拉触底事件的处理函数
58 | */
59 | onReachBottom: function () {
60 |
61 | },
62 |
63 | /**
64 | * 用户点击右上角分享
65 | */
66 | onShareAppMessage: function () {
67 |
68 | },
69 | voteTitle: function (e) {
70 | this.setData({ voteTitle: e.detail.value })
71 |
72 | },
73 | ok(){
74 | wx.showToast({ title: '提交成功' })
75 | const query = Bmob.Query('suggestion');
76 | query.set("content", this.data.voteTitle)
77 | query.set("name", wx.getStorageSync("userInfo").nickName)
78 | query.save().then(res => {
79 | console.log(res)
80 | }).catch(err => {
81 | console.log(err)
82 | })
83 | }
84 |
85 | })
--------------------------------------------------------------------------------
/pages/suggestion/suggestion.json:
--------------------------------------------------------------------------------
1 | {
2 | "backgroundTextStyle": "light",
3 | "backgroundColor": "#f7dab0",
4 | "navigationBarBackgroundColor": "#f7dab0",
5 | "navigationBarTitleText": "小鸡单词",
6 | "navigationBarTextStyle": "white"
7 | }
--------------------------------------------------------------------------------
/pages/suggestion/suggestion.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | 提交~
7 |
8 |
--------------------------------------------------------------------------------
/pages/suggestion/suggestion.wxss:
--------------------------------------------------------------------------------
1 | /* pages/suggestion/suggestion.wxss */
2 |
3 | .my_bg{
4 | height: 1200rpx;
5 | width: 100%;
6 | background-color: #f7dab0;
7 |
8 | }
9 | .input_content{
10 | margin-left: 10%;
11 | width: 80%;
12 | height: 400rpx;
13 | background-color: #fff;
14 | border: 2px solid #979797;
15 | border-radius: 20rpx;
16 | opacity: 0.9
17 | }
18 | .input{
19 | height: 100%;
20 | width: 100%;
21 | }
22 | .ok{
23 | position: fixed;
24 | left: 25%;
25 | top:500rpx;
26 | display: flex;
27 | flex-direction: column;
28 | border-radius: 50rpx;
29 | width: 50%;
30 | height: 100rpx;
31 | border: 5px solid #979797;
32 | align-items: center;
33 | background-color: greenyellow;
34 | }
35 | .word-ok {
36 | margin: auto;
37 | font-family: Songti TC;
38 | font-size: 32rpx;
39 | color: #000;
40 | font-weight: 800;
41 | }
--------------------------------------------------------------------------------
/pages/test/test.js:
--------------------------------------------------------------------------------
1 | // pages/test/test.js
2 |
3 | var Bmob = require('../../dist/Bmob-1.6.4.min.js');
4 | Bmob.initialize("你的bmob云appid", "你的bmob云密钥");
5 | var list = require('../../data/vocabulary.js')
6 | //var qcloud = require('../../vendor/wafer2-client-sdk/index')
7 | //var config = require('../../config')
8 | var util = require('../../utils/util.js')
9 | const app = getApp();
10 |
11 | Page({
12 |
13 | /**
14 | * 页面的初始数据
15 | */
16 | data: {
17 | da1:"",
18 | da2: "",
19 | da3: "",
20 | da4: "",
21 | daan:false,
22 | showDaan:false,
23 | complete:false,
24 | true_num:0,
25 | score:0,
26 | currentTab: 0,
27 | friendsData: [],
28 | globalData: [],
29 | loadNumber: 0, //全球排名数据加载次数
30 | history:0
31 | },
32 |
33 | /**
34 | * 生命周期函数--监听页面加载
35 | */
36 | onLoad: function (options) {
37 | this.search()
38 |
39 | },
40 |
41 | /**
42 | * 生命周期函数--监听页面初次渲染完成
43 | */
44 | onReady: function () {
45 |
46 | },
47 |
48 | /**
49 | * 生命周期函数--监听页面显示
50 | */
51 | onShow: function () {
52 |
53 | },
54 |
55 | /**
56 | * 生命周期函数--监听页面隐藏
57 | */
58 | onHide: function () {
59 |
60 | },
61 |
62 | /**
63 | * 生命周期函数--监听页面卸载
64 | */
65 | onUnload: function () {
66 |
67 | },
68 |
69 | /**
70 | * 页面相关事件处理函数--监听用户下拉动作
71 | */
72 | onPullDownRefresh: function () {
73 |
74 | },
75 |
76 | /**
77 | * 页面上拉触底事件的处理函数
78 | */
79 | onReachBottom: function () {
80 |
81 | },
82 |
83 | /**
84 | * 用户点击右上角分享
85 | */
86 | onShareAppMessage: function (options) {
87 | return {
88 | title:"我在小鸡单词测试,答对了"+this.data.true_num+"道题,你也快来测一测吧!",
89 | }
90 |
91 | },
92 | choice(e){
93 | console.log(e)
94 | if(e.currentTarget.id===this.data.true_word){
95 | this.setData({ daan: true, true_num: this.data.true_num + 1})
96 | const innerAudioContext = wx.createInnerAudioContext()
97 | innerAudioContext.autoplay = true
98 | innerAudioContext.src = 'http://media-audio1.qiniu.baydn.com/us/n/ni/nice_v3.mp3'
99 | innerAudioContext.onPlay(() => {
100 | })
101 | }else{
102 | //this.set_score(this.data.true_num)
103 | this.setData({daan:false})
104 | this.setData({ complete: true })
105 | const innerAudioContext = wx.createInnerAudioContext()
106 | innerAudioContext.autoplay = true
107 | innerAudioContext.src = 'https://media-audio1.baydn.com/us%2Fs%2Fsa%2Fsad_v4.mp3'
108 | innerAudioContext.onPlay(() => {
109 | })
110 | if(this.data.true_num>this.data.score){
111 | this.set_score(this.data.true_num)
112 | this.setData({ history: this.data.true_num})
113 | }else{
114 | this.setData({ history: this.data.score })
115 | }
116 |
117 |
118 | this.getRankGlobalData();
119 |
120 | }
121 | this.setData({showDaan:true})
122 | },
123 | search(){
124 | var idx = Math.floor(Math.random() * 12345) + 1
125 | var word = list.wordList[idx]
126 | var that=this
127 | wx.request({
128 | url: 'https://api.shanbay.com/bdc/search/?word=' + word,
129 | data: {},
130 | method: 'GET',
131 | success: function (res) {
132 | that.setData({
133 | title: res.data.data.definition.split(",")[0].split("\n")[0],
134 | true_word:word
135 | })
136 | var num = Math.floor(Math.random() * 400) + 1
137 | if(num<100){
138 | that.setData({
139 | da1:res.data.data.content,
140 | da2: list.wordList[Math.floor(Math.random() * 12345) + 1] ,
141 | da3: list.wordList[Math.floor(Math.random() * 12345) + 1],
142 | da4: list.wordList[Math.floor(Math.random() * 12345) + 1],
143 | })
144 | }
145 | if (100200) {
154 | that.setData({
155 | da3: res.data.data.content,
156 | da2: list.wordList[Math.floor(Math.random() * 12345) + 1],
157 | da1: list.wordList[Math.floor(Math.random() * 12345) + 1],
158 | da4: list.wordList[Math.floor(Math.random() * 12345) + 1],
159 | })
160 | }
161 | if (num>300) {
162 | that.setData({
163 | da4: res.data.data.content,
164 | da2: list.wordList[Math.floor(Math.random() * 12345) + 1],
165 | da3: list.wordList[Math.floor(Math.random() * 12345) + 1],
166 | da1: list.wordList[Math.floor(Math.random() * 12345) + 1],
167 | })
168 | }
169 | }
170 | })
171 | },
172 | next(){
173 | this.setData({ showDaan: false})
174 |
175 | this.search()
176 | },
177 | complete(){
178 |
179 | },
180 | again(){
181 | this.setData({
182 | showDaan: false,
183 | complete: false,
184 | num: 1,
185 | true_num: 0
186 | })
187 | this.search()
188 | },
189 | set_score(score) {
190 |
191 | if(!wx.getStorageSync("diary_id"))
192 | {
193 | const query = Bmob.Query('diary');
194 | query.set("score", score)
195 | query.set("head_url", wx.getStorageSync('userInfo').avatarUrl)
196 | query.set("title", wx.getStorageSync('userInfo').nickName)
197 | query.save().then(res => {
198 | console.log(res)
199 |
200 | }).catch(err => {
201 | console.log(err)
202 | wx.setStorage({
203 | key: 'diary_id',
204 | data: res.objectId,
205 | })
206 | })
207 | }
208 | else{
209 | const query = Bmob.Query('tableName');
210 | query.get(wx.getStorageSync("diary_id")).then(res => {
211 | console.log(res)
212 | res.set("score", score)
213 | res.set("head_url", wx.getStorageSync('userInfo').avatarUrl)
214 | res.set("title", wx.getStorageSync('userInfo').nickName)
215 | res.save()
216 | }).catch(err => {
217 | console.log(err)
218 | })
219 | }
220 |
221 | /*
222 | var openId = this.data.openId
223 | if (openId) {
224 | qcloud.request({
225 | login: false,
226 | url: `${app.appData.baseUrl}set_score`,
227 | data: {
228 | openId,
229 | score,
230 | },
231 | success: (res) => {
232 | console.log(res)
233 |
234 | },
235 | fail(error) {
236 | util.showModel('请求失败', error);
237 | },
238 | });
239 | }
240 | */
241 | },
242 | getScore(openId) {
243 | /*
244 | if (openId) {
245 | qcloud.request({
246 | login: false,
247 | url: `${app.appData.baseUrl}get_score`,
248 | data: {
249 | openId
250 | },
251 | success: (res) => {
252 | let score = res.data.data;
253 | this.setData({
254 | score
255 | })
256 | },
257 | fail(error) {
258 | util.showModel('请求失败', error);
259 | },
260 | });
261 |
262 | }
263 | */
264 | },
265 | onReachBottom: function () {//下拉加载
266 |
267 | },
268 | getRankGlobalData() {//加载全球排名的数据
269 |
270 | const query = Bmob.Query('diary');
271 | //query.limit(10);
272 | query.order("score");
273 | query.find().then(res => {
274 | console.log(res);
275 | var len=res.length;
276 | for(var i=0;i<5;i++){
277 | for(var j=i+1;j {
300 | that.setData({
301 | globalData: that.data.globalData.concat(res.data.data),//数据叠加
302 | loadNumber: that.data.loadNumber + 1
303 | })
304 | },
305 | fail(error) {
306 | util.showModel('请求失败', error);
307 | console.log('request fail', error);
308 | },
309 | })
310 | */
311 | },
312 |
313 | })
314 |
315 |
--------------------------------------------------------------------------------
/pages/test/test.json:
--------------------------------------------------------------------------------
1 | {
2 |
3 | "backgroundTextStyle": "light",
4 | "backgroundColor": "#55bbdd",
5 | "navigationBarBackgroundColor": "#a4d8fa",
6 | "navigationBarTitleText": "小鸡单词",
7 | "navigationBarTextStyle": "white"
8 | }
--------------------------------------------------------------------------------
/pages/test/test.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{title}}
6 |
7 |
8 | {{true_num}}
9 |
10 |
11 | {{da4}}
12 |
13 |
14 | {{da3}}
15 |
16 |
17 | {{da2}}
18 |
19 |
20 | {{da1}}
21 |
22 |
23 |
24 |
25 | {{true_word}}
26 |
27 |
28 | 回答正确
29 |
30 |
31 | 回答错误
32 |
33 |
34 | 下一个
35 |
36 |
37 |
38 |
39 | {{true_num}}
40 | 好友挑战
41 | 历史最高分:{{history}}
42 |
43 |
44 | 排行榜·每周一更新
45 | 得分
46 |
47 |
48 |
49 | 1
50 |
51 | {{globalData[0].title}}
52 |
53 | {{globalData[0].score}}
54 |
55 |
56 |
57 | 2
58 |
59 | {{globalData[1].title}}
60 |
61 | {{globalData[1].score}}
62 |
63 |
64 |
65 | 3
66 |
67 | {{globalData[2].title}}
68 |
69 | {{globalData[2].score}}
70 |
71 |
72 |
73 | 4
74 |
75 | {{globalData[3].title}}
76 |
77 | {{globalData[3].score}}
78 |
79 |
80 |
81 | 我
82 |
83 | {{userInfo.nickName}}
84 |
85 | {{history}}
86 |
87 |
88 |
89 | 再来一局
90 |
91 |
94 |
95 |
96 |
97 |
98 |
99 |
--------------------------------------------------------------------------------
/pages/test/test.wxss:
--------------------------------------------------------------------------------
1 | /* pages/test/test.wxss */
2 | .page{
3 | height:1200rpx;
4 | background-color: #a4d8fa;
5 | }
6 | .job_day{
7 | width: 100%;
8 | height: 380rpx;
9 | display: flex;
10 | flex-direction: column;
11 | background-color:#a4d8fa;
12 | align-items: center;
13 | box-sizing: border-box;
14 |
15 | }
16 | .day_num{
17 | width: 100%;
18 | margin-top: 70px;
19 | font-size: 25px;
20 | text-align: center;
21 | color: #444;
22 | font-family: Chalkboard;
23 | font-weight: 800;
24 | }
25 |
26 | .content{
27 | height:795rpx;
28 | background-color:#a4d8fa;
29 | }
30 |
31 | .pron-container {
32 | display: flex;
33 | flex-direction: row;
34 | align-items: center;
35 | }
36 | .sc2{
37 | position: fixed;
38 | right: 5%;
39 | top: 25%;
40 | width: 70rpx;
41 | height:70rpx;
42 | margin-left: -45rpx;
43 | font-size: 60rpx;
44 | line-height: 90rpx;
45 | text-align: center;
46 | background-color: #a4d8fa;
47 | color: red;
48 | }
49 | .num_notice{
50 | position: fixed;
51 | left: 10%;
52 | top:3%;
53 | width: 42px;
54 | height:42px;
55 | margin-left: -45rpx;
56 | line-height: 90rpx;
57 | text-align: center;
58 | color: black;
59 | font-size: 40px;
60 | font-weight: 800;
61 | }
62 | .pron-icon {
63 | width: 48rpx;
64 | height: 48rpx;
65 | }
66 |
67 | .word-pron {
68 | margin-left: 9rpx;
69 | font-family: Chalkboard;
70 | font-size: 36rpx;
71 | color: #8F8F8F;
72 | }
73 |
74 | .word-definition {
75 | position: fixed;
76 | height: 50%;
77 | width: 100%;
78 | bottom: 600rpx;
79 | margin-top: 194rpx;
80 | font-family: Yuanti TC;
81 | font-size: 30rpx;
82 | color: #585858;
83 | }
84 |
85 | .button-1 {
86 | position: fixed;
87 | left: 15%;
88 | bottom: 80rpx;
89 | display: flex;
90 | flex-direction: column;
91 | border-radius: 50rpx;
92 | width: 70%;
93 | height: 100rpx;
94 | border: 5px solid #979797;
95 | align-items: center;
96 | background-color: #f6f6f6;
97 | }
98 |
99 | .word-miss {
100 | margin: auto;
101 | font-family: Songti TC;
102 | font-size: 32rpx;
103 | color: #000;
104 | font-weight: 700;
105 | }
106 |
107 | .button-2 {
108 | position: fixed;
109 | left: 15%;
110 | bottom: 220rpx;
111 | display: flex;
112 | flex-direction: column;
113 | border-radius: 50rpx;
114 | width: 70%;
115 | height: 100rpx;
116 | border: 5px solid #979797;
117 | align-items: center;
118 | background-color: #f6f6f6;
119 | }
120 | .button-3 {
121 | position: fixed;
122 | left: 15%;
123 | bottom: 360rpx;
124 | display: flex;
125 | flex-direction: column;
126 | border-radius: 50rpx;
127 | width: 70%;
128 | height: 100rpx;
129 | border:5px solid #979797;
130 | align-items: center;
131 | background-color: #f6f6f6;
132 | }
133 | .button-4 {
134 | position: fixed;
135 | left: 15%;
136 | bottom: 500rpx;
137 | display: flex;
138 | flex-direction: column;
139 | border-radius: 50rpx;
140 | width: 70%;
141 | height: 100rpx;
142 | border: 5px solid #979797;
143 | align-items: center;
144 | background-color: #f6f6f6;
145 | }
146 | .button-8 {
147 | position: fixed;
148 | left: 15%;
149 | bottom: 100rpx;
150 | display: flex;
151 | flex-direction: column;
152 | border-radius: 50rpx;
153 | width: 70%;
154 | height: 100rpx;
155 | border: 5px solid #979797;
156 | align-items: center;
157 | background-color: #f6f6f6;
158 | }
159 | .button-6 {
160 | position: fixed;
161 | left: 15%;
162 | bottom: 250rpx;
163 | display: flex;
164 | flex-direction: column;
165 | border-radius: 50rpx;
166 | width: 70%;
167 | height: 100rpx;
168 | border: 5px solid #979797;
169 | align-items: center;
170 | background-color: #f6f6f6;
171 | }
172 | .button-7 {
173 | position: fixed;
174 | left: 15%;
175 | bottom: 250rpx;
176 | display: flex;
177 | flex-direction: column;
178 | border-radius: 50rpx;
179 | width: 70%;
180 | height: 100rpx;
181 | border: 5px solid #979797;
182 | align-items: center;
183 | background-color: #f6f6f6;
184 | }
185 | .button-5 {
186 | position: fixed;
187 | left: 15%;
188 | bottom: 400rpx;
189 | display: flex;
190 | flex-direction: column;
191 | border-radius: 50rpx;
192 | width: 70%;
193 | height: 100rpx;
194 | border: 5px solid #979797;
195 | align-items: center;
196 | background-color: #f6f6f6;
197 | }
198 | .share{
199 | position: fixed;
200 | left: 42%;
201 | bottom: 600rpx;
202 | display: flex;
203 | flex-direction: column;
204 | border-radius: 50%;
205 | width: 150rpx;
206 | height: 150rpx;
207 | border: 1rpx solid gainsboro;
208 | align-items: center;
209 | background-color: ghostwhite;
210 | }
211 |
212 | .have_done{
213 | position: fixed;
214 | left: 0%;
215 | bottom: 0%;
216 | display: flex;
217 | flex-direction: column;
218 | width: 100%;
219 | height: 100%;
220 | align-items: center;
221 | background-color: black;
222 | opacity: 0.9;
223 | color: white
224 | }
225 | .first_notice{
226 | margin: auto;
227 | margin-top: 20px;
228 | font-family: Songti TC;
229 | font-size: 70px;
230 | text-align: center;
231 | color: white;
232 | font-weight: 800
233 | }
234 | .start_botton{
235 | position: fixed;
236 | left: 25%;
237 | bottom: 15%;
238 | display: flex;
239 | flex-direction: column;
240 | border-radius: 30px;
241 | width: 50%;
242 | height: 45px;
243 | align-items: center;
244 | background-color: white;
245 |
246 | }
247 | .cancle_botton{
248 | position: fixed;
249 | left: 25%;
250 | bottom: 5%;
251 | display: flex;
252 | flex-direction: column;
253 | border-radius: 30px;
254 | width: 50%;
255 | height: 45px;
256 |
257 | align-items: center;
258 | background-color: white;
259 | }
260 | .look_me{
261 | margin: auto;
262 | font-family: Songti TC;
263 | font-size: 38rpx;
264 | color: black;
265 | font-weight: 600;
266 |
267 | }
268 | .haoyou{
269 | position: fixed;
270 | left: 40%;
271 | top: 19%;
272 | display: flex;
273 | flex-direction: column;
274 | border-radius: 10px;
275 | width: 20%;
276 | height: 20px;
277 | align-items: center;
278 | border: 1rpx solid white;
279 | font-size: 16px;
280 | }
281 | .history{
282 | position: fixed;
283 | left: 30%;
284 | top: 25%;
285 | display: flex;
286 | flex-direction: column;
287 | border-radius: 10px;
288 | width: 40%;
289 | height: 20px;
290 | align-items: center;
291 | border-bottom: 1rpx solid white;
292 | font-size: 16px;
293 | }
294 | .paihan{
295 | position: fixed;
296 | left: 5%;
297 | top: 33%;
298 | display: flex;
299 | flex-direction: column;
300 | border-radius: 2px;
301 | width: 90%;
302 | height: 38%;
303 | border: 1rpx solid grey;
304 | font-size: 16px;
305 | }
306 | .paihan_word{
307 | display: flex;
308 | flex-direction: row;
309 | height: 20px;
310 | font-size: 14px;
311 | width: 100%;
312 | color: gainsboro;
313 | border-bottom: 1rpx solid white;
314 | justify-content: space-between;
315 | }
316 |
317 | .first_one{
318 | display: flex;
319 | flex-direction: row;
320 | height: 40px;
321 | font-size: 16px;
322 | width: 100%;
323 | color: wheat;
324 | justify-content: space-between;
325 | font-weight: 700;
326 |
327 | }
328 | .myself{
329 | display: flex;
330 | flex-direction: row;
331 | height: 40px;
332 | font-size: 16px;
333 | width: 100%;
334 | color: wheat;
335 | border-top: 1rpx solid #eee;
336 | justify-content: space-between;
337 | font-weight: 700;
338 |
339 | }
340 | .first_paimin{
341 | height: 40px;
342 | width: 15px;
343 | color: goldenrod;
344 | margin: auto;
345 | padding: 12px;
346 | }
347 | .second_paimin{
348 | height: 40px;
349 | width: 15px;
350 | color: rosybrown;
351 | margin: auto;
352 | padding: 12px;
353 | }
354 | .third_paimin{
355 | height: 40px;
356 | width: 15px;
357 | color: skyblue;
358 | margin: auto;
359 | padding: 12px;
360 | }
361 | .first_name{
362 | height: 40px;
363 | margin: auto;
364 | padding: 12px;
365 | }
366 |
--------------------------------------------------------------------------------
/project.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "description": "项目配置文件。",
3 | "setting": {
4 | "urlCheck": true,
5 | "es6": true,
6 | "postcss": true,
7 | "minified": false,
8 | "newFeature": true
9 | },
10 | "compileType": "miniprogram",
11 | "libVersion": "2.3.0",
12 | "appid": "wx90951b51c0e9f6f9",
13 | "projectname": "%E5%B0%8F%E9%B8%A1%E5%8D%95%E8%AF%8D",
14 | "condition": {
15 | "search": {
16 | "current": -1,
17 | "list": []
18 | },
19 | "conversation": {
20 | "current": -1,
21 | "list": []
22 | },
23 | "plugin": {
24 | "current": -1,
25 | "list": []
26 | },
27 | "game": {
28 | "list": []
29 | },
30 | "miniprogram": {
31 | "current": -1,
32 | "list": []
33 | }
34 | }
35 | }
--------------------------------------------------------------------------------
/utils/Touches.js:
--------------------------------------------------------------------------------
1 |
2 | class Touches {
3 | constructor() {
4 |
5 | }
6 |
7 | _getIndex(e) { // 获取滑动列表的下标值
8 | return e.currentTarget.dataset.index
9 | }
10 |
11 | _getMoveX(e, startX) { // 获取滑动过程中滑动的距离
12 | return this.getClientX(e) - startX
13 | }
14 |
15 | _getEndX(e, startX) { // 获取滑动结束滑动的距离
16 | let touch = e.changedTouches
17 | if (touch.length === 1) {
18 | return touch[0].clientX - startX
19 | }
20 | }
21 |
22 | _resetData(dataList) { // 重置数据, 把所有的列表 left 置为 0
23 | for (let i in dataList) {
24 | dataList[i].left = 0
25 | }
26 | return dataList
27 | }
28 |
29 | getClientX(e) { // 获取滑动的横坐标
30 | let touch = e.touches
31 | if (touch.length === 1) {
32 | return touch[0].clientX
33 | }
34 | }
35 |
36 | touchM(e, dataList, startX) { // touchmove 过程中更新列表数据
37 | let list = this._resetData(dataList)
38 | list[this._getIndex(e)].left = this._getMoveX(e, startX)
39 | return list
40 | }
41 |
42 | touchE(e, dataList, startX, width) { // touchend 更新列表数据
43 | let list = this._resetData(dataList)
44 | let disX = this._getEndX(e, startX)
45 | let left = 0
46 |
47 | if (disX < 0) { // 判断滑动方向, (向左滑动)
48 | // 滑动的距离大于删除宽度的一半就显示操作列表 否则不显示
49 | Math.abs(disX) > width / 2 ? left = -width : left = 0
50 | } else { // 向右滑动复位
51 | left = 0
52 | }
53 |
54 | list[this._getIndex(e)].left = left
55 | return list
56 | }
57 |
58 | deleteItem(e, dataList) { // 删除功能
59 | dataList.splice(this._getIndex(e), 1)
60 | return dataList
61 | }
62 | }
63 |
64 | export default Touches
--------------------------------------------------------------------------------
/utils/common.js:
--------------------------------------------------------------------------------
1 | function showTip(sms, icon, fun, t) {
2 | if (!t) {
3 | t = 1000;
4 | }
5 | wx.showToast({
6 | title: sms,
7 | icon: icon,
8 | duration: t,
9 | success: fun
10 | })
11 | }
12 |
13 | function showModal(c,t,fun) {
14 | if(!t)
15 | t='提示'
16 | wx.showModal({
17 | title: t,
18 | content: c,
19 | showCancel:false,
20 | success: fun
21 | })
22 | }
23 |
24 |
25 | module.exports.showTip = showTip;
26 | module.exports.showModal = showModal;
--------------------------------------------------------------------------------
/utils/md5.js:
--------------------------------------------------------------------------------
1 | var MD5 = function (string) {
2 |
3 | function RotateLeft(lValue, iShiftBits) {
4 | return (lValue<>>(32-iShiftBits));
5 | }
6 |
7 | function AddUnsigned(lX,lY) {
8 | var lX4,lY4,lX8,lY8,lResult;
9 | lX8 = (lX & 0x80000000);
10 | lY8 = (lY & 0x80000000);
11 | lX4 = (lX & 0x40000000);
12 | lY4 = (lY & 0x40000000);
13 | lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);
14 | if (lX4 & lY4) {
15 | return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
16 | }
17 | if (lX4 | lY4) {
18 | if (lResult & 0x40000000) {
19 | return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
20 | } else {
21 | return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
22 | }
23 | } else {
24 | return (lResult ^ lX8 ^ lY8);
25 | }
26 | }
27 |
28 | function F(x,y,z) { return (x & y) | ((~x) & z); }
29 | function G(x,y,z) { return (x & z) | (y & (~z)); }
30 | function H(x,y,z) { return (x ^ y ^ z); }
31 | function I(x,y,z) { return (y ^ (x | (~z))); }
32 |
33 | function FF(a,b,c,d,x,s,ac) {
34 | a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));
35 | return AddUnsigned(RotateLeft(a, s), b);
36 | };
37 |
38 | function GG(a,b,c,d,x,s,ac) {
39 | a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));
40 | return AddUnsigned(RotateLeft(a, s), b);
41 | };
42 |
43 | function HH(a,b,c,d,x,s,ac) {
44 | a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));
45 | return AddUnsigned(RotateLeft(a, s), b);
46 | };
47 |
48 | function II(a,b,c,d,x,s,ac) {
49 | a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac));
50 | return AddUnsigned(RotateLeft(a, s), b);
51 | };
52 |
53 | function ConvertToWordArray(string) {
54 | var lWordCount;
55 | var lMessageLength = string.length;
56 | var lNumberOfWords_temp1=lMessageLength + 8;
57 | var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64;
58 | var lNumberOfWords = (lNumberOfWords_temp2+1)*16;
59 | var lWordArray=Array(lNumberOfWords-1);
60 | var lBytePosition = 0;
61 | var lByteCount = 0;
62 | while ( lByteCount < lMessageLength ) {
63 | lWordCount = (lByteCount-(lByteCount % 4))/4;
64 | lBytePosition = (lByteCount % 4)*8;
65 | lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount)<>>29;
73 | return lWordArray;
74 | };
75 |
76 | function WordToHex(lValue) {
77 | var WordToHexValue="",WordToHexValue_temp="",lByte,lCount;
78 | for (lCount = 0;lCount<=3;lCount++) {
79 | lByte = (lValue>>>(lCount*8)) & 255;
80 | WordToHexValue_temp = "0" + lByte.toString(16);
81 | WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2);
82 | }
83 | return WordToHexValue;
84 | };
85 |
86 | function Utf8Encode(string) {
87 | string = string.replace(/\r\n/g,"\n");
88 | var utftext = "";
89 |
90 | for (var n = 0; n < string.length; n++) {
91 |
92 | var c = string.charCodeAt(n);
93 |
94 | if (c < 128) {
95 | utftext += String.fromCharCode(c);
96 | }
97 | else if((c > 127) && (c < 2048)) {
98 | utftext += String.fromCharCode((c >> 6) | 192);
99 | utftext += String.fromCharCode((c & 63) | 128);
100 | }
101 | else {
102 | utftext += String.fromCharCode((c >> 12) | 224);
103 | utftext += String.fromCharCode(((c >> 6) & 63) | 128);
104 | utftext += String.fromCharCode((c & 63) | 128);
105 | }
106 |
107 | }
108 |
109 | return utftext;
110 | };
111 |
112 | var x=Array();
113 | var k,AA,BB,CC,DD,a,b,c,d;
114 | var S11=7, S12=12, S13=17, S14=22;
115 | var S21=5, S22=9 , S23=14, S24=20;
116 | var S31=4, S32=11, S33=16, S34=23;
117 | var S41=6, S42=10, S43=15, S44=21;
118 |
119 | string = Utf8Encode(string);
120 |
121 | x = ConvertToWordArray(string);
122 |
123 | a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476;
124 |
125 | for (k=0;k {
5 | qcloud.request({
6 | login: false,
7 | data: {
8 | clickId,
9 | content,
10 | },
11 | url: app.appData.baseUrl + 'upDateShareInfoToUser_network',
12 | success: (res) => { }
13 | })
14 | }
15 | const shareTickets = share_res.shareTickets
16 | if (!shareTickets) {
17 | //IOS转发给个人的时候shareTickets为null
18 | upDate('person', app.appData.currentClickId)
19 | } else {
20 | wx.getShareInfo({
21 | shareTicket: shareTickets[0],
22 | success: (res) => {
23 | qcloud.request({
24 | login: false,
25 | data: {
26 | appId: app.appData.appId,
27 | openId: page.data.openId,
28 | encryptedData: res.encryptedData,
29 | iv: res.iv
30 | },
31 | url: app.appData.baseUrl + 'getGId',
32 | success: (res) => {
33 | let GId = res.data.data
34 | upDate(GId, app.appData.currentClickId)
35 | }
36 | })
37 | },
38 | fail: (res) => {
39 | //Android转发给个人的时候shareTickets不为null,而是判断为fail
40 | upDate('person', app.appData.currentClickId)
41 | }
42 | })
43 | }
44 | }
45 |
46 | module.exports = { upDateShareInfoToUser_network }
--------------------------------------------------------------------------------
/utils/upDateUser_networkFromClickId.js:
--------------------------------------------------------------------------------
1 | //用于转发时向用户关系表中更新一条从哪个clickId打开的记录
2 | const qcloud = require('../vendor/wafer2-client-sdk/index')
3 | let upDateUser_networkFromClickId = (app,currentClickId, fromClickId) => {
4 | qcloud.request({
5 | login: false,
6 | data: {
7 | currentClickId,
8 | fromClickId
9 | },
10 | url: app.appData.baseUrl + 'upDateUser_networkFromClickId',
11 | success: (res) => { }
12 | })
13 | }
14 |
15 | module.exports = {upDateUser_networkFromClickId}
--------------------------------------------------------------------------------
/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 |
18 | // 显示繁忙提示
19 | var showBusy = text => wx.showToast({
20 | title: text,
21 | icon: 'loading',
22 | duration: 5000
23 | })
24 |
25 | // 显示成功提示
26 | var showSuccess = text => wx.showToast({
27 | title: text,
28 | icon: 'success'
29 | })
30 |
31 | // 显示失败提示
32 | var showModel = (title, content) => {
33 | wx.hideToast();
34 |
35 | wx.showModal({
36 | title,
37 | content: JSON.stringify(content),
38 | showCancel: false
39 | })
40 | }
41 |
42 | module.exports = { formatTime, showBusy, showSuccess, showModel }
43 |
--------------------------------------------------------------------------------