Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. import wx from 'weixin-js-sdk';
  2. // 判断当前环境
  3. export const handleToTypes = () => {
  4. let userAgent = navigator.userAgent.toLowerCase();
  5. let type = '';
  6. if (userAgent.indexOf('miniprogram') > -1) {
  7. if (userAgent.indexOf('alipay') > -1) {
  8. // 支付宝小程序环境
  9. console.log('支付宝小程序');
  10. type = 'alipaymini';
  11. } else if (
  12. userAgent.indexOf('wechat') > -1 ||
  13. userAgent.indexOf('wx') > -1
  14. ) {
  15. // 微信小程序
  16. console.log('微信小程序');
  17. type = 'wechatmini';
  18. }
  19. //else{
  20. // // this.juti = '其他小程序'
  21. // }
  22. } else if (userAgent.indexOf('wechat') > -1 || userAgent.indexOf('wx') > -1) {
  23. // this.juti = '微信公众号'
  24. console.log('微信内部打开未内嵌');
  25. type = 'wechat';
  26. } else if (
  27. userAgent.indexOf('android') > -1 ||
  28. userAgent.indexOf('linux') > -1 ||
  29. userAgent.indexOf('adr') > -1
  30. ) {
  31. type = 'android';
  32. console.log('android', userAgent);
  33. } else {
  34. // 其他页面暂时未实现
  35. type = 'other';
  36. }
  37. return type;
  38. };
  39. // 判断是否为网页还是其他
  40. export const isWeb = (str) => {
  41. const reg =
  42. /(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;
  43. return reg.test(str);
  44. };
  45. // 判断是否为微信短链
  46. export const isWxDuan = (str) => {
  47. const reg =
  48. /^weixin:/;
  49. return reg.test(str);
  50. };
  51. export const handleToZhifubao = (path) => {
  52. my.navigateTo({
  53. url: path
  54. });
  55. };
  56. // 跳转微信小程序内部
  57. export const handleTonei = (path) => {
  58. wx.miniProgram.redirectTo({
  59. url: path, // 可选,小程序的页面路径,可以不填
  60. extraData: {
  61. // 可选,传递给小程序的数据,如分享信息等
  62. },
  63. success(res) {
  64. // 打开小程序成功的回调
  65. // console.log(res);
  66. // alert(JSON.stringify(res) + '123')
  67. },
  68. fail(err) {
  69. // 打开小程序失败的回调
  70. // console.error(err);
  71. // alert(JSON.stringify(err) + '456')
  72. }
  73. });
  74. };
  75. //访问用户媒体设备的兼容方法
  76. export function getUserMedia(constrains, success, error) {
  77. if (
  78. navigator.mediaDevices.getUserMedia ||
  79. navigator.getUserMedia ||
  80. navigator.webkitGetUserMedia ||
  81. navigator.mozGetUserMedia
  82. ) {
  83. //调用用户媒体设备,访问摄像头
  84. if (navigator.mediaDevices.getUserMedia) {
  85. //最新标准API
  86. navigator.mediaDevices
  87. .getUserMedia(constrains)
  88. .then(success)
  89. .catch(error);
  90. } else if (navigator.webkitGetUserMedia) {
  91. //webkit内核浏览器
  92. navigator.webkitGetUserMedia(constrains).then(success).catch(error);
  93. } else if (navigator.mozGetUserMedia) {
  94. //Firefox浏览器
  95. navagator.mozGetUserMedia(constrains).then(success).catch(error);
  96. } else if (navigator.getUserMedia) {
  97. //旧版API
  98. navigator.getUserMedia(constrains).then(success).catch(error);
  99. }
  100. } else {
  101. alert('你的浏览器不支持访问用户媒体设备');
  102. }
  103. }