Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
hello uni-app x
提交
817f3691
H
hello uni-app x
项目概览
DCloud
/
hello uni-app x
通知
5995
Star
90
Fork
162
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
18
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
hello uni-app x
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
18
Issue
18
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
817f3691
编写于
9月 02, 2024
作者:
zhaofengliang920817
1
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
no message
上级
1c58f566
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
104 addition
and
152 deletion
+104
-152
pages/API/provider/provider.uvue
pages/API/provider/provider.uvue
+104
-152
未找到文件。
pages/API/provider/provider.uvue
浏览文件 @
817f3691
<template>
<template>
<!-- #ifdef APP -->
<!-- #ifdef APP -->
<scroll-view class="page-scroll-view">
<scroll-view class="page-scroll-view">
<!-- #endif -->
<!-- #endif -->
<view class="page">
<view class="page">
<page-head :title="title"></page-head>
<page-head :title="title"></page-head>
<view class="service-item" v-for="(item, index) in serviceList" :key="index">
<view class="service-item" v-for="(item, index) in serviceList" :key="index">
<text class="service-name">{{item.name}}:</text>
<text class="service-name">{{item.name}}:</text>
<view class="provider-list">
<view class="provider-list">
<!-- #ifdef APP-IOS -->
<text class="provider-item" v-for="(item2, index2) in item.provider" :key="index2">
<text class="provider-item" v-for="(item2, index2) in item.provider" :key="index2">
{{item2}}
{{item2}}
{{item.providerObj.length > 0 ? ':' + JSON.stringify(item.providerObj[index2]) : '' }}
{{item.providerObjMap.length > 0 ? ':' + JSON.stringify(item.providerObjMap[index2]) : '' }}
</text>
</text>
</view>
<!-- #endif -->
</view>
<!-- #ifdef APP-ANDROID -->
<button class="btn-get-provider" type="primary" @click="getProvider">getProviderSync</button>
<text class="provider-item" v-for="(item2, index2) in item.provider" :key="index2">
</view>
{{item2}}
<!-- #ifdef APP -->
{{item.providerObj.length > 0 ? ':' + JSON.stringify(item.providerObj[index2]) : '' }}
</scroll-view>
</text>
<!-- #endif -->
<!-- #endif -->
</template>
</view>
<script>
</view>
type ProviderItem = {
<button class="btn-get-provider" type="primary" @click="getProvider">getProviderSync</button>
service : string,
</view>
name : string,
<!-- #ifdef APP -->
provider : string[],
</scroll-view>
providerObj : UniProvider[]
<!-- #endif -->
}
</template>
export default {
<script>
data() {
type ProviderItem = {
return {
service : string,
title: 'provider',
name : string,
flag: false,
provider : string[],
serviceList: [
providerObj : UniProvider[],
{ service: "payment", name: "支付", provider: [], providerObj: []},
providerObjMap : Object[],
{ service: "location", name: "定位", provider: [], providerObj: []}
}
] as ProviderItem[],
providerIds: [] as string[],
export default {
providerObjects: [] as UniProvider[],
data() {
}
return {
},
title: 'provider',
methods: {
flag: false,
getProvider() {
serviceList: [
this.serviceList.forEach((item : ProviderItem) => {
{ service: "payment", name: "支付", provider: [], providerObj: [], providerObjMap: [] },
var provider = uni.getProviderSync({
{ service: "location", name: "定位", provider: [], providerObj: [], providerObjMap: [] }
service: item.service,
] as ProviderItem[],
} as GetProviderSyncOptions)
providerIds: [] as string[],
console.log('getProvider',provider,provider.providerIds.length)
providerObjects: [] as UniProvider[],
provider.providerIds.forEach((value) => {
}
console.log('getProvider','value',value)
},
this.providerIds.push(value)
methods: {
})
getProvider() {
this.updateProvider(item.service, provider.providerIds, provider.providerObjects);
this.serviceList.forEach((item : ProviderItem) => {
})
var provider = uni.getProviderSync({
},
service: item.service,
updateProvider(service : string, provider : string[] | null, uniProvider : UniProvider[]) {
} as GetProviderSyncOptions)
const item : ProviderItem | null = this.serviceList.find((item : ProviderItem) : boolean => {
provider.providerIds.forEach((value) => {
return item.service == service
this.providerIds.push(value)
});
})
if (item != null && provider != null) {
this.updateProvider(item.service, provider.providerIds, provider.providerObjects);
item.provider = provider
})
},
item.providerObj = uniProvider
updateProvider(service : string, provider : string[] | null, uniProvider : UniProvider[]) {
item.providerObj.forEach((obj) => {
const item : ProviderItem | null = this.serviceList.find((item : ProviderItem) : boolean => {
this.providerObjects.push(obj)
return item.service == service
// #ifdef APP-ANDROID
});
if (obj instanceof UniPaymentWxpayProvider) {//判断微信是否安装
if (item != null && provider != null) {
var isWeChatInstalled = (obj as UniPaymentWxpayProvider).isWeChatInstalled
item.provider = provider
console.log(isWeChatInstalled)
}
item.providerObj = uniProvider
// #endif
item.providerObj.forEach((obj) => {
})
this.providerObjects.push(obj)
}
// #ifdef APP-ANDROID
}
if (obj instanceof UniPaymentWxpayProvider) {//判断微信是否安装
}
var isWeChatInstalled = (obj as UniPaymentWxpayProvider).isWeChatInstalled
}
console.log(isWeChatInstalled)
</script>
}
// #endif
<style>
.page {
// #ifdef APP-IOS
padding: 15px;
const providerObjMap = this.getProviderObjectMap(obj)
}
console.log(providerObjMap)
item.providerObjMap.push(providerObjMap)
.service-item {
// #endif
margin-top: 10px;
}
})
}
.service-name {
},
font-weight: bold;
}
// #ifdef APP-IOS
getProviderObjectMap(provider : UniProvider) {
.provider-list {
margin-left: 32px;
const map = new Map()
}
if (this.hasProperty(provider, 'id') && provider.id != null) {
map.set('id', provider.id)
.provider-item {
}
line-height: 1.5;
}
if (this.hasProperty(provider, 'description') && provider.description != null) {
map.set('description', provider.description)
.btn-get-provider {
}
margin-top: 30px;
}
if (this.hasProperty(provider, 'isAppExist') && provider.isAppExist != null) {
map.set('isAppExist', provider.isAppExist)
}
if (this.hasProperty(provider, 'isWeChatInstalled') && provider.isWeChatInstalled != null) {
map.set('isWeChatInstalled', provider.isWeChatInstalled)
}
if (this.hasMethod(provider, 'uniqueMethodForProvider')) {
map.set('func-uniqueMethodForProvider', provider.uniqueMethodForProvider())
}
return Object.fromEntries(map)
},
hasMethod(provider : UniProvider, methodName : string) {
return typeof provider[methodName] === 'function';
},
hasProperty(provider : UniProvider, propName : string) {
return propName in provider
}
// #endif
}
}
</script>
<style>
.page {
padding: 15px;
}
.service-item {
margin-top: 10px;
}
.service-name {
font-weight: bold;
}
.provider-list {
margin-left: 32px;
}
.provider-item {
line-height: 1.5;
}
.btn-get-provider {
margin-top: 30px;
}
</style>
</style>
zhaofengliang920817
@zhaofengliang920817
mentioned in commit
6a9810ed
·
9月 02, 2024
mentioned in commit
6a9810ed
mentioned in commit 6a9810ed422e5347869e99945f102c08e8684bae
开关提交列表
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录