mo-h5-bridge 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,42 @@
1
+ import{d as j,r as x,o as g,c as m,a as s,b as w,w as v,v as f,t as E,p as I,e as D,f as B,g as a,h as d,i as p,u as A}from"./index-CS-uQSYO.js";/* empty css */const _=e=>(I("data-v-43edb7f1"),e=e(),D(),e),W={class:"doc-preview"},$={class:"component"},P={class:"fixed-tools"},V=_(()=>s("svg",{fill:"none",height:"20",stroke:"currentColor","stroke-width":"2",viewBox:"0 0 24 24",width:"20",xmlns:"http://www.w3.org/2000/svg"},[s("path",{d:"M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4","stroke-linecap":"round","stroke-linejoin":"round"})],-1)),F=[V],J=_(()=>s("svg",{height:"20",viewBox:"0 0 512 512",width:"20",xmlns:"http://www.w3.org/2000/svg"},[s("path",{d:"M160 368L32 256l128-112M352 368l128-112-128-112M304 96l-96 320",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"46"})],-1)),L=[J],S={class:"code"},T={class:"control-tools"},U=_(()=>s("svg",{fill:"none",height:"20",stroke:"currentColor","stroke-width":"2",viewBox:"0 0 24 24",width:"20",xmlns:"http://www.w3.org/2000/svg"},[s("path",{d:"M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4","stroke-linecap":"round","stroke-linejoin":"round"})],-1)),q=[U],H=_(()=>s("svg",{height:"20",viewBox:"0 0 512 512",width:"20",xmlns:"http://www.w3.org/2000/svg"},[s("path",{d:"M160 368L32 256l128-112M352 368l128-112-128-112M304 96l-96 320",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"46"})],-1)),O=[H],R=j({__name:"vue",props:{code:{}},setup(e){const t=e,n=x(!1),i=()=>{try{navigator.clipboard.writeText(decodeURIComponent(t.code))}catch(o){console.log(o)}},l=()=>{n.value=!n.value};return(o,vs)=>(g(),m("div",W,[s("div",$,[w(o.$slots,"default",{},void 0,!0)]),v(s("div",P,[s("div",{class:"tools"},[s("div",{class:"item",onClick:i},F),s("div",{class:"item",onClick:l},L)])],512),[[f,n.value]]),v(s("div",S,[w(o.$slots,"code",{},void 0,!0)],512),[[f,n.value]]),s("div",T,[s("div",{class:"text",onClick:l},E(n.value?"隐藏代码":"展开代码"),1),s("div",{class:"tools"},[s("div",{class:"item",onClick:i},q),s("div",{class:"item",onClick:l},O)])])]))}}),N=(e,t)=>{const n=e.__vccOpts||e;for(const[i,l]of t)n[i]=l;return n},C=N(R,[["__scopeId","data-v-43edb7f1"]]);function k(e){return new Promise(t=>{const n=document.createElement("script");n.type="text/javascript",n.src=e,n.onload=function(){t()},document.head.appendChild(n)})}const h=navigator.userAgent,y=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(h),z=/Windows|Macintosh|Linux/i.test(h)&&!y,r={WeChatMini:"WeChatMini",AlipayMini:"AlipayMini",Android:"Android",Ios:"Ios",Mobile:"Mobile",Pc:"Pc"},u={["is"+r.WeChatMini]:/miniProgram/i.test(h),["is"+r.AlipayMini]:/AlipayClient.*miniProgram/i.test(h),["is"+r.Android]:/Android/i.test(h),["is"+r.Ios]:/iPhone|iPad|iPod/i.test(h),["is"+r.Mobile]:y,["is"+r.Pc]:z},G="https://appx/web-view.min.js",c={chooseMedia:void 0};async function K(){return new Promise((e,t)=>{my.chooseImage({sourceType:["album"],success:function(n){e(n)},fail:function(n){t(n)}})})}function Q(){c.chooseMedia=K}async function X(){await k(G),Q()}const Y="https://res.wx.qq.com/open/js/jweixin-1.6.0.js";async function Z(){return new Promise((e,t)=>{wx.chooseImage({count:1,sizeType:["original","compressed"],sourceType:["album","camera"],success:function(n){const i=n.localIds;console.log(i),e(i)},fail:function(n){t(n)}})})}function ss(){c.chooseMedia=Z}async function as(e){const t=location.href.split("#")[0];return await fetch(`${e}?url=${t}`).then(n=>n.json())}function ns(e){async function t(){const n=await as(e.requestUrl);wx.config({appId:n.data.appId,timestamp:n.data.timestamp,nonceStr:n.data.nonceStr,signature:n.data.signature,jsApiList:e.jsApiList})}return t(),wx.error(n=>{console.log("wx.error",n),setTimeout(()=>{t()},1e3*2)}),setInterval(async()=>{t()},1e3*60*4),Promise.resolve()}async function es(e){await k(Y),await ns(e),wx.ready(function(){ss()})}const b=u.isAndroid,ts=e=>{window.WebViewJavascriptBridge?e(window.WebViewJavascriptBridge):document.addEventListener("WebViewJavascriptBridgeReady",function(){e(window.WebViewJavascriptBridge)},!1)},is=e=>{if(window.WebViewJavascriptBridge)return e(window.WebViewJavascriptBridge);if(window.WVJBCallbacks)return window.WVJBCallbacks.push(e);window.WVJBCallbacks=[e];const t=document.createElement("iframe");t.style.display="none",t.src="wvjbscheme://__BRIDGE_LOADED__",document.documentElement.appendChild(t),setTimeout(function(){document.documentElement.removeChild(t)},0)};window.setupWebViewJavascriptBridge=b?ts:is;b&&window.setupWebViewJavascriptBridge(function(e){e.init(function(t,n){alert(t),n("JS 返回给原生的消息内容")})});async function ls(){window.setupWebViewJavascriptBridge(e=>{Object.keys(c).forEach(t=>{c[t]=function(n){return new Promise((i,l)=>{e.callHandler("sendToNative",{type:t,value:n},o=>{o.type==="success"?i(o.value):l(o.value)})})}})})}async function M(e){u.isAlipayMini?await X():u.isWeChatMini?await es(e):u.isMobile&&await ls()}const os=j({__name:"index.md.Virtual9aafb241",setup(e){M();async function t(){console.log(1,c);const n=await c.chooseMedia({value1:"data1",value2:"data2"});console.log(2,n)}return(n,i)=>{const l=B("m-button");return g(),m("div",null,[a(" 在console中查看 "),d(l,{onClick:t},{default:p(()=>[a("检验")]),_:1})])}}}),cs=j({__name:"index.md.Virtuale2bdca77",setup(e){M({requestUrl:"/tsl/api/app/wx-auth/getWxAuthInfo",jsApiList:["chooseImage"]});async function t(){console.log(1,c);const n=await c.chooseMedia({value1:"data1",value2:"data2"});console.log(2,n)}return(n,i)=>{const l=B("m-button");return g(),m("div",null,[a(" 在console中查看 "),d(l,{onClick:t},{default:p(()=>[a("检验")]),_:1})])}}}),rs={class:"marked-body"},ds=s("h2",{id:"使用说明"},"使用说明",-1),ps=s("h3",{id:"规则"},"规则",-1),hs=s("ul",null,[s("li",null,"支持移动端H5页面与微信小程序、支付宝小程序、android、ios的交互"),s("li",null,"除微信小程序外,其它端的h5页面的初始化不需要传递参数")],-1),us=s("h3",{id:"支付宝小程序、android、ios使用"},"支付宝小程序、android、ios使用",-1),gs=s("ul",null,[s("li",null,"目前仅为测试增加了一个chooseMedia方法,实际开发中请根据实际需求进行修改")],-1),ms=s("pre",{class:"language-xml"},[s("code",{class:"hljs"},[s("span",{class:"hljs-tag"},[a("<"),s("span",{class:"hljs-name"},"template"),a(">")]),a(`
2
+ `),s("span",{class:"hljs-tag"},[a("<"),s("span",{class:"hljs-name"},"div"),a(">")]),a(`
3
+ 在console中查看
4
+ `),s("span",{class:"hljs-tag"},[a("<"),s("span",{class:"hljs-name"},"m-button"),a(" @"),s("span",{class:"hljs-attr"},"click"),a("="),s("span",{class:"hljs-string"},'"handleCheck"'),a(">")]),a("检验"),s("span",{class:"hljs-tag"},[a("</"),s("span",{class:"hljs-name"},"m-button"),a(">")]),a(`
5
+ `),s("span",{class:"hljs-tag"},[a("</"),s("span",{class:"hljs-name"},"div"),a(">")]),a(`
6
+ `),s("span",{class:"hljs-tag"},[a("</"),s("span",{class:"hljs-name"},"template"),a(">")]),a(`
7
+ `),s("span",{class:"hljs-tag"},[a("<"),s("span",{class:"hljs-name"},"script"),a(),s("span",{class:"hljs-attr"},"lang"),a("="),s("span",{class:"hljs-string"},'"ts"'),a(),s("span",{class:"hljs-attr"},"setup"),a(">")]),s("span",{class:"language-javascript"},[a(`
8
+ `),s("span",{class:"hljs-keyword"},"import"),a(" { initBridge, "),s("span",{class:"hljs-title class_"},"Bridge"),a(" } "),s("span",{class:"hljs-keyword"},"from"),a(),s("span",{class:"hljs-string"},"'@/main'"),a(`
9
+
10
+ `),s("span",{class:"hljs-title function_"},"initBridge"),a(`()
11
+
12
+ `),s("span",{class:"hljs-keyword"},"async"),a(),s("span",{class:"hljs-keyword"},"function"),a(),s("span",{class:"hljs-title function_"},"handleCheck"),a("("),s("span",{class:"hljs-params"}),a(`) {
13
+ `),s("span",{class:"hljs-variable language_"},"console"),a("."),s("span",{class:"hljs-title function_"},"log"),a("("),s("span",{class:"hljs-number"},"1"),a(", "),s("span",{class:"hljs-title class_"},"Bridge"),a(`)
14
+ `),s("span",{class:"hljs-keyword"},"const"),a(" res = "),s("span",{class:"hljs-keyword"},"await"),a(),s("span",{class:"hljs-title class_"},"Bridge"),a("."),s("span",{class:"hljs-title function_"},"chooseMedia"),a(`({
15
+ `),s("span",{class:"hljs-attr"},"value1"),a(": "),s("span",{class:"hljs-string"},"'data1'"),a(`,
16
+ `),s("span",{class:"hljs-attr"},"value2"),a(": "),s("span",{class:"hljs-string"},"'data2'"),a(`
17
+ })
18
+ `),s("span",{class:"hljs-variable language_"},"console"),a("."),s("span",{class:"hljs-title function_"},"log"),a("("),s("span",{class:"hljs-number"},"2"),a(`, res)
19
+ }
20
+ `)]),s("span",{class:"hljs-tag"},[a("</"),s("span",{class:"hljs-name"},"script"),a(">")])])],-1),_s=s("h3",{id:"微信小程序使用"},"微信小程序使用",-1),js=s("ul",null,[s("li",null,"目前仅为测试增加了一个chooseMedia方法,实际开发中请根据实际需求进行修改"),s("li",null,"初始化时需要传递后台的请求地址,以及需要使用的微信小程序web-view支持的api的数组")],-1),ws=s("pre",{class:"language-xml"},[s("code",{class:"hljs"},[s("span",{class:"hljs-tag"},[a("<"),s("span",{class:"hljs-name"},"template"),a(">")]),a(`
21
+ `),s("span",{class:"hljs-tag"},[a("<"),s("span",{class:"hljs-name"},"div"),a(">")]),a(`
22
+ 在console中查看
23
+ `),s("span",{class:"hljs-tag"},[a("<"),s("span",{class:"hljs-name"},"m-button"),a(" @"),s("span",{class:"hljs-attr"},"click"),a("="),s("span",{class:"hljs-string"},'"handleCheck"'),a(">")]),a("检验"),s("span",{class:"hljs-tag"},[a("</"),s("span",{class:"hljs-name"},"m-button"),a(">")]),a(`
24
+ `),s("span",{class:"hljs-tag"},[a("</"),s("span",{class:"hljs-name"},"div"),a(">")]),a(`
25
+ `),s("span",{class:"hljs-tag"},[a("</"),s("span",{class:"hljs-name"},"template"),a(">")]),a(`
26
+ `),s("span",{class:"hljs-tag"},[a("<"),s("span",{class:"hljs-name"},"script"),a(),s("span",{class:"hljs-attr"},"lang"),a("="),s("span",{class:"hljs-string"},'"ts"'),a(),s("span",{class:"hljs-attr"},"setup"),a(">")]),s("span",{class:"language-javascript"},[a(`
27
+ `),s("span",{class:"hljs-keyword"},"import"),a(" { initBridge, "),s("span",{class:"hljs-title class_"},"Bridge"),a(" } "),s("span",{class:"hljs-keyword"},"from"),a(),s("span",{class:"hljs-string"},"'@/main'"),a(`
28
+
29
+ `),s("span",{class:"hljs-title function_"},"initBridge"),a(`({
30
+ `),s("span",{class:"hljs-attr"},"requestUrl"),a(": "),s("span",{class:"hljs-string"},"'/tsl/api/app/wx-auth/getWxAuthInfo'"),a(`,
31
+ `),s("span",{class:"hljs-attr"},"jsApiList"),a(": ["),s("span",{class:"hljs-string"},"'chooseImage'"),a(`]
32
+ })
33
+
34
+ `),s("span",{class:"hljs-keyword"},"async"),a(),s("span",{class:"hljs-keyword"},"function"),a(),s("span",{class:"hljs-title function_"},"handleCheck"),a("("),s("span",{class:"hljs-params"}),a(`) {
35
+ `),s("span",{class:"hljs-variable language_"},"console"),a("."),s("span",{class:"hljs-title function_"},"log"),a("("),s("span",{class:"hljs-number"},"1"),a(", "),s("span",{class:"hljs-title class_"},"Bridge"),a(`)
36
+ `),s("span",{class:"hljs-keyword"},"const"),a(" res = "),s("span",{class:"hljs-keyword"},"await"),a(),s("span",{class:"hljs-title class_"},"Bridge"),a("."),s("span",{class:"hljs-title function_"},"chooseMedia"),a(`({
37
+ `),s("span",{class:"hljs-attr"},"value1"),a(": "),s("span",{class:"hljs-string"},"'data1'"),a(`,
38
+ `),s("span",{class:"hljs-attr"},"value2"),a(": "),s("span",{class:"hljs-string"},"'data2'"),a(`
39
+ })
40
+ `),s("span",{class:"hljs-variable language_"},"console"),a("."),s("span",{class:"hljs-title function_"},"log"),a("("),s("span",{class:"hljs-number"},"2"),a(`, res)
41
+ }
42
+ `)]),s("span",{class:"hljs-tag"},[a("</"),s("span",{class:"hljs-name"},"script"),a(">")])])],-1),Cs={__name:"index",setup(e){return(t,n)=>(g(),m("div",rs,[ds,ps,hs,us,gs,d(A(C),{code:"%3Ctemplate%3E%0A%3Cdiv%3E%0A%20%20%20%20%E5%9C%A8console%E4%B8%AD%E6%9F%A5%E7%9C%8B%0A%20%20%20%20%3Cm-button%20%40click%3D%22handleCheck%22%3E%E6%A3%80%E9%AA%8C%3C%2Fm-button%3E%0A%3C%2Fdiv%3E%0A%3C%2Ftemplate%3E%0A%3Cscript%20lang%3D%22ts%22%20setup%3E%0Aimport%20%7B%20initBridge%2C%20Bridge%20%7D%20from%20'%40%2Fmain'%0A%0AinitBridge()%0A%0Aasync%20function%20handleCheck()%20%7B%0A%20%20console.log(1%2C%20Bridge)%0A%20%20const%20res%20%3D%20await%20Bridge.chooseMedia(%7B%0A%20%20%20%20value1%3A%20'data1'%2C%0A%20%20%20%20value2%3A%20'data2'%0A%20%20%7D)%0A%20%20console.log(2%2C%20res)%20%0A%7D%0A%3C%2Fscript%3E"},{code:p(()=>[ms]),default:p(()=>[d(os)]),_:1}),_s,js,d(A(C),{code:"%3Ctemplate%3E%0A%3Cdiv%3E%0A%20%20%20%20%E5%9C%A8console%E4%B8%AD%E6%9F%A5%E7%9C%8B%0A%20%20%20%20%3Cm-button%20%40click%3D%22handleCheck%22%3E%E6%A3%80%E9%AA%8C%3C%2Fm-button%3E%0A%3C%2Fdiv%3E%0A%3C%2Ftemplate%3E%0A%3Cscript%20lang%3D%22ts%22%20setup%3E%0Aimport%20%7B%20initBridge%2C%20Bridge%20%7D%20from%20'%40%2Fmain'%0A%0AinitBridge(%7B%0A%20%20requestUrl%3A%20'%2Ftsl%2Fapi%2Fapp%2Fwx-auth%2FgetWxAuthInfo'%2C%0A%20%20jsApiList%3A%20%5B'chooseImage'%5D%0A%7D)%0A%0Aasync%20function%20handleCheck()%20%7B%0A%20%20console.log(1%2C%20Bridge)%0A%20%20const%20res%20%3D%20await%20Bridge.chooseMedia(%7B%0A%20%20%20%20value1%3A%20'data1'%2C%0A%20%20%20%20value2%3A%20'data2'%0A%20%20%7D)%0A%20%20console.log(2%2C%20res)%20%0A%7D%0A%3C%2Fscript%3E"},{code:p(()=>[ws]),default:p(()=>[d(cs)]),_:1})]))}};export{Cs as default};
@@ -0,0 +1 @@
1
+ /* empty css */import{o as e,c as s,a as o}from"./index-CS-uQSYO.js";const t={class:"marked-body"},_=o("h2",{id:"开发说明"},"开发说明",-1),c=o("h3",{id:"说明"},"说明",-1),n=o("ul",null,[o("li",null,"用于移动端H5页面与微信小程序、支付宝小程序、android、ios的交互")],-1),a=[_,c,n],m={__name:"index",setup(d){return(i,r)=>(e(),s("div",t,a))}};export{m as default};
@@ -0,0 +1 @@
1
+ .doc-preview[data-v-43edb7f1]{border:1px solid #eee;margin-bottom:20px}.doc-preview .component[data-v-43edb7f1]{padding:10px}.doc-preview .control-tools[data-v-43edb7f1]{align-items:center;border-top:1px solid #eee;color:#333;display:flex;justify-content:flex-end;padding:5px 10px}.doc-preview .tools[data-v-43edb7f1]{display:flex}.doc-preview .control-tools .text[data-v-43edb7f1]{flex:2;text-align:center;visibility:hidden;opacity:0;transition:all .3s;transform:translate(100px);cursor:pointer}.doc-preview .control-tools:hover .text[data-v-43edb7f1]{visibility:visible;opacity:1;transform:translate(0)}.doc-preview .fixed-tools[data-v-43edb7f1]{position:relative;color:#999}.doc-preview .fixed-tools .tools[data-v-43edb7f1]{position:absolute;right:10px;top:10px}.doc-preview .item[data-v-43edb7f1]{cursor:pointer;margin-left:5px}.doc-preview .item[data-v-43edb7f1]:hover{opacity:.6}.doc-preview .code[data-v-43edb7f1]{border-top:1px solid #eee;padding:0}.doc-preview pre[data-v-43edb7f1]{border-radius:0;margin:0}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mo-h5-bridge",
3
3
  "private": false,
4
- "version": "0.0.1",
4
+ "version": "0.0.2",
5
5
  "type": "module",
6
6
  "main": "./dist/mo-h5-bridge.js",
7
7
  "types": "./dist/index.d.ts",