小程序
小游戏
企业微信
微信支付
扫描小程序码分享
- 当前 Bug 的表现(可附上截图)
n
使用npm引入了urlencode包以后,运行报错
去掉这行代码,就不会报错,因为要用到urlencode,所以必须引入。说明:npm的编译没有问题。
- 预期表现
应该正常执行
- 复现路径
- 提供一个最简复现 Demo
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
里面 safer-buffer 用到了 nodejs 的 buffer 模块导致,因为此处不会将 nodejs 的实现给打包进去,文档里有这个约束:
尝试多安装一个 buffer 包(https://github.com/feross/buffer )给 safer-buffer 使用试试?
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们定位下问题
这个js文件require了urlencode,然后被页面的index.js引用
const md5 = require('./md5.js');
const urlencode = require('urlencode');
const sortData = function (data) {
let keys = Object.keys(data).sort();
let result = {}
for (let i = 0; i < keys.length; i++) {
let value = data[keys[i]]
if (value instanceof Object) {
value = sortData(value)
}
result[keys[i]] = value
return result;
const makeUrl = function (method_tag, params) {
console.log('Call makeUrl:', method_tag, params)
let time = (new Date()).valueOf();
let token = 'test';
let tag = method_tag;
let params_str = JSON.stringify(sortData(params))
let sign_data = 'createTime=' + time + 'params=' + params_str+'tag='+tag+'token='+token;
let url = 'http://qae.qunar.com/api/router?';
let createTime = time;
let sign = md5.md5(sign_data).toLowerCase();
console.log(sign_data, sign.toLowerCase())
params_str = urlencode(params_str);
return url + 'token=' + token + '&tag' + method_tag + '&token' + token + '&createTime' + time + '¶ms' + params_str;
module.exports = {
makeUrl: makeUrl
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
里面 safer-buffer 用到了 nodejs 的 buffer 模块导致,因为此处不会将 nodejs 的实现给打包进去,文档里有这个约束:
尝试多安装一个 buffer 包(https://github.com/feross/buffer )给 safer-buffer 使用试试?
麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们定位下问题
这个js文件require了urlencode,然后被页面的index.js引用
const md5 = require('./md5.js');
const urlencode = require('urlencode');
const sortData = function (data) {
let keys = Object.keys(data).sort();
let result = {}
for (let i = 0; i < keys.length; i++) {
let value = data[keys[i]]
if (value instanceof Object) {
value = sortData(value)
}
result[keys[i]] = value
}
return result;
}
const makeUrl = function (method_tag, params) {
console.log('Call makeUrl:', method_tag, params)
let time = (new Date()).valueOf();
let token = 'test';
let tag = method_tag;
let params_str = JSON.stringify(sortData(params))
let sign_data = 'createTime=' + time + 'params=' + params_str+'tag='+tag+'token='+token;
let url = 'http://qae.qunar.com/api/router?';
let createTime = time;
let sign = md5.md5(sign_data).toLowerCase();
console.log(sign_data, sign.toLowerCase())
params_str = urlencode(params_str);
return url + 'token=' + token + '&tag' + method_tag + '&token' + token + '&createTime' + time + '¶ms' + params_str;
}
module.exports = {
makeUrl: makeUrl
}