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

广东贸易网站建设哪家济南营销网站建设公司

广东贸易网站建设哪家,济南营销网站建设公司,网站在线预约模板,北京高端品牌网站建设目录 一、使用组件 二、登录功能 2.1 步骤 2.2 首先找到网页权限 复制demo 代码 这里我们需要修改两个参数 三、前端代码 3.1 api 里weiXinApi.ts 3.2 api里的 index.ts 3.3 pinia.ts 3.4 My.vue 四、后端代码 4.1 WeiXinController 4.2 Access_Token.Java 4.3 We…目录 一、使用组件 二、登录功能 2.1 步骤 2.2 首先找到网页权限 复制demo 代码 这里我们需要修改两个参数 三、前端代码 3.1 api 里weiXinApi.ts 3.2 api里的 index.ts 3.3 pinia.ts 3.4 My.vue  四、后端代码 4.1 WeiXinController 4.2 Access_Token.Java 4.3 WeiXinUser.java 五、效果图 5.1 登录之前效果图 5.2 登录之后效果图 六、源代码参考 6.1 前端源代码参考 6.2 后端源代码参考 一、使用组件 vant4:https://vant-contrib.gitee.io/vant/#/zh-CN 二、登录功能 2.1 步骤 想要点击微信登录四个字 跳转到登录页面 2.2 首先找到网页权限 复制demo 代码 这里我们需要修改两个参数 applid唯一id和redirect_uri授权后重定向的回调链接地址 请使用 urlEncode 对链接进行处理 其中applid 注册的时候已经给我们了 比如说我们点击微信登录想要跳转到 http:h5.a.com/my 就可以用下面的编码工具进行编码然后放到最初的demo链接里。UrlEncode - 在线URL网址编码、解码在线URL网址编码、解码https://www.qianbo.com.cn/Tool/Url-Encode.html 点击 微信登录 注意 前端端口 最好设置为 80 否则很可能提示 redirect_uri参数错误 三、前端代码 3.1 api 里weiXinApi.ts import http from /http/index; export default {getAccessToken: {name: 获取token,url: /api/weixin/access_token,call: async function name(params: any {}) {return await http.get(this.url, params);},},};3.2 api里的 index.ts import weiXinApi from ./weiXinApi;export {weiXinApi,};3.3 pinia.ts import { createPinia, defineStore } from pinia; import piniaPluginPersistedstate from pinia-plugin-persistedstate;const pinia createPinia(); pinia.use(piniaPluginPersistedstate); export default pinia;const h5Store defineStore(h5Store, {state: () {return {//定义变量name: 微信登录,nickname:,headimgurl:https://img2.baidu.com/it/u2092827811,169092614fm253fmtautoapp138fJPEG?w500h500,openid:,token: ,};},persist: {// 在这里进行自定义配置key: h5Store,storage: localStorage, //将数据持久化到本地浏览器中}, }); export { h5Store };3.4 My.vue  templateview classimage-containervan-rowvan-col span8van-imageroundwidth10remheight10rem:srch5_store.headimgurl/van-imagediv classtext-center!-- 1.微信登录获取code --a hrefhttps://open.weixin.qq.com/connect/oauth2/authorize?appidwxd7cd618e72d4f454redirect_urihttp%3A%2F%2Fh5.a.com%2Fmyresponse_typecodescopesnsapi_userinfostateSTATE#wechat_redirect{{h5_store.name}}/a/div/van-col span8/van-row/view /templatescript langts setup import { ref, onMounted } from vue; import {useRoute} from vue-router import {weiXinApi} from /api/index // 导入pinia import { h5Store } from /store/pinia; const h5_storeh5Store(); const routeuseRoute(); onMounted(() {// 第一步获取code const {code ,state} route.query;console.log(code);//091qixFa1lNlgH0dPlHa1XBkP43qixFsif(code!undefined){weiXinApi.getAccessToken.call({code:code}).then((res:any){// 登录成功获取用户的信息后 将头像和openid保存到store中console.log(res);h5_store.nameres.data.nickname;h5_store.headimgurlres.data.headimgurl;h5_store.openidres.data.openid;})} }); /script style langcss scoped /* 在wxss文件中 */ .image-container {position: relative;left: 25%; /* 水平居中 */align-items: center; /* 垂直居中如果需要 */width: 100%; /* 或者设定一个固定的宽度以适应屏幕 */height: auto; /* 根据实际情况调整高度 */background-color:cyan } .text-center {position: relative; /* 开启相对定位 */left: 50%;display: inline-block; /* 可能需要这个来确保文本块可以在一行内显示 */ } /style四、后端代码 4.1 WeiXinController package com.by.controller;import cn.hutool.core.util.StrUtil; import cn.hutool.http.HttpUtil; import cn.hutool.json.JSONUtil; import com.by.model.Access_Token; import com.by.model.WeiXinUser; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;RestController RequestMapping(/api/weixin) public class WeiXinController {/*** 微信公众号注册后的appid和appsecret*/private String appID wxd7cd618e72d4f454;private String appsecret a939c776a064d8358ed66d9c68aeeded;GetMapping(/access_token)public WeiXinUser getAccessToken(String code) {/*** 2. 通过code换取网页授权access_token*/String url StrUtil.format(https://api.weixin.qq.com/sns/oauth2/access_token?appid{}secret{}code{}grant_typeauthorization_code,appID,appsecret,code);String body HttpUtil.get(url);Access_Token access_token JSONUtil.toBean(body, Access_Token.class);/*** 4. 获取用户信息*/url StrUtil.format(https://api.weixin.qq.com/sns/userinfo?access_token{}openid{}langzh_CN,access_token.getAccess_token(),access_token.getOpenid());body HttpUtil.get(url);WeiXinUser wanted_user JSONUtil.toBean(body, WeiXinUser.class);return wanted_user;} }4.2 Access_Token.Java package com.by.model;import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor;Data AllArgsConstructor NoArgsConstructor Builder public class Access_Token {/*** 获取到的凭证*/private String access_token;private int expires_in;private String refresh_token;private String openid;}4.3 WeiXinUser.java package com.by.model;import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor;Data AllArgsConstructor NoArgsConstructor Builder public class WeiXinUser {private String openid;private String nickname;private int sex;private String province;private String city;private String country;private String headimgurl;private String privilege;private String unionid; }五、效果图 将头像和昵称和openid 存到pinia 中当前端发出的请求被后端正常响应后 将图片和昵称从结果集中拿出来赋给pinia 里的头像和昵称 5.1 登录之前效果图 5.2 登录之后效果图 六、源代码参考 6.1 前端源代码参考 https://codeup.aliyun.com/62858d45487c500c27f5aab5/huang-h5-weixin.git 6.2 后端源代码参考 https://codeup.aliyun.com/62858d45487c500c27f5aab5/SpringBoot-WeiXin.git
http://www.pierceye.com/news/203437/

相关文章:

  • 网站建设 环讯传媒建设网站要多久到账
  • 溧阳城乡建设厅网站惠州专业网站建设
  • app嵌入手机网站dw旅游网站怎么做
  • wpf做网站烟台做网站工资
  • 做网站公司名字网站建设方案对比分析报告
  • 网站360优化网站开发所需技术
  • 宁河做网站公司wordpress漏洞扫描工具
  • 单位网站建设的目的手机可以做网站服务器吗
  • 上海网站建设有限公司lnmp安装wordpress限权
  • 大航母网站建设服务php一般网站空间多大
  • 中性衣服印花图案设计网站做网站的工作
  • 只做女性的网站编程入门先学什么软件
  • 创客网站建设新余公司做网站
  • 买个网站域名多少钱网站建设 内容缺乏
  • 清河做网站哪里好建设一个网站的文案需要
  • 农机网站模版建网站用什么工作站
  • 网站可以做无形资产游戏代理0加盟费
  • 高端网站建设哪家公司好城乡建设部网站甘红刚
  • 湖北省建设部网站网站排名seo教程
  • 郑州 高端网站建设网络结构有哪几种
  • 电脑做apk的网站h5工商网站如何做实名
  • 循化网站建设公司c语言开发工具
  • wordpress网站做app关于网站的ppt怎么做
  • 怎么建设商品网站项目计划书范文
  • 大足建网站的网页微信版官方下载
  • 企业网站免费建设做网站设计需求
  • 做电影网站用什么虚拟主机建设网站模块需要哪些内容
  • 基于asp.net网站开发优化企业网站
  • 做网站有了空间在备案吗网站建设实务课本
  • 个人站长和企业网站wordpress主键外键