123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- import wx from 'weixin-js-sdk';
- // 判断当前环境
- export const handleToTypes = () => {
- let userAgent = navigator.userAgent.toLowerCase();
- let type = '';
- if (userAgent.indexOf('miniprogram') > -1) {
- if (userAgent.indexOf('alipay') > -1) {
- // 支付宝小程序环境
- console.log('支付宝小程序');
- type = 'alipaymini';
- } else if (
- userAgent.indexOf('wechat') > -1 ||
- userAgent.indexOf('wx') > -1
- ) {
- // 微信小程序
- console.log('微信小程序');
- type = 'wechatmini';
- }
- //else{
- // // this.juti = '其他小程序'
- // }
- } else if (userAgent.indexOf('wechat') > -1 || userAgent.indexOf('wx') > -1) {
- // this.juti = '微信公众号'
- console.log('微信内部打开未内嵌');
- type = 'wechat';
- } else if (
- userAgent.indexOf('android') > -1 ||
- userAgent.indexOf('linux') > -1 ||
- userAgent.indexOf('adr') > -1
- ) {
- type = 'android';
- console.log('android', userAgent);
- } else {
- // 其他页面暂时未实现
- type = 'other';
- }
- return type;
- };
-
- // 判断是否为网页还是其他
- export const isWeb = (str) => {
- const reg =
- /(https?:\/\/)?(([0-9a-z.]+\.[a-z]+)|(([0-9]{1,3}\.){3}[0-9]{1,3}))(:[0-9]+)?(\/[0-9a-z%/.\-_]*)?(\?[0-9a-z=&%_\-]*)?(\#[0-9a-z=&%_\-]*)?/gi;
- return reg.test(str);
- };
- // 判断是否为微信短链
- export const isWxDuan = (str) => {
- const reg =
- /^weixin:/;
- return reg.test(str);
- };
-
- export const handleToZhifubao = (path) => {
- my.navigateTo({
- url: path
- });
- };
- // 跳转微信小程序内部
- export const handleTonei = (path) => {
-
- wx.miniProgram.redirectTo({
- url: path, // 可选,小程序的页面路径,可以不填
- extraData: {
- // 可选,传递给小程序的数据,如分享信息等
- },
- success(res) {
- // 打开小程序成功的回调
- // console.log(res);
- // alert(JSON.stringify(res) + '123')
- },
- fail(err) {
- // 打开小程序失败的回调
- // console.error(err);
- // alert(JSON.stringify(err) + '456')
- }
- });
- };
-
- //访问用户媒体设备的兼容方法
- export function getUserMedia(constrains, success, error) {
- if (
- navigator.mediaDevices.getUserMedia ||
- navigator.getUserMedia ||
- navigator.webkitGetUserMedia ||
- navigator.mozGetUserMedia
- ) {
- //调用用户媒体设备,访问摄像头
- if (navigator.mediaDevices.getUserMedia) {
- //最新标准API
- navigator.mediaDevices
- .getUserMedia(constrains)
- .then(success)
- .catch(error);
- } else if (navigator.webkitGetUserMedia) {
- //webkit内核浏览器
- navigator.webkitGetUserMedia(constrains).then(success).catch(error);
- } else if (navigator.mozGetUserMedia) {
- //Firefox浏览器
- navagator.mozGetUserMedia(constrains).then(success).catch(error);
- } else if (navigator.getUserMedia) {
- //旧版API
- navigator.getUserMedia(constrains).then(success).catch(error);
- }
- } else {
- alert('你的浏览器不支持访问用户媒体设备');
- }
- }
|