当前位置: 首页 > wzjs >正文

淄博网站制作设计公司首选大型网站建站公司

淄博网站制作设计公司,首选大型网站建站公司,运营实力 网站建设,做网站甘特图 内容一、准备工作 1. 注册微信开放平台账号 首先,你需要注册一个微信开放平台账号,并创建一个网站应用。微信开放平台地址:https://open.weixin.qq.com/ 2. 获取AppID和AppSecret 在创建好网站应用后,你会获得一个AppID和AppSecre…

一、准备工作

1. 注册微信开放平台账号

首先,你需要注册一个微信开放平台账号,并创建一个网站应用。微信开放平台地址:https://open.weixin.qq.com/

2. 获取AppID和AppSecret

在创建好网站应用后,你会获得一个AppID和AppSecret,这两个值在后续的开发中非常重要。

二、前端实现

1. 创建Vue.js项目

你可以使用Vue CLI创建一个新的Vue.js项目:

npm install -g @vue/cli
vue create wechat-login
cd wechat-login
npm run serve

2. 生成微信登录二维码

在你的Vue.js项目中创建一个登录页面,使用微信提供的QR码接口生成二维码。以下是一个示例组件:

<template><div><h1>微信扫码登录</h1><img :src="qrCodeUrl" alt="微信二维码"></div>
</template><script>
export default {data() {return {appId: 'YOUR_APP_ID',redirectUri: encodeURIComponent('https://your-redirect-uri.com/callback'),state: 'random_string', // 用于防止跨站请求伪造(CSRF)qrCodeUrl: ''};},created() {this.generateQRCode();},methods: {generateQRCode() {this.qrCodeUrl = `https://open.weixin.qq.com/connect/qrconnect?appid=${this.appId}&redirect_uri=${this.redirectUri}&response_type=code&scope=snsapi_login&state=${this.state}#wechat_redirect`;}}
};
</script>

YOUR_APP_ID 替换为你在微信开放平台上获得的AppID,将 https://your-redirect-uri.com/callback 替换为你的回调地址,并确保它是URL编码的。

3. 处理微信回调

当用户扫描二维码并授权后,微信会重定向到你提供的回调URL,并带上授权码(code)和状态参数(state)。你需要在服务器端处理这个回调,获取用户的access token和用户信息。

三、后端实现

1. 创建Node.js服务器

你可以使用Express框架创建一个简单的Node.js服务器来处理微信的回调请求。首先,安装Express和Axios:

npm install express axios

然后创建一个 server.js 文件:

const express = require('express');
const axios = require('axios');const app = express();
const port = 3000;const appId = 'YOUR_APP_ID';
const appSecret = 'YOUR_APP_SECRET';
const redirectUri = 'https://your-redirect-uri.com/callback';app.get('/callback', async (req, res) => {const { code, state } = req.query;if (state !== 'random_string') {return res.status(400).send('Invalid state');}try {// 获取 access tokenconst tokenResponse = await axios.get(`https://api.weixin.qq.com/sns/oauth2/access_token`, {params: {appid: appId,secret: appSecret,code,grant_type: 'authorization_code'}});const { access_token, openid } = tokenResponse.data;// 获取用户信息const userInfoResponse = await axios.get(`https://api.weixin.qq.com/sns/userinfo`, {params: {access_token,openid}});const userInfo = userInfoResponse.data;res.json(userInfo);} catch (error) {res.status(500).send('Authentication failed');}
});app.listen(port, () => {console.log(`Server is running at http://localhost:${port}`);
});

YOUR_APP_IDYOUR_APP_SECRET 替换为你在微信开放平台上获得的AppID和AppSecret。

2. 启动服务器

在项目根目录下运行以下命令启动服务器:

node server.js

四、前端处理登录结果

在微信扫码登录页面轮询服务器端的登录状态,并处理登录成功后的用户信息。以下是一个简单的示例:

<template><div><h1>微信扫码登录</h1><img :src="qrCodeUrl" alt="微信二维码"></div>
</template><script>
export default {data() {return {appId: 'YOUR_APP_ID',redirectUri: encodeURIComponent('https://your-redirect-uri.com/callback'),state: 'random_string',qrCodeUrl: ''};},created() {this.generateQRCode();this.checkLoginStatus();},methods: {generateQRCode() {this.qrCodeUrl = `https://open.weixin.qq.com/connect/qrconnect?appid=${this.appId}&redirect_uri=${this.redirectUri}&response_type=code&scope=snsapi_login&state=${this.state}#wechat_redirect`;},checkLoginStatus() {// 轮询服务器端的登录状态setInterval(async () => {try {const response = await fetch('/path_to_your_server_endpoint');if (response.ok) {const data = await response.json();// 登录成功,处理用户信息console.log(data);}} catch (error) {console.error('Error checking login status:', error);}}, 5000); // 每5秒检查一次}}
};
</script>

五、安全和防护措施

  1. HTTPS:确保在生产环境中使用HTTPS保护用户数据安全。
  2. CSRF:使用随机的 state 值防止CSRF攻击。
  3. 验证:对回调中的 codestate 参数进行验证,确保安全。

六、测试

确保微信开放平台应用的设置正确,并且回调URL可以访问。然后打开你的Vue.js页面,扫描生成的二维码进行测试。


文章转载自:

http://3H9M5Sx9.mcsdq.cn
http://tyuAWTxR.mcsdq.cn
http://KDuAgeZ5.mcsdq.cn
http://t2jns85j.mcsdq.cn
http://UyaVm5wO.mcsdq.cn
http://SIkaV3AM.mcsdq.cn
http://CjLmgPyx.mcsdq.cn
http://12sl2P1b.mcsdq.cn
http://ohl7HNoD.mcsdq.cn
http://Iq7jpklw.mcsdq.cn
http://hOOXpE4n.mcsdq.cn
http://8VSiAOUD.mcsdq.cn
http://MMdZ32LE.mcsdq.cn
http://6HTqEBHT.mcsdq.cn
http://nU3sXYxF.mcsdq.cn
http://7YaSCU1L.mcsdq.cn
http://FdX7lJdi.mcsdq.cn
http://ZA3bG5zS.mcsdq.cn
http://9gkZ5xzx.mcsdq.cn
http://u2TacxJK.mcsdq.cn
http://js0s0Aqm.mcsdq.cn
http://wAcAvNVM.mcsdq.cn
http://MtOFLMwt.mcsdq.cn
http://kDGfyodV.mcsdq.cn
http://x3BMwZQk.mcsdq.cn
http://LGPOywzi.mcsdq.cn
http://WAjW3B1L.mcsdq.cn
http://s2OJkGaB.mcsdq.cn
http://Pbt6YjkK.mcsdq.cn
http://eSz8HUwP.mcsdq.cn
http://www.dtcms.com/wzjs/664589.html

相关文章:

  • 中为网站建设采购网站排名
  • 成都找人做网站s什么网站可以接单做设计赚钱
  • 网站建设内容策略有哪些wordpress工作发布时间
  • 公司网络营销策划书范文佛山手机网站建设优化
  • 网站域名申请流程鄂州做网站报价
  • 甘肃网站建设公司哪家好正规网站优化推广
  • 空间商指定的网站目录wordpress淘客模板
  • 网站维护细则18款免费软件app下载
  • 教育网站如何做seo学校做的网站外面访问不了
  • 杭州战争网站建设做网页的
  • 第一百四十七章 做视频网站软件开发合同模板下载
  • 制作网站的公司叫什么wordpress 小工具区域
  • 那种导航网站mq网站开发
  • 国外优秀网站中国公路工程建设网站
  • 网站建设错误代码50019邯郸网站优化
  • 建设银行手机绑定网站南昌建筑工程公司
  • 摄影网站设计与制作网站cms系统下载
  • 学校网站开发文档长沙建设信息中心网站
  • 专业做动漫的网站景安wordpress主机
  • 北京工商局网站怎么做增资找代理产品上哪个平台
  • 免费网站建设联系电话seo网站页面优化包含
  • 网上做网站怎么防止被骗网站还在建设就已经可以访问了_影响后期百度
  • 班级网站建设模板下载网站建设及优化的策划书
  • 网络营销常用的工具有哪些seo工程师是什么职业
  • 和小孩做的网站网业升级坊问
  • pr效果做的好的网站有哪些wordpress 开发者
  • 销售 网站平面广告设计要学的软件
  • 网站建设维护合同书十堰微网站建设
  • 河南建设人才招聘专业网站建站平台在线提交表格
  • 云服务器有哪些seo优化工作内容