WeChat 애플릿과 웹(코드 공유) 간의 상호 작용에 대한 간략한 분석
이전 글 "React Native와 웹(코드 포함)의 기본 상호작용 심층 분석"에서는 React Native와 웹의 상호작용에 대한 이해를 드렸습니다. 다음 기사는 WeChat 애플릿과 웹 사이의 상호 작용에 대한 이해를 제공할 것입니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
Background
보통 우리는 적응형 웹 프로그램 세트를 작성하고 이를 다양한 환경에서 사용하려고 합니다. 예를 들어 앱만 사용할 수 있다면 앱, WeChat 미니 프로그램, 다양한 앱 공유에서 사용할 수 있습니다. 찾아보려면 문제는 크지 않지만, 임베디드 앱에서 앱 자체와 상호작용하려면 온갖 고생을 해야 하므로 이 글은 여기까지입니다.
Toss in ReactNative
, ReactNative
里折腾,请看这里
接入条件
首先得有开发者权限
你得有台服务器,有权限上传文件,不然验证无法通过
必须是企业小程序,个人和海外小程序无法使用
web-view
组件你的相关域名配置了有效的证书,并且开启了
https
服务你要访问的网址必须加入了业务域名白名单,网址所调用的api接口必须加入了服务器域名白名单,并且
api
接口也使用的https
协议
以上条件必须同时满足,缺一不可微信JSSDK
引入
微信 JSSDK 引入
外部引入
<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script> //进一步提升服务稳定性,当上述资源不可访问时,可改访问 <script type="text/javascript" src="http://res2.wx.qq.com/open/js/jweixin-1.4.0.js "></script>
使用AMD/CMD标准模块加载方法加载
安装
npm i weixin-js-sdk
在mian.js用使用
import wx from 'weixin-js-sdk'
判断是微信小程序环境
通过userAgent
为micromessenger
,或者window.__wxjs_environment
来判断
从微信 7.0.0 开始,可以通过判断userAgent中包含miniProgram字样来判断小程序web-view环境。
import wx from "weixin-js-sdk"; let OS = "PC"; //假设有多种环境 let ua = window.navigator.userAgent.toLowerCase(); if ( ua.indexOf("micromessenger") >= 0 || window.__wxjs_environment === "miniprogram" ) { //在微信或者小程序中 wx.miniProgram.getEnv((res) => { if (res.miniprogram) { //在小程序中 OS = "wxminiprogram"; window.wx = wx; } else { //在微信中 OS = "weixin"; } }); }
引入了sdk
,知道了环境变量,下面就是开干了。
交互示例小程序端
使用小程序端的组件,新建/page/webview/index.wxml
web-view会自动铺满整个小程序页面,个人类型与海外类型的小程序暂不支持使用。客户端6.7.2版本开始,navigationStyle: custom对组件无效
<!-- 通过src 来传递当前url, 通过bindmessage 来监听html的传值 --> <web-view src="{{url}}" bindmessage="getMessage" />
新建/page/webview/index.js
// pages/webview/index.js const app = getApp(); Page({ data: { url: "", shareData: {}, postData: {}, }, onLoad: function (options) { // nickName ,token 是登录之后拿到的信息 , 用来和h5 交互 let nickName = wx.getStorageSync("nickName"); let token = wx.getStorageSync("token"); let url = options.url; if (url) { //请注意传递url 请务必使用 decodeURIComponent 和 encodeURIComponent , 不然会白屏 url = decodeURIComponent(url); } //因为小程序 貌似还不能主动和H5 交互,所以拿到的登录信息,我们通过url 来传递. let localUrl = ""; if (token) { localUrl = url + "?token=" + userToken + "&nickName=" + nickName; } //犹豫地址存了token 和其他信息,分享会暴露,所以要手动重置分享地址 数据为 shareData this.setData({ url: localUrl, shareData: { titil: "测试小程序", desc: "测试小程序藐视描述", path: url, }, }); }, getMessage(e) { //此处接收html传递过来的参数 this.postData = e.detail.data; }, /** * 用户点击右上角分享 */ onShareAppMessage() { //重置分享链接和路径 return { title: this.shareData.title, desc: this.shareData.desc, path: this.shareData.path, }; }, });
交互示例web端
在web端,我们知道如何判断web是在小程序中,可以通过微信jsskd
直接发送交互信息,和在原生的微信小程序里一样
做路由跳转
// 前面我们已经定义了window.wx = wx ,这里可以直接调用 // 还可以通过url 来获取token 等相关信息 if (OS == "RN") { //这里假设我们有多重环境.. } if (OS == "wxminiprogram") { wx.miniProgram.navigateTo({ url: "/pages/webview/index?url=" + decodeURIComponent("https://www.chuchur.com?id=100"), }); }
给小程序发送数据
wx.miniProgram.postMessage({ data: { hello: "wrold", }, }); //web-view 则通过 bindmessage 来监听 传过来的数据
更多方法
wx.miniProgram.navigateBack(); //返回 wx.miniProgram.switchTab(); //切换底部的导航 wx.miniProgram.reLaunch(); //重新加载 wx.miniProgram.redirectTo(); //地址重定向 wx.miniProgram.getEnv(); //获取当前环境
相关问题
你有没有遇到过
redirectTo
死都无法跳转的问题呢,你怎么改他都不执行,或者执行成功了,还是无法跳转,你甚至改为redirectTo
都没有用。因为
redirectTo
无法跳转到当前的page
,以及在app.json
下面tabBar=> list
里面定义的pagePath
,假如你要跳转的url
刚好在pagePath
여기를 참조하세요
- 먼저 개발자 권한이 있어야 합니다
-
서버가 있어야 하며 파일 업로드 권한이 있어야 합니다. 그렇지 않으면 인증이 통과되지 않습니다.
방문하려는 URL을 업체에 추가해야 합니다 도메인 이름 화이트리스트라는 API 인터페이스를 서버 도메인 이름 화이트리스트에 추가해야 하며,개인용 및 해외 애플릿이어야 합니다.
웹뷰
를 사용할 수 없습니다. > Component- 해당 도메인 이름이 유효한 인증서로 구성되어 있고
https
서비스가 활성화되어 있습니다api
인터페이스도https
프로토콜을 사용합니다위 조건은 다음과 같아야 합니다. 동시에 만나서 둘 다 필수입니다 WeChatJSSDK
소개🎜🎜WeChat JSSDK 소개🎜🎜🎜외부 소개🎜🎜rrreee🎜🎜AMD/CMD 표준 모듈 로딩 방법을 사용하여 로드🎜🎜🎜🎜설치 🎜🎜rrreee🎜🎜mian.js ee에서 🎜🎜rrre를 사용하세요. 🎜WeChat 애플릿 환경인지 확인하려면🎜🎜userAgent
를 사용하여마이크로 메신저
또는가 되세요. window.__wxjs_environment
를 통해 결정🎜🎜🎜WeChat 7.0.0부터 userAgent에 miniProgram이라는 단어가 포함되어 있는지 확인하여 미니 프로그램 웹 보기 환경을 결정할 수 있습니다. 🎜🎜rrreee🎜sdk
를 도입했고, 환경 변수를 알고 있으니 시작해 보세요. 🎜🎜대화형 예제 애플릿🎜🎜🎜애플릿의 구성 요소를 사용하여🎜 새/page/webview/index.wxml
을 생성합니다.🎜🎜🎜web-view는 자동으로 전체 애플릿 페이지를 채웁니다. 개인 유형 해외 미니프로그램 이용은 현재 지원되지 않습니다. 클라이언트 버전 6.7.2부터 NavigationStyle: 구성 요소에 대한 사용자 정의가 유효하지 않습니다🎜🎜rrreee🎜🎜New🎜/page/webview/index.js
🎜rrreee🎜Interactive example web side🎜🎜웹 측 , 우리 웹이 미니 프로그램에 있는지 판단하는 방법을 알고 있다면 기본 WeChat 미니 프로그램에서와 마찬가지로 WeChatjsskd
를 통해 직접 대화형 정보를 보낼 수 있습니다 🎜🎜🎜Make Route Jump🎜🎜 rrreee🎜🎜 미니 프로그램으로 데이터 보내기🎜🎜rrreee🎜🎜더 많은 방법🎜
🎜rrreee🎜관련 질문🎜- 🎜이런 적이 있으신가요?
redirectTo
점프할 수 없는 문제는 어떻게 변경해도 실행되지 않거나, 실행에 성공하더라도 점프할 수 없다는 점입니다.redirectTo
, 쓸모가 없습니다. 🎜🎜 - 🎜
redirectTo
는 현재페이지
로 이동할 수 없고app.json
tabBar=> >pagePath
가 목록에 정의되어 있습니다. 이동하려는url
이pagePath
에 정의되어 있으면 switchTab을 사용하세요. 🎜🎜🎜🎜🎜더 많은 API를 보려면 🎜🎜🎜🎜 공식 웹사이트 API 주소를 참조하세요: 🎜🎜https://developers.weixin.qq.com/miniprogram/dev/comComponent/web-view.html 🎜🎜참조하세요 WeChat JS - SDK 문서 주소: 🎜🎜https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html🎜🎜🎜추천 학습: 🎜H5 비디오 튜토리얼🎜🎜
위 내용은 WeChat 애플릿과 웹(코드 공유) 간의 상호 작용에 대한 간략한 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











주식 분석을 위한 필수 도구: PHP 및 JS에서 캔들 차트를 그리는 단계를 배우십시오. 인터넷과 기술의 급속한 발전으로 주식 거래는 많은 투자자에게 중요한 방법 중 하나가 되었습니다. 주식분석은 투자자의 의사결정에 있어 중요한 부분이며 캔들차트는 기술적 분석에 널리 사용됩니다. PHP와 JS를 사용하여 캔들 차트를 그리는 방법을 배우면 투자자가 더 나은 결정을 내리는 데 도움이 되는 보다 직관적인 정보를 얻을 수 있습니다. 캔들스틱 차트는 주가를 캔들스틱 형태로 표시하는 기술 차트입니다. 주가를 보여주네요

얼굴 검출 및 인식 기술은 이미 상대적으로 성숙하고 널리 사용되는 기술입니다. 현재 가장 널리 사용되는 인터넷 응용 언어는 JS입니다. 웹 프런트엔드에서 얼굴 감지 및 인식을 구현하는 것은 백엔드 얼굴 인식에 비해 장점과 단점이 있습니다. 장점에는 네트워크 상호 작용 및 실시간 인식이 줄어 사용자 대기 시간이 크게 단축되고 사용자 경험이 향상된다는 단점이 있습니다. 모델 크기에 따라 제한되고 정확도도 제한됩니다. js를 사용하여 웹에서 얼굴 인식을 구현하는 방법은 무엇입니까? 웹에서 얼굴 인식을 구현하려면 JavaScript, HTML, CSS, WebRTC 등 관련 프로그래밍 언어 및 기술에 익숙해야 합니다. 동시에 관련 컴퓨터 비전 및 인공지능 기술도 마스터해야 합니다. 웹 측면의 디자인으로 인해 주목할 가치가 있습니다.

PHP와 JS를 사용하여 주식 캔들 차트를 만드는 방법 주식 캔들 차트는 주식 시장에서 흔히 사용되는 기술 분석 그래픽으로 시가, 종가, 최고가 등의 데이터를 그려서 투자자가 주식을 보다 직관적으로 이해할 수 있도록 도와줍니다. 주식의 최저 가격. 이 기사에서는 특정 코드 예제와 함께 PHP 및 JS를 사용하여 주식 캔들 차트를 만드는 방법을 설명합니다. 1. 준비 시작하기 전에 다음 환경을 준비해야 합니다. 1. PHP를 실행하는 서버 2. HTML5 및 Canvas를 지원하는 브라우저 3

인터넷 금융의 급속한 발전으로 인해 주식 투자는 점점 더 많은 사람들의 선택이 되었습니다. 주식 거래에서 캔들 차트는 주가의 변화 추세를 보여주고 투자자가 보다 정확한 결정을 내리는 데 도움이 되는 일반적으로 사용되는 기술적 분석 방법입니다. 이 기사에서는 PHP와 JS의 개발 기술을 소개하고 독자가 주식 캔들 차트를 그리는 방법을 이해하도록 유도하며 구체적인 코드 예제를 제공합니다. 1. 주식 캔들 차트의 이해 주식 캔들 차트를 그리는 방법을 소개하기 전에 먼저 캔들 차트가 무엇인지부터 이해해야 합니다. 캔들스틱 차트는 일본인이 개발했습니다.

Cockpit은 Linux 서버용 웹 기반 그래픽 인터페이스입니다. 이는 주로 신규/전문가 사용자가 Linux 서버를 보다 쉽게 관리할 수 있도록 하기 위한 것입니다. 이 문서에서는 Cockpit 액세스 모드와 CockpitWebUI에서 Cockpit으로 관리 액세스를 전환하는 방법에 대해 설명합니다. 콘텐츠 항목: Cockpit 입장 모드 현재 Cockpit 액세스 모드 찾기 CockpitWebUI에서 Cockpit에 대한 관리 액세스 활성화 CockpitWebUI에서 Cockpit에 대한 관리 액세스 비활성화 결론 조종석 입장 모드 조종석에는 두 가지 액세스 모드가 있습니다. 제한된 액세스: 이는 조종석 액세스 모드의 기본값입니다. 이 액세스 모드에서는 조종석에서 웹 사용자에 액세스할 수 없습니다.

PHP는 웹 개발의 백엔드에 속합니다. PHP는 주로 서버 측 로직을 처리하고 동적 웹 콘텐츠를 생성하는 데 사용되는 서버 측 스크립팅 언어입니다. 프런트엔드 기술과 비교하여 PHP는 데이터베이스와의 상호 작용, 사용자 요청 처리, 페이지 콘텐츠 생성과 같은 백엔드 작업에 더 많이 사용됩니다. 다음으로, 백엔드 개발에서 PHP 적용을 설명하기 위해 특정 코드 예제가 사용됩니다. 먼저 데이터베이스에 연결하고 데이터를 쿼리하기 위한 간단한 PHP 코드 예제를 살펴보겠습니다.

js와 vue의 관계: 1. 웹 개발의 초석인 JS 2. 프론트엔드 프레임워크로서의 Vue.js의 등장 3. JS와 Vue의 상호 보완적인 관계 4. JS와 Vue의 실제 적용 Vue.

웹은 인터넷의 응용 형태인 월드 와이드 웹(World Wide Web)이라고도 알려진 글로벌 광역 네트워크입니다. 웹은 하이퍼텍스트와 하이퍼미디어를 기반으로 한 정보 시스템으로, 사용자는 하이퍼링크를 통해 여러 웹 페이지 사이를 이동하여 정보를 검색하고 얻을 수 있습니다. 웹의 기본은 인터넷이며, 이는 통일되고 표준화된 프로토콜과 언어를 사용하여 서로 다른 컴퓨터 간의 데이터 교환과 정보 공유를 가능하게 합니다.
