当前位置: 首页 > 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网址编码、解码icon-default.png?t=N7T8https://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/u=2092827811,169092614&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500",openid:"",token: "",};},persist: {// 在这里进行自定义配置key: "h5Store",storage: localStorage, //将数据持久化到本地浏览器中},
});
export { h5Store };

3.4 My.vue 

<template><view class="image-container"><van-row><van-col  span="8"><van-imageroundwidth="10rem"height="10rem":src="h5_store.headimgurl"></van-image><div class="text-center"><!-- 1.微信登录获取code --><a href="https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxd7cd618e72d4f454&redirect_uri=http%3A%2F%2Fh5.a.com%2Fmy&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect">{{h5_store.name}}</a></div></van-col span="8"></van-row></view>
</template><script lang="ts" setup>
import { ref, onMounted } from "vue";
import {useRoute}  from "vue-router"
import {weiXinApi} from "@/api/index"
// 导入pinia
import { h5Store } from "@/store/pinia";
const h5_store=h5Store();
const route=useRoute();
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.name=res.data.nickname;h5_store.headimgurl=res.data.headimgurl;h5_store.openid=res.data.openid;})}
});
</script>
<style lang="css" 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_type=authorization_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={}&lang=zh_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.yayakq.cn/news/244931/

相关文章:

  • 格泰网站建设网站做seo外链
  • 机械手表网站net112企业建站系统
  • 家居网站建设咨询用自己电脑做网站 dns
  • 南通网站设计制作公司软件开发工具性能审计不包括
  • 温州网站改版公司金坛市建设局网站
  • 自己怎么做电影网站建站平台在线提交功能
  • 网站页码四川省建设网站评标专家考试
  • 东阳网站建设微信开发wordpress 优化变快
  • 上城区商城网站建设国内产品网站w源码1688
  • 网站视听内容建设小型门户网站建设硬件配置
  • 做平面什么网站的素材不侵权网站开发课程改革
  • 邢台网站建设策划wordpress 游客也可以上传附件
  • html做的网站图片横着摆放深圳住房和建设局网站无法登陆
  • 网站建设营销推广wordpress安装插件无法创建目录
  • 福州网站网站建设绍兴网站开发08keji
  • 网站搭建收费黑龙江省建设厅安全员考试
  • 织梦网站模板套用济南公司建设网站
  • 四川网站建设制作公众号的微网站开发
  • 个人简历模板在线编辑免费seo优化排名价格
  • 个人网站做贷款广告找人做小程序要多少钱
  • 伪装学渣无极网站优书网书库
  • 成都网站建设名录上海装修公司名字
  • 广州网站维护公司用爱奇艺会员做视频网站违法吗
  • 中国网站建设公司排名两个男生如何做网站
  • 珠海网站建设培训班wordpress模板教程
  • 一个主机建多少个网站管理网页
  • 网站 流程 工具网站的功能目标
  • 微信网站制作哪个好辽宁招投标信息网官网
  • 做网站图片用什么格式照片制作网站
  • 南山区公司网站制作绍兴做网站服务