/wasm

WebAssembly(WASM)合集

Primary LanguageJavaScript

一、WASM加载

// 引入wasm_exec.js
const go = new window.Go();

const initInstantiate = (obj) => {
    go.run(obj.instance).then();
}

// url->wasm地址
const initWasm = (url) => {
    if ('instantiateStreaming' in WebAssembly) {
        WebAssembly.instantiateStreaming(fetch(url), go.importObject).then(initInstantiate);
    } else {
        fetch(url).then(resp => resp.arrayBuffer()).then(bytes => WebAssembly.instantiate(bytes, go.importObject).then(initInstantiate))
    }
}

// 加载wasm
initWasm("xxx/xxx/xxx.wasm")

二、WASM文档

1.人脸识别WASM
// 初始化加载图片
window.InitTestImage(JSON.stringify({Img: Array.from(imageByte)}))

// 识别
let params = JSON.stringify({
    Shape: shape, // 形状框:rect(正方形)、circle(圆形)、ellipse(椭圆)
    FaceParam: {
        Angle: angle, // 弧度:0.0~1.0,默认0.0
        MinSize: minSize, // 人脸最小尺寸:20
        MaxSize: maxSize, // 人脸最大尺寸:1000
        ShiftFactor: shiftFactor, // 按百分比切换检测窗口,0.15
        ScaleFactor: scaleFactor, // 按百分比缩放检测窗口,1.15
        IouThreshold: iouThreshold, // 联合交叉口(IoU)阈值,0.15
        MarkLlpLoc: markLlpLoc, // 是否开启面部关键点定位分类器,bool类型
        MarkDetEyes: markDetEyes, // 是否标记检测眼睛,bool类型
        MarkPup: markPup, // 是否定位眼睛,bool类型
        ColorRectFace: colorRectFace, // 人脸外框颜色,例如:#abcdef
        ColorRectEye: colorRectEye, // 眼睛外框颜色,例如:#abcdef
        ColorPointFace: colorPointFace, // 人脸关键点颜色,例如:#abcdef
        ColorPointEye: colorPointEye, // 眼睛关键点颜色,例如:#abcdef
    }
})
let res = window.FaceReCog(params);

人脸识别WASM

2.头像生成器WASM
// sex->性别
// name->昵称
window.GenerateAvatar(sex, name)

头像生成器WASM

3.汉字转拼音WASM
// hans->汉字
window.Hans2PinYin(hans)

汉字转拼音WASM

4.IP定位WASM
// ip->IP地址
window.Search(ip)

IP定位WASM

5.手机号归属地WASM
// phone->手机号
window.ChinaPhone(phone)

手机号归属地WASM

6.身份证查询WASM
// idCard->身份证号码
// isStrict->严格模式:开启、关闭
window.ChinaIDCard(idCard, isStrict)

身份证查询WASM

7.HTTPS证书自签名生成器WASM
let params = JSON.stringify({
    "country": "**", // 国家
    "province": "云南省", // 省份
    "locality": "昆明市", // 城市
    "street_address": "官渡区矣六街道", // 街道
    "postal_code": "650000", // 邮编
    "organization": "汇聚云南特产", // 公司
    "organizational_unit": "市场部", // 部门
    "common_name": "www.rustgopy.com", // 域名
    "date": "2024-12-31" // 截止日期
})
window.GenerateCA(params)

身份证查询WASM

8.常见数据正则校验WASM
// cate->分类:date(日期)、email(邮箱)、phone(手机号码)、telephone(电话号码)、postcode(邮政编码)、qq(QQ号码)、ipv4(IPv4地址)、ipv6(IPv6地址)、ip(IP地址)、mac(MAC地址)、url(URL地址)、domain(域名)、resident-id(身份证号码)、bank-card(银行卡号码)
// data->数据
window.CheckData(cate, data)

身份证查询WASM

三、联系作者

四、我的媒体

五、微信二维码

微信

Stargazers over time

Stargazers over time