更新记录
1.0.0(2026-05-21) 下载此版本
实现华为AGC云函数调用,示例项目结合华为登录的unionid实现云函数查询云数据库
平台兼容性
uni-app(5.01)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - | 14 |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - | - | - | - | - |
lyc-HWcloudFunction
简介
lyc-login 是一款专为 HarmonyOS Next (鸿蒙) 平台设计的 UTS 原生插件。它封装了华为账号登录(Account Kit)的授权与用户信息获取逻辑,简化了在 uni-app x 项目中实现华为一键登录的流程,支持自动处理用户昵称、头像及 UnionID等敏感数据的解析与回调。
功能特性
- ✅ 原生性能:基于 ArkTS 开发,直接调用鸿蒙系统 API。
- ✅ 类型安全:内置完善的 TypeScript/UTS 类型定义。
- ✅ 灵活传参:支持传入
Object对象或JSON字符串作为云函数参数。 - ✅ 异常捕获:统一的错误处理机制,方便前端调试。
使用方式
安装本人发布的华为登录插件配套实现华为账号登录云函数
<template>
<view class="container">
<!-- 登录前显示按钮 -->
<button v-if="!nickName" @click="login" class="login-button">华为登录</button>
<!-- 登录后显示用户信息卡 -->
<view v-else class="profile-card">
<!-- 头像 -->
<image :src="avatarUrl" mode="aspectFill" class="avatar"></image>
<!-- 昵称 -->
<text class="name">{{ nickName }}</text>
<!-- ID 和复制按钮 -->
<view class="id-wrapper">
<text class="id-text">
ID: {{ unionID ? unionID.substring(0, 6) + '...' + unionID.substring(unionID.length - 4) : '' }}
</text>
<button @click="copyId" class="copy-btn">点击复制</button>
</view>
</view>
</view>
</template>
<script>
import { login } from '@/uni_modules/lyc-login';
import { yfun } from '../../uni_modules/lyc-cloudfun';
export default {
data() {
return {
nickName: '',
avatarUrl: '',
unionID: ''
};
},
methods: {
login() {
login({
suc: (data) => {
// 1. 打印调试
console.log('Raw Data:', JSON.stringify(data));
this.avatarUrl = data.avatarUri;
this.unionID = data.unionID;
yfun({
name:'run',
data:{
"operation": "query",
"records":
{
"id":"34354646"
}
},
suc:(data2)=>{
console.log('登录信息'+JSON.stringify(data2));
}
});
// 2. 安全获取昵称
const name = data.nickName || data.name;
if (name && name.trim() !== '') {
this.nickName = name;
} else {
// 3. 如果没有昵称,不要显示手机号,显示默认称呼
this.nickName = '华为用户';
}
}
});
},
copyId() {
uni.setClipboardData({
data: this.unionID,
success: () => {
uni.showToast({
title: '已复制',
icon: 'none'
});
}
});
}
}
};
</script>
<style scoped>
.container {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
background-color: #f5f5f5;
}
/* 用户卡片 */
.profile-card {
width: 80%;
padding: 30px;
background-color: #ffffff;
border-radius: 20px;
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
text-align: center;
}
/* 头像 */
.avatar {
width: 120px;
height: 120px;
border-radius: 50%;
margin-bottom: 20px;
border: 4px solid #fff;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
/* 昵称 */
.name {
font-size: 24px;
font-weight: bold;
color: #333;
margin-bottom: 20px;
}
/* ID 容器 */
.id-wrapper {
display: flex;
justify-content: center;
align-items: center;
padding: 12px 20px;
background-color: #f9f9f9;
border-radius: 16px;
border: 1px solid #eaeaea;
}
.id-text {
font-size: 14px;
color: #666;
margin-right: 10px;
}
/* 复制按钮 */
.copy-btn {
font-size: 14px;
color: #007aff;
background: none;
border: none;
padding: 0;
margin: 0;
cursor: pointer;
line-height: 1.2;
}
/* 登录按钮 */
.login-button {
background-color: #007aff;
color: white;
border: none;
padding: 12px 30px;
border-radius: 10px;
font-size: 16px;
}
</style>

收藏人数:
下载插件并导入HBuilderX
赞赏(0)
下载 3
赞赏 0
下载 12017916
赞赏 1917
赞赏
京公网安备:11010802035340号