微信开发之js发送短信和拨打电话号码(解决发送短信body内容不能初始化的问题)

1 篇文章 0 订阅
1 篇文章 0 订阅

网上有很多的博客都在写这个微信开发之js发送短信和拨打电话号码

内容都是

<a href="tel:10086">10086</a> //点击后直接拨打10086
<a href="mailto:123456@qq.com?subject=Test">123456@qq.com</a>  //点击后直接给发邮件,主题为:Test             
<a href="sms:15308598231?body=0000000">给 10086 发短信</a>   //点击后直接给10086发信息,消息内容默认为0000000
<a href="geopoint:116.281469,39.866035">我的位置</a>    //点击后直接发送自己的位置

但是我在开发的过程中遇到一个问题,发送短信时如果,body中的内容包含   #    号时,会截断#号后的所有内容。   

就像

<a href="sms:15308598231?body=11111#00000">给 10086 发短信</a>   这样。发送的短信内容为11111   而#号后面的内容会被截取掉。

我弄了很久,终于发现,可以用%23来代替#号。这样就不会解析错误了。

同理,如果body中含有其他的符号,也可以用相同的方法来解决

希望以后遇到的朋友能够看到这篇博客。解决你们的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用微信的第三方登录功能来实现微信登录。首先,需要在微信公众平台上注册网站应用,然后在应用中配置网站的域名。 接下来,在你的网站上添加一个 "微信登录" 按钮。点击按钮时,会跳转到微信的登录界面,用户在微信上登录后,会跳转回你的网站。 在用户跳转回网站时,可以通过 URL 中的参数(例如,code 参数)来获取用户的息,并使用这些息来完成登录。下面是一个简单的示例: ``` // 在网站的 JavaScript 中 const loginButton = document.getElementById('login-button'); loginButton.addEventListener('click', () => { // 跳转到微信的登录界面 window.location.href = 'https://open.weixin.qq.com/connect/qrconnect?appid=YOUR_APP_ID&redirect_uri=YOUR_REDIRECT_URI&response_type=code'; }); // 在网站的服务器端(例如,Node.js) app.get('/callback', (req, res) => { // 使用 code 参数获取用户息 const code = req.query.code; const url = `https://api.weixin.qq.com/sns/oauth2/access_token?appid=YOUR_APP_ID&secret=YOUR_APP_SECRET&code=${code}&grant_type=authorization_code`; request(url, (error, response, body) => { if (!error && response.statusCode === 200) { const data = JSON.parse(body); // 使用 access_token 和 openid 获取用户息 const userUrl = `https://api.weixin.qq.com/sns/userinfo?access ### 回答2: 要实现微信登录,可以使用JavaScript来编写相关代码。下面是一个用于微信登录的简单示例: 首先,在HTML页面中插入一个按钮,用于触发微信登录流程: ``` <button id="login-btn">微信登录</button> ``` 然后,在JavaScript中定义一个函数,用于处理登录逻辑: ``` document.getElementById("login-btn").addEventListener("click", function() { // 发起微信登录请求 wx.login({ success: function(res) { if (res.code) { // 获取登录凭证,可以通过发送给服务器验证用户身份 var code = res.code; // 发送code到后端服务器进行验证,获取用户息 // 这里使用ajax发送请求,示例中假设后端接口为/login var xhr = new XMLHttpRequest(); xhr.open("POST", "/login", true); xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8"); xhr.onreadystatechange = function() { if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) { // 登录成功,获取返回的用户息 var userInfo = JSON.parse(xhr.responseText); console.log(userInfo); } }; xhr.send(JSON.stringify({ code: code })); } else { console.log("微信登录失败:" + res.errMsg); } } }); }); ``` 在这个示例中,当用户点击"微信登录"按钮时,会调用wx.login函数发起微信登录请求。成功获取用户登录凭证(code)后,将该凭证发送给后端服务器进行验证。后端服务器返回用户息后,可以在JavaScript中进行相应操作,比如输出用户息到控制台console.log(userInfo)。 需要注意的是,这个示例中假设后端接口为"/login",实际情况中需要根据自己的后端实现进行调整。此外,还需要在页面中引入微信登录相关的JS库,并进行相应的配置。 ### 回答3: 要使用JavaScript实现微信登录,首先需要在微信开放平台上获取到相应的应用ID和应用密钥。然后按照以下步骤进行操作: 1. 引入微信登录的JavaScript SDK库,可以通过在HTML文件中添加以下代码来引入: ``` <script src="https://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script> ``` 2. 创建一个登录按钮,并设置一个固定的ID,例如: ``` <div id="wechat-login-btn"></div> ``` 3. 在JavaScript中,使用`new WxLogin()`来初始化微信登录组件,并传入相关参数,如下所示: ``` <script> var obj = new WxLogin({ id: "wechat-login-btn", appid: "YOUR_APP_ID", scope: "snsapi_login", redirect_uri: "YOUR_REDIRECT_URI", state: "STATE_VALUE", style: "", href: "" }); </script> ``` 其中,`appid`为你的应用ID,`redirect_uri`为微信登录成功后的回调URL地址,`state`为自定义参数,可以用来校验用户息的完整性。 4. 用户点击微信登录按钮后,会弹出微信授权登录页面,用户输入微信账号密码并确认后,会跳转回你设置的`redirect_uri`地址,并附带一个`code`参数。 5. 在你设置的`redirect_uri`地址的处理页面中,通过获取URL中的`code`参数,将其发送到服务器进行验证。服务器需要向微信服务器发送请求,使用`code`参数获取用户的`access_token`和`openid`。 6. 服务器通过验证后,将用户的息存储在数据库中,或者创建用户的登录会话。 通过以上步骤,就可以使用JavaScript实现微信登录了。请注意,此方法仅适用于网页应用,移动应用的微信登录实现方式可能会有所不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值