├── .browserslistrc ├── .gitignore ├── README.md ├── babel.config.js ├── dist ├── favicon.ico ├── globle.js ├── globle.js.gz ├── index.html └── static │ ├── css │ ├── app.d07cd864.css │ ├── chunk-vendors.61510d44.css │ └── chunk-vendors.61510d44.css.gz │ ├── fonts │ ├── ionicons.143146fa.woff2 │ ├── ionicons.99ac3308.woff │ └── ionicons.d535a25a.ttf │ ├── img │ └── ionicons.a2c4a261.svg │ └── js │ ├── app.ae58f1dd.js │ ├── app.ae58f1dd.js.gz │ ├── app.ae58f1dd.js.map │ ├── chunk-vendors.6577b8b2.js │ ├── chunk-vendors.6577b8b2.js.gz │ └── chunk-vendors.6577b8b2.js.map ├── package.json ├── public ├── favicon.ico ├── globle.js └── index.html ├── src ├── App.vue ├── assets │ └── logo.png ├── components │ ├── bag.vue │ ├── eqs.vue │ ├── market.vue │ ├── monster-map.vue │ ├── pet-catch-ctrl.vue │ ├── pet.vue │ ├── screens.vue │ ├── shop.vue │ ├── skill-map.vue │ ├── skills.vue │ ├── tasks.vue │ └── userinfo.vue ├── config.js ├── libs │ ├── YunDingOnlineSDK.js │ ├── protocol.js │ ├── regHooks.js │ └── tools.js ├── main.js ├── mixins.js ├── router │ └── index.js ├── store │ └── index.js └── views │ ├── Home.vue │ └── User.vue └── vue.config.js /.browserslistrc: -------------------------------------------------------------------------------- 1 | > 1% 2 | last 2 versions 3 | not dead 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | package-lock.json 4 | yarn.lock 5 | # local env files 6 | .env.local 7 | .env.*.local 8 | 9 | # Log files 10 | npm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | pnpm-debug.log* 14 | 15 | # Editor directories and files 16 | .idea 17 | .vscode 18 | *.suo 19 | *.ntvs* 20 | *.njsproj 21 | *.sln 22 | *.sw? 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # YunDingGameOnline 2 | 闲暇时间拿网页游戏SDK练手 3 | 4 | 基于 [云顶修仙摸鱼页游](http://yundingxx.com:8888/) 的后端服务 5 | 6 | [游玩](http://yundingxx.kidsongs.top) 7 | 8 | --- 9 | 10 | ##### 2020-10-11 机制更新 11 | ###### 加入自动获取刷新验证码,避免卡登陆 12 | ###### 修复一回合解决不了战斗会无限刷新的问题 13 | ###### 加入无限挂机开关 14 | --- 15 | ##### 2020-10-10 问题修复 16 | ###### 1.去掉自动升级,有的人要卡小号; 17 | ###### 2.每日计划问题多多,先去掉了; 18 | --- 19 | ##### 2020-09-30 重大更新 - 无限挂机 20 | ###### 1.掉线重新组队,支持按原操作的组队阵容、副本,一旦掉队自动重连,支持插队判断。使用此功能需要全队手动重新组队; 21 | ###### 2.加入每日计划打副本,按主页面访问时间每24小时自动切换勾选的副本打每日到没奖励。使用此功能需要队长手动切换挂机副本至少一次; 22 | ###### 3.加入小于49级自动升级; 23 | ###### 4.去掉了server酱; 24 | ###### 5.支持了隐藏队伍; 25 | --- 26 | ##### 2020-09-07 27 | ###### 加入宠物锁定,锁定的宠物不合成、不丢弃(合宠的时候记得去掉); 28 | --- 29 | ##### 2020-09-06 30 | ###### 修复自动合成的BUG 31 | --- 32 | ##### 2020-09-05 33 | ###### BUG修复;去掉了5毛钱特效;加入自动捕捉拥有指定技能的宠物然后合成,会一直循环直到宠物满(没钱合)。步骤:先退出队伍(最好再重新加载一下),然后选定需要的技能,再点击自动合成就开始了。全程隐藏队伍,自动切换副本,丢宠判定不丢神兽和5技能及以上的,但是合成只判定了不合成神兽,如果有除神兽之外不想被合成的宠请不要使用此功能 34 | --- 35 | ##### 2020-09-04 36 | ###### BUG修复;捕捉功能修改; 37 | --- 38 | ##### 2020-09-04 from yuanye Merge. 39 | ###### 背包里面的物品信息面板 添加 显示/隐藏 切换;删除多余代码;物品类型补充 40 | --- 41 | ##### 2020-09-03 from yuanye Merge. 42 | ###### 添加批量分解功能;添加系统商城; 43 | --- 44 | ##### 2020-09-03 45 | ###### 加入副本资料展示;优化部分交互;同步作者修改;更新地图数据;增加魔灵提示;延长掉线刷新重连时间; 46 | --- 47 | ##### 2020-09-02 48 | ###### 功能模块化;加入整理背包 49 | --- 50 | ##### 2020-09-01 51 | ###### 加入出售功能;加入玩家市场,智能物品分类、价格排序、按数量购买、商品检索;增加技能图鉴、怪物图鉴;怪物图鉴增加搜索功能 52 | --- 53 | ##### 2020-08-31 54 | ###### 优化UI;优化战斗信息显示;修复队伍任务数量错误问题;同步修复弹幕显示;优化抓宠/丢宠名称显示;加入所有技能升级;加入任务领取/完成;加入主副宠切换; 55 | --- 56 | ##### 2020-08-28 57 | ###### 增加抓宠;优化了战斗信息显示; 58 | --- 59 | ##### 2020-08-27 60 | ###### 增加弹幕开关;增加server酱推送掉队通知;增加了栅格化布局,移动端也可以看得舒服;修复其他问题; 61 | --- 62 | ##### 2020-08-26 63 | ###### 聊天室修改为弹幕 64 | --- 65 | ##### 2020-08-25 66 | ###### 增加修炼显示,增加自定义修炼技能次数;修复地图队伍过多包长度解析错误问题;增加了聊天室(目前会接收所有消息);加入简易登出实现 67 | --- 68 | ##### 2020-08-20 69 | ###### 增加自动挖宝功能 70 | --- 71 | ##### 2020-08-08 from yuanye Merge. 72 | ###### 添加物品合成功能;人物信息展示;宠物相关功能;修复装备属性显示错乱的错误;优化了搜索功能 73 | --- 74 | ##### 2020-07-24 from yuanye Merge. 75 | ###### 优化了背包功能,追加单个物体操作、批量使用分解(出售还没做);优化了战斗收益UI;修复了领取任务后没刷新任务的问题; 76 | --- 77 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/cli-plugin-babel/preset' 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /dist/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Flywor/YunDingGameOnline/0d25e5b1523d26156213f2495762814e6236f15d/dist/favicon.ico -------------------------------------------------------------------------------- /dist/globle.js.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Flywor/YunDingGameOnline/0d25e5b1523d26156213f2495762814e6236f15d/dist/globle.js.gz -------------------------------------------------------------------------------- /dist/index.html: -------------------------------------------------------------------------------- 1 |
42 | 去上面点一个物品 43 |
44 | 45 |
143 |
49 | {{key}}: 50 | {{value}} 51 |
52 |等级:{{monster.level || '作者没写'}}
34 |出没副本:{{monster.map || '作者没写'}}
35 |成长:{{monster.growing_num}}
36 |品质:{{rareType[monster.type]}}
37 |躲避资质:{{monster.dodge_zz}}
38 |攻击资质:{{monster.str_zz}}
39 |法力资质:{{monster.int_zz}}
40 |体力资质:{{monster.con_zz}}
41 |防御资质:{{monster.vit_zz}}
42 |速度资质:{{monster.speed_zz}}
43 |躲避资质:{{monster.dodge_zz}}
44 | 45 |携带技能:
46 |50 | 53 | 历史捕捉成功率:【{{catchRate}}%】 54 |
55 |19 | 无技能 20 |
21 |
112 |
技能:{{selectPet1}}
139 | 150 |技能:{{selectPet2}}
151 |技能:{{selectPet1}}
169 | 179 |点击确认继续升级,或者点击取消关闭面板
181 |宠物正在参战...
182 |你得至少登录一个账号,我才能拿到数据
4 |队伍最大人数:{{screen.player_num}}
6 |怪物等级:{{screen.min_level}} ~ {{screen.max_level}}
7 |出没怪物:
8 |
掉落物品:
13 |
{{value.info}}
25 |26 | 技能类型:{{(() => { 27 | let txt = '被动'; 28 | switch (value.hurt_field) { 29 | case "magic_damage": 30 | txt = '魔法'; 31 | break; 32 | case "physical_damage": 33 | txt = '物理'; 34 | break; 35 | case "restore_damage": 36 | txt = '治疗'; 37 | break 38 | } 39 | return txt; 40 | })()}} 41 |
42 |43 | 作用单位:{{value.unit}} 44 |
45 |46 | 作用单位:{{value.unit}} ~ {{value.unit_highest}} 47 |
48 |基础伤害:{{value.real_damage}}
49 |伤害波动:{{value.min_hurt}} ~ {{value.max_hurt}}
50 |消耗:{{value.consume_num}}魔法
51 |加入时间:
52 |34 | 正在连续使用物品{name} 35 | {useNum} 36 | 个,为避免请求次数过多和程序错乱,在此窗口关闭后再进行其他操作 37 |
38 | ), 39 | }); 40 | for (let i = 0; i < useNum; i++) { 41 | this.game.useGoods(id); 42 | await sleep(1100); 43 | } 44 | window.freshPackage = true; 45 | this.game.userInfo(); 46 | // 重置背包 47 | this.user.goods = []; 48 | this.user.goodsPage = 1; 49 | this.game.getMyGoods(); 50 | this.readToUse = null; 51 | this.$Spin.hide(); 52 | }, 53 | //用于生成装备展示信息 54 | getEqsInfo_mixin (obj) { 55 | const eq_data = { 56 | 佩戴等级: obj.wear_level, 57 | 物理伤害: obj.physical_damage, 58 | 物理防御: obj.physical_defense, 59 | 魔法伤害: obj.magic_damage, 60 | 魔法防御: obj.magic_defense, 61 | 治疗能力: obj.restore_damage, 62 | 气血: obj.a, 63 | 速度: obj.speed, 64 | 体质: obj.con, 65 | 魔力: obj.int, 66 | 力量: obj.str, 67 | 耐力: obj.vit, 68 | 敏捷: obj.agi, 69 | 物理暴击: obj.physical_crit, 70 | 法术暴击: obj.magic_crit, 71 | 特技: obj.skill ? `${obj.skill.name}--${obj.skill.info}` : "", 72 | 评分: Math.round(obj.score), 73 | }; 74 | let eq_info = {}; 75 | for (const key in eq_data) { 76 | if (eq_data.hasOwnProperty(key)) { 77 | const element = eq_data[key]; 78 | if (element) { 79 | eq_info[key] = element; 80 | } 81 | } 82 | } 83 | return eq_info; 84 | } 85 | } 86 | } -------------------------------------------------------------------------------- /src/router/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import VueRouter from 'vue-router' 3 | import Home from '../views/Home.vue' 4 | import User from '../views/User.vue' 5 | 6 | Vue.use(VueRouter) 7 | 8 | const routes = [ 9 | { 10 | path: '/', 11 | name: 'Home', 12 | component: Home 13 | }, 14 | { 15 | path: '/user/:email', 16 | name: 'user', 17 | component: User 18 | } 19 | ] 20 | 21 | const router = new VueRouter({ 22 | routes 23 | }) 24 | 25 | export default router 26 | -------------------------------------------------------------------------------- /src/store/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Vuex from 'vuex' 3 | 4 | Vue.use(Vuex) 5 | 6 | export default new Vuex.Store({ 7 | state: { 8 | }, 9 | mutations: { 10 | }, 11 | actions: { 12 | }, 13 | modules: { 14 | } 15 | }) 16 | -------------------------------------------------------------------------------- /src/views/Home.vue: -------------------------------------------------------------------------------- 1 | 2 |
7 | 状态:{{user.status}} {{ user.status_msg }}
8 |
92 | LV.{{user.myInfo.level}}
93 | [{{ Math.floor(user.myInfo.exp) }}/{{ Math.floor(user.myInfo.nextExp) }}]
94 |
95 | 升级
99 |
100 |
119 | 财产:{{ Math.floor(user.myInfo.game_gold) }}仙石 120 | 121 | {{ Math.floor(user.myInfo.game_silver) }}灵石 122 | 123 | 134 |
135 | 136 |137 | 气血储备:{{ Math.floor(user.myInfo.hp_store) }} 138 | 魔法储备:{{ Math.floor(user.myInfo.mp_store) }} 139 | 活力:{{ Math.floor(user.myInfo.vitality_num) }} 140 | 仙蕴转活力 141 |
142 | 143 | 144 | 145 | 146 | 147 | 检测到你有 148 | {{unusecbt.normal.num}} 149 | 张没鉴定的 150 | 藏宝图 151 | [ { 152 | game.useGoods(unusecbt.normal.id) 153 | }">鉴定一张] 154 | [ { 155 | readToUse = { 156 | useNum: unusecbt.normal.num, 157 | id: unusecbt.normal.id, 158 | name: '藏宝图' 159 | }; 160 | handleUseItem() 161 | }">全部鉴定] 162 | 163 | 164 | 165 | 检测到你有 166 | {{unusecbt.high.num}} 167 | 张没鉴定的 168 | 高级藏宝图 169 | [ { 170 | readToUse = { 171 | useNum: unusecbt.high.num, 172 | id: unusecbt.high.id, 173 | name: '高级藏宝图' 174 | }; 175 | handleUseItem(); 176 | }">全部鉴定] 177 | 178 | 179 | 180 | 181 | 检测到你有 182 | {{waBao.length}} 183 | 张藏宝图 184 | 185 | 192 | 193 | 194 | 195 | 196 | 197 | 地图: 198 | 206 |