问星数据小程序

main.js 3.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. import Vue from 'vue'
  2. import App from './App'
  3. import { rootDocment,req } from 'common/utils.js'
  4. import { parseQueryString, NumberHandle, getDay } from 'common/common.js'
  5. import { api } from 'common/api.js'
  6. Vue.prototype.$api = api
  7. Vue.prototype.$rootDocment = rootDocment;
  8. Vue.prototype.$req = req;
  9. Vue.prototype.$parseQueryString = parseQueryString;
  10. Vue.prototype.$NumberHandle = NumberHandle;
  11. Vue.prototype.$getDay = getDay;
  12. Vue.prototype.$burialPoint = ({project_name,button_name,url_value,page_name,key_value})=>{//埋点
  13. req(api.burialPoint,'post',{
  14. project_name : project_name,
  15. button_name : button_name,
  16. url_value : url_value,
  17. page_name: page_name,
  18. key_value: key_value,
  19. browser: userAgent()
  20. },(res) => {
  21. if(res && res.errno == 0){
  22. }
  23. },()=>{
  24. })
  25. }
  26. function userAgent () {
  27. var u = navigator.userAgent.toLowerCase();
  28. if(u.match(/micromessenger/i)){return '微信浏览器'}
  29. if(u.indexOf('baidu')>0){return '百度浏览'}
  30. if(u.indexOf('qqbrowser')>0){return 'qq浏览'}
  31. if(u.indexOf('ucbrowser')>0){return 'uc浏览器'}
  32. if(u.indexOf('opera')>0){return 'Opera浏览器'}
  33. if(u.indexOf('firefox')>0){return 'Firefox浏览器'}
  34. if(u.indexOf('chrome')>0&&u.indexOf('safari')>0){return 'Chrome浏览器'}
  35. if(u.indexOf('safari')>0&&u.indexOf('chrome') == -1){return 'Safari浏览器'}
  36. if(u.indexOf('compatible')>0&&u.indexOf('msie') > -1&&u.indexOf('opera')==-1){return 'IE浏览器'}
  37. if(u.indexOf('windows nt 6.1; trident/7.0;')>0&&!(u.indexOf('compatible')>0&&u.indexOf('msie') > -1&&u.indexOf('opera')==-1)){return 'IE的Edge浏览器'}
  38. }
  39. Vue.config.productionTip = false
  40. if(navigator.userAgent.toLowerCase().match(/micromessenger/i)){
  41. var wx = require('weixin-js-sdk');
  42. var _this = this;
  43. req(api.wx_jsApiConfig, 'get', {
  44. url:encodeURI(window.location.href),
  45. }, (res) => {
  46. if(res.errno == 0 && res.rst){
  47. console.log(res)
  48. wx.config({
  49. debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
  50. appId: res.rst.appId, // 必填,公众号的唯一标识
  51. timestamp: res.rst.timestamp, // 必填,生成签名的时间戳
  52. nonceStr: res.rst.nonceStr, // 必填,生成签名的随机串
  53. signature: res.rst.signature, // 必填,签名
  54. jsApiList: [
  55. "updateTimelineShareData",
  56. "updateAppMessageShareData",
  57. "onMenuShareWeibo",
  58. "checkJsApi"
  59. ], // 必填,需要使用的JS接口列表
  60. openTagList:['wx-open-launch-weapp']
  61. });
  62. wx.ready(function() {
  63. _this.isWeixin = true
  64. //config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中
  65. });
  66. wx.error(function(res) {
  67. console.log('res',res);
  68. // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
  69. });
  70. }
  71. },()=>{
  72. })
  73. // if(navigator.userAgent.toLowerCase().match(/micromessenger/i)){
  74. // Vue.config.ignoredElements = ['wx-open-launch-weapp']
  75. // }
  76. }
  77. App.mpType = 'app'
  78. const app = new Vue({
  79. ...App
  80. })
  81. app.$mount()