DCloud_UNI_GSQ
DCloud_UNI_GSQ
  • 发布:2018-12-18 13:52
  • 更新:2024-05-05 09:39
  • 阅读:305618

UNI-APP 开发微信公众号(H5)JSSDK 的使用方式

分类:uni-app

uni-app 中为兼容微信小程序生态存在全局的 wx 对象,而微信 JS-SDK 也是注册全局的 wx 对象,为避免混淆,可以将微信 JS-SDK 中的 wx 对象改名。采用以下两种方案之一即可。

方案一:模块化

在 uni-app 中可以使用模块方式引用微信 js-sdk ,可以避免与 uni-app 内置 wx 全局对象冲突的问题。

微信官网直接下载的如果使用有问题,可以使用 jweixin-module

安装

- NPM安装方式(不会用NPM就不要用这种方式)

npm install jweixin-module --save

- 下载使用方式

下载地址:https://unpkg.com/jweixin-module@1.6.0/lib/index.js

使用

var jWeixin = require('jweixin-module')  
jWeixin.ready(function(){  
    // TODO  
});

方案二:全局引入

如果不使用模块化引入 JS-SDK,而采用传统方式在 html 模板中直接全局引入,可以修改全局变量名称。

<!DOCTYPE html>  
<html lang="zh-CN">  
    <head>  
        <meta charset="utf-8">  
        <meta http-equiv="X-UA-Compatible" content="IE=edge">  
        <title>  
            <%= htmlWebpackPlugin.options.title %>  
        </title>  
        <!-- Open Graph data -->  
        <!-- <meta property="og:title" content="Title Here" /> -->  
        <!-- <meta property="og:url" content="http://www.example.com/" /> -->  
        <!-- <meta property="og:image" content="http://example.com/image.jpg" /> -->  
        <!-- <meta property="og:description" content="Description Here" /> -->  
        <script>  
            var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))  
            document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')  
        </script>  
        <script src="http://res.wx.qq.com/open/js/jweixin-1.6.0.js"/>  
        <script>  
            window.jWeixin=window.wx;  
            delete window.wx;  
        </script>  
        <link rel="stylesheet" href="<%= BASE_URL %>static/index.<%= VUE_APP_INDEX_CSS_HASH %>.css" />  
    </head>  
    <body>  
        <noscript>  
            <strong>Please enable JavaScript to continue.</strong>  
        </noscript>  
        <div id="app"></div>  
        <!-- built files will be auto injected -->  
    </body>  
</html>

完整API

微信JS-SDK说明文档

52 关注 分享
Trust GCJ 五叶神 虫雪浓 少年时 7***@qq.com e***@163.com 6***@qq.com z***@ichengyue.cn 1***@qq.com sonicsunsky 漩涡鸣人 战力不足五 zting590 叶冬凌 lydeon 屁小孩 w***@163.com Charlee丶毒 q***@icloud.com 天保 厘米 你的益达007 君不见 5***@qq.com 8***@qq.com rysnone 2***@qq.com 苏陌 l***@163.com 2***@qq.com 2***@qq.com 小答 c***@126.com j***@126.com 吃个大西瓜 1***@qq.com j***@163.com Qyh h***@qq.com 2***@qq.com 2***@qq.com 5***@qq.com m***@outlook.com 喜欢技术的前端 y***@126.com 2***@qq.com DCloud_UNI_HRK c***@163.com 1***@qq.com

要回复文章请先登录注册

指南针1987

指南针1987

问一下,云开发微信这段逻辑怎么处理 ?
//服务端进行签名
uni.request({
url: 'https://xxx.com/api/WechatScript/getSignPackage', //你的接口地址
data: {
url: uri
},
success: (res) => {
// console.log(res)
console.log('------签名返回数据------')
console.log(res.data.data)
//返回需要的参数appId,timestamp,noncestr,signature等
//注入config权限配置
jweixin.config({
debug: false,
appId: res.data.data.appId,
timestamp: res.data.data.timestamp,
nonceStr: res.data.data.nonceStr,
signature: res.data.data.signature,
jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData', 'editAddress',

]
});
2021-09-03 15:13
2***@qq.com

2***@qq.com

回复 2***@qq.com :
有哪位大神知道什么原因吗?
2021-08-27 12:41
2***@qq.com

2***@qq.com

我直接引用sdk
const jweixin = require('../../node_modules/jweixin-module')
然后hbuilder连接手机开启debug 控制台输出
Uncaught TypeError: Cannot read property 'title' of undefined
2021-08-27 12:40
2***@qq.com

2***@qq.com

使用了这个 npm install jweixin-module --save
一直报错 哪位大神指示下 TypeError: Cannot read property 'jWeixin' of undefined
2021-08-16 19:00
wanghexu

wanghexu

回复 2***@qq.com :
就是官方有些api是废弃了的,然后你使用的js还是使用废弃的api,你去官方引入,下载最新的js就行了
2021-03-05 20:51
买恐龙的小男孩

买恐龙的小男孩

回复 握瑾怀瑜 :
大佬,解决了吗
2021-03-04 16:53
dyun

dyun

请注意在onHide:跳转下一页,onUnload:返回上一页。方法中销毁分享链接
jweixin.updateAppMessageShareData({})
jweixin.updateTimelineShareData({})
2021-03-02 17:11
1***@qq.com

1***@qq.com

回复 wanghexu :
另外的npm安装是哪个npm安装
2021-02-28 18:20
wanghexu

wanghexu

回复 2***@qq.com :
我也不是很清楚,反正我使用了另外的npm安装,就好了
2020-12-24 12:53
2***@qq.com

2***@qq.com

回复 wanghexu :
新的api是什么意思?微信官网下载最新sdk?
2020-12-24 11:27