您现在的位置是:首页 >其他 >2023/4/10-2023/4/18周报网站首页其他
2023/4/10-2023/4/18周报
1 高德地图 运行抱错 INVALID_USER_SCODE
这里是错误信息对应原因 错误信息列表-参考手册-地图 JS API | 高德地图API
这里是高德地图api设置说明 准备-入门-教程-地图 JS API | 高德地图API
如果你自己能排查出错误 那不用看我的,如果都写的对还是抱错 那不妨试试我说的
a) 上面2段代码的顺序 要正确。即先有上面设置serviceHost 后有下面引入高德的jsapi
b) 如果还不好使。不妨试试 将上面的这2段代码 放到 <header> 标签里。到这里 基本就好使了
对了 高德key 个人账号 上线只能申请25个
2 钉钉小程序和微信小程序
之前写过 自动转换文章 和工具 有需要的可以去看 钉钉小程序自动转微信小程序_钉钉小程序转微信小程序_gaoqiang1112的博客-CSDN博客
这里提及一下最新遇到的问题和解决办法
a) 微信消息通知 打开微信小程序的 跳转地址是 app.json 里面的路径 可以 ?拼接参数
钉钉消息通知 打开钉钉小程序的 跳转地址是 eapp:// 后 加 app.json里面的路径 可以 ?拼接参数
b) 微信和钉钉小程序 在接过来的值的时候 都是 onload 里的参数里获得,我这碰巧遇到一个mpvue弄的uni的项目 特殊提一嘴 这种项目微信无影响 钉钉小程序的值 onload里没有 因为 项目添加了 uni-simple-router 导致 参数丢失,最后在 this.$root.$mp.query 获取的值
c)钉钉小程序 上传文件的时候 钉钉/微信/uni 都有固定的请求方法 不要乱设置content-type 如果你自己在header上添加。微信小程序 安卓/ios 都好使。钉钉 安卓好使,ios 是一直抱错的,如果你遇到了 不妨检查一下 header里是否设置了content-type 或者说 应该写成 Content-Type。大小写也会在特殊情况下 引起错误的
3 volta 包管理器
之前的项目 mac 用的n 模块。windows 用的 nvm模块 都是去控制我电脑的node版本。
但是当场景一 我a项目用的node12版本, b项目用的node16版本的时候 我只能用n去切换环境,然后要不启动a项目,要不启动b项目,无法同时启动2个项目
但是 volta就解决了这个问题 我们可以在项目的package.json 中去配置 volta 具体可以参考这篇文章。强大的JavaScript工具管理器Volta_package.json volta_神奇程序员的博客-CSDN博客
这样 我们的a项目和b项目 就可以以不通的node版本 同时运行起来。
额外提2点
a)如果你在已有n的环境按照了volta 那么 就无法用n去切换node版本了,整个电脑的默认node版本以及切换 需要用volta 去操作 比如切换 我就是重新下载一个 volta install node@12.0.0 的方式
b) volta 其实对应的就是 python中的 anaconda
4 python有个jieba分词 node对应的是 nodejieba
var nodejieba = require("nodejieba");
var sentence = "查询人人人员姓名性别年龄口性别等于男人人人年龄在10与20之间姓名不为空姓名";
var result;
// 没有主动调用nodejieba.load载入词典的时候,
// 会在第一次调用cut或者其他需要词典的函数时,自动载入默认词典。
// 词典只会被加载一次。
result = nodejieba.cut(sentence);
console.log(result);
result = nodejieba.cut(sentence, true);
console.log(result);
result = nodejieba.cutHMM(sentence);
console.log(result);
result = nodejieba.cutAll(sentence);
console.log(result);
result = nodejieba.cutForSearch(sentence);
console.log(result);
result = nodejieba.tag(sentence);
console.log(result);
var topN = 5;
result = nodejieba.extract(sentence, topN);
console.log(result);
result = nodejieba.textRankExtract(sentence, topN);
console.log(result);
result = nodejieba.cut("男默女泪");
console.log(result);
nodejieba.insertWord("男默女泪");
result = nodejieba.cut("男默女泪");
console.log(result);
result = nodejieba.cutSmall("南京市长江大桥", 3);
console.log(result);
5 关于正则表达式
平时我们常用的写法 (必须是8位以上字母+特殊符号+数字)
let regex = /^(?![A-z0-9]+$)(?![A-z_!@#$%&=~*+-]+$)(?![d_!@#$%&=~*+-]+$)([w!@#$%&=~*+-]{8,})$/;
regex.test(value) false 为不满足。true为满足
用这样的方式去 判断是否通过正则表达式
而当我们使用new RegExp() 我们如果这样写的时候
let regex = new RegExp(/^(?![A-z0-9]+$)(?![A-z_!@#$%&=~*+-]+$)(?![d_!@#$%&=~*+-]+$)([w!@#$%&=~*+-]{8,})$/)
regex.test(value) false 为不满足。true为满足
如果判断一直是错误的 不妨试试 这样写
let regex = new RegExp('^(?![A-z0-9]+$)(?![A-z_!@#$%&=~*+-]+$)(?![\d_!@#$%&=~*+-]+$)([\w!@#$%&=~*+-]{8,})$')
去掉 前后的 / 并且注释 正则内的 转译符 根据实际情况判断是否要对 转译符 进行转译