Browse Source

初版

master
许孟阳 2 weeks ago
parent
commit
7e979b608f
  1. 23
      .gitignore
  2. 3
      LICENSE
  3. 20
      README.md
  4. 5
      babel.config.js
  5. 7
      java/.gitignore
  6. 8
      java/application.properties
  7. 116
      java/pom.xml
  8. 14
      java/src/main/java/vip/xumy/idle/server/SimpleApplocation.java
  9. 75
      java/src/main/java/vip/xumy/idle/server/conf/RSAEncryptDecrypt.java
  10. 18
      java/src/main/java/vip/xumy/idle/server/conf/SimpleInitializer.java
  11. 23
      java/src/main/java/vip/xumy/idle/server/mapper/IUserMapper.java
  12. 29
      java/src/main/java/vip/xumy/idle/server/pojo/User.java
  13. 11
      java/src/main/java/vip/xumy/idle/server/service/UserService.java
  14. 38
      java/src/main/resources/application.properties
  15. 81
      java/src/main/resources/logback.xml
  16. 70
      java/src/test/java/com/sprt/simple/test/RSATester.java
  17. 34
      package.json
  18. BIN
      public/favicon.ico
  19. 23
      public/index.html
  20. 1
      public/logo.svg
  21. 17
      src/App.vue
  22. 165
      src/assets/css/base.scss
  23. 291
      src/assets/css/index-768.scss
  24. 318
      src/assets/css/index.scss
  25. BIN
      src/assets/fonts/JetBrainsMono-Regular.ttf
  26. BIN
      src/assets/fonts/sarasa-ui-cl-regular.ttf
  27. BIN
      src/assets/icons/I_Scroll.png
  28. BIN
      src/assets/icons/S_Sword06.png
  29. BIN
      src/assets/icons/attribute/ATK.png
  30. BIN
      src/assets/icons/attribute/CRIT.png
  31. BIN
      src/assets/icons/attribute/CRITDMG.png
  32. BIN
      src/assets/icons/attribute/S_BLOC.png
  33. BIN
      src/assets/icons/attribute/S_EVA.png
  34. BIN
      src/assets/icons/attribute/S_Holy01.png
  35. BIN
      src/assets/icons/attribute/S_Holy03.png
  36. BIN
      src/assets/icons/attribute/icon_11.png
  37. BIN
      src/assets/icons/close.png
  38. BIN
      src/assets/icons/endless.png
  39. BIN
      src/assets/icons/equips/A_A2.png
  40. BIN
      src/assets/icons/equips/A_A3.png
  41. BIN
      src/assets/icons/equips/A_A5.png
  42. BIN
      src/assets/icons/equips/A_A7.png
  43. BIN
      src/assets/icons/equips/A_A9.png
  44. BIN
      src/assets/icons/equips/Ac_1.png
  45. BIN
      src/assets/icons/equips/Ac_10.png
  46. BIN
      src/assets/icons/equips/Ac_11.png
  47. BIN
      src/assets/icons/equips/Ac_3.png
  48. BIN
      src/assets/icons/equips/Ac_5.png
  49. BIN
      src/assets/icons/equips/Ac_7.png
  50. BIN
      src/assets/icons/equips/Ac_9.png
  51. BIN
      src/assets/icons/equips/U_Armor01.png
  52. BIN
      src/assets/icons/equips/U_Armor02.png
  53. BIN
      src/assets/icons/equips/U_Armor03.png
  54. BIN
      src/assets/icons/equips/U_Armor04.png
  55. BIN
      src/assets/icons/equips/U_Armor05.png
  56. BIN
      src/assets/icons/equips/U_Armor06.png
  57. BIN
      src/assets/icons/equips/U_Armor07.png
  58. BIN
      src/assets/icons/equips/U_Sword01.png
  59. BIN
      src/assets/icons/equips/U_Sword02.png
  60. BIN
      src/assets/icons/equips/U_Sword03.png
  61. BIN
      src/assets/icons/equips/U_Sword04.png
  62. BIN
      src/assets/icons/equips/U_Sword05.png
  63. BIN
      src/assets/icons/equips/U_Sword06.png
  64. BIN
      src/assets/icons/equips/U_Sword07.png
  65. BIN
      src/assets/icons/equips/U_Sword08.png
  66. BIN
      src/assets/icons/equips/U_Sword09.png
  67. BIN
      src/assets/icons/equips/U_Sword10.png
  68. BIN
      src/assets/icons/equips/U_neck01.png
  69. BIN
      src/assets/icons/equips/U_neck02.png
  70. BIN
      src/assets/icons/equips/U_neck03.png
  71. BIN
      src/assets/icons/equips/U_neck04.png
  72. BIN
      src/assets/icons/equips/U_neck05.png
  73. BIN
      src/assets/icons/equips/U_ring01.png
  74. BIN
      src/assets/icons/equips/U_ring02.png
  75. BIN
      src/assets/icons/equips/U_ring03.png
  76. BIN
      src/assets/icons/equips/U_ring04.png
  77. BIN
      src/assets/icons/equips/U_ring05.png
  78. BIN
      src/assets/icons/equips/W_Fist003.png
  79. BIN
      src/assets/icons/equips/W_Sword001.png
  80. BIN
      src/assets/icons/equips/W_Sword007.png
  81. BIN
      src/assets/icons/equips/W_Sword016.png
  82. BIN
      src/assets/icons/equips/W_Sword018.png
  83. BIN
      src/assets/icons/equips/W_Sword019.png
  84. BIN
      src/assets/icons/equips/W_Sword021.png
  85. 11
      src/assets/icons/github.svg
  86. BIN
      src/assets/icons/icon_78.png
  87. BIN
      src/assets/icons/icon_79.png
  88. BIN
      src/assets/icons/icon_81.png
  89. BIN
      src/assets/icons/icon_83.png
  90. BIN
      src/assets/icons/images/一些像素rpg游戏常用图标素材-物品图标-_5_爱给网_aigei_com_03.png
  91. BIN
      src/assets/icons/images/一些像素rpg游戏常用图标素材-物品图标-_5_爱给网_aigei_com_05.png
  92. BIN
      src/assets/icons/lock.png
  93. BIN
      src/assets/icons/map/blood.png
  94. BIN
      src/assets/icons/map/boss.png
  95. BIN
      src/assets/icons/map/chest-open.png
  96. BIN
      src/assets/icons/map/chest.png
  97. BIN
      src/assets/icons/map/monster.png
  98. BIN
      src/assets/icons/map/player-s.png
  99. BIN
      src/assets/icons/map/player.png
  100. BIN
      src/assets/icons/map/player1.png
  101. Some files were not shown because too many files have changed in this diff Show More

23
.gitignore vendored

@ -0,0 +1,23 @@ @@ -0,0 +1,23 @@
.DS_Store
node_modules
/dist
# local env files
.env.local
.env.*.local
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

3
LICENSE

@ -1,3 +0,0 @@ @@ -1,3 +0,0 @@
Additional permission under GNU GPL version 3 section 7
If you modify this Program, or any covered work, by linking or combining it with [name of library] (or a modified version of that library), containing parts covered by the terms of [name of library's license], the licensors of this Program grant you additional permission to convey the resulting work.

20
README.md

@ -1,3 +1,19 @@ @@ -1,3 +1,19 @@
# vue-idle-game
# code
一个全随机的刷装备小游戏
## Project setup
```
yarn install
```
### Compiles and hot-reloads for development
```
yarn serve
```
### Compiles and minifies for production
```
yarn build
```
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).

5
babel.config.js

@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
]
}

7
java/.gitignore vendored

@ -0,0 +1,7 @@ @@ -0,0 +1,7 @@
/.classpath
/.project
/.settings
/bin/
/logs
/target
/src/main/resources/static

8
java/application.properties

@ -0,0 +1,8 @@ @@ -0,0 +1,8 @@
# WEB服务端口配置
server.port=80
# WEB服务根路径配置
server.servlet.context-path=/
# 程序自身数据源配置
spring.datasource.url=jdbc:mysql://10.100.0.108:3306/idle_game?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
spring.datasource.username=root
spring.datasource.password=mBMjp2v74c7MzhC/5RGeXF1V3E+AcRFs1f5OH6PDHi3nWaM3njaaoewswq8Sl7/AY631t0sONVDG672pX4mFpZx/8xex8BJP3uX1wUu9NGpTCSHskb5cD6KZMNV4jNsfoqxFRyJq8yk86djPsCfR4ch0sPnLH+LCg9XY1DAw8szh93QnKDkiImq2JLkaIwG3R3t8dNWv1wVoMR6vVecPsEUyPJu5vsrvJhjP3uAL7jZYJVGZG6bkrpV3R6I6mja0QnTdF41NCL5Ex0TINSi7GKnrALjZ0qWcT9fe2bTUCKq50+CtVEAQnEz2ZJpYUaBZXJbHh4OrUyqjAmA5s7IelQ==

116
java/pom.xml

@ -0,0 +1,116 @@ @@ -0,0 +1,116 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.1</version>
</parent>
<groupId>com.sprt.simple</groupId>
<artifactId>idle_game_server</artifactId>
<version>0.0.0</version>
<name>idle_game_server</name>
<description>idle game server</description>
<packaging>jar</packaging>
<properties>
<java.version>17</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<core.version>1.0.0</core.version>
<log4j.version>1.2.17</log4j.version>
<fastjson.version>1.2.46</fastjson.version>
<druid.version>1.1.9</druid.version>
<mybatis-plus.version>3.5.1</mybatis-plus.version>
<mybatis.pagehelper.version>1.4.6</mybatis.pagehelper.version>
</properties>
<dependencies>
<dependency>
<groupId>vip.xumy.core</groupId>
<artifactId>xumy_core</artifactId>
<version>${core.version}</version>
</dependency>
<!-- 代码修改之后可以实时生效,该模块在完整的打包环境下运行的时候会被禁用 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<exclusions>
<!-- 单元测试不使用Junit4,使用Junit5 -->
<exclusion>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</exclusion>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--junit 测试包-->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>
<!-- mysql驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- alibaba的druid数据库连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>${druid.version}</version>
</dependency>
<!-- mybatis plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<!-- mybatis的pagehelper -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>${mybatis.pagehelper.version}</version>
</dependency>
</dependencies>
<!-- Package as an executable jar -->
<build>
<finalName>${project.name}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
</plugins>
</build>
</project>

14
java/src/main/java/vip/xumy/idle/server/SimpleApplocation.java

@ -0,0 +1,14 @@ @@ -0,0 +1,14 @@
package vip.xumy.idle.server;
import org.springframework.boot.SpringApplication;
import vip.xumy.idle.server.conf.SimpleInitializer;
public class SimpleApplocation {
public static void main(String[] args) {
Class<?>[] arr = new Class<?>[] { SimpleInitializer.class };
SpringApplication.run(arr, args);
}
}

75
java/src/main/java/vip/xumy/idle/server/conf/RSAEncryptDecrypt.java

@ -0,0 +1,75 @@ @@ -0,0 +1,75 @@
package vip.xumy.idle.server.conf;
import java.security.KeyFactory;
import java.security.interfaces.RSAPrivateKey;
import java.security.interfaces.RSAPublicKey;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;
/**
* @Description
* @Author 86199
* @Date 2021/12/1 16:36
*/
import java.util.Base64;
import javax.crypto.Cipher;
public class RSAEncryptDecrypt
{
// 公钥
private static String publicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqfkYJn8BHttyGrQYcoXTZK8Za" +
"MVUkqhEdFIyWZhnUQz6Jr299IkBCrbTnKcQTn3ekyQl5/F+j2p8YuNQDBJiq46T/srI+zh1XIaTIKJoOI8M4ploKOztJ8IP" +
"L9ucdnv/tEdGDD9kY5JILa5DQnem9HkaS55kGJX6Oet6CRiNekwiG4+K61SjyfqxuLcqm7v2gH2nvTnkci9FLwtErpdF4uT" +
"Mv6LB46Z9Hpg5iVsHDbwnwqOCfirgwdalJQTy+jcn9UqqNTsneREOxTtt9JQEnsDE/4UIPAYiU6cQDRJ5YrXR56LYC/0g55" +
"KpMVnMIJgS5Y/YVt66QHtUTCVmmSgxAQIDAQAB";
// 私钥
private static String privateKey = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCp+" +
"RgmfwEe23IatBhyhdNkrxloxVSSqER0UjJZmGdRDPomvb30iQEKttOcpxBOfd6TJCXn8X6Panxi41AMEmKrjpP+" +
"ysj7OHVchpMgomg4jwzimWgo7O0nwg8v25x2e/+0R0YMP2RjkkgtrkNCd6b0eRpLnmQYlfo563oJGI16TCIbj4rrVKPJ+" +
"rG4tyqbu/aAfae9OeRyL0UvC0Sul0Xi5My/osHjpn0emDmJWwcNvCfCo4J+" +
"KuDB1qUlBPL6Nyf1Sqo1Oyd5EQ7FO230lASewMT/hQg8BiJTpxANEnlitdHnotgL/SDnkqkxWcwgmBLlj" +
"9hW3rpAe1RMJWaZKDEBAgMBAAECggEBAIHEloaVglJ/sf7nLp8IwxrkgB64QVhytUillKFItOBxau53A" +
"HaYvr3iVW8NMWrruClYeMQ7YKe34d1RtMRyqPhXs2/cfFMoiJmqeNt6gt1jga/i9V4BfRJUm2mrXiorg" +
"06s97LUFx3aCdcua1Vsqn+NkeDXvY3zuwXLXPFi2GjcRBnwZL9S2i8mxCSChWy8ePjYW34bJ7viTQ7hf" +
"Hz5VNA0hqMQrmgzUADq5xelnhQKsEWBaHHhLTKGYF0yNmRJ7zQJkiSncxIrzD5dvRH88Ms2nJ7lJlb1F" +
"YEpZ8URlK63ofOskvcpvXFH3g7yvi6j9rCRFAL/i2UnP+lFimQ+bs0CgYEA7ZdVrSGMsKRwaX7+lmCTu" +
"5cR6V74ohZKyDyzp8PcOBxvPmjY5tIULK++12xyOpsMHAwAoKfRedRrvS9vm525g5A+fioALXE74/d2A7" +
"E/psO6hO89W5AcA91wMTZXLLGZ8JD0LBQp3u4dNGyyZLpDMTgM1WUsted1mOn2msRkK68CgYEAtySKlvaL" +
"8Rw70LMMYZUUJ6BbUsR85aJHZ3JPsisM01PgEgcJiZHfThVZHqUgEU0noqRDzIVVKk9C1Gqx+t6F3JqU8" +
"Cewop+nIKboLH5vMr+7OqM5hXLSx9g8Mm779k9P4+u7Kvq4/fY38d7kVayr3TVb5g0jEo1ugsHonwMsKk8Cg" +
"YBa791/EqRCx+2us0jGTdi9qCjW5d7MSzP8SB+LSs/zOg7qGD9MuYO3Rt0Inx1piQathXqIAzOOKdvC4XEaYtgqnv8" +
"MUw8WVYzSyFiHOURfk/LEBr25WgMfB5Z1f5MGLEP7a7/JTz5ncUQEWMY+/3vQTt+6narrRNgh2wrkWd7tSQKBgGIs" +
"YWpZUVz3UI0oXbu1iW9Qg4PTtkv2eKZYXaZZc2+ZJ6UiRpeLLZQS14oY5B7CKDwEKB/rXWLnyCBL7YpYXJOL/cjazd" +
"HvGUzki9LGF9+xbbEaLEx/58OfA23ZlpFLpLy98cAxVJc2tHigje/rNtnGr7ObWTCpxhKr1YHf1n37AoGBAI64k/lV4" +
"FJn57cJnIZPp1jjapxSouxO063Z5BTYVsA6/cqXgbNPt1S8TnZRaRB2qtVrN5otRuueO6GIRJf6XTXvwxLV4xQAA/Z5" +
"g2q2gelK7/ChYRdVn6Fwtnwx4iPBkH6FK+eQ0E8BfcJ5f6XPWp8N7ZpaZrd+dyc3r7uW78gG";
//加密
public static byte[] encrypt(byte[] str) throws Exception
{
// base64编码的公钥
byte[] decoded = Base64.getDecoder().decode(publicKey);
RSAPublicKey pubKey = (RSAPublicKey) KeyFactory.getInstance("RSA")
.generatePublic(new X509EncodedKeySpec(decoded));
// RSA加密
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.ENCRYPT_MODE, pubKey);
return cipher.doFinal(str);
}
//解密
public static byte[] decrypt(byte[] str) throws Exception
{
// base64编码的私钥
byte[] decoded = Base64.getDecoder().decode(privateKey);
RSAPrivateKey priKey = (RSAPrivateKey) KeyFactory.getInstance("RSA")
.generatePrivate(new PKCS8EncodedKeySpec(decoded));
// RSA解密
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.DECRYPT_MODE, priKey);
return cipher.doFinal(str);
}
}

18
java/src/main/java/vip/xumy/idle/server/conf/SimpleInitializer.java

@ -0,0 +1,18 @@ @@ -0,0 +1,18 @@
package vip.xumy.idle.server.conf;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.annotation.ComponentScan;
@EnableAutoConfiguration(exclude = DataSourceAutoConfiguration.class)
@ComponentScan(value = "vip.xumy.idle.server, vip.xumy.core")
public class SimpleInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(SimpleInitializer.class);
}
}

23
java/src/main/java/vip/xumy/idle/server/mapper/IUserMapper.java

@ -0,0 +1,23 @@ @@ -0,0 +1,23 @@
package vip.xumy.idle.server.mapper;
import org.apache.ibatis.annotations.Select;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import vip.xumy.idle.server.pojo.User;
/**
* Ownership belongs to the company
*
* @author:mengyxu
* @date:2025年4月18日
*/
public interface IUserMapper extends BaseMapper<User> {
@Select("""
SELECT username, state FROM user WHERE username = #{username} AND password = #{password}
""")
User login(User param);
}

29
java/src/main/java/vip/xumy/idle/server/pojo/User.java

@ -0,0 +1,29 @@ @@ -0,0 +1,29 @@
package vip.xumy.idle.server.pojo;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
/** Ownership belongs to the company
*
* @author:mengyxu
* @date:2025年4月18日
*/
@Setter
@Getter
@TableName("user")
public class User {
private String useranme;
private String password;
private String state;
private String phone;
private String idCard;
private String name;
private String registerTime;
private String last_login;
}

11
java/src/main/java/vip/xumy/idle/server/service/UserService.java

@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
package vip.xumy.idle.server.service;
/** Ownership belongs to the company
*
* @author:mengyxu
* @date:2025年4月18日
*/
public class UserService {
}

38
java/src/main/resources/application.properties

@ -0,0 +1,38 @@ @@ -0,0 +1,38 @@
# WEB服务端口配置
server.port=80
# WEB服务根路径配置
server.servlet.context-path=/
logging.config=classpath:logback.xml
spring.main.banner-mode=off
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.initialSize=1
spring.datasource.minIdle=1
spring.datasource.maxActive=20
spring.datasource.maxWait=60000
spring.datasource.timeBetweenEvictionRunsMillis=60000
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.validationQuery=SELECT 1 FROM DUAL
spring.datasource.keepAlive=true
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
spring.datasource.poolPreparedStatements=false
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
mcc.datasource.driver-class-name=com.mysql.jdbc.Driver
mybatis.configuration.map-underscore-to-camel-case=true
quartz.cron.clean.global=0 */10 * * * ?
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql
pagehelper.returnPageInfo=check
version.num=1.0.1
version.date=2025-03-07
disk.info.path=

81
java/src/main/resources/logback.xml

@ -0,0 +1,81 @@ @@ -0,0 +1,81 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
<property name="LOG_HOME" value="./logs" />
<!--普通日志文件名-->
<property name="FILE_NAME" value="debug" />
<!--错误日志文件名-->
<property name="ERROR_FILE_NAME" value="error" />
<!--日志输出格式:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<property name="PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n" />
<!--日志文件保留天数-->
<property name="MAX_HISTORY" value="30" />
<!--日志文件最大的大小-->
<property name="MAX_SIZE" value="10MB" />
<!--控制台日志, 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>${PATTERN}</pattern>
</encoder>
</appender>
<!--文件日志, 按照每天生成日志文件 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_HOME}/${FILE_NAME}.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${LOG_HOME}/${FILE_NAME}-%d{yyyy-MM-dd}%i.log</FileNamePattern>
<MaxHistory>${MAX_HISTORY}</MaxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>${MAX_SIZE}</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>${PATTERN}</pattern>
</encoder>
</appender>
<!--错误, 按照每天生成日志文件 -->
<appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_HOME}/${ERROR_FILE_NAME}.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${LOG_HOME}/${ERROR_FILE_NAME}-%d{yyyy-MM-dd}%i.log</FileNamePattern>
<MaxHistory>${MAX_HISTORY}</MaxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>${MAX_SIZE}</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>${PATTERN}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 只打印DEBUG日志 -->
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<logger name="com.sprt" level="DEBUG" additivity="false">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
<appender-ref ref="ERROR" />
</logger>
<logger name="com.sprt.core" level="INFO" additivity="false">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
<appender-ref ref="ERROR" />
</logger>
<logger name="org.springframework" level="error" additivity="false">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
<appender-ref ref="ERROR" />
</logger>
<root level="INFO">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
<appender-ref ref="ERROR" />
</root>
</configuration>

70
java/src/test/java/com/sprt/simple/test/RSATester.java

@ -0,0 +1,70 @@ @@ -0,0 +1,70 @@
package com.sprt.simple.test;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Base64;
import org.junit.jupiter.api.Test;
import vip.xumy.idle.server.conf.RSAEncryptDecrypt;
/**
* Ownership belongs to the company
*
* @author:mengyxu
* @date:2024年9月26日
*/
public class RSATester {
@Test
public void test() throws Exception {
byte[] message = "mydoris".getBytes();
System.out.println("原始字符串为:" + new String(message));
byte[] messageEn = RSAEncryptDecrypt.encrypt(message);
String encryPassword = new String(Base64.getEncoder().encode(messageEn));
System.out.println("加密后的Base64字符串为:" + encryPassword);
byte[] decode = Base64.getDecoder().decode(encryPassword);
byte[] messageDe = RSAEncryptDecrypt.decrypt(decode);
System.out.println("还原后的字符串为:" + new String(messageDe));
}
@Test
public void checkData() {
String fileName = "D:\\work\\86.其他未确认项目\\知识库111(1)\\csv\\IPData2.CSV";
int idx = fileName.lastIndexOf('.');
String pre = fileName.substring(0, idx);
String suf = fileName.substring(idx);
String right = pre + "-right" + suf;
String wrong = pre + "-wrong" + suf;
try (BufferedReader br = new BufferedReader(new FileReader(new File(fileName)));
BufferedWriter rbw = new BufferedWriter(new FileWriter(new File(right)));
BufferedWriter wbr = new BufferedWriter(new FileWriter(new File(wrong)));) {
String line = br.readLine();
rbw.write(line);
wbr.write(line);
line = br.readLine();
while (line != null && line.trim() != null) {
int num = line.length() - line.replace(",", "").length();
if (num == 14) {
rbw.newLine();
rbw.write(line);
} else {
wbr.newLine();
wbr.write(line);
}
line = br.readLine();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

34
package.json

@ -0,0 +1,34 @@ @@ -0,0 +1,34 @@
{
"name": "code",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "vue-cli-service serve",
"build": "vue-cli-service build"
},
"dependencies": {
"core-js": "^3.8.3",
"js-base64": "^3.7.7",
"vue": "^3.2.13",
"vue-class-component": "^8.0.0-0",
"vue-router": "^4.0.3",
"vue3-i18n": "^1.1.5",
"vuex": "^4.0.0"
},
"devDependencies": {
"@vue/cli-plugin-babel": "~5.0.0",
"@vue/cli-plugin-router": "~5.0.0",
"@vue/cli-plugin-typescript": "~5.0.0",
"@vue/cli-plugin-vuex": "~5.0.0",
"@vue/cli-service": "~5.0.0",
"sass": "^1.32.7",
"sass-loader": "^12.0.0",
"typescript": "~4.5.5"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not dead",
"not ie 11"
]
}

BIN
public/favicon.ico

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

23
public/index.html

@ -0,0 +1,23 @@ @@ -0,0 +1,23 @@
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta name="Description" content="一个全随机的刷装备小游戏" />
<meta name="Keywords" content="游戏,couy,idle,放置游戏,vue,couy.xyz,rougelike" />
<link rel="icon" href="./logo.svg">
<title>couy-idleGame</title>
</head>
<body>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled.
Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>

1
public/logo.svg

@ -0,0 +1 @@ @@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1743412816895" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="16519" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M405.504 743.424v53.248l-51.2 52.224c-9.216 9.216-3.072 24.576 10.24 24.576h295.936c13.312 0 19.456-15.36 10.24-24.576l-51.2-52.224v-53.248H405.504z" fill="#057CDD" p-id="16520"></path><path d="M846.848 149.504H177.152c-39.936 0-72.704 32.768-72.704 72.704v457.728c0 39.936 32.768 72.704 72.704 72.704h669.696c39.936 0 72.704-32.768 72.704-72.704V223.232c0-40.96-32.768-73.728-72.704-73.728zM470.016 442.368c0 14.336-11.264 25.6-25.6 25.6h-52.224v52.224c0 14.336-11.264 25.6-25.6 25.6h-1.024c-14.336 0-25.6-11.264-25.6-25.6v-52.224h-52.224c-14.336 0-25.6-11.264-25.6-25.6v-1.024c0-14.336 11.264-25.6 25.6-25.6h52.224v-52.224c0-14.336 11.264-25.6 25.6-25.6h1.024c14.336 0 25.6 11.264 25.6 25.6v52.224h52.224c13.312 1.024 25.6 12.288 25.6 26.624z m188.416 103.424c-57.344 0-104.448-46.08-104.448-104.448S601.088 337.92 658.432 337.92s104.448 46.08 104.448 104.448-47.104 103.424-104.448 103.424z" fill="#008AFD" p-id="16521"></path></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

17
src/App.vue

@ -0,0 +1,17 @@ @@ -0,0 +1,17 @@
<template>
<router-view />
</template>
<style lang="scss">
// @import '@/assets/css/base.scss';
#app {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
width: 100%;
height: 100%;
overflow: hidden;
}
</style>

165
src/assets/css/base.scss

@ -0,0 +1,165 @@ @@ -0,0 +1,165 @@
/**
* 基础样式
* @author couycouy69@gmail.com
*/
* {
padding: 0;
margin: 0;
outline: 0;
box-sizing: border-box !important;
}
li {
list-style: none;
}
a {
text-decoration: none;
}
i {
font-style: normal;
}
html,
body {
width: 100%;
height: 100%;
overflow: hidden !important;
font-size: 14px;
}
@font-face {
font-family: 'sarasa';
src: url('../fonts/sarasa-ui-cl-regular.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'JetBrainsMono';
src: url('../fonts/JetBrainsMono-Regular.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
#app {
font-family: 'NotoSansSC', 'Noto Sans', 'Source Sans Pro', 'Avenir', Helvetica, Arial, sans-serif !important;
}
div,
button,
span,
p,
h1,
h2,
h3,
h4,
h5,
b,
input,
textarea {
font-family: 'sarasa', 'JetBrainsMono', 'NotoSansSC', 'Noto Sans', 'Source Sans Pro', 'Avenir', Helvetica, Arial, sans-serif !important;
}
input,
textarea {
border: 1px solid #ccc;
border-radius: 4px;
padding: 0.4rem;
font-size: 1rem;
background-color: #e0e8ea;
}
button {
height: 2.4rem;
line-height: 2.2rem;
padding: 0 1rem;
margin-left: 0.5rem;
margin-right: 0.5rem;
cursor: pointer;
color: #fff;
background: #000;
border: 1px solid #fff;
border-radius: 4px;
width: fit-content;
&:hover {
// background: #222;
border: 1px solid #ccc;
text-shadow: 1px 1px 3px #ccc;
}
}
/*使用选择器指定字体*/
.panel-title {
font-family: 'MaShanZheng' !important;
display: flex;
align-items: center !important;
justify-content: center;
font-size: 0.22rem;
padding: 0.2rem 0.1rem;
color: #efb96e;
}
/* 滚动条 */
::-webkit-scrollbar-thumb:horizontal {
/*水平滚动条的样式*/
width: 5px;
background-color: #999;
border-radius: 6px;
}
::-webkit-scrollbar-track-piece {
background-color: transparent;
/*滚动条的背景颜色*/
border-radius: 0;
/*滚动条的圆角宽度*/
}
::-webkit-scrollbar {
width: 8px;
/*滚动条的宽度*/
height: 8px;
/*滚动条的高度*/
}
::-webkit-scrollbar-thumb:vertical {
/*垂直滚动条的样式*/
height: 20px;
background-color: #999;
border-radius: 4px;
outline: 2px solid transparent;
outline-offset: -2px;
border: 2px solid transparent;
}
::-webkit-scrollbar-thumb:hover {
/*滚动条的hover样式*/
height: 20px;
background-color: #9f9f9f;
border-radius: 4px;
}
.unique {
background: linear-gradient(125deg, #c90e0d36, #5656d647, 40%, #867d1033, #2c846f4d) !important;
}
.fade-enter-active,
.fade-leave-active {
transition: 0.3s;
}
.fade-enter,
.fade-leave-to {
transform: translateX(100%);
}
.icon {
display: inline-block;
width: 0.25rem;
height: 0.25rem;
background-repeat: no-repeat;
background-size: contain;
padding: 2px;
background-position: center;
}
.icon-setting {
background-image: url(../icons/menu/setting.png);
}

291
src/assets/css/index-768.scss

@ -0,0 +1,291 @@ @@ -0,0 +1,291 @@
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 768px) {
.body,
html,
#app {
width: 100%;
height: 100%;
overflow: hidden;
}
* {
user-select: text !important;
}
#app {
-webkit-tap-highlight-color: transparent;
position: fixed;
top: 0;
left: 0;
bottom: 0;
right: 0;
.main {
.user-status {
width: calc(50% - 0.12rem);
height: calc(25% - 0.02rem);
padding: 0.05rem;
.hp {
padding-left: 0.08rem;
border: none;
height: 0.25rem;
img {
width: 0.35rem;
height: 0.35rem;
}
.value {
font-size: 0.18rem;
}
}
.lv {
padding-left: 0.08rem;
border: none;
height: 0.25rem;
img {
width: 0.35rem;
height: 0.35rem;
}
.value {
font-size: 0.18rem;
justify-content: space-between;
padding-right: 0.1rem;
}
}
.other {
margin-top: 0.02rem;
padding: 0.04rem;
border: 1px solid #ccc;
& > div {
padding-top: 0.02rem;
}
img {
width: 0.3rem;
height: 0.3rem;
}
.value {
font-size: 0.18rem;
margin-top: 0.04rem;
span {
font-size: 0.12rem !important;
transform: scale(0.8);
margin-top: -0.02rem;
}
}
}
}
.user-item {
margin-top: 0.12rem;
width: calc(50% - 0.12rem);
height: calc(25% - 0.02rem);
top: 25%;
left: 0.1rem;
padding: 0;
& > div {
height: 25%;
width: 100%;
.title {
padding: 0 0.1rem;
display: flex;
align-items: center;
.icon {
width: 0.4rem;
height: 0.4rem;
img {
width: 0.35rem;
height: 0.35rem;
}
}
.name {
font-size: 0.18rem;
}
}
}
.uii {
display: flex;
flex-direction: column;
.gold {
width: 100%;
height: 50% !important;
height: auto;
margin: 0;
font-size: 0.12rem;
padding-right: 0.12rem;
span {
padding: 0;
font-size: 0.16rem !important;
}
}
}
}
.sys-info {
width: calc(50% - 0.12rem);
height: 50%;
bottom: auto;
right: 0.1rem;
top: 0.1rem;
left: auto;
padding: 0.05rem;
font-size: 0.12rem;
.info {
i {
display: none;
}
}
.clear {
top: auto;
bottom: 0.1rem;
right: 0.1rem;
background: #000;
border: 1px solid #ccc;
border-radius: 0.06rem;
padding: 0.02rem 0.04rem;
}
}
.map {
height: calc(50% - 0.24rem);
right: 0.8rem;
left: 0.1rem;
top: auto;
bottom: 0.1rem;
.plan {
height: 0.6rem;
}
.dungeons {
img {
width: 0.35rem;
height: 0.35rem;
}
}
.event-icon {
width: 0.35rem;
height: 0.35rem;
background-size: 100%;
span {
font-size: 0.13rem;
}
}
}
.menu {
display: flex;
flex-direction: column;
left: auto;
right: 0.1rem;
top: 52%;
& > div {
margin: 0.03rem;
img {
width: 0.35rem;
height: 0.35rem;
}
span {
font-size: 0.22rem;
}
}
}
}
.dialog-backpackPanel {
transform: translate(-50%, -50%) scale(0.8);
}
.dialog {
top: 50% !important;
left: 50% !important;
transform: translate(-50%, -50%);
.item-close {
display: block;
}
.weapon,
.armor,
.ring,
.neck {
& > div {
width: 2.2rem;
font-size: 0.13rem;
.icon {
width: 0.45rem;
height: 0.45rem;
img {
width: 0.4rem;
height: 0.4rem;
}
}
}
padding: 0.06rem;
}
}
}
.drawer-update {
width: 100% !important;
}
.qa {
left: 1.5rem;
width: 0.45rem;
height: 0.5rem;
span {
font-size: 0.12rem !important;
}
img {
width: 0.25rem;
height: 0.25rem;
}
}
.extras {
left: 0.8rem;
width: 0.45rem;
height: 0.5rem;
span {
font-size: 0.12rem !important;
}
img {
width: 0.25rem;
height: 0.25rem;
}
}
.setting {
left: 0.1rem;
width: 0.45rem;
height: 0.5rem;
span {
font-size: 0.12rem !important;
}
img {
width: 0.25rem;
height: 0.25rem;
}
}
}

318
src/assets/css/index.scss

@ -0,0 +1,318 @@ @@ -0,0 +1,318 @@
* {
box-sizing: border-box;
user-select: none;
}
a {
cursor: pointer;
}
.main {
background: #111;
box-sizing: border-box;
margin: 0;
padding: 0;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
color: #eee;
height: 100%;
.user-status {
position: absolute;
top: 0.1rem;
left: 0.1rem;
border: 2px solid #ccc;
height: 4rem;
width: 4rem;
padding: 0.1rem;
display: flex;
flex-direction: column;
.hp {
cursor: pointer;
height: 0.7rem;
width: 100%;
display: flex;
border: 2px solid #ccc;
align-items: center;
padding-left: 0.2rem;
margin-bottom: 0.1rem;
img {
width: 0.5rem;
height: 0.5rem;
}
.value {
font-size: 0.26rem;
font-weight: bold;
text-align: center;
flex: 1;
}
}
.lv {
cursor: pointer;
height: 0.7rem;
width: 100%;
display: flex;
border: 2px solid #ccc;
align-items: center;
padding-left: 0.2rem;
margin-bottom: 0.1rem;
img {
width: 0.5rem;
height: 0.5rem;
}
.value {
display: flex;
justify-content: space-around;
font-size: 0.26rem;
font-weight: bold;
text-align: center;
flex: 1;
align-items: center;
}
}
.other {
img {
width: 0.35rem !important;
height: 0.35rem !important;
}
display: flex;
flex: 1;
padding: 0.1rem;
border: 2px solid #ccc;
flex-wrap: wrap;
& > div,
.item {
cursor: pointer;
width: 33.3%;
height: 50%;
display: flex;
align-items: center;
justify-content: flex-start;
padding-top: 0.05rem;
flex-direction: column;
.value {
margin-top: 0.06rem;
font-size: 0.23rem;
font-weight: normal;
flex: 1;
display: flex;
align-items: center;
flex-direction: column;
}
}
.item {
width: 100%;
}
}
}
.user-item {
position: absolute;
top: 0.1rem;
left: 4.2rem;
border: 2px solid #ccc;
height: 4rem;
width: 4rem;
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-around;
padding: 0.2rem 0;
padding-top: 0.1rem;
cursor: pointer;
& > div {
background: rgba(0, 0, 0, 0.7);
width: calc(100% - 0.4rem);
margin: 0 20rem;
}
.uii {
display: flex;
width: calc(100% -0.4rem);
}
.gold {
cursor: pointer;
height: 0.7rem;
margin: 0.1rem;
margin-top: 0.08rem;
width: calc(100%);
display: flex;
align-items: center;
padding-left: 0.1rem;
font-size: 0.22rem;
span {
font-size: 0.2rem;
font-weight: bold;
text-align: right;
flex: 1;
padding: 0.1rem 0.08rem;
display: flex;
align-items: flex-end;
justify-content: flex-end;
}
}
.title {
display: flex;
padding: 0.05rem;
width: 100%;
.icon {
width: 0.56rem;
height: 0.56rem;
background-color: #000;
display: flex;
align-items: center;
justify-content: center;
border-radius: 0.04rem;
}
.name {
font-size: 0.2rem;
height: 0.46rem;
margin-left: 0.2rem;
line-height: 0.46rem;
}
}
}
.sys-info {
position: absolute;
border: 2px solid #ccc;
height: calc(100% - 4.4rem);
width: 8.1rem;
bottom: 0.1rem;
left: 0.1rem;
transition: 0.2s;
padding: 0.2rem;
.clear {
position: absolute;
top: 0.2rem;
right: 0.2rem;
cursor: pointer;
&:hover {
text-decoration: underline;
}
}
#sysInfo {
overflow-y: auto;
transition: 0.2s;
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: flex-start;
}
.info {
margin: 0.03rem 0;
}
a {
cursor: pointer;
text-decoration: underline;
margin-left: 0.05rem;
}
.warning > span {
color: #f90202;
}
.battle > span {
color: #de8618;
}
.win > span {
color: #24c4de;
}
.trophy > span {
color: #2fe20f;
}
}
.map {
position: absolute;
right: 0.1rem;
left: 8.3rem;
top: 0.1rem;
bottom: 0.1rem;
border: 2px solid #ccc;
background-image: url(../img/map.jpg);
background-repeat: no-repeat;
background-size: 100% 100%;
.plan {
position: absolute;
top: 0.1rem;
width: calc(100% - 0.3rem);
left: 0.15rem;
height: 1rem;
background: rgba(54, 121, 176, 0.68);
text-align: center;
font-size: 0.4rem;
line-height: 1rem;
}
.eventEnd {
position: absolute;
top: 1.1rem;
right: 0rem;
height: 0.4rem;
font-size: 0.16rem;
line-height: initial;
}
.event-icon {
position: absolute;
cursor: pointer;
width: 0.55rem;
height: 0.75rem;
border: 1px solid #111;
background: rgba(0, 0, 0, 0.5);
border-radius: 4px;
box-shadow: 0 0 4px 4px rgba(100, 255, 36, 0.5);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
.icon-image {
width: 0.45rem;
height: 0.45rem;
border-radius: 50%;
background-image: url(../icons/menu/d1.png);
background-color: rgba(100, 255, 36, 0.6);
background-repeat: no-repeat;
background-position: center center;
background-size: 30px 29px;
}
span {
text-shadow: 1px 1px 3px rgb(0, 0, 0);
white-space: nowrap;
width: 100%;
text-align: center;
border-top: 1px solid rgba(100, 255, 36, 0.6);
margin-top: 0.03rem;
font-size: 0.14rem;
}
}
.low-level {
}
.h-level {
box-shadow: 0 0 4px 4px rgba(245, 241, 0, 0.5);
.icon-image {
background-image: url(../icons/menu/d2.png);
background-color: rgba(245, 241, 0, 0.6);
}
span {
border-top: 1px solid rgba(245, 241, 0, 0.6);
}
}
.boss {
box-shadow: 0 0 4px 4px rgba(245, 54, 54, 0.5);
.icon-image {
background-image: url(../icons/menu/d3.png);
background-color: rgba(245, 54, 54, 0.6);
}
span {
border-top: 1px solid rgba(245, 54, 54, 0.6);
}
}
.endless {
box-shadow: 0 0 4px 4px rgba(245, 69, 0, 0.5);
.icon-image {
background-image: url(../icons/endless.png);
background-color: rgba(245, 69, 0, 0.6);
}
span {
border-top: 1px solid rgba(245, 69, 0, 0.6);
}
}
}
}

BIN
src/assets/fonts/JetBrainsMono-Regular.ttf

Binary file not shown.

BIN
src/assets/fonts/sarasa-ui-cl-regular.ttf

Binary file not shown.

BIN
src/assets/icons/I_Scroll.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
src/assets/icons/S_Sword06.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
src/assets/icons/attribute/ATK.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
src/assets/icons/attribute/CRIT.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
src/assets/icons/attribute/CRITDMG.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
src/assets/icons/attribute/S_BLOC.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 987 B

BIN
src/assets/icons/attribute/S_EVA.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 978 B

BIN
src/assets/icons/attribute/S_Holy01.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 878 B

BIN
src/assets/icons/attribute/S_Holy03.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

BIN
src/assets/icons/attribute/icon_11.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
src/assets/icons/close.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 762 B

BIN
src/assets/icons/endless.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 571 B

BIN
src/assets/icons/equips/A_A2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

BIN
src/assets/icons/equips/A_A3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
src/assets/icons/equips/A_A5.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
src/assets/icons/equips/A_A7.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

BIN
src/assets/icons/equips/A_A9.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 560 B

BIN
src/assets/icons/equips/Ac_1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
src/assets/icons/equips/Ac_10.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
src/assets/icons/equips/Ac_11.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 573 B

BIN
src/assets/icons/equips/Ac_3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

BIN
src/assets/icons/equips/Ac_5.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

BIN
src/assets/icons/equips/Ac_7.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
src/assets/icons/equips/Ac_9.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
src/assets/icons/equips/U_Armor01.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 823 B

BIN
src/assets/icons/equips/U_Armor02.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 911 B

BIN
src/assets/icons/equips/U_Armor03.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 772 B

BIN
src/assets/icons/equips/U_Armor04.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 715 B

BIN
src/assets/icons/equips/U_Armor05.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 734 B

BIN
src/assets/icons/equips/U_Armor06.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 676 B

BIN
src/assets/icons/equips/U_Armor07.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 725 B

BIN
src/assets/icons/equips/U_Sword01.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 873 B

BIN
src/assets/icons/equips/U_Sword02.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 456 B

BIN
src/assets/icons/equips/U_Sword03.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 611 B

BIN
src/assets/icons/equips/U_Sword04.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
src/assets/icons/equips/U_Sword05.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1007 B

BIN
src/assets/icons/equips/U_Sword06.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 596 B

BIN
src/assets/icons/equips/U_Sword07.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
src/assets/icons/equips/U_Sword08.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 840 B

BIN
src/assets/icons/equips/U_Sword09.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
src/assets/icons/equips/U_Sword10.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 501 B

BIN
src/assets/icons/equips/U_neck01.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 717 B

BIN
src/assets/icons/equips/U_neck02.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
src/assets/icons/equips/U_neck03.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 605 B

BIN
src/assets/icons/equips/U_neck04.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
src/assets/icons/equips/U_neck05.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 530 B

BIN
src/assets/icons/equips/U_ring01.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 887 B

BIN
src/assets/icons/equips/U_ring02.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 636 B

BIN
src/assets/icons/equips/U_ring03.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
src/assets/icons/equips/U_ring04.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 649 B

BIN
src/assets/icons/equips/U_ring05.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
src/assets/icons/equips/W_Fist003.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 826 B

BIN
src/assets/icons/equips/W_Sword001.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

BIN
src/assets/icons/equips/W_Sword007.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
src/assets/icons/equips/W_Sword016.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
src/assets/icons/equips/W_Sword018.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
src/assets/icons/equips/W_Sword019.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
src/assets/icons/equips/W_Sword021.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

11
src/assets/icons/github.svg

@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 36 36" enable-background="new 0 0 36 36" xml:space="preserve">
<path fill-rule="evenodd" clip-rule="evenodd" fill="#191717" d="M18,1.4C9,1.4,1.7,8.7,1.7,17.7c0,7.2,4.7,13.3,11.1,15.5
c0.8,0.1,1.1-0.4,1.1-0.8c0-0.4,0-1.4,0-2.8c-4.5,1-5.5-2.2-5.5-2.2c-0.7-1.9-1.8-2.4-1.8-2.4c-1.5-1,0.1-1,0.1-1
c1.6,0.1,2.5,1.7,2.5,1.7c1.5,2.5,3.8,1.8,4.7,1.4c0.1-1.1,0.6-1.8,1-2.2c-3.6-0.4-7.4-1.8-7.4-8.1c0-1.8,0.6-3.2,1.7-4.4
c-0.2-0.4-0.7-2.1,0.2-4.3c0,0,1.4-0.4,4.5,1.7c1.3-0.4,2.7-0.5,4.1-0.5c1.4,0,2.8,0.2,4.1,0.5c3.1-2.1,4.5-1.7,4.5-1.7
c0.9,2.2,0.3,3.9,0.2,4.3c1,1.1,1.7,2.6,1.7,4.4c0,6.3-3.8,7.6-7.4,8c0.6,0.5,1.1,1.5,1.1,3c0,2.2,0,3.9,0,4.5
c0,0.4,0.3,0.9,1.1,0.8c6.5-2.2,11.1-8.3,11.1-15.5C34.3,8.7,27,1.4,18,1.4z"/>
</svg>

After

Width:  |  Height:  |  Size: 998 B

BIN
src/assets/icons/icon_78.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
src/assets/icons/icon_79.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
src/assets/icons/icon_81.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
src/assets/icons/icon_83.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
src/assets/icons/images/一些像素rpg游戏常用图标素材-物品图标-_5_爱给网_aigei_com_03.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
src/assets/icons/images/一些像素rpg游戏常用图标素材-物品图标-_5_爱给网_aigei_com_05.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
src/assets/icons/lock.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 B

BIN
src/assets/icons/map/blood.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

BIN
src/assets/icons/map/boss.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

BIN
src/assets/icons/map/chest-open.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
src/assets/icons/map/chest.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
src/assets/icons/map/monster.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
src/assets/icons/map/player-s.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
src/assets/icons/map/player.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
src/assets/icons/map/player1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save