APP的准备工作已经搞定了,接下来就要配置一些依赖微信的第三方插件,搞 1.微信登录 相应的插件安装 cordova plugin add cordova-plugin-wechat --variable wechatappid=开放平台申请移动应用的APPID 注意,注意 一定要在微信开放平台上先申请 移动应用中你所依赖的一些功能
(1)首先你需要填写
应用签名:
包名:
(2)获取签名
在android项目根目录下运行命令cordova build --release android,这是会生成一个apk,不同的版本生成的apk位置不一样,这就需要你自己找了
(3)keytool -genkeypair -alias hhh.keystore -keyalg RSA -validity 4000 -keystore hhh.keystore执行命令会在项目的根目录下生成一个hhh.keystore的签名文件(注意要记住密码,后面会用到)
(4)把刚运行cordova build --release android生成的apk和hhh.keystore 放在同一目录 打开cmd jarsigner -verbose -keystore hhh.keystore -signedjar 你要的名字.apk 打包的.apk hhh.keystore 运行回车输入密码,这就完成了apk的打包签名
(4)vue 使用 微信登录
let that = this
Wechat.isInstalled((installed) => {
let scope = 'snsapi_userinfo'
let state = '_' + (+new Date())
Wechat.auth(scope, state, (response) => {
Indicator.open({
text: '登录中...',
spinnerType: 'fading-circle'
})
let url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=你的APPID&secret=你的APPsecret&code=' + response.code + '&grant_type=authorization_code'
that.request({
url: url,
success: function (res) {
let resultjson = JSON.parse(res)
console.log(resultjson)
<!--这里有相应的你所需的东西-->
}
})
})
}, function (reason) {
alert('Failed: ' + reason)
})
如果想要直接拿到 unionid nickname weixinOpenid
需要再次调用 'https://api.weixin.qq.com/sns/auth?access_token=' + resultjson.access_token + '&openid=' + openid
'https://api.weixin.qq.com/sns/userinfo?access_token=' + token + '&openid=' + openid
2.微信分享
不说直接上代码
let type = Wechat.Scene.SESSION //分享给朋友
<!--type = Wechat.Scene.TIMELINE//分享给朋友圈-->
let title = '亲,' + JSON.parse(this.userInfo).nickname + '喊你来赚钱啦'
Wechat.share({
message: {
title: '分享title',
description: '分享description',
thumb: '分享图片',
media: {
type: Wechat.Type.LINK,
webpageUrl: '分享链接'
}
},
scene: type
}, function () {
// alert('Success')
}, function (reason) {
alert('Failed: ' + reason)
})
3.解决微信登录,分享的一些闪退的问题
开始我也遇到过此类问题,查看了一些文档,找到了解决方法
这是由于cordova版本太高不兼容cordova-plugin-wechat插件所导致的,找到安卓项目中的
plugins/cordova-plugin-wechat/scripts/android-install.js中的
var targetDir = path.join(projectRoot, "platforms", "android", "src", packageName.replace(/\./g, path.sep), "wxapi");
修改成
var targetDir = path.join(projectRoot, "platforms", "android", "app","src","main","java", packageName.replace(/\./g, path.sep), "wxapi");
修改后,重新装一下平台
cordova platform remove android
cordova platform add android
搞定。