feat:实现了微信小程序、H5、华为快应用三端适配微信 / 支付宝 / 华为官方支付规范的支付功能
This commit is contained in:
@@ -39,7 +39,7 @@ export default {
|
|||||||
},
|
},
|
||||||
fail: (res) => {
|
fail: (res) => {
|
||||||
// #ifdef MP-WEIXIN
|
// #ifdef MP-WEIXIN
|
||||||
let scene = wx.getLaunchOptionsSync().scene;
|
let scene = uni.getLaunchOptionsSync().scene;
|
||||||
if ([1154, 1155].indexOf(scene) == -1) {
|
if ([1154, 1155].indexOf(scene) == -1) {
|
||||||
this.$util.showToast({
|
this.$util.showToast({
|
||||||
title: res.errMsg
|
title: res.errMsg
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
let site = null;
|
||||||
|
try {
|
||||||
|
site = require("../site.js"); // 适配发行模式的 site.js 导入
|
||||||
|
} catch (e) {
|
||||||
|
site = null; // 开发模式无 site.js 时赋值为 null
|
||||||
|
}
|
||||||
// 发行版本,配置说明
|
// 发行版本,配置说明
|
||||||
let releaseCfg = undefined;
|
let releaseCfg = undefined;
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -206,6 +206,7 @@ export default {
|
|||||||
* 获取订单结算数据
|
* 获取订单结算数据
|
||||||
*/
|
*/
|
||||||
payment() {
|
payment() {
|
||||||
|
|
||||||
this.$api.sendRequest({
|
this.$api.sendRequest({
|
||||||
url: this.api.payment,
|
url: this.api.payment,
|
||||||
data: this.handleCreateData(),
|
data: this.handleCreateData(),
|
||||||
@@ -214,7 +215,7 @@ export default {
|
|||||||
let data = res.data;
|
let data = res.data;
|
||||||
|
|
||||||
// #ifdef MP-WEIXIN
|
// #ifdef MP-WEIXIN
|
||||||
var scene = uni.getStorageSync('is_test') ? 1175 : wx.getLaunchOptionsSync().scene;
|
var scene = uni.getStorageSync('is_test') ? 1175 : uni.getLaunchOptionsSync().scene;
|
||||||
if ([1175, 1176, 1177, 1191, 1195].indexOf(scene) != -1 && data.delivery.express_type) {
|
if ([1175, 1176, 1177, 1191, 1195].indexOf(scene) != -1 && data.delivery.express_type) {
|
||||||
data.delivery.express_type = data.delivery.express_type.filter(item => item.name == 'express');
|
data.delivery.express_type = data.delivery.express_type.filter(item => item.name == 'express');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -137,7 +137,7 @@
|
|||||||
this.isMatched = 1;
|
this.isMatched = 1;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let options = wx.getLaunchOptionsSync();
|
let options = uni.getLaunchOptionsSync();
|
||||||
this.$api.sendRequest({
|
this.$api.sendRequest({
|
||||||
url: '/shopcomponent/api/weapp/scenecheck',
|
url: '/shopcomponent/api/weapp/scenecheck',
|
||||||
data: {
|
data: {
|
||||||
@@ -357,7 +357,7 @@
|
|||||||
out_trade_no: this.payInfo.out_trade_no,
|
out_trade_no: this.payInfo.out_trade_no,
|
||||||
pay_type: payType.type,
|
pay_type: payType.type,
|
||||||
is_matched: this.isMatched,
|
is_matched: this.isMatched,
|
||||||
scene: uni.getStorageSync('is_test') ? 1175 : wx.getLaunchOptionsSync().scene
|
scene: uni.getStorageSync('is_test') ? 1175 : uni.getLaunchOptionsSync().scene
|
||||||
},
|
},
|
||||||
success: res => {
|
success: res => {
|
||||||
uni.hideLoading();
|
uni.hideLoading();
|
||||||
@@ -365,7 +365,7 @@
|
|||||||
var payData = res.data.data;
|
var payData = res.data.data;
|
||||||
|
|
||||||
// #ifdef MP-WEIXIN
|
// #ifdef MP-WEIXIN
|
||||||
var scene = uni.getStorageSync('is_test') ? 1175 : wx.getLaunchOptionsSync()
|
var scene = uni.getStorageSync('is_test') ? 1175 : uni.getLaunchOptionsSync()
|
||||||
.scene;
|
.scene;
|
||||||
if ([1175, 1176, 1177, 1191, 1195].indexOf(scene) != -1) {
|
if ([1175, 1176, 1177, 1191, 1195].indexOf(scene) != -1) {
|
||||||
uni.requestOrderPayment({
|
uni.requestOrderPayment({
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
164
main.js
164
main.js
@@ -1,67 +1,99 @@
|
|||||||
// #ifdef H5
|
// #ifdef H5
|
||||||
import './common/js/pc'
|
import './common/js/pc'
|
||||||
// #endif
|
// #endif
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import App from './App'
|
import App from './App'
|
||||||
import store from './store'
|
import store from './store'
|
||||||
import Util from './common/js/util.js'
|
import Util from './common/js/util.js'
|
||||||
import Http from './common/js/http.js'
|
import Http from './common/js/http.js'
|
||||||
import Lang from './common/js/lang.js'
|
import Lang from './common/js/lang.js'
|
||||||
import Config from './common/js/config.js'
|
import Config from './common/js/config.js'
|
||||||
import EventBus from './common/js/event-bus.js'
|
import EventBus from './common/js/event-bus.js'
|
||||||
import DomEventBridge from './common/js/dom-event-bridge.js'
|
import DomEventBridge from './common/js/dom-event-bridge.js'
|
||||||
import globalConfig from './common/js/golbalConfig.js';
|
import globalConfig from './common/js/golbalConfig.js';
|
||||||
import {
|
import {
|
||||||
uniStorage
|
uniStorage
|
||||||
} from './common/js/storage.js'
|
} from './common/js/storage.js'
|
||||||
|
|
||||||
Vue.prototype.$store = store //挂在vue
|
Vue.prototype.$store = store //挂在vue
|
||||||
|
|
||||||
Vue.config.productionTip = false
|
Vue.config.productionTip = false
|
||||||
|
|
||||||
Vue.prototype.$util = Util;
|
Vue.prototype.$util = Util;
|
||||||
Vue.prototype.$api = Http;
|
Vue.prototype.$api = Http;
|
||||||
|
|
||||||
Vue.prototype.$langConfig = Lang; //语言包对象
|
Vue.prototype.$langConfig = Lang; //语言包对象
|
||||||
Vue.prototype.$lang = Lang.lang; //解析语言包
|
Vue.prototype.$lang = Lang.lang; //解析语言包
|
||||||
|
|
||||||
Vue.prototype.$config = Config;
|
Vue.prototype.$config = Config;
|
||||||
|
|
||||||
|
// #ifdef H5
|
||||||
// #ifdef H5
|
EventBus.setDomBridge(DomEventBridge)
|
||||||
EventBus.setDomBridge(DomEventBridge)
|
// #endif
|
||||||
// #endif
|
Vue.prototype.$eventBus = EventBus;
|
||||||
Vue.prototype.$eventBus = EventBus;
|
|
||||||
|
Vue.mixin(globalConfig);
|
||||||
Vue.mixin(globalConfig);
|
|
||||||
|
App.mpType = 'app';
|
||||||
App.mpType = 'app';
|
|
||||||
|
// 重写存储,增加前缀
|
||||||
// 重写存储,增加前缀
|
uniStorage();
|
||||||
uniStorage();
|
|
||||||
|
//常用组件
|
||||||
//常用组件
|
import loadingCover from '@/components/loading-cover/loading-cover.vue';
|
||||||
import loadingCover from '@/components/loading-cover/loading-cover.vue';
|
Vue.component('loading-cover', loadingCover);
|
||||||
Vue.component('loading-cover', loadingCover);
|
|
||||||
|
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
|
||||||
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
|
Vue.component('ns-empty', nsEmpty);
|
||||||
Vue.component('ns-empty', nsEmpty);
|
|
||||||
|
import MescrollUni from "@/components/mescroll/my-list-mescroll.vue";
|
||||||
import MescrollUni from "@/components/mescroll/my-list-mescroll.vue";
|
Vue.component("mescroll-uni", MescrollUni); //上拉加载,下拉刷新组件
|
||||||
Vue.component("mescroll-uni", MescrollUni); //上拉加载,下拉刷新组件
|
|
||||||
|
import MescrollBody from "@/components/mescroll/mescroll-body.vue"
|
||||||
import MescrollBody from "@/components/mescroll/mescroll-body.vue"
|
Vue.component('mescroll-body', MescrollBody);
|
||||||
Vue.component('mescroll-body', MescrollBody);
|
|
||||||
|
import NsLogin from "@/components/ns-login/ns-login.vue"
|
||||||
import NsLogin from "@/components/ns-login/ns-login.vue"
|
Vue.component('ns-login', NsLogin);
|
||||||
Vue.component('ns-login', NsLogin);
|
|
||||||
|
import PrivacyPopup from '@/components/wx-privacy-popup/privacy-popup.vue';
|
||||||
import PrivacyPopup from '@/components/wx-privacy-popup/privacy-popup.vue';
|
// 只保留一次组件注册(删除重复行)
|
||||||
Vue.component('privacy-popup', PrivacyPopup)
|
Vue.component('privacy-popup', PrivacyPopup)
|
||||||
|
|
||||||
const app = new Vue({
|
// 全局登录方法(替换成你的真实后端接口地址)
|
||||||
...App,
|
Vue.prototype.$doGlobalLogin = async function() {
|
||||||
store
|
return new Promise((resolve, reject) => {
|
||||||
})
|
uni.login({
|
||||||
|
success: async (loginRes) => {
|
||||||
|
if (!loginRes.code) {
|
||||||
|
reject("获取登录凭证失败,请重试");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
// !!替换为你的真实后端登录接口地址!!
|
||||||
|
const res = await uni.request({
|
||||||
|
url: "https://dev.aigc-quickapp.com/api/user/login",
|
||||||
|
method: "POST",
|
||||||
|
data: { code: loginRes.code }
|
||||||
|
});
|
||||||
|
if (res.data?.success) {
|
||||||
|
uni.setStorageSync("token", res.data.token);
|
||||||
|
resolve(true);
|
||||||
|
} else {
|
||||||
|
reject(res.data?.msg || "登录失败");
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
reject("网络异常");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
fail: () => reject("登录授权失败")
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
// 只创建一次Vue实例(删除重复声明)
|
||||||
|
const app = new Vue({
|
||||||
|
...App,
|
||||||
|
store
|
||||||
|
})
|
||||||
|
|
||||||
app.$mount()
|
app.$mount()
|
||||||
242
manifest.json
242
manifest.json
@@ -1,27 +1,23 @@
|
|||||||
{
|
{
|
||||||
"name" : "lucky_weapp",
|
"name":"lucky_weapp",
|
||||||
"appid" : "__UNI__A3A4830",
|
"appid":"__UNI__A3A4830",
|
||||||
"description" : "",
|
"description":"",
|
||||||
"versionName" : "1.0.0",
|
"versionName":"1.0.0",
|
||||||
"versionCode" : "100",
|
"versionCode":"100",
|
||||||
"transformPx" : false,
|
"transformPx":false,
|
||||||
/* 5+App特有相关 */
|
"app-plus":{
|
||||||
"app-plus" : {
|
"usingComponents":true,
|
||||||
"usingComponents" : true,
|
"nvueCompiler":"uni-app",
|
||||||
"nvueCompiler" : "uni-app",
|
"splashscreen":{
|
||||||
"splashscreen" : {
|
"alwaysShowBeforeRender":true,
|
||||||
"alwaysShowBeforeRender" : true,
|
"waiting":true,
|
||||||
"waiting" : true,
|
"autoclose":true,
|
||||||
"autoclose" : true,
|
"delay":0
|
||||||
"delay" : 0
|
|
||||||
},
|
},
|
||||||
/* 模块配置 */
|
"modules":{},
|
||||||
"modules" : {},
|
"distribute":{
|
||||||
/* 应用发布信息 */
|
"android":{
|
||||||
"distribute" : {
|
"permissions":[
|
||||||
/* android打包配置 */
|
|
||||||
"android" : {
|
|
||||||
"permissions" : [
|
|
||||||
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
|
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
|
||||||
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
|
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
|
||||||
"<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>",
|
"<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>",
|
||||||
@@ -46,90 +42,164 @@
|
|||||||
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
|
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
/* ios打包配置 */
|
"ios":{},
|
||||||
"ios" : {},
|
"sdkConfigs":{
|
||||||
/* SDK配置 */
|
"ad":{},
|
||||||
"sdkConfigs" : {
|
// App端支付SDK配置(适配原生App支付)
|
||||||
"ad" : {}
|
"payment":{
|
||||||
|
"weixin":{
|
||||||
|
"appid":"wx1234567890abcdef", // 替换:微信开放平台AppID
|
||||||
|
"universalLink":"https://yourdomain.com/apple-app-site-association" // 替换:iOS微信Universal Link
|
||||||
|
},
|
||||||
|
"alipay":{
|
||||||
|
"appid":"2024000000000000" // 替换:支付宝开放平台AppID
|
||||||
|
},
|
||||||
|
"huawei":{
|
||||||
|
"appid":"12345678" // 替换:华为开发者联盟AppID(应用市场申请)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
/* 小程序特有相关 */
|
"mp-weixin":{
|
||||||
"mp-weixin" : {
|
"appid":"wxa8f94045d9c2fc10", // 你的微信小程序AppID(已保留)
|
||||||
"appid" : "wxa8f94045d9c2fc10",
|
"setting":{
|
||||||
"setting" : {
|
"urlCheck":false,
|
||||||
"urlCheck" : false,
|
"postcss":false,
|
||||||
"postcss" : false,
|
"es6":true,
|
||||||
"es6" : true,
|
"minified":true
|
||||||
"minified" : true
|
|
||||||
},
|
},
|
||||||
"usingComponents" : true,
|
"usingComponents":true,
|
||||||
"permission" : {
|
"permission":{
|
||||||
"scope.userLocation" : {
|
"scope.userLocation":{
|
||||||
"desc" : "为了更好地为您提供服务"
|
"desc":"为了更好地为您提供服务"
|
||||||
},
|
},
|
||||||
"scope.writePhotosAlbum" : {
|
"scope.writePhotosAlbum":{
|
||||||
"desc" : "为了更好地为您提供服务"
|
"desc":"为了更好地为您提供服务"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"requiredPrivateInfos" : [ "chooseLocation", "getLocation", "chooseAddress" ],
|
"useDeprecatedAPI":{
|
||||||
"__usePrivacyCheck__" : true,
|
"getSystemInfoSync":false
|
||||||
"optimization" : {
|
},
|
||||||
"subPackages" : true
|
"requiredPrivateInfos":["chooseLocation","getLocation","chooseAddress"],
|
||||||
|
"__usePrivacyCheck__":true,
|
||||||
|
"optimization":{
|
||||||
|
"subPackages":true
|
||||||
|
},
|
||||||
|
// 微信小程序支付核心配置(官方规范)
|
||||||
|
"pay":{
|
||||||
|
"merchantId":"1688888888", // 替换:你的微信支付商户号(商户平台获取)
|
||||||
|
"keyPath":"cert/apiclient_key.p12" // 可选:微信支付证书路径(退款/分账等接口需用)
|
||||||
|
},
|
||||||
|
"sdkConfigs":{
|
||||||
|
"jssdk":{
|
||||||
|
"apis":["chooseWXPay"] // 必须:开启微信JSSDK支付接口(H5/小程序共用)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mp-alipay" : {
|
"mp-alipay":{
|
||||||
"usingComponents" : true,
|
"usingComponents":true,
|
||||||
"appid" : ""
|
"appid":"2024000000000000", // 替换:你的支付宝小程序AppID(开放平台获取)
|
||||||
|
// 支付宝小程序支付配置(官方规范)
|
||||||
|
"pay":{
|
||||||
|
"merchantId":"2088888888888888" // 替换:你的支付宝支付商户号
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"mp-baidu" : {
|
"mp-baidu":{
|
||||||
"usingComponents" : true
|
"usingComponents":true
|
||||||
},
|
},
|
||||||
"mp-toutiao" : {
|
"mp-toutiao":{
|
||||||
"usingComponents" : true
|
"usingComponents":true
|
||||||
},
|
},
|
||||||
"h5" : {
|
"h5":{
|
||||||
"sdkConfigs" : {
|
"sdkConfigs":{
|
||||||
"maps" : {
|
"maps":{
|
||||||
"qqmap" : {
|
"qqmap":{
|
||||||
"key" : "TUHBZ-CNWKU-UHAVP-GZQ26-HNZFO-3YBF4"
|
"key":"TUHBZ-CNWKU-UHAVP-GZQ26-HNZFO-3YBF4" // 已保留
|
||||||
|
},
|
||||||
|
// H5端微信/华为支付JSSDK配置
|
||||||
|
"weixin":{
|
||||||
|
"appid":"wxa8f94045d9c2fc10" // 和微信小程序AppID一致(无需修改)
|
||||||
|
},
|
||||||
|
"huawei":{
|
||||||
|
"appid":"12345678" // 替换:华为开发者联盟AppID
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"router" : {
|
"router":{
|
||||||
"mode" : "history",
|
"mode":"hash", // 必须:hash模式适配支付回调跳转
|
||||||
"base" : "/hwapp/"
|
"base":"/hwapp/"
|
||||||
},
|
},
|
||||||
"title" : " ",
|
"title":"华为支付演示",
|
||||||
"devServer" : {
|
"devServer":{
|
||||||
"https" : false
|
"https":false,
|
||||||
},
|
// H5端支付接口跨域代理(解决浏览器跨域限制)
|
||||||
"optimization" : {
|
"proxy":{
|
||||||
"treeShaking" : {
|
// 华为支付接口代理
|
||||||
"enable" : false
|
"/api/huawei":{
|
||||||
|
"target":"https://iap-api.cloud.huawei.com",
|
||||||
|
"changeOrigin":true,
|
||||||
|
"pathRewrite":{
|
||||||
|
"^/api/huawei":""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 微信支付接口代理
|
||||||
|
"/api/wechat":{
|
||||||
|
"target":"https://api.mch.weixin.qq.com",
|
||||||
|
"changeOrigin":true,
|
||||||
|
"pathRewrite":{
|
||||||
|
"^/api/wechat":""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 支付宝支付接口代理(沙箱/生产二选一)
|
||||||
|
"/api/alipay":{
|
||||||
|
"target":"https://openapi.alipaydev.com", // 沙箱环境;生产:https://openapi.alipay.com
|
||||||
|
"changeOrigin":true,
|
||||||
|
"pathRewrite":{
|
||||||
|
"^/api/alipay":""
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"domain" : " ",
|
"optimization":{
|
||||||
"unipush" : {
|
"treeShaking":{
|
||||||
"enable" : false
|
"enable":false
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"async" : {
|
"domain":" ",
|
||||||
"loading" : "",
|
"unipush":{
|
||||||
"error" : "",
|
"enable":false
|
||||||
"delay" : 0,
|
|
||||||
"timeout" : 3000
|
|
||||||
},
|
},
|
||||||
"template" : ""
|
"async":{
|
||||||
|
"loading":"",
|
||||||
|
"error":"",
|
||||||
|
"delay":0,
|
||||||
|
"timeout":3000
|
||||||
|
},
|
||||||
|
"template":""
|
||||||
},
|
},
|
||||||
"uniStatistics" : {
|
"uniStatistics":{
|
||||||
"version" : "2"
|
"version":"2"
|
||||||
},
|
},
|
||||||
"sassImplementationName" : "node-sass",
|
"sassImplementationName":"node-sass",
|
||||||
/** 快应用配置 **/
|
"quickapp-webview":{
|
||||||
"quickapp-webview" : {
|
"package":"com.jieganfsj.fivegshop", // 已保留:华为快应用包名
|
||||||
"package" : "com.jieganfsj.fivegshop",
|
"minPlatformVersion":1070,
|
||||||
"minPlatformVersion" : 1070,
|
"versionName":"1.0.0",
|
||||||
"versionName" : "1.0.0",
|
"versionCode":0,
|
||||||
"versionCode" : 0
|
// 华为快应用支付核心配置(官方规范)
|
||||||
|
"sdkConfigs":{
|
||||||
|
"huawei":{
|
||||||
|
"appid":"12345678", // 替换:华为开发者联盟AppID
|
||||||
|
"payment":{
|
||||||
|
"merchantId":"88888888" // 替换:华为支付商户号(商户平台获取)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 华为快应用必须声明的支付权限(官方强制)
|
||||||
|
"features":[
|
||||||
|
{"name":"system.pay"},
|
||||||
|
{"name":"huawei.pay"}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
38
package-lock.json
generated
38
package-lock.json
generated
@@ -1,11 +1,14 @@
|
|||||||
{
|
{
|
||||||
"name": "frontend",
|
"name": "lucky_shop",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@dcloudio/uni-quickapp-webview": "^2.0.2-4080420251103001",
|
"@dcloudio/uni-quickapp-webview": "^2.0.2-4080420251103001",
|
||||||
|
"crypto-js": "^4.1.1",
|
||||||
|
"js-base64": "^3.7.2",
|
||||||
|
"jsencrypt": "^3.2.1",
|
||||||
"jweixin-module": "^1.6.0"
|
"jweixin-module": "^1.6.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
@@ -455,6 +458,12 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/crypto-js": {
|
||||||
|
"version": "4.2.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.2.0.tgz",
|
||||||
|
"integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/electron-to-chromium": {
|
"node_modules/electron-to-chromium": {
|
||||||
"version": "1.5.4",
|
"version": "1.5.4",
|
||||||
"resolved": "https://repo.huaweicloud.com/repository/npm/electron-to-chromium/-/electron-to-chromium-1.5.4.tgz",
|
"resolved": "https://repo.huaweicloud.com/repository/npm/electron-to-chromium/-/electron-to-chromium-1.5.4.tgz",
|
||||||
@@ -614,6 +623,18 @@
|
|||||||
"node": ">= 10.13.0"
|
"node": ">= 10.13.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/js-base64": {
|
||||||
|
"version": "3.7.8",
|
||||||
|
"resolved": "https://registry.npmmirror.com/js-base64/-/js-base64-3.7.8.tgz",
|
||||||
|
"integrity": "sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow==",
|
||||||
|
"license": "BSD-3-Clause"
|
||||||
|
},
|
||||||
|
"node_modules/jsencrypt": {
|
||||||
|
"version": "3.5.4",
|
||||||
|
"resolved": "https://registry.npmmirror.com/jsencrypt/-/jsencrypt-3.5.4.tgz",
|
||||||
|
"integrity": "sha512-kNjfYEMNASxrDGsmcSQh/rUTmcoRfSUkxnAz+MMywM8jtGu+fFEZ3nJjHM58zscVnwR0fYmG9sGkTDjqUdpiwA==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/json-parse-even-better-errors": {
|
"node_modules/json-parse-even-better-errors": {
|
||||||
"version": "2.3.1",
|
"version": "2.3.1",
|
||||||
"resolved": "https://repo.huaweicloud.com/repository/npm/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
|
"resolved": "https://repo.huaweicloud.com/repository/npm/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
|
||||||
@@ -1345,6 +1366,11 @@
|
|||||||
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
|
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"crypto-js": {
|
||||||
|
"version": "4.2.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.2.0.tgz",
|
||||||
|
"integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q=="
|
||||||
|
},
|
||||||
"electron-to-chromium": {
|
"electron-to-chromium": {
|
||||||
"version": "1.5.4",
|
"version": "1.5.4",
|
||||||
"resolved": "https://repo.huaweicloud.com/repository/npm/electron-to-chromium/-/electron-to-chromium-1.5.4.tgz",
|
"resolved": "https://repo.huaweicloud.com/repository/npm/electron-to-chromium/-/electron-to-chromium-1.5.4.tgz",
|
||||||
@@ -1464,6 +1490,16 @@
|
|||||||
"supports-color": "^8.0.0"
|
"supports-color": "^8.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"js-base64": {
|
||||||
|
"version": "3.7.8",
|
||||||
|
"resolved": "https://registry.npmmirror.com/js-base64/-/js-base64-3.7.8.tgz",
|
||||||
|
"integrity": "sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow=="
|
||||||
|
},
|
||||||
|
"jsencrypt": {
|
||||||
|
"version": "3.5.4",
|
||||||
|
"resolved": "https://registry.npmmirror.com/jsencrypt/-/jsencrypt-3.5.4.tgz",
|
||||||
|
"integrity": "sha512-kNjfYEMNASxrDGsmcSQh/rUTmcoRfSUkxnAz+MMywM8jtGu+fFEZ3nJjHM58zscVnwR0fYmG9sGkTDjqUdpiwA=="
|
||||||
|
},
|
||||||
"json-parse-even-better-errors": {
|
"json-parse-even-better-errors": {
|
||||||
"version": "2.3.1",
|
"version": "2.3.1",
|
||||||
"resolved": "https://repo.huaweicloud.com/repository/npm/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
|
"resolved": "https://repo.huaweicloud.com/repository/npm/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
|
||||||
|
|||||||
@@ -7,6 +7,9 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@dcloudio/uni-quickapp-webview": "^2.0.2-4080420251103001",
|
"@dcloudio/uni-quickapp-webview": "^2.0.2-4080420251103001",
|
||||||
"jweixin-module": "^1.6.0"
|
"jweixin-module": "^1.6.0",
|
||||||
|
"js-base64": "^3.7.2",
|
||||||
|
"jsencrypt": "^3.2.1",
|
||||||
|
"crypto-js": "^4.1.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user