2022-04-27 11:34:25 +08:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<html>
|
|
|
|
|
|
|
|
<head>
|
|
|
|
<meta charset="UTF-8">
|
|
|
|
<!-- import CSS -->
|
|
|
|
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
|
|
|
|
<!-- import Vue before Element -->
|
|
|
|
<script src="https://unpkg.com/vue@2.6.14/dist/vue.js"></script>
|
|
|
|
<!-- import JavaScript -->
|
|
|
|
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
|
|
|
|
<style>
|
|
|
|
#app {
|
|
|
|
font-family: "PingFang SC";
|
|
|
|
}
|
|
|
|
|
|
|
|
#header {
|
|
|
|
justify-content: center;
|
|
|
|
}
|
|
|
|
|
|
|
|
#main {
|
|
|
|
justify-content: center;
|
|
|
|
}
|
|
|
|
|
|
|
|
#form {
|
|
|
|
width: 60%;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* .el-row {
|
|
|
|
margin-bottom: 20px;
|
|
|
|
|
|
|
|
&:last-child {
|
|
|
|
margin-bottom: 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.el-col {
|
|
|
|
border-radius: 4px;
|
|
|
|
} */
|
|
|
|
</style>
|
|
|
|
</head>
|
|
|
|
|
|
|
|
<body>
|
|
|
|
<div id="app">
|
|
|
|
<el-container>
|
|
|
|
<el-header>
|
|
|
|
<a href="https://github.com/tom-snow/wechat-windows-versions/tree/pages" class="github-corner" aria-label="View source on GitHub">
|
|
|
|
<svg width="80" height="80" viewBox="0 0 250 250"
|
|
|
|
style="fill:#151513; color:#fff; position: absolute; top: 0; border: 0; right: 0;" aria-hidden="true">
|
|
|
|
<path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path>
|
|
|
|
<path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2"
|
|
|
|
fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path>
|
|
|
|
<path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z"
|
|
|
|
fill="currentColor" class="octo-body"></path>
|
|
|
|
</svg>
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<el-container id="header">
|
|
|
|
<h1 id="wechat-version-convertor">Wechat Version Convertor</h1>
|
|
|
|
</el-container>
|
|
|
|
</el-header>
|
|
|
|
|
|
|
|
<el-main>
|
|
|
|
<el-container id="main">
|
|
|
|
<el-form id="form" class="demo-ruleForm" :model="wechatVersion" ref="wechatVersion" :rules="rules" label-position="right" label-width="40%">
|
|
|
|
<el-form-item label="Wechat Dest Version" prop="dest">
|
|
|
|
<el-input v-model="wechatVersion.dest"></el-input>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item label="Wechat Hex Version" prop="hex">
|
|
|
|
<el-input v-model="wechatVersion.hex" readonly></el-input>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item label="Wechat Version(Int)" prop="int">
|
|
|
|
<el-input v-model="wechatVersion.int" readonly></el-input>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item>
|
|
|
|
<el-button type="primary" @click="convert('wechatVersion')">Convert</el-button>
|
|
|
|
<el-button native-type="reset">Reset</el-button>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form>
|
|
|
|
</el-container>
|
|
|
|
</el-main>
|
|
|
|
</el-container>
|
|
|
|
</div>
|
|
|
|
</body>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
new Vue({
|
|
|
|
el: '#app',
|
|
|
|
data: function () {
|
|
|
|
var validateDest = (rule, value, callback) => {
|
|
|
|
if (!value) {
|
|
|
|
return callback(new Error('DestVersion must not null'));
|
|
|
|
}
|
|
|
|
setTimeout(() => {
|
2024-12-20 20:52:24 +08:00
|
|
|
if (!/^((\d|\d\d)\.){3}(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])$/.test(value)) {
|
|
|
|
callback(new Error('Please input the format like a.b.c.d (0<=a,b,c<=99, 0<=d<=255; eg: 3.5.0.46)'));
|
2022-04-27 11:34:25 +08:00
|
|
|
} else {
|
|
|
|
callback();
|
|
|
|
}
|
|
|
|
}, 100);
|
|
|
|
};
|
|
|
|
return {
|
|
|
|
wechatVersion: {
|
|
|
|
dest: '',
|
|
|
|
hex: '',
|
|
|
|
int: ''
|
|
|
|
},
|
|
|
|
rules: {
|
|
|
|
dest: [
|
|
|
|
{ validator: validateDest, trigger: 'blur' }
|
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
convert: function (formName) {
|
|
|
|
this.$refs[formName].validate((valid) => {
|
|
|
|
if (valid) {
|
|
|
|
this.wechatVersion.hex = this.dest2hex(this.wechatVersion.dest);
|
|
|
|
this.wechatVersion.int = parseInt(this.wechatVersion.hex, 16)
|
|
|
|
// alert('submit!');
|
|
|
|
} else {
|
|
|
|
console.log('error submit!!');
|
|
|
|
alert('Failed to convert')
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
},
|
|
|
|
dest2hex: function (ver) {
|
|
|
|
version_list = ver.split('.');
|
|
|
|
version_list[0] = '6' + parseInt(version_list[0], 10).toString(16);
|
|
|
|
version_list[1] = parseInt(version_list[1], 10).toString(16);
|
|
|
|
if (version_list[1].length == 1 ) {
|
|
|
|
version_list[1] = '0' + version_list[1];
|
|
|
|
}
|
|
|
|
version_list[2] = parseInt(version_list[2], 10).toString(16);
|
|
|
|
if (version_list[2].length == 1 ) {
|
|
|
|
version_list[2] = '0' + version_list[2];
|
|
|
|
}
|
|
|
|
version_list[3] = parseInt(version_list[3], 10).toString(16);
|
|
|
|
if (version_list[3].length == 1 ) {
|
|
|
|
version_list[3] = '0' + version_list[3];
|
|
|
|
}
|
|
|
|
version_hex = '0x' + version_list[0] + version_list[1] + version_list[2] + version_list[3];
|
|
|
|
return version_hex
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style>
|
|
|
|
.github-corner:hover .octo-arm {
|
|
|
|
animation: octocat-wave 560ms ease-in-out
|
|
|
|
}
|
|
|
|
|
|
|
|
@keyframes octocat-wave {
|
|
|
|
0%, 100% {
|
|
|
|
transform: rotate(0)
|
|
|
|
}
|
|
|
|
20%, 60% {
|
|
|
|
transform: rotate(-25deg)
|
|
|
|
}
|
|
|
|
40%, 80% {
|
|
|
|
transform: rotate(10deg)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@media (max-width: 500px) {
|
|
|
|
.github-corner:hover .octo-arm {
|
|
|
|
animation: none
|
|
|
|
}
|
|
|
|
|
|
|
|
.github-corner .octo-arm {
|
|
|
|
animation: octocat-wave 560ms ease-in-out
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</style>
|
2024-12-20 20:52:24 +08:00
|
|
|
</html>
|