运维大大们,给点希望吧 --
1.项目背景,vue项目通过安卓打包发布的移动端应用app
2.配置流程:公众号appId,js接口域名等都配置了
3.测试代码如下:
// import { postMessage } from '@/utils/tools'
import wx from 'weixin-js-sdk'
import { setVertifiCode, login, getWXConfigData } from '@/service/api'
export default {
components: {
},
data() {
return {
code: '',
phone: '',
share: {
desc: '分享成功啦,快过来抢红包,手慢无',
title: '发红包啦',
url: 'xxxxxxxxxxxxxxxx',
imgurl: ''
},
config: {
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: 'XXXXXXXX', // 必填,公众号的唯一标识
timestamp: '1692173750', // 必填,生成签名的时间戳
nonceStr: 'xxxx', // 必填,生成签名的随机串
signature: 'xxxxx',// 必填,签名
jsApiList: [] // 必填,需要使用的JS接口列表
}
}
},
mounted () {
this.initWXConfig()
setTimeout(() => {}, 2000)
},
methods: {
setCode () {
const data = {
mobile: this.phone, //手机号
platform: 2, //短信发送来自哪个平台 2:记工记账 不传或1:乐工宝
type: 2 //1 忘记密码 2 登录
}
setVertifiCode(data).then(res => {
this.$toast(res.message)
})
},
checkData() {
if (!this.phone ) {
this.$toast('请输入账号');
return false
}
if (!this.code) {
this.$toast('请输入验证码');
return false
}
return true
},
// 登陆
loginFunc() {
const params = {
code: this.code, //验证码
phone: this.phone, //手机号
}
login(params).then(res => {
if (res.success) {
localStorage.setItem('loninInfo', JSON.stringify(res.data))
this.toPageIndex()
} else {
this.$toast(res.message)
localStorage.removeItem('loninInfo')
localStorage.clear()
}
})
},
// 去首页
toPageIndex(){
},
wxShare () {
wx.onMenuShareTimeline({
//配置去分享朋友圈的选项
title : this.share.title,//分享标题
link : this.share.url, //分享链接
imgUrl : this.share.imgurl, //分享图标
success : function(res){//分享成功
console.log("已分享朋友圈成功") //如分享成功后想做一些其他的业务处理,可以在这里做
},
cancel:function(){
console.log("已分享失败")
},
trigger: function (res) {
// alert('用户点击发送给朋友');
},
fail: function (res) {
alert(JSON.stringify(res))
}
})
wx.onMenuShareAppMessage({//配置去分享好友的选项
title : this.share.title,
link : this.share.url,
desc : this.share.desc,
imgUrl : this.share.imgurl ,
success : function(res){
console.log("分享好友成功")
},
cancel:function(res){
console.log("分享失败")
},
trigger: function (res) {
// alert('用户点击发送给朋友');
},
fail: function (res) {
alert(JSON.stringify(res))
}
})
},
initWXConfig () {
const url = 'xxxxxxx'
// const url = encodeURIComponent(location.href.split('#')[0])
getWXConfigData(url).then(res => {
if (res.success) {
wx.config({...res.data, jsApiList:['updateAppMessageShareData', 'updateTimelineShareData', 'onMenuShareAppMessage','onMenuShareTimeline', 'onMenuShareQQ', 'onMenuShareQZone'], debug: true})
wx.ready(()=>{
console.log('初始化成功啦')
wx.checkJsApi({
jsApiList: [
'updateAppMessageShareData', 'updateTimelineShareData', 'onMenuShareAppMessage','onMenuShareTimeline'
],
success: function (res) {
console.log('checkJsApi支持=====微信初始化成功', res)
},
fail:function(e){
console.log('不支持', e)
}
})
})
wx.error((res)=>{ // 配置失败
console.log('初始化失败')
let obj = null
for(var msg in res){
obj = {
showAlert:true,
errTitle:"错误提示",
errMsg:JSON.stringify(res[msg]),
errCode :""
}
}
console.log('初始化微信失败', obj)
})
}
})
}
}
}