1.新增云闪付授权

master
杨杰 3 years ago
parent 8a03335551
commit e86bb96f67
  1. 10
      high-unionPay/components/vue-cup-ui/lib/demo.html
  2. 557
      high-unionPay/components/vue-cup-ui/lib/vue-cup-ui.common.js
  3. 1
      high-unionPay/components/vue-cup-ui/lib/vue-cup-ui.common.js.map
  4. 1
      high-unionPay/components/vue-cup-ui/lib/vue-cup-ui.css
  5. 565
      high-unionPay/components/vue-cup-ui/lib/vue-cup-ui.umd.js
  6. 1
      high-unionPay/components/vue-cup-ui/lib/vue-cup-ui.umd.js.map
  7. 2
      high-unionPay/components/vue-cup-ui/lib/vue-cup-ui.umd.min.js
  8. 1
      high-unionPay/components/vue-cup-ui/lib/vue-cup-ui.umd.min.js.map
  9. 48
      high-unionPay/components/vue-cup-ui/package.json
  10. 4
      high-unionPay/main.js
  11. 2
      high-unionPay/pages.json
  12. 14
      high-unionPay/pages/pay/success/success.vue
  13. 16
      high-unionPay/pages/unionPay/recharge-centre/recharge-centre.vue
  14. 231
      high-unionPay/pages/unionPay/unionPay-entrance/unionPay-entrance.vue
  15. 293
      high-unionPay/pages/userLogin/userLogin.vue
  16. 4
      high-unionPay/uni.scss

@ -0,0 +1,10 @@
<meta charset="utf-8">
<title>vue-cup-ui demo</title>
<script src="./vue-cup-ui.umd.js"></script>
<link rel="stylesheet" href="./vue-cup-ui.css">
<script>
console.log(vue-cup-ui)
</script>

@ -0,0 +1,557 @@
module.exports =
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = "fb15");
/******/ })
/************************************************************************/
/******/ ({
/***/ "1b8a":
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
/***/ }),
/***/ "4529":
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
/***/ }),
/***/ "8875":
/***/ (function(module, exports, __webpack_require__) {
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// addapted from the document.currentScript polyfill by Adam Miller
// MIT license
// source: https://github.com/amiller-gh/currentScript-polyfill
// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505
(function (root, factory) {
if (true) {
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
} else {}
}(typeof self !== 'undefined' ? self : this, function () {
function getCurrentScript () {
var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')
// for chrome
if (!descriptor && 'currentScript' in document && document.currentScript) {
return document.currentScript
}
// for other browsers with native support for currentScript
if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {
return document.currentScript
}
// IE 8-10 support script readyState
// IE 11+ & Firefox support stack trace
try {
throw new Error();
}
catch (err) {
// Find the second match for the "at" string to get file src url from stack.
var ieStackRegExp = /.*at [^(]*\((.*):(.+):(.+)\)$/ig,
ffStackRegExp = /@([^@]*):(\d+):(\d+)\s*$/ig,
stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),
scriptLocation = (stackDetails && stackDetails[1]) || false,
line = (stackDetails && stackDetails[2]) || false,
currentLocation = document.location.href.replace(document.location.hash, ''),
pageSource,
inlineScriptSourceRegExp,
inlineScriptSource,
scripts = document.getElementsByTagName('script'); // Live NodeList collection
if (scriptLocation === currentLocation) {
pageSource = document.documentElement.outerHTML;
inlineScriptSourceRegExp = new RegExp('(?:[^\\n]+?\\n){0,' + (line - 2) + '}[^<]*<script>([\\d\\D]*?)<\\/script>[\\d\\D]*', 'i');
inlineScriptSource = pageSource.replace(inlineScriptSourceRegExp, '$1').trim();
}
for (var i = 0; i < scripts.length; i++) {
// If ready state is interactive, return the script tag
if (scripts[i].readyState === 'interactive') {
return scripts[i];
}
// If src matches, return the script tag
if (scripts[i].src === scriptLocation) {
return scripts[i];
}
// If inline source matches, return the script tag
if (
scriptLocation === currentLocation &&
scripts[i].innerHTML &&
scripts[i].innerHTML.trim() === inlineScriptSource
) {
return scripts[i];
}
}
// If no match, return null
return null;
}
};
return getCurrentScript
}));
/***/ }),
/***/ "e3a7":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_button_vue_vue_type_style_index_0_id_78962954_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("1b8a");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_button_vue_vue_type_style_index_0_id_78962954_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_button_vue_vue_type_style_index_0_id_78962954_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_button_vue_vue_type_style_index_0_id_78962954_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ "fb15":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js
// This file is imported into lib/wc client bundles.
if (typeof window !== 'undefined') {
var currentScript = window.document.currentScript
if (true) {
var getCurrentScript = __webpack_require__("8875")
currentScript = getCurrentScript()
// for backward compatibility, because previously we directly included the polyfill
if (!('currentScript' in document)) {
Object.defineProperty(document, 'currentScript', { get: getCurrentScript })
}
}
var src = currentScript && currentScript.src.match(/(.+\/)[^/]+\.js(\?.*)?$/)
if (src) {
__webpack_require__.p = src[1] // eslint-disable-line
}
}
// Indicate to webpack that this file can be concatenated
/* harmony default export */ var setPublicPath = (null);
// EXTERNAL MODULE: ./src/common/common.less
var common = __webpack_require__("4529");
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"40ec4207-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/button/src/button.vue?vue&type=template&id=78962954&scoped=true&
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:"up-button",on:{"click":_vm.handleClick}},[_vm._t("default")],2)}
var staticRenderFns = []
// CONCATENATED MODULE: ./packages/button/src/button.vue?vue&type=template&id=78962954&scoped=true&
// CONCATENATED MODULE: ./packages/common/hybrid.js
/**
* Created on 2020/9/3.
*/
const _agent = navigator.userAgent.toLowerCase();
function isFunction(value) {
return Object.prototype.toString.call(value) === '[object Function]'
}
function truncatedRespForJSBridge(data) {
if (!data) {
return data;
} else if (data.resultString) {
return data.resultString;
} else if (data.resultParams) {
return data.resultParams;
}
}
const isJSBridgeEnv = /\(securitywebcache\s([\d\.]+)\)/g.test(_agent);
const isCordovaEnv = /\(cordova\s([\d\.]+)\)/g.test(_agent);
function callNative(success, fail, plugin, action, paramArray) {
let iCanCall = false;
if (isCordovaEnv && window.cordova) {
iCanCall = true;
window.cordova.exec(success, fail, plugin, action, paramArray);
} else if (isJSBridgeEnv && window.WebViewJavascriptBridge) {
iCanCall = true;
window.WebViewJavascriptBridge.callHandler(plugin, action, paramArray, function (data) {
isFunction(success) && success(truncatedRespForJSBridge(data))
}, function (err) {
isFunction(fail) && fail(truncatedRespForJSBridge(err))
})
}
return iCanCall;
}
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/button/src/button.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
/* harmony default export */ var buttonvue_type_script_lang_js_ = ({
name: "UPButton",
props: {
scope: String,
timeout: Number
},
methods: {
appletExplicitAuth(success, fail) {
let iCanCall = callNative(function (data) {
if (typeof success === 'function') {
success(data);
}
}, function (err) {
if (typeof fail === 'function') {
let cordovaError;
if (window.cordova) {
switch (window.cordova.errorRetStatus) {
case window.cordova.callbackStatus.INVALID_ACTION:
cordovaError = {
errcode: 'c03',
errmsg: 'INVALID_ACTION_EXCEPTION: 插件里面没有此方法!'
}
break;
case window.cordova.callbackStatus.CLASS_NOT_FOUND_EXCEPTION:
cordovaError = {
errcode: 'c04',
errmsg: 'CLASS_NOT_FOUND_EXCEPTION: 此插件没有实现!'
}
break;
case window.cordova.callbackStatus.ILLEGAL_ACCESS_EXCEPTION:
cordovaError = {
errcode: 'c02',
errmsg: 'ILLEGAL_ACCESS_EXCEPTION: 无权限访问此插件!'
}
break;
default:
break;
}
}
if (cordovaError) {
fail(cordovaError)
} else {
fail(err);
}
}
}, 'UPWebSdk', 'appletExplicitAuth', [{scope: this.scope}]);
if (!iCanCall) {
setTimeout(() => {
this._count++;
if (this._count > (this._timeout / 20)) {
console.warn('请确定是否运行在云闪付APP中,且成功加载了upsdk.js');
fail({
errcode: '__ENV__10001',
errmsg: '检测到未在云闪付APP中运行或未成功加载upsdk.js'
})
} else {
this.appletExplicitAuth(success, fail)
}
}, 20)
}
},
handleClick(event) {
if (this.btnDisable) return;
if (this.timeout && isNaN(parseInt(this.timeout))) {
this.$emit('click', event, {
errcode: '__ENV__10002',
errmsg: '检测到timeout值非法'
});
return;
}
this._count = 0;
this._timeout = this.timeout || 2000; // 默认2s超时
this.btnDisable = true; // 防止多次点击,直到回调中才释放
this.appletExplicitAuth(data => {
this.btnDisable = false;
// this.$emit('click', event, null, data);
this.$emit('click',data);
}, err => {
this.btnDisable = false;
// this.$emit('click', event, err);
this.$emit('click', err);
})
}
}
});
// CONCATENATED MODULE: ./packages/button/src/button.vue?vue&type=script&lang=js&
/* harmony default export */ var src_buttonvue_type_script_lang_js_ = (buttonvue_type_script_lang_js_);
// EXTERNAL MODULE: ./packages/button/src/button.vue?vue&type=style&index=0&id=78962954&scoped=true&lang=css&
var buttonvue_type_style_index_0_id_78962954_scoped_true_lang_css_ = __webpack_require__("e3a7");
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
/* globals __VUE_SSR_CONTEXT__ */
// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
// This module is a runtime utility for cleaner component module output and will
// be included in the final webpack user bundle.
function normalizeComponent (
scriptExports,
render,
staticRenderFns,
functionalTemplate,
injectStyles,
scopeId,
moduleIdentifier, /* server only */
shadowMode /* vue-cli only */
) {
// Vue.extend constructor export interop
var options = typeof scriptExports === 'function'
? scriptExports.options
: scriptExports
// render functions
if (render) {
options.render = render
options.staticRenderFns = staticRenderFns
options._compiled = true
}
// functional template
if (functionalTemplate) {
options.functional = true
}
// scopedId
if (scopeId) {
options._scopeId = 'data-v-' + scopeId
}
var hook
if (moduleIdentifier) { // server build
hook = function (context) {
// 2.3 injection
context =
context || // cached call
(this.$vnode && this.$vnode.ssrContext) || // stateful
(this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
// 2.2 with runInNewContext: true
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
context = __VUE_SSR_CONTEXT__
}
// inject component styles
if (injectStyles) {
injectStyles.call(this, context)
}
// register component module identifier for async chunk inferrence
if (context && context._registeredComponents) {
context._registeredComponents.add(moduleIdentifier)
}
}
// used by ssr in case component is cached and beforeCreate
// never gets called
options._ssrRegister = hook
} else if (injectStyles) {
hook = shadowMode
? function () {
injectStyles.call(
this,
(options.functional ? this.parent : this).$root.$options.shadowRoot
)
}
: injectStyles
}
if (hook) {
if (options.functional) {
// for template-only hot-reload because in that case the render fn doesn't
// go through the normalizer
options._injectStyles = hook
// register for functional component in vue file
var originalRender = options.render
options.render = function renderWithStyleInjection (h, context) {
hook.call(context)
return originalRender(h, context)
}
} else {
// inject component registration as beforeCreate hook
var existing = options.beforeCreate
options.beforeCreate = existing
? [].concat(existing, hook)
: [hook]
}
}
return {
exports: scriptExports,
options: options
}
}
// CONCATENATED MODULE: ./packages/button/src/button.vue
/* normalize component */
var component = normalizeComponent(
src_buttonvue_type_script_lang_js_,
render,
staticRenderFns,
false,
null,
"78962954",
null
)
/* harmony default export */ var src_button = (component.exports);
// CONCATENATED MODULE: ./packages/button/index.js
/**
* Created on 2020/6/22.
*/
src_button.install = function(Vue) {
Vue.component(src_button.name, src_button);
};
/* harmony default export */ var packages_button = (src_button);
// CONCATENATED MODULE: ./src/index.js
/**
* Created on 2020/6/22.
*/
// import './common/resize.js';
const components = [
packages_button
]
const install = function (Vue, opts = {}) {
components.forEach(component => {
if (install.installed) return
Vue.component(component.name, component)
})
}
if (typeof window !== 'undefined' && window.Vue) {
install(window.Vue);
}
/* harmony default export */ var src_0 = ({
version: '0.1.0',
install,
UPButton: packages_button
});
// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js
/* harmony default export */ var entry_lib = __webpack_exports__["default"] = (src_0);
/***/ })
/******/ });
//# sourceMappingURL=vue-cup-ui.common.js.map

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
.up-button[data-v-78962954]{background:#5a98d2;border-radius:9px;width:62px;height:24px;border:none;font-size:12px;color:#fff;letter-spacing:1px;text-align:center;line-height:24px;font-weight:700;font-family:PingFangSC-Semibold}.up-button[data-v-78962954]:focus{outline:none}

@ -0,0 +1,565 @@
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
else if(typeof define === 'function' && define.amd)
define([], factory);
else if(typeof exports === 'object')
exports["vue-cup-ui"] = factory();
else
root["vue-cup-ui"] = factory();
})((typeof self !== 'undefined' ? self : this), function() {
return /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = "fb15");
/******/ })
/************************************************************************/
/******/ ({
/***/ "1b8a":
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
/***/ }),
/***/ "4529":
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
/***/ }),
/***/ "8875":
/***/ (function(module, exports, __webpack_require__) {
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// addapted from the document.currentScript polyfill by Adam Miller
// MIT license
// source: https://github.com/amiller-gh/currentScript-polyfill
// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505
(function (root, factory) {
if (true) {
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
} else {}
}(typeof self !== 'undefined' ? self : this, function () {
function getCurrentScript () {
var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')
// for chrome
if (!descriptor && 'currentScript' in document && document.currentScript) {
return document.currentScript
}
// for other browsers with native support for currentScript
if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {
return document.currentScript
}
// IE 8-10 support script readyState
// IE 11+ & Firefox support stack trace
try {
throw new Error();
}
catch (err) {
// Find the second match for the "at" string to get file src url from stack.
var ieStackRegExp = /.*at [^(]*\((.*):(.+):(.+)\)$/ig,
ffStackRegExp = /@([^@]*):(\d+):(\d+)\s*$/ig,
stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),
scriptLocation = (stackDetails && stackDetails[1]) || false,
line = (stackDetails && stackDetails[2]) || false,
currentLocation = document.location.href.replace(document.location.hash, ''),
pageSource,
inlineScriptSourceRegExp,
inlineScriptSource,
scripts = document.getElementsByTagName('script'); // Live NodeList collection
if (scriptLocation === currentLocation) {
pageSource = document.documentElement.outerHTML;
inlineScriptSourceRegExp = new RegExp('(?:[^\\n]+?\\n){0,' + (line - 2) + '}[^<]*<script>([\\d\\D]*?)<\\/script>[\\d\\D]*', 'i');
inlineScriptSource = pageSource.replace(inlineScriptSourceRegExp, '$1').trim();
}
for (var i = 0; i < scripts.length; i++) {
// If ready state is interactive, return the script tag
if (scripts[i].readyState === 'interactive') {
return scripts[i];
}
// If src matches, return the script tag
if (scripts[i].src === scriptLocation) {
return scripts[i];
}
// If inline source matches, return the script tag
if (
scriptLocation === currentLocation &&
scripts[i].innerHTML &&
scripts[i].innerHTML.trim() === inlineScriptSource
) {
return scripts[i];
}
}
// If no match, return null
return null;
}
};
return getCurrentScript
}));
/***/ }),
/***/ "e3a7":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_button_vue_vue_type_style_index_0_id_78962954_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("1b8a");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_button_vue_vue_type_style_index_0_id_78962954_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_button_vue_vue_type_style_index_0_id_78962954_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */
/* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_button_vue_vue_type_style_index_0_id_78962954_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ "fb15":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js
// This file is imported into lib/wc client bundles.
if (typeof window !== 'undefined') {
var currentScript = window.document.currentScript
if (true) {
var getCurrentScript = __webpack_require__("8875")
currentScript = getCurrentScript()
// for backward compatibility, because previously we directly included the polyfill
if (!('currentScript' in document)) {
Object.defineProperty(document, 'currentScript', { get: getCurrentScript })
}
}
var src = currentScript && currentScript.src.match(/(.+\/)[^/]+\.js(\?.*)?$/)
if (src) {
__webpack_require__.p = src[1] // eslint-disable-line
}
}
// Indicate to webpack that this file can be concatenated
/* harmony default export */ var setPublicPath = (null);
// EXTERNAL MODULE: ./src/common/common.less
var common = __webpack_require__("4529");
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"40ec4207-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/button/src/button.vue?vue&type=template&id=78962954&scoped=true&
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:"up-button",on:{"click":_vm.handleClick}},[_vm._t("default")],2)}
var staticRenderFns = []
// CONCATENATED MODULE: ./packages/button/src/button.vue?vue&type=template&id=78962954&scoped=true&
// CONCATENATED MODULE: ./packages/common/hybrid.js
/**
* Created on 2020/9/3.
*/
const _agent = navigator.userAgent.toLowerCase();
function isFunction(value) {
return Object.prototype.toString.call(value) === '[object Function]'
}
function truncatedRespForJSBridge(data) {
if (!data) {
return data;
} else if (data.resultString) {
return data.resultString;
} else if (data.resultParams) {
return data.resultParams;
}
}
const isJSBridgeEnv = /\(securitywebcache\s([\d\.]+)\)/g.test(_agent);
const isCordovaEnv = /\(cordova\s([\d\.]+)\)/g.test(_agent);
function callNative(success, fail, plugin, action, paramArray) {
let iCanCall = false;
if (isCordovaEnv && window.cordova) {
iCanCall = true;
window.cordova.exec(success, fail, plugin, action, paramArray);
} else if (isJSBridgeEnv && window.WebViewJavascriptBridge) {
iCanCall = true;
window.WebViewJavascriptBridge.callHandler(plugin, action, paramArray, function (data) {
isFunction(success) && success(truncatedRespForJSBridge(data))
}, function (err) {
isFunction(fail) && fail(truncatedRespForJSBridge(err))
})
}
return iCanCall;
}
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/button/src/button.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
/* harmony default export */ var buttonvue_type_script_lang_js_ = ({
name: "UPButton",
props: {
scope: String,
timeout: Number
},
methods: {
appletExplicitAuth(success, fail) {
let iCanCall = callNative(function (data) {
if (typeof success === 'function') {
success(data);
}
}, function (err) {
if (typeof fail === 'function') {
let cordovaError;
if (window.cordova) {
switch (window.cordova.errorRetStatus) {
case window.cordova.callbackStatus.INVALID_ACTION:
cordovaError = {
errcode: 'c03',
errmsg: 'INVALID_ACTION_EXCEPTION: 插件里面没有此方法!'
}
break;
case window.cordova.callbackStatus.CLASS_NOT_FOUND_EXCEPTION:
cordovaError = {
errcode: 'c04',
errmsg: 'CLASS_NOT_FOUND_EXCEPTION: 此插件没有实现!'
}
break;
case window.cordova.callbackStatus.ILLEGAL_ACCESS_EXCEPTION:
cordovaError = {
errcode: 'c02',
errmsg: 'ILLEGAL_ACCESS_EXCEPTION: 无权限访问此插件!'
}
break;
default:
break;
}
}
if (cordovaError) {
fail(cordovaError)
} else {
fail(err);
}
}
}, 'UPWebSdk', 'appletExplicitAuth', [{scope: this.scope}]);
if (!iCanCall) {
setTimeout(() => {
this._count++;
if (this._count > (this._timeout / 20)) {
console.warn('请确定是否运行在云闪付APP中,且成功加载了upsdk.js');
fail({
errcode: '__ENV__10001',
errmsg: '检测到未在云闪付APP中运行或未成功加载upsdk.js'
})
} else {
this.appletExplicitAuth(success, fail)
}
}, 20)
}
},
handleClick(event) {
if (this.btnDisable) return;
if (this.timeout && isNaN(parseInt(this.timeout))) {
this.$emit('click', event, {
errcode: '__ENV__10002',
errmsg: '检测到timeout值非法'
});
return;
}
this._count = 0;
this._timeout = this.timeout || 2000; // 默认2s超时
this.btnDisable = true; // 防止多次点击,直到回调中才释放
this.appletExplicitAuth(data => {
this.btnDisable = false;
this.$emit('click', event, null, data);
}, err => {
this.btnDisable = false;
this.$emit('click', event, err);
})
}
}
});
// CONCATENATED MODULE: ./packages/button/src/button.vue?vue&type=script&lang=js&
/* harmony default export */ var src_buttonvue_type_script_lang_js_ = (buttonvue_type_script_lang_js_);
// EXTERNAL MODULE: ./packages/button/src/button.vue?vue&type=style&index=0&id=78962954&scoped=true&lang=css&
var buttonvue_type_style_index_0_id_78962954_scoped_true_lang_css_ = __webpack_require__("e3a7");
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
/* globals __VUE_SSR_CONTEXT__ */
// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
// This module is a runtime utility for cleaner component module output and will
// be included in the final webpack user bundle.
function normalizeComponent (
scriptExports,
render,
staticRenderFns,
functionalTemplate,
injectStyles,
scopeId,
moduleIdentifier, /* server only */
shadowMode /* vue-cli only */
) {
// Vue.extend constructor export interop
var options = typeof scriptExports === 'function'
? scriptExports.options
: scriptExports
// render functions
if (render) {
options.render = render
options.staticRenderFns = staticRenderFns
options._compiled = true
}
// functional template
if (functionalTemplate) {
options.functional = true
}
// scopedId
if (scopeId) {
options._scopeId = 'data-v-' + scopeId
}
var hook
if (moduleIdentifier) { // server build
hook = function (context) {
// 2.3 injection
context =
context || // cached call
(this.$vnode && this.$vnode.ssrContext) || // stateful
(this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
// 2.2 with runInNewContext: true
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
context = __VUE_SSR_CONTEXT__
}
// inject component styles
if (injectStyles) {
injectStyles.call(this, context)
}
// register component module identifier for async chunk inferrence
if (context && context._registeredComponents) {
context._registeredComponents.add(moduleIdentifier)
}
}
// used by ssr in case component is cached and beforeCreate
// never gets called
options._ssrRegister = hook
} else if (injectStyles) {
hook = shadowMode
? function () {
injectStyles.call(
this,
(options.functional ? this.parent : this).$root.$options.shadowRoot
)
}
: injectStyles
}
if (hook) {
if (options.functional) {
// for template-only hot-reload because in that case the render fn doesn't
// go through the normalizer
options._injectStyles = hook
// register for functional component in vue file
var originalRender = options.render
options.render = function renderWithStyleInjection (h, context) {
hook.call(context)
return originalRender(h, context)
}
} else {
// inject component registration as beforeCreate hook
var existing = options.beforeCreate
options.beforeCreate = existing
? [].concat(existing, hook)
: [hook]
}
}
return {
exports: scriptExports,
options: options
}
}
// CONCATENATED MODULE: ./packages/button/src/button.vue
/* normalize component */
var component = normalizeComponent(
src_buttonvue_type_script_lang_js_,
render,
staticRenderFns,
false,
null,
"78962954",
null
)
/* harmony default export */ var src_button = (component.exports);
// CONCATENATED MODULE: ./packages/button/index.js
/**
* Created on 2020/6/22.
*/
src_button.install = function(Vue) {
Vue.component(src_button.name, src_button);
};
/* harmony default export */ var packages_button = (src_button);
// CONCATENATED MODULE: ./src/index.js
/**
* Created on 2020/6/22.
*/
// import './common/resize.js';
const components = [
packages_button
]
const install = function (Vue, opts = {}) {
components.forEach(component => {
if (install.installed) return
Vue.component(component.name, component)
})
}
if (typeof window !== 'undefined' && window.Vue) {
install(window.Vue);
}
/* harmony default export */ var src_0 = ({
version: '0.1.0',
install,
UPButton: packages_button
});
// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js
/* harmony default export */ var entry_lib = __webpack_exports__["default"] = (src_0);
/***/ })
/******/ });
});
//# sourceMappingURL=vue-cup-ui.umd.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,48 @@
{
"name": "vue-cup-ui",
"version": "0.1.0",
"description": "cup applet ui component for vue.js",
"main": "lib/vue-cup-ui.common.js",
"files": [
"lib",
"src",
"packages"
],
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint",
"lib": "vue-cli-service build --target lib --name vue-cup-ui --dest lib src/index.js"
},
"dependencies": {
"core-js": "^3.6.5",
"vue": "^2.6.11"
},
"devDependencies": {
"@vue/cli-plugin-babel": "~4.4.0",
"@vue/cli-plugin-eslint": "~4.4.0",
"@vue/cli-service": "~4.4.0",
"@vue/eslint-config-standard": "^5.1.2",
"babel-eslint": "^10.1.0",
"eslint": "^6.7.2",
"eslint-plugin-import": "^2.20.2",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^4.2.1",
"eslint-plugin-standard": "^4.0.0",
"eslint-plugin-vue": "^6.2.2",
"less": "^3.0.4",
"less-loader": "^5.0.0",
"lint-staged": "^9.5.0",
"vue-template-compiler": "^2.6.11"
},
"gitHooks": {
"pre-commit": "lint-staged"
},
"lint-staged": {
"*.{js,jsx,vue}": [
"vue-cli-service lint",
"git add"
]
}
}

@ -2,6 +2,10 @@ import Vue from 'vue'
import App from './App'
import {VueJsonp} from 'vue-jsonp'
import share from 'common/share.js'
import vueCupUi from "components/vue-cup-ui/lib/vue-cup-ui.common.js"
Vue.use(vueCupUi)
Vue.config.productionTip = false
Vue.use(VueJsonp)
App.mpType = 'app'

@ -469,7 +469,7 @@
}, {
"path": "pages/userLogin/userLogin",
"style": {
"navigationBarTitleText": "嗨森购",
"navigationBarTitleText": "嗨加油",
"enablePullDownRefresh": false
}

@ -36,13 +36,13 @@
</view>
<view class="width100" v-if="couponDesInfo.couponInfo.couponSource != 4">
<view class="width90 mart10 fcor666">核销码(商户扫客户)</view>
<view class="mart20 fotct fcorred font15 marb20">请告知加油员用码商支付</view>
<view class="width90 mart20 fotct">
<image class="coupon-qr" :src="imageUrl+'couponCode/'+couponDesInfo.highUserCoupon.qrCodeImg">
</image>
</view>
<view class="width100">
<view class="width90 mart10 fcor666" v-if="!couponDesInfo.couponInfo.reserveStatus && couponDesInfo.highUserCoupon.status != 0 && couponDesInfo.couponInfo.couponSource == 3">请出示核销码(商户扫客户)</view>
<view class="mart20 fotct fcorred font15 marb20" v-if="!couponDesInfo.couponInfo.reserveStatus && couponDesInfo.highUserCoupon.status != 0 && couponDesInfo.couponInfo.couponSource != 3">请告知加油员用码商支付</view>
<view class="width90 mart20 fotct" v-if="!couponDesInfo.couponInfo.reserveStatus">
<image class="coupon-qr" :src="imageUrl+'couponCode/'+couponDesInfo.highUserCoupon.qrCodeImg">
</image>
</view>
</view>
<view class="width90 mart30 font20 fcor333 fotct marb40" v-if="!couponDesInfo">二维码生效中,前往个人中心查看</view>
<view class="width90 mart20" style="height: 80px;" v-for="(store,i) in storeList" :key="i">

@ -22,35 +22,35 @@
</view>
<view class="mart5 width80 font14 fcor999 fontwig6" style="list-style-type: decimal;">
<view style="width: 5%;" class="flleft">1:</view>
<view style="margin-left: 5%;">慢充话费与营业厅充值一样只是到账时间稍长充值过程中可能出现分批到账的情况但是总金额不会少请耐心等待如72小时未到账请联系客服查询</view>
<view style="margin-left: 5%;">慢充话费与营业厅充值一样只是到账时间稍长充值过程中可能出现分批到账的情况但是总金额不会少请耐心等待</view>
</view>
<view class="mart5 width80 font14 fcor999 fontwig6" style="list-style-type: decimal;">
<view style="width: 5%;" class="flleft">2:</view>
<view style="margin-left: 5%;">此业务为话费慢充平均4-5小时到账最晚72小时内到账月末月初为充值高峰期话费可能会有延迟请您耐心等待或在48小时后联系客服确认订单状态</view>
<view style="margin-left: 5%;">此业务为话费慢充日常72小时内到账如遇月初月末高峰期或系统更新到账时间会有一定延迟敬请谅解急单勿拍</view>
</view>
<view class="mart5 width80 font14 fcor999 fontwig6" style="list-style-type: decimal;">
<view style="width: 5%;" class="flleft">3:</view>
<view style="margin-left: 5%;">由于优惠有限每个手机号30天内仅支持2次充值(不限金额)如1号充值1单29号充值1单第三单需要在第31号才能充值请根据自己话费使用情况选择对应金额 </view>
<view style="margin-left: 5%;">目前仅支持(移动联通电信三网号段) 运营商黑名单号码(长期欠费或非实名制认证)携号转网空号虚拟卡如165.167.170.171.162等等虚拟号段副卡号码或做过某些特殊套餐绑定的卡暂不支持充值请勿下单</view>
</view>
<view class="mart5 width80 font14 fcor999 fontwig6" style="list-style-type: decimal;">
<view style="width: 5%;" class="flleft">4:</view>
<view style="margin-left: 5%;">目前仅支持(移动联通电信三网号段)165167 170171162等虚拟号段暂不支持充值携号转网号码暂不能充值否则损失自负无法退款</view>
<view style="margin-left: 5%;">停机号码需要额外补缴欠费后慢充话费才能到账<text class="fcoreb5">此服务为虚拟充值类服务无特殊情况不支持退款下单前请确认充值的号码无误</text></view>
</view>
<view class="mart5 width80 font14 fcor999 fontwig6" style="list-style-type: decimal;">
<view style="width: 5%;" class="flleft">5:</view>
<view style="margin-left: 5%;">停机号码需要额外补缴欠费后慢充话费才能到账此服务为虚拟充值类服务无特殊情况不支持退款</view>
<view style="margin-left: 5%;">空号错号充值后不支持退款请您务必核对确认号码无误后再进行充值非空号欠费可充欠费1个月导致空号的不能充值损失自负无法退款</view>
</view>
<view class="mart5 width80 font14 fcor999 fontwig6" style="list-style-type: decimal;">
<view style="width: 5%;" class="flleft">6:</view>
<view style="margin-left: 5%;">空号错号充值后不支持退款请您务必核对确认号码无误后再进行充值非空号欠费可充欠费1个月导致空号的不能充值损失自负无法退款</view>
<view style="margin-left: 5%;"><text class="fcoreb5">本充值业务不提供发票</text>如需发票请在运营商手机客户端储开取电子发票也可以凭身份证到运营商实体营业厅打印发票</view>
</view>
<view class="mart5 width80 font14 fcor999 fontwig6" style="list-style-type: decimal;">
<view style="width: 5%;" class="flleft">7:</view>
<view style="margin-left: 5%;">本充值业务不提供发票如需发票请在运营商手机客户端储开取电子发票也可以凭身份证到运营商实体营业厅打印发票 </view>
<view style="margin-left: 5%;">如遇系统维护充值失败将72小时后原路退款到付款账户 </view>
</view>
<view class="mart5 width80 font14 fcor999 fontwig6 marb40" style="list-style-type: decimal;">
<view style="width: 5%;" class="flleft">8:</view>
<view style="margin-left: 5%;">如遇系统维护充值失败将72小时后原路退款到付款账户</view>
<view style="margin-left: 5%;">请登录所属运营商app手机营业厅查看充值号码的到账情况如金额有出入或未到账请截图充值记录明细反馈给客服</view>
</view>
<view class="height100p"></view>
<view class="bombtn width94 font16">

@ -1,112 +1,123 @@
<template>
<view>
<image class="width90 mart10" mode="widthFix" src="../../../static/img/unionimg/hsg4.jpg"
@click="jumprecharge(1)"></image>
<image class="width90 mart5" mode="widthFix" src="../../../static/img/unionimg/hsg2.jpg"
@click="jumprecharge(2)"></image>
<image class="width90 mart5" mode="widthFix" src="../../../static/img/unionimg/hsg1.jpg"
@click="jumprecharge(3)"></image>
<image class="width90 mart5" mode="widthFix" src="../../../static/img/unionimg/hsg3.jpg"
@click="jumprecharge(4)"></image>
</view>
</template>
<script>
let app = getApp();
export default {
data() {
return {}
},
onLoad() {
uni.getStorage({
key: "user",
success(e) {
app.globalData.userInfo = e.data //token
uni.getStorage({
key: 'token',
<template>
<view>
<image class="width90 mart10" mode="widthFix" src="../../../static/img/unionimg/hsg4.jpg"
@click="jumprecharge(1)"></image>
<image class="width90 mart5" mode="widthFix" src="../../../static/img/unionimg/hsg2.jpg"
@click="jumprecharge(2)"></image>
<image class="width90 mart5" mode="widthFix" src="../../../static/img/unionimg/hsg1.jpg"
@click="jumprecharge(3)"></image>
<image class="width90 mart5" mode="widthFix" src="../../../static/img/unionimg/hsg3.jpg"
@click="jumprecharge(4)"></image>
</view>
</template>
<script>
let app = getApp();
export default {
data() {
return {}
},
onLoad() {
console.log('==========')
uni.getStorage({
key: "user",
success(e) {
app.globalData.userInfo = e.data //token
uni.getStorage({
key: 'token',
success(e) {
app.globalData.token = e.data;
}
})
},
fail: res => {}
})
},
methods: {
//
jumprecharge(item) {
if (app.globalData.latitude) {
this.hqaddress(item);
return;
}
this.jumpsValue(item);
},
//
//
hqaddress(item) {
let that = this;
upsdk.pluginReady(function() {
upsdk.getLocationCity({
success: function(cityCd) {
app.globalData.cityId = cityCd;
},
fail: function(err) {}
});
upsdk.getLocationGps({
success: function(res) {
switch (uni.getSystemInfoSync().platform) {
case 'android':
let zuob = JSON.parse(res);
app.globalData.latitude = zuob.latitude;
app.globalData.longitude = zuob.longitude;
that.jumpsValue(item);
break;
case 'ios':
app.globalData.latitude = res.latitude;
app.globalData.longitude = res.longitude;
that.jumpsValue(item);
break;
}
},
fail: function() {}
});
});
},
//
jumpsValue(item) {
if (item == 1) {
uni.navigateTo({
url: '../../goods/goods-list/goods-list?id=3'
})
return;
}
if (item == 2) {
uni.navigateTo({
url: '../../goods/refuel/refuel'
})
return;
}
if (item == 3) {
uni.navigateTo({
url: '../recharge/recharge'
})
return;
}
if (item == 4) {
uni.navigateTo({
url: '../../tabBar/user/user'
})
return;
}
}
}
}
</script>
<style>
uni.navigateTo({
url: '../../userLogin/userLogin'
})
app.globalData.token = e.data;
},
fail() {
uni.navigateTo({
url: '../../userLogin/userLogin'
})
}
})
},
fail: res => {
uni.navigateTo({
url: '../../userLogin/userLogin'
})
}
})
},
methods: {
//
jumprecharge(item) {
if (!app.globalData.latitude) {
this.hqaddress(item);
return;
}
this.jumpsValue(item);
},
//
//
hqaddress(item) {
let that = this;
upsdk.pluginReady(function() {
upsdk.getLocationCity({
success: function(cityCd) {
app.globalData.cityId = cityCd;
},
fail: function(err) {}
});
upsdk.getLocationGps({
success: function(res) {
switch (uni.getSystemInfoSync().platform) {
case 'android':
let zuob = JSON.parse(res);
app.globalData.latitude = zuob.latitude;
app.globalData.longitude = zuob.longitude;
that.jumpsValue(item);
break;
case 'ios':
app.globalData.latitude = res.latitude;
app.globalData.longitude = res.longitude;
that.jumpsValue(item);
break;
}
},
fail: function() {}
});
});
},
//
jumpsValue(item) {
if (item == 1) {
uni.navigateTo({
url: '../../goods/goods-list/goods-list?id=3'
})
return;
}
if (item == 2) {
uni.navigateTo({
url: '../../goods/refuel/refuel'
})
return;
}
if (item == 3) {
uni.navigateTo({
url: '../recharge/recharge'
})
return;
}
if (item == 4) {
uni.navigateTo({
url: '../../tabBar/user/user'
})
return;
}
}
}
}
</script>
<style>
</style>

@ -1,141 +1,154 @@
<template>
<view>
<image mode="widthFix" class="width90 mart20" v-if="!user" :src="imagewxUrl+imgadres"></image>
<image mode="widthFix" class="width90 mart20" v-if="!user.phone && user" :src="imagewxUrl+imgadres1"></image>
<!-- #ifdef MP -->
<view class="mart30 width90 height50 fcorfff backcor008 fotct btns font16 fontlet" v-if="!user" @click="getuserinfo">
授权并登录</view>
<button class="mart30 width90 height50 fcorfff backcor008 fotct btns font16 fontlet" v-if="!user.phone && user"
open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">授权手机号</button>
<!-- <button class="mart30 width90 height50 fcorfff backcor008 fotct btns font16" v-if="user.phone && user"
@click="reqmessage">授权获取消息通知</button> -->
<!-- #endif -->
<!-- #ifdef H5 -->
<button class="mart30 width90 height50 fcorfff backcor008 fotct btns font16"
@click="getH5userinfo">授权并登录</button>
<!-- #endif -->
</view>
</template>
<script>
const app = getApp();
import {
getUserInfo,
GetPhoneNumber
} from "../../Utils/Api.js"
export default {
data() {
return {
user: '',
imagewxUrl: app.globalData.imageWxImg,
imgadres: 'login.png',
imgadres1: 'loginphone.png',
}
},
onLoad() {
this.user = app.globalData.userInfo;
},
methods: {
getuserinfo() {
let that = this;
uni.getUserProfile({
desc: '登录中...',
success: function(res) {
let params = {
openId: app.globalData.openId,
iv: res.iv,
encryptedData: res.encryptedData
}
getUserInfo(params).then(res => {
if (res.return_code == '000000') {
app.globalData.userInfo = res.return_data
.object
.highUser;
that.user = res.return_data.object.highUser;
app.globalData.token = res.return_data.uniqueCode;
that.isShowAuth = false
uni.setStorage({
key: "user",
data: res.return_data
.object
.highUser
})
uni.setStorage({
key: "token",
data: res.return_data.uniqueCode
})
if (res.return_data.object.highUser.phone) {
uni.navigateBack({
})
}
} else {
uni.showToast({
title: res.return_msg
})
}
});
},
fail: res => {
uni.showToast({
title: "微信登录授权失败",
icon: "none"
});
}
})
that.isShowAuth = false
},
//
// reqmessage() {
// uni.requestSubscribeMessage({
// tmplIds: ['oUvaCPeeOg4wH6HTvCcSabU6FnzXUXOBXsqBYAPOV-U'],
// success(res) {
// uni.navigateBack({})
// },
// fail: (res) => {
// uni.navigateBack({})
// }
// })
// },
//
getPhoneNumber(PhoneNumber) {
let params = {
openId: app.globalData.openId,
iv: PhoneNumber.detail.iv,
encryptedData: PhoneNumber.detail.encryptedData
}
GetPhoneNumber(params).then(res => {
if (res.return_code == '000000') {
uni.showToast({
title: '授权成功',
icon: 'none',
duration: 2000
})
uni.navigateBack({
})
this.user = res.return_data.object.highUser;
app.globalData.userInfo = res.return_data
.object
.highUser;
uni.setStorage({
key: "user",
data: res.return_data
.object
.highUser
})
}
});
},
getH5userinfo() {
uni.navigateTo({
url: '/pages/login/register?id=1'
})
},
}
}
</script>
<style lang="scss">
.btns {
border-radius: 6px;
}
<template>
<view>
<image mode="widthFix" class="width90 mart20" :src="imagewxUrl+imgadres1"></image>
<!-- <button class="mart30 width90 height50 fcorfff backcor008 fotct btns font16 fontlet" v-if="!user.phone">授权手机号</button> -->
<view class="width94">{{code}}</view>
<UPButton class="mart30 width90 height50 fcorfff backcor008 fotct btns font16 fontlet bornone" @click="btnClick" :scope="scope">
授权手机号
</UPButton>
<!-- #ifdef H5 -->
<!-- button class="mart30 width90 height50 fcorfff backcor008 fotct btns font16"
@click="getH5userinfo">授权并登录</button> -->
<!-- <view id="app" class="fotct">
<UPButton class="customBtn" @click="getH5userinfo" :scope="scope"
:style="{width:'80%',height:'45px',backgroundColor:'#0083f5'}">
授权并登录
</UPButton>
</view> -->
<!-- #endif -->
<view class="mart10 fcor333 font14">{{resinfo}}</view>
</view>
</template>
<script>
const app = getApp();
import {
getUserInfo,
GetPhoneNumber
} from "../../Utils/Api.js"
export default {
name: 'App',
data() {
return {
user: '',
scope: "scope.mobile,scope.auth",
imagewxUrl: app.globalData.imageWxImg,
imgadres: 'login.png',
imgadres1: 'loginphone.png',
resinfo: '',
scope: "scope.mobile",
code: ''
}
},
onLoad() {
this.user = app.globalData.userInfo;
},
methods: {
btnClick(result) {
this.code = result.code;
},
getuserinfo() {
let that = this;
uni.getUserProfile({
desc: '登录中...',
success: function(res) {
let params = {
openId: app.globalData.openId,
iv: res.iv,
encryptedData: res.encryptedData
}
getUserInfo(params).then(res => {
if (res.return_code == '000000') {
app.globalData.userInfo = res.return_data
.object
.highUser;
that.user = res.return_data.object.highUser;
app.globalData.token = res.return_data.uniqueCode;
that.isShowAuth = false
uni.setStorage({
key: "user",
data: res.return_data
.object
.highUser
})
uni.setStorage({
key: "token",
data: res.return_data.uniqueCode
})
if (res.return_data.object.highUser.phone) {
uni.navigateBack({})
}
} else {
uni.showToast({
title: res.return_msg
})
}
});
},
fail: res => {
uni.showToast({
title: "微信登录授权失败",
icon: "none"
});
}
})
that.isShowAuth = false
},
//
// reqmessage() {
// uni.requestSubscribeMessage({
// tmplIds: ['oUvaCPeeOg4wH6HTvCcSabU6FnzXUXOBXsqBYAPOV-U'],
// success(res) {
// uni.navigateBack({})
// },
// fail: (res) => {
// uni.navigateBack({})
// }
// })
// },
//
getPhoneNumber(PhoneNumber) {
let params = {
openId: app.globalData.openId,
iv: PhoneNumber.detail.iv,
encryptedData: PhoneNumber.detail.encryptedData
}
GetPhoneNumber(params).then(res => {
if (res.return_code == '000000') {
uni.showToast({
title: '授权成功',
icon: 'none',
duration: 2000
})
uni.navigateBack({})
this.user = res.return_data.object.highUser;
app.globalData.userInfo = res.return_data
.object
.highUser;
uni.setStorage({
key: "user",
data: res.return_data
.object
.highUser
})
}
});
},
// getH5userinfo(event, err, result) {
// console.log(event, err, result)
// this.resinfo = JSON.stringify(result);
// },
getH5userinfo() {
uni.navigateTo({
url: '/pages/login/register?id=1'
})
},
}
}
</script>
<style lang="scss">
.btns {
border-radius: 6px;
}
</style>

@ -353,7 +353,9 @@ $uni-font-size-paragraph:30upx;
.bor-botm1 {
border-bottom: 1px solid #f4f4f4;
}
.bornone{
border: none;
}
/* 高40px */
.height40p {
height: 40px;

Loading…
Cancel
Save