master
宇天 2022-03-20 21:30:49 +08:00
parent 92f7e3f0a9
commit de40e1a905
8 changed files with 49071 additions and 50277 deletions

View File

@ -1 +1 @@
body{line-height:1.5;font-size:14px;color:var(--color-dark-1)}a{color:inherit;text-decoration:none}wc-switch{cursor:pointer}.app{width:100%;height:100vh}.flex{display:flex}.flex.column{flex-direction:column}.flex.ac{justify-content:center}.flex.alc{align-items:center}.flex.acc{justify-content:center;align-items:center}.flex.asc{justify-content:space-between;align-items:center}.wrapper{width:1024px}.topbar{width:100%;height:64px;background:#fff;box-shadow:0 6px 12px rgba(0,0,0,.05)}.topbar .logo{font-size:24px;color:var(--color-red-1)}.topbar .logo span{font-size:14px}.topbar .navs{font-size:16px}.topbar .navs .nav{margin-left:32px;cursor:pointer;transition:color .2s linear}.topbar .navs .nav.active,.topbar .navs .nav:hover{text-decoration:underline;color:var(--color-red-1)}.footer{width:100%;height:64px;border-top:1px solid var(--color-plain-2)}.main{overflow:hidden;flex:1}.main .wrapper{height:100%}.main .table-info{width:100%;height:64px}.main .table-info b{color:var(--color-red-1)}.main .table-info .download{margin-left:32px}.main .search{width:100%}.main .search .field{margin-top:16px}.main .search .field.result{line-height:2;font-family:Menlo;word-wrap:break-word;white-space:pre-wrap}.main .search .field wc-input{flex:1}.main .panel{overflow:hidden;flex:1;margin-top:32px}.main .panel .custom-file{position:relative;width:160px}.main .panel .custom-file input{position:absolute;width:100%;height:100%;opacity:0}.main .panel .tips{color:var(--color-orange-3)}.main .panel .scroll-view{overflow:hidden;flex:1}.main .panel .preview{margin-top:16px;font-family:Menlo;word-break:keep-all;white-space:pre-wrap}.main .about{padding:32px 16px}.main .about h2{font-size:24px}.main .about .logs .version{margin-top:32px;line-height:2;font-weight:bold;font-size:18px}.main .about .logs dd{color:var(--color-grey-3)}.main .about .logs ol{padding-left:2em;list-style:decimal}.download-layer{width:640px;padding-bottom:64px;background:#fff}.download-layer .field{margin-top:16px;padding:0 16px}.download-layer .field .label{min-width:120px;padding-right:16px;line-height:32px;text-align:right;font-weight:bold;color:var(--color-grey-3)}.download-layer .field .label::after{content:" : "}.download-layer .field .tips{margin-left:16px;line-height:32px;color:var(--color-orange-3)}.download-layer .field.ctrol{padding:0 128px;margin-top:64px}@media screen and (max-width: 1024px){.topbar,.main{padding:0 16px}.wrapper{width:100%}.footer .wrapper{flex-direction:column;align-items:center;justify-content:center}} body{line-height:1.5;font-size:14px;color:var(--color-dark-1)}a{color:inherit;text-decoration:none}wc-switch{cursor:pointer}.app{width:100%;height:100vh}.flex{display:flex}.flex.column{flex-direction:column}.flex.ac{justify-content:center}.flex.alc{align-items:center}.flex.acc{justify-content:center;align-items:center}.flex.asc{justify-content:space-between;align-items:center}.wrapper{width:1024px}.topbar{width:100%;height:64px;background:#fff;box-shadow:0 6px 12px rgba(0,0,0,.05)}.topbar .logo{font-size:24px;color:var(--color-red-1)}.topbar .logo span{font-size:14px}.topbar .navs{font-size:16px}.topbar .navs .nav{margin-left:32px;cursor:pointer;transition:color .2s linear}.topbar .navs .nav.active,.topbar .navs .nav:hover{text-decoration:underline;color:var(--color-red-1)}.footer{width:100%;height:64px;border-top:1px solid var(--color-plain-2)}.main{overflow:hidden;flex:1}.main .wrapper{height:100%}.main .table-info{width:100%;height:64px}.main .table-info b{color:var(--color-red-1)}.main .table-info .download{margin-left:32px}.main .search{width:100%}.main .search .field{margin-top:16px}.main .search .field.result{line-height:2;font-family:Menlo;word-wrap:break-word;white-space:pre-wrap}.main .search .field wc-input{flex:1}.main .panel{overflow:hidden;flex:1;margin-top:32px}.main .panel .custom-file{position:relative;width:160px}.main .panel .custom-file input{position:absolute;width:100%;height:100%;opacity:0}.main .panel .tips{color:var(--color-orange-3)}.main .panel .scroll-view{overflow:hidden;flex:1}.main .panel .preview{margin-top:16px;font-family:Menlo;word-break:keep-all;white-space:pre-wrap}.main .about{padding:32px 16px}.main .about h2{font-size:24px}.main .about .logs .version{margin-top:32px;line-height:2;font-weight:bold;font-size:18px}.main .about .logs dd{color:var(--color-grey-3)}.main .about .logs ol{padding-left:2em;list-style:decimal}.github{position:fixed;right:-30px;top:20px;z-index:9;width:120px;height:22px;line-height:22px;text-align:center;color:#fff;background:var(--color-dark-1);transform:rotate(45deg)}.download-layer{width:640px;padding-bottom:64px;background:#fff}.download-layer .field{margin-top:16px;padding:0 16px}.download-layer .field .label{min-width:120px;padding-right:16px;line-height:32px;text-align:right;font-weight:bold;color:var(--color-grey-3)}.download-layer .field .label::after{content:" : "}.download-layer .field .tips{margin-left:16px;line-height:32px;color:var(--color-orange-3)}.download-layer .field.ctrol{padding:0 128px;margin-top:64px}@media screen and (max-width: 1024px){.topbar,.main{padding:0 16px}.wrapper{width:100%}.footer .wrapper{flex-direction:column;align-items:center;justify-content:center}}

View File

@ -102,6 +102,20 @@
} }
} }
.github {
position:fixed;
right:-30px;
top:20px;
z-index:9;
width:120px;
height:22px;
line-height:22px;
text-align:center;
color:#fff;
background:var(--color-dark-1);
transform:rotate(45deg);
}
.download-layer { .download-layer {
width: 640px; width: 640px;
padding-bottom: 64px; padding-bottom: 64px;

View File

@ -195,7 +195,6 @@
一维数组 一维数组
异常 异常
应用程序开发 应用程序开发
邮件服务器
语句 语句
元素 元素
元组 元组

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -30,7 +30,7 @@
<div class="wrapper flex column"> <div class="wrapper flex column">
<header class="table-info flex alc"> <header class="table-info flex alc">
现有单字GB2312(<b>{{gb2312}}</b>)个 + GBK(<b>{{gbk}}</b>)个、词组<b>{{words}}</b>个、异形字<b>{{dy}}</b>个、emoji<b>{{emoji}}</b>个 ! 现有单字GB2312(<b>{{gb2312}}</b>)个 + GBK(<b>{{gbk - gb2312}}</b>)个、异形字<b>{{dy}}</b>个、词组<b>{{words}}</b>个、emoji<b>{{emoji}}</b>个 !
<wc-link class="download" type="primary" underline @click="openDownloadPanel">下载词库</wc-link> <wc-link class="download" type="primary" underline @click="openDownloadPanel">下载词库</wc-link>
</header> </header>
@ -76,6 +76,8 @@
</div> </div>
</footer> </footer>
<a href="//github.com/yutent/wb-table" class="github" target="__target">GitHub</a>
<wc-layer ref="dl" title="下载选项" mask mask-close> <wc-layer ref="dl" title="下载选项" mask mask-close>
<div class="download-layer"> <div class="download-layer">

View File

@ -14,7 +14,7 @@ import '//unpkg.yutent.top/@bytedo/wcui/dist/form/checkbox.js'
import '//unpkg.yutent.top/@bytedo/wcui/dist/form/switch.js' import '//unpkg.yutent.top/@bytedo/wcui/dist/form/switch.js'
import fetch from '//unpkg.yutent.top/@bytedo/fetch/dist/index.js' import fetch from '//unpkg.yutent.top/@bytedo/fetch/dist/index.js'
import { Enum } from './lib/core.js' import { Enum, saveFile, SString } from './lib/core.js'
import FIXED_86F from './lib/86_fixed.js' import FIXED_86F from './lib/86_fixed.js'
const VER_86 = '86' const VER_86 = '86'
@ -56,8 +56,9 @@ Anot({
fetch('./data/gbk.txt').then(r => r.text()), fetch('./data/gbk.txt').then(r => r.text()),
fetch('./data/words.txt').then(r => r.text()), fetch('./data/words.txt').then(r => r.text()),
fetch('./data/dy.txt').then(r => r.text()), fetch('./data/dy.txt').then(r => r.text()),
fetch('./data/extra.txt').then(r => r.text()),
fetch('./data/emoji.txt').then(r => r.text()) fetch('./data/emoji.txt').then(r => r.text())
]).then(([gb2312, gbk, words, dy, emoji]) => { ]).then(([gb2312, gbk, words, dy, extra, emoji]) => {
// //
gb2312.split('\n').forEach(it => { gb2312.split('\n').forEach(it => {
@ -79,8 +80,8 @@ Anot({
WB_TABLE_GBK.add(k, it) WB_TABLE_GBK.add(k, it)
} }
}) })
//
words.split('\n').forEach(it => { ;(words + extra).split('\n').forEach(it => {
it = it.split(' ') it = it.split(' ')
let k = it.shift() let k = it.shift()
@ -90,6 +91,8 @@ Anot({
} }
}) })
console.log(WB_WORDS)
dy.split('\n').forEach(it => { dy.split('\n').forEach(it => {
it = it.split(' ') it = it.split(' ')
@ -110,6 +113,8 @@ Anot({
} }
}) })
WB_TABLE_GBK.concat(WB_TABLE_2312)
this.gb2312 = WB_TABLE_2312.length this.gb2312 = WB_TABLE_2312.length
this.gbk = WB_TABLE_GBK.length this.gbk = WB_TABLE_GBK.length
this.words = WB_WORDS.length this.words = WB_WORDS.length
@ -138,12 +143,12 @@ Anot({
} }
if (reverse || text.length === 1) { if (reverse || text.length === 1) {
res = [WB_TABLE_2312.get(text) || WB_TABLE_GBK.get(text)] res = [WB_TABLE_GBK.get(text)]
if (version === VER_86F) { if (version === VER_86F) {
resf = [WB_TABLE_86F.get(text)] resf = [WB_TABLE_86F.get(text)]
} }
} else { } else {
res = text.split('').map(t => WB_TABLE_2312.get(t) || WB_TABLE_GBK.get(t)) res = text.split('').map(t => WB_TABLE_GBK.get(t))
if (version === VER_86F) { if (version === VER_86F) {
resf = text.split('').map(t => WB_TABLE_86F.get(t)) resf = text.split('').map(t => WB_TABLE_86F.get(t))
} }
@ -159,10 +164,7 @@ Anot({
res = `${text} 】👉\t${res[0] res = `${text} 】👉\t${res[0]
.map( .map(
t => t =>
`${t}(${(resf && resf[0] `${t}(${(resf && resf[0] ? WB_TABLE_86F.get(t) : WB_TABLE_GBK.get(t))
? WB_TABLE_86F.get(t)
: WB_TABLE_2312.get(t) || WB_TABLE_GBK.get(t)
)
.join('、') .join('、')
.toUpperCase()})` .toUpperCase()})`
) )
@ -211,7 +213,7 @@ Anot({
for (let it of arr) { for (let it of arr) {
it = it.replace(/[\w\s\t]+/g, '') it = it.replace(/[\w\s\t]+/g, '')
all.add(it) all.add(it)
if (!WB_TABLE_2312.get(it) && !WB_WORDS.get(it) && !WB_DY.get(it)) { if (!WB_TABLE_GBK.get(it) && !WB_WORDS.get(it) && !WB_DY.get(it)) {
unknow.add(it) unknow.add(it)
} }
} }
@ -225,8 +227,8 @@ Anot({
unknow.length unknow.length
} , 如下:\n\n${unknow.join('\t')}` } , 如下:\n\n${unknow.join('\t')}`
window.unknow = unknow // window.unknow = unknow
console.log(unknow) // console.log(unknow)
// navigator.clipboard.writeText(Array.from(all).join('\n')) // navigator.clipboard.writeText(Array.from(all).join('\n'))
} }

View File

@ -1,3 +1,14 @@
export function saveFile(bin, fileName) {
var link = document.createElement('a')
link.href = URL.createObjectURL(bin)
link.download = fileName
// 兼容火狐浏览器对于a链接click无效的问题将a链接作为子节点放置到body元素下
document.body.appendChild(link)
link.click()
// 下载后移除a链接
document.body.removeChild(link)
}
/** /**
* 增强版 String * 增强版 String
*/ */
@ -102,10 +113,18 @@ export class Enum {
} }
} }
concat(...args) {
for (let li of args) {
li.forEach((it, k) => {
this.add(k, it)
})
}
}
forEach(callback, forV) { forEach(callback, forV) {
var dict = forV ? this.#dict_v : this.#dict_k var dict = forV ? this.#dict_v : this.#dict_k
for (let k in dict) { for (let k in dict) {
if (callback(k, dict[k]) === false) { if (callback(dict[k], k) === false) {
break break
} }
} }