加载项从入门到上线(二),批量插入二维码,部署加载项

👋

昨天跟这个帖子加载项从入门到上线(一)来操作的兄弟们,重新创建一个项目,用vue的来,因为我们要引入一些第三方包,需要vite


插入二维码

今天继续实现第二个按钮功能,将选中列的单元格数据转换成二维码插入到单元格上

先安装依赖

👋

npm install qrcode

插入二维码代码

实现效果,


👋

功能实现好了,我们现在要给人用啊,肯定要部署到外网服务器上啊。

部署前需要先准备:

  1. 一个已备案的域名

  1. 一张 SSL 证书

  1. 一台有外网IP的服务器

  1. 服务器已安装了nginx

部署到外网

假设你已经做好了上面的准备工作,接下来就是把我们的加载项部署到服务器上了

编译项目

build时选在线插件

👋

wpsjs build

wpsjs publish -s https://wpsadd.example.com/jsplugindir/

处理一个小问题

wpsjs publish 出来的publish.html 多了一个test123,这个估计是wpsjs的bug,我们把这个无效的加载项信息删掉

👋

sed -i 's/{"name":"test123[^{]*//' wps-addon-publish/publish.html

上传CDN

前端的资源文件我们一般会上传到CDN上,当然,这步不是必要的,不需要的=可以选择跳过,我这里用的是七牛

👋

qshell='./tools/qshell'

${qshell} account "$AK" "$SK" "name"

${qshell} qupload ./qiniuconfig

vite.config.js 也要修改一下,这一步要在 build 前做好

将html 文件部署到服务器

有些人可能会问了,我都已经将所有文件上传到CDN了,为什么还要部署到服务器

如果你的加载项以后不更新了,是可以直接用CDNhtml地址的,如果还要更新,最好就是部署到服务器上,因为CDN的缓存时间很久,如果后面你更新了,估计要等半天或者好几天,用户才能看到最新的

👋

tar -zcvf dist.tar.gz wps*

scp dist.tar.gz root@example.com:/usr/share/nginx/html/wpsaddin

ssh -t root@example.com <<EOF

cd /usr/share/nginx/html/wpsaddin

rm -rf jsplugindir wps-addon-publish

tar -zxvf dist.tar.gz

mv wps-addon-build jsplugindir

cp jsplugindir/index.html .

rm dist.tar.gz

EOF

完整的部署shell

# 编译项目
wpsjs build
wpsjs publish -s https://wpsadd.example.com/jsplugindir/
# 上传CDN
qshell='./tools/qshell'
${qshell} account "$AK" "$SK" "name"
${qshell} qupload ./qiniuconfig
# 部署服务器
tar -zcvf dist.tar.gz wps*
scp dist.tar.gz root@example.com:/usr/share/nginx/html/wpsaddin
ssh -t root@example.com <<EOF
    cd /usr/share/nginx/html/wpsaddin
    rm -rf jsplugindir wps-addon-publish
    tar -zxvf dist.tar.gz
    mv wps-addon-build jsplugindir
    cp jsplugindir/index.html .
    rm dist.tar.gz
EOF

nginx配置文件

server {
    listen 443;
    ssl on;
    ssl_certificate ssl/xxx.pem;
    ssl_certificate_key ssl/xxx.key;
    server_name wpsadd.example.com;
    charset UTF-8;
    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;
    gzip on;
    gzip_types application/json application/javascript text/css text/html;
    gzip_comp_level 6;
    gzip_vary on;
    location / {
        add_header Cache-Control no-store;
        root /usr/share/nginx/html/wpsaddin/;
        try_files $uri $uri/ /index.html;
    }
}

配置好这些后,重启 nginx ,用浏览器打开 https://wpsadd.example.com/wps-addon-publish/publish.html 应该就可以打开加载项的安装界面了

这个安装链接有点长,我第一次发布项目用的这是这个,搞的用户每次安装要输入一串字符串,体验非常不好,我们可以再弄一个短域名

server {
    listen 443;
    ssl on;
    ssl_certificate ssl/xx.pem;
    ssl_certificate_key ssl/xx.key;
    server_name d.example.com;
    charset UTF-8;
    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;
    gzip on;
    gzip_types application/json application/javascript text/css text/html;
    gzip_comp_level 6;
    gzip_vary on;
    location / {
        root /usr/share/nginx/html/wpsaddin/wps-addon-publish/;
        index publish.html;
        try_files $uri $uri/ /publish.html;
    }

}

这样用户直接打开 https://d.example.com 就可以安装加载项了

还等什么,赶紧行动起来吧

广东省
浏览 415
1
6
分享
6 +1
6
1 +1
全部评论 6
 
学习
· 河南省
回复
 
wps 在线表可以生成二维码,还可以生成活码,为什么不用现成的,要绕一大弯
· 四川省
回复
我这只是随手写一个功能,你不要太较真,我这个码也是活码,真要生产用,肯定要支持的多一些,像我们这个加载项,基本覆盖了常用的条码
· 广东省
回复
 
wils

创作者俱乐部成员

那个test123在这里,如果更新了wpsjs包,删掉留个{}就行 C:\\Users\\Administrator\\AppData\\Roaming\\npm\\node_modules\\wpsjs\\src\\lib\\publishlist.json
· 海南省
回复
治标不治本,换一台电脑部署,就又出来了,感觉还是写到 shell 里面比较好
· 广东省
回复