1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- // const wxjssdk = require('jweixin-module')
- import { getSignatureApi } from '@/services/gzh_home'
- import wxjssdk from 'weixin-js-sdk'
- import { appId } from '@/utils/http'
- //调用 返回的接口
- //获取签名--添加微信配置
- export const wxconfig = async () => {
- // const currenturl = encodeURIComponent(location.href.split('#')[0])
- const currenturl = location.href.split('#')[0]
- alert(currenturl)
- const response = await getSignatureApi({ url: currenturl })
- //将值装进微信的配置
- wxjssdk.config({
- debug: true,
- appId: appId,
- timestamp: response.data.timestamp,
- nonceStr: response.data.nonceStr,
- signature: response.data.signature,
- jsApiList: [
- // 'checkJsApi', //判断当前客户端版本是否支持指定JS接口
- 'chooseImage',
- // 'updateAppMessageShareData', //分享接口
- // // 'chooseImageApi', //扫一扫接口
- // 'chooseWXPay', //微信支付
- ],
- })
- }
- // 选择图片方法
- export const chooseImageApi = () => {
- return new Promise((resolve, reject) => {
- wxconfig()
- wxjssdk.ready(() => {
- console.log('微信验证')
- wxjssdk.chooseImage({
- count: 1, // 默认9
- sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
- sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
- success: function (res) {
- console.log(res)
- resolve(res)
- // var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
- },
- cancel: function (): void {
- console.log('用户取消了')
- // throw new Error('Function not implemented.')
- // throw new Error('Function not implemented.')
- },
- })
- }),
- wxjssdk.error((res) => {
- console.log('config fail:', res)
- //config fail,抛出失败原因
- console.log('-------------失败------------')
- reject(res)
- })
- })
- }
- //分享方法
- const shareAppApi = () => {
- return new Promise((resolve, reject) => {
- //注意----需在用户可能点击分享按钮前就先调用
- wxjssdk.ready(() => {
- //需在用户可能点击分享按钮前就先调用
- wxjssdk.updateAppMessageShareData({
- title: '', // 分享标题
- desc: '', // 分享描述
- link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
- imgUrl: '', // 分享图标
- success: function () {
- resolve('分享成功')
- // 设置成功
- },
- })
- })
- })
- }
- // wxjssdk.checkJsApi({
- // jsApiList: ['chooseImage'], // 需要检测的JS接口列表,所有JS接口列表见附录2,
- // success: function (res) {
- // // 以键值对的形式返回,可用的api值true,不可用为false
- // // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
- // },
- // })
- //
- // wxjssdk.ready(function () {
- // //微信config正确性验证通过了
- // console.log('微信验证通过了')
- // // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
- // })
- wxjssdk.error(function (res) {
- console.log('微信验证没有通过了')
- // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
- })
|