使用apifm-wxapi模块时,可能会遇到一些问题,可以根据以下几个步骤进行排查和解决:
1. 确认是否引用正确
使用apifm-wxapi模块前,请先确认是否已正确引用。可以通过以下步骤进行检查:
- 前往项目的app.json文件,在其中找到“usingComponents”字段,确认apifm-wxapi是否已正确引用,例如:
"usingComponents": {
"van-button": "/vant/button/index",
"api": "../../utils/apifm-wxapi/index" // 注意这里
}
- 前往apifm-wxapi的源码目录,确认其中是否包含正确的文件,例如:
├── index.js
├── lib
│ ├── api.js
│ ├── card.js
│ ├── common.js
│ ├── config.js
│ ├── courier.js
│ ├── geo.js
│ ├── index.js
│ ├── login.js
│ ├── message.js
│ ├── order.js
│ ├── reg.js
│ ├── shop.js
│ ├── staff.js
│ ├── stock.js
│ ├── user.js
│ └── wxpay.js
如果以上都已正确配置,那么应该可以正常使用apifm-wxapi模块提供的接口。
2. 确认参数是否正确
在使用apifm-wxapi模块提供的接口时,需要传递相应的参数。如果参数不正确,就会导致接口请求失败。
例如,使用apifm-wxapi模块中的login接口时,需要传递一个code参数:
import api from '../../utils/apifm-wxapi/index'
wx.login({
success(res) {
if (res.code) {
api.login({
code: res.code
}).then(res => {
console.log(res)
})
} else {
console.log('登录失败!' + res.errMsg)
}
}
})
如果以上代码执行后,控制台输出的是“用户未登录”等错误信息,则说明传递的参数不正确。
示例:
示例1:使用apifm-wxapi模块中的addTemlMsgFormid接口时报错“没有权限访问该小程序”
这种情况一般是因为小程序没有开通模板消息功能或者没有添加模板消息。可以参考以下步骤进行修复:
- 前往微信公众平台,在“接口权限”中开通“模板消息”功能;
- 在“开发-模板消息”中添加相应的模板消息,获得templateId;
- 在代码中使用apifm-wxapi提供的addTemlMsgFormid接口时,设置templateId参数即可:
import api from '../utils/apifm-wxapi/index'
// 接收模板消息
api.addTemlMsgFormid({
token,
type: 2,
template_id: templateId,
form_id,
use_log: 1
})
示例2:使用wx.request请求apifm-wxapi中的接口时请求失败
这种情况一般可能是由于请求时未携带正确的token或者api code不正确。可以参考以下步骤进行修复:
- 前往apifm.cn/api查找需要调用的接口的api code;
- 在代码中使用apifm-wxapi提供的setHeader方法设置请求头token:
import api from '../utils/apifm-wxapi/index'
// 获取用户信息
api.getUserInfo({
token
}).then(res => {
console.log(res)
})
特别注意:
- 在上面两个示例中,需要传入token参数。token的获取可以通过调用apifm-wxapi提供的login接口获取,或者通过调用apifm-wxapi提供的setUserInfoStorage方法设置;
- apifm-wxapi中的接口请求是基于wx.request进行封装的,因此一定要注意请求时的http与https协议问题。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用apifm-wxapi模块中的问题及解决方法 - Python技术站