MemFire教程|轻松掌握“后台管理系统”角色权限的配置

app逆向分析案例-95分 先把justtrusmeplus打开设置好95分,开始抓包,得到结果为: https://www.95fenapp.com/api_goods/list/v3.0?is_all=1&keywords=%E7%A7%91%E6%AF%94& page=1&page_size=20 &publish_timestamp=0 &scene=2&scene_type=95fen_android_search_personal&sn=SearchList 阅读详情

近期,收到许多用户关于如何配置和管理 MemFire Cloud 中的用户角色和权限的询问。为了解答大家的疑问,我们编写了一个简易教程,指导你完成如何在 MemFire Cloud 中轻松设置用户角色和权限,以及配置前端路由和按钮权限的各个步骤。本教程以“商品后台管理系统”中设置的不同角色(超级管理员:可以对商品管理系统的所有数据进行任何操作;普通管理员:可以查看和新增商品;普通用户:只能查看商品)和通过权限来管理商品为例进行讲解。

准备工作:创建Auth Hook

此Auth Hook介绍了一种为 MemFire Cloud 项目实现自定义声明的方法。该方法旨在将JSON 数据添加到经过身份验证的用户在登录应用程序时收到的访问令牌中。此令牌(及其包含的自定义声明)可供你的应用程序和 PostgreSQL 数据库服务器读取和使用,方便在后续给用户设置和读取用户的角色声明。这些自定义声明存储在 auth 架构中 users 表的 raw_app_meta_data 字段中。

文件 install.sql 包含在 MemFire Cloud项目中实现和管理自定义声明所需的所有 Auth Hook。

1.将 install.sql 中的 SQL 代码粘贴到 MemFire Cloud 项目的 SQL 查询编辑器中。

2.单击 RUN 来执行代码。

文件:https://github.com/supabase-community/supabase-custom-claims

创建表

"商品后台管理系统"需要创建权限表(role_permissions)、菜单表(sys_menu)、用户表(users)、和商品表(prod) ,用这四张表来完成对于用户角色和权限的配置及管理。

创建权限表

首先需要创建一个权限表来跟踪角色的权限。我们设置了三种角色,分别为超级管理员:superAdmin、普通管理员:admin、普通用户:authenticated。

将 SQL 代码粘贴到 MemFire Cloud 项目的 SQL 查询编辑器中,点击RUN来执行代码。

-- 角色权限
create table public.role_permissions (
  id bigint generated by default as identity primary key,
  role character varying(255) not null,
  permission character varying(255) not null
);
comment on table public.role_permissions is '权限表';

insert into public.role_permissions (role, permission)
values
  ('superAdmin', 'all'),
  ('admin', 'prod:spec:info,prod:spec:save'),
  ('authenticated', 'prod:spec:info');

permission是代表能够访问和控制哪些页面,prod:spec:info表示可以查看商品管理列表的详情,prod:spec:save表示可以新增商品,prod:spec:update表示可以修改商品,prod:spec:delete表示可以删除商品。

创建菜单表

创建"商品后台管理系统"的菜单表,方便后续管理菜单。

将 SQL 代码粘贴到 MemFire Cloud 项目的 SQL 查询编辑器中,点击RUN来执行代码。

create table public.sys_menu (
    menu_id bigint generated by default as identity primary key,
    parent_id bigint null,
    name character varying(50) null default null::character varying,
    perms character varying(500) null default null::character varying
  ) tablespace pg_default;
  
  insert into public.sys_menu (parent_id,type,menu_id,name,perms)
values
(1,1,34,'商品管理',null),
(34,2,57,'查看','prod:spec:info'),
(34,2,58,'添加','prod:spec:save'),
(34,2,59,'修改','prod:spec:update,prod:spec:info'),
(34,2,60,'删除','prod:spec:delete');

perms 是此菜单的权限标识符,允许在后续前端页面上根据标识匹配轻松控制显示和隐藏。

创建用户表

方便后续访问用户表,同步auth.users表里的数据,例如uid、角色声明等。

将 SQL 代码粘贴到 MemFire Cloud 项目的 SQL 查询编辑器中,点击RUN来执行代码。

create table
  public.users (
    instance_id uuid null,
    id uuid not null,
    aud character varying(255) null,
    email character varying(255) null,
    phone character varying(255) null,
    user_name character varying(255) null,
    raw_app_meta_data jsonb null
  ) tablespace pg_default;
创建数据库函数和触发器

当auth.users表创建一个用户时,也同样在public.users表插入一条用户

raw_app_meta_data 是用户的身份声明,例如其角色。我们主要需要更新 raw_app_meta_data,因为当我们修改 auth.users 中的角色时,实际上就是修改了 raw_app_meta_data 中的 role声明。因此,我们需要同步到 public.users 表中。

将 SQL 代码粘贴到 MemFire Cloud 项目的 SQL 查询编辑器中,点击RUN来执行代码。

CREATE OR REPLACE FUNCTION sync_users()
RETURNS TRIGGER AS $$
BEGIN
    -- 在 public.users 表中插入新用户数据
    INSERT INTO public.users (id,aud,raw_app_meta_data,email)
    VALUES (NEW.id,NEW.aud ,NEW.raw_app_meta_data, NEW.email);

    RETURN NEW;
END;
$$ LANGUAGE plpgsql;

-- 创建触发器,当在 auth.users 表中插入新数据时触发 sync_users() 函数
CREATE TRIGGER sync_users_trigger
AFTER INSERT ON auth.users
FOR EACH ROW
EXECUTE FUNCTION sync_users();

如果auth.users字段进行了修改,也同样在public.users表里面相同的字段

将 SQL 代码粘贴到 MemFire Cloud 项目的 SQL 查询编辑器中,点击RUN来执行代码。

CREATE OR REPLACE FUNCTION sync_user_update()
RETURNS TRIGGER AS $$
BEGIN
    -- 在 public.users 表中更新相应字段
    UPDATE public.users
    SET 
        role= NEW.raw_app_meta_data,
        email = NEW.email
    WHERE id = NEW.id; -- 根据用户 id 进行更新

    RETURN NEW;
END;
$$ LANGUAGE plpgsql;

-- 创建触发器,当在 auth.users 表中更新数据时触发 sync_user_update() 函数
CREATE TRIGGER sync_user_update_trigger
AFTER UPDATE ON auth.users
FOR EACH ROW
EXECUTE FUNCTION sync_user_update();
安全考虑

如果你想加强安全性,以便只能从查询编辑器内部或 PostgreSQL 函数或触发器内部设置或删除自定义声明,因为默认情况下,是可以允许通过 API 使用,但设置或删除声明的能力仅限于将 claims_admin 自定义声明设置为 true 的用户。这允许你创建应用程序的管理部分,允许指定用户修改应用程序其他用户的自定义声明。请替换Auth Hook函数里的 is_claims_admin() 返回为false以禁止应用程序用户使用(不能通过 API / Postgrest 使用) 。指令如下:

将 SQL 代码粘贴到 MemFire Cloud 项目的 SQL 查询编辑器中,点击RUN来执行代码。

CREATE OR REPLACE FUNCTION is_claims_admin() RETURNS "bool"
  LANGUAGE "plpgsql" 
  AS $$
  BEGIN
    IF session_user = 'authenticator' THEN
      --------------------------------------------
      -- To disallow any authenticated app users
      -- from editing claims, delete the following
      -- block of code and replace it with:
      -- RETURN FALSE;
      --------------------------------------------
      IF extract(epoch from now()) > coalesce((current_setting('request.jwt.claims', true)::jsonb)->>'exp', '0')::numeric THEN
        return false; -- jwt expired
      END IF;
      If current_setting('request.jwt.claims', true)::jsonb->>'role' = 'service_role' THEN
        RETURN true; -- service role users have admin rights
      END IF;
      IF coalesce((current_setting('request.jwt.claims', true)::jsonb)->'app_metadata'->'claims_admin', 'true')::bool THEN
        return true; -- user has claims_admin set to true
      ELSE
        return false; -- user does NOT have claims_admin set to true
      END IF;
      --------------------------------------------
      -- End of block 
      --------------------------------------------
    ELSE -- not a user session, probably being called from a trigger or something
      return false;
    END IF;
  END;
$$;
给用户设置角色声明

首先在查询编辑器内部给一个认证过的用户设置claims_admin 为true 方便他能够管理角色声明

将 SQL 代码粘贴到 MemFire Cloud 项目的 SQL 查询编辑器中,点击RUN来执行代码。

select set_claim('03acaa13-7989-45c1-8dfb-6eeb7cf0b92e', 'claims_admin', 'true');

其中 03acaa13-7989-45c1-8dfb-6eeb7cf0b92e 是在 auth.users中找到的管理用户的 ID。

例如:我想给我auth.users表里的一个用户(uuid为:f695a1a5-8725-4c66-8399-57d842d2b1d1)设置角色为超级管理员

上面步骤提到我们在public.users表内同步了auth.users的用户数据,出于安全起见,设置对public.users的角色访问权限后(例如role为superAdmin才能操作public.users),那我们可以直接获取用户的uid。

这个api操作只有claims_admin 为true 的用户才有权限

const { data, error } = await supabase.rpc('set_claim', {uid:'f695a1a5-8725-4c66-8399-57d842d2b1d1',claim:'role', value:'superAdmin'});

我们可以在auth.users 和public.users的raw_app_meta_data看到同步结果
在这里插入图片描述

创建商品表

将 SQL 代码粘贴到 MemFire Cloud 项目的 SQL 查询编辑器中,点击RUN来执行代码。

create table
  public.prod (
    id bigint generated by default as identity primary key,
    prod_name character varying(300) not null default ''::character varying,
    price numeric(15, 2) null default null::numeric,
    content text null,
    pic character varying(255) null default null::character varying,
    sold_num integer null,
    create_time timestamp without time zone null,
    update_time timestamp without time zone null
  ) tablespace pg_default;
  
  insert into public.prod (prod_name , price ,content ,pic ,sold_num )
values
  ('石材', 1234,'很硬',null,23),
  ('地板', 354,'很滑',null,33),
  ('玻璃', 45,'很亮',null,54);```
设置数据访问策略
  • 超级管理员:可以对商品管理系统的所有数据进行任何操作

  • 普通管理员:可以查看和新增商品

  • 普通用户:只能查看商品

根据权限表对数据表数据的访问权限,我们设置如下策略。

将 SQL 代码粘贴到 MemFire Cloud 项目的 SQL 查询编辑器中,点击RUN来执行代码。

CREATE POLICY "超级管理员可以访问商品表的全部操作" ON "public"."prod"
AS PERMISSIVE FOR ALL
TO public
USING ((get_my_claim('role'::text) = '"superAdmin"'::jsonb))
WITH CHECK (true);

CREATE POLICY "管理员可以查看商品表的数据" ON "public"."prod"
AS PERMISSIVE FOR SELECT
TO public
USING ((get_my_claim('role'::text) = '"admin"'::jsonb));

CREATE POLICY "管理员可以新增商品表" ON "public"."prod"
AS PERMISSIVE FOR INSERT
TO public

WITH CHECK ((get_my_claim('role'::text) = '"admin"'::jsonb));

CREATE POLICY "普通用户可以查看商品表的数据" ON "public"."prod"
AS PERMISSIVE FOR SELECT
TO public
USING ((get_my_claim('role'::text) = '"authenticated"'::jsonb));

这样我们就分别对角色进行了数据的访问和操作的权限设置

get_my_claim 是用来检查当前登录用户的特定声明。

结果如下:
在这里插入图片描述
我们就可以根据结果中的role来进行页面路由权限的管理和控制了。例如控制按钮的显示与隐藏:

<el-button v-if="isAuth('prod:spec:update')" 
 type="primary"  
 icon="el-icon-edit"
 @click.stop="onAddOrUpdate(scope.row.roleId)"
 > 编辑 </el-button>
/**
 * 是否有权限
 * @param {*} key
 */
export function isAuth(key) {
  //从session用户登录时获得的对象中提取角色声明信息
  supabase.auth.onAuthStateChange(async (_event, session) => {
    if (session?.user?.app_metadata?.role) {
      //查询权限表对应角色对应的权限
      let { data: role_permissions, error } = await supabase
        .from('role_permissions')
        .select("*")
        .eq('role', session?.user?.app_metadata?.role)
      if (role_permissions) {
        if (role_permissions.permission.length) {
          if(role_permissions.permission === 'all'){
            return true
          }else{
            for (const i in role_permissions.permission) {
              const element = role_permissions.permission[i]
              if (element === key) {
                return true
              }
            }
          }
        }
        return false
      }
    }
  })
}```

小结

通过创建 Auth Hook,我们实现了在前端通过角色声明管理和控制路由菜单和按钮,并配置了不同角色的数据访问权限。这种方法使你能够轻松地在MemFire Cloud中管理用户角色和权限,并构建一个强大的系统。

携程机票数据爬取实战:使用 Python 获取携程网机票信息 通过本篇博客,我们详细介绍了如何使用 Python 爬取携程网的机票信息,涉及了静态网页爬取(使用 Requests 和 BeautifulSoup)和动态网页爬取(使用 Selenium)两种方法。通过获取的数据,我们不仅能够进行票价分析,还可以构建更为复杂的预测模型或趋势分析工具。爬虫技术不仅能够帮助我们收集有价值的数据,还能够为商业决策提供数据支持。在实际应用中,我们可以结合更多的分析方法,如自然语言处理、图像处理等,进一步提升数据的价值。 阅读详情

相关推荐

水环境综合管控平台完整方案

水环境综合管控平台项目(2026-2027)摘要 项目概况: 总投资5亿元的水环境综合管控平台项目,是国家数字政府与生态文明建设战略的重要实践。项目严格遵循2026年最新政策标准,整合物联网、大数据和AI技术,构建覆盖水质监测、污染溯源、生态保护等全流程的智能管控体系。 核心内容: 系统架构:采用五层设计(基础设施层至展示层),集成10大核心功能模块,包括水质动态监测、污染智能溯源和生态评估预警系统; 技术创新:运用2026年最新边缘计算和数字孪生技术,实现毫秒级水质异常响应和三维流域仿真; 实施规划:分7

随读手记 403

轻松掌握“商品后台管理系统”角色权限的配置

关于如何配置和管理中的用户角色和权限的询问,编写了一个简易教程,指导您完成从前端路由和按钮权限配置到在 MemFire Cloud 中轻松设置用户角色和权限的各个步骤。本教程以“商品后台管理系统”中设置的不同角色(超级管理员:可以对商品管理系统的所有数据进行任何操作;普通管理员:可以查看和新增商品;普通用户:只能查看商品)和权限为例来管理商品进行讲解。

weixin_44957042的博客 1151

Huber损失函数中的阈值δ是如何确定的?

Huber损失函数通过阈值δ将误差划分为两部分:当误差小于等于δ时,采用平方损失(MSE),以保持对小误差的敏感性;当误差大于δ时,采用线性损失(MAE),以降低异常值对模型的影响。

百态·数智思维 | 聚焦大数据、量化与未来AI 1927

开发者的秘密武器:用MemFire Cloud快速上线项目

简单来说,是一款专为懒人开发者准备的神器。它是一站式的开发平台,提供了丰富的后端即服务(BaaS)功能,包括免费云数据库、第三方认证服务、对象存储、云函数和静态部署。更棒的是,它完全不需要你搭建服务或者开发API,真正实现了**“拎包入住式”开发**。它不仅适合那些技术小白,还特别适合那些想要省时省力的独立开发者。无论你是为了接私活还是实现自己的创意,都能让你事半功倍。在开发的道路上,每个开发者都希望能够高效、便捷地完成项目。的出现,无疑为我们提供了一个强有力的工具。

weixin_44957042的博客 1373

保姆级教程:用Java和HslCommunication库搞定三菱PLC数据读写(附完整代码)

本文提供了一份详细的Java与三菱PLC通信教程,通过HslCommunication库实现高效数据读写。内容涵盖环境配置、通信模式选择、数据类型操作、异常处理及性能优化,并附有完整代码示例,帮助开发者快速掌握工业自动化中的PLC数据交互技术。

weixin_28731223的博客 227

【软考高项】五十一、常见必会的几种进度网络图(单代号、双代号、七格图、横道图)

软考高项计算题进度网络图画图介绍

有莘不破的博客 3万+

MemFire教程|RLS使用指南

前面讲过PostgreSQL RLS介绍,在使用MemFire Cloud的BaaS服务进行应用开发时,比较困扰开发者的是RLS的使用。本篇从基本的RLS使用以及基本示例入手,让用户理解如何使用RLS。全称:Row level security,行级安全,允许系统管理员为数据库表创建访问策略(policy),以约束数据的可见性。创建策略语法详见:语法说明。当为一个表创建了policy后,相当于为该表增加了一个高优先级的过滤器。

NimbleX_的博客 315

【学习总结】飞跨电容三电平boost拓扑发波分析与matlab仿真

正常工作时,飞跨电容的电压大约控制在输出电压的一半,降低了开关器件的耐受电压。

晞子的技术札记 1万+

MemFire教程|多表关联查询教程(JS版本)

查询学生的studentId为20222201的课表信息和学校信息当您想要自定义查询主表与关联表的一些字段时,您可以在select里面用逗号把主表的字段隔开,后面加上想要查询的关联表,关联表紧挨着用括号包裹它的字段,也需要用逗号隔开。.select(`id,studentId,结果id: 1,subject: {id: 1,subjectName: '数据库原理',teacherName: '张珊',adress: '计科楼2-1003'},

NimbleX_的博客 436

Hermes深入理解及源码解析(二):Hermes的记忆机制

源码位置:tools/memory_tool.py存储内容为两个文件,放在 ~/.hermes/memories/:MEMORY.md:Agent 自己的笔记(环境事实、项目约定、工具坑、学到的东西)—— 上限 2200 字符USER.md:关于用户的画像(角色、偏好、沟通风格)—— 上限 1375 字符作为一个独立的工具注册在系统中(为了让智能体正确使用它,System Prompt()中明确下达了禁令存储目标存储位置数据类型持久偏好/事实MEMORY.md我是谁、我喜欢什么、环境配置。

qq_41984117的博客 558

SPD5 集线器协议内容解析

​ 若不同SPD5 Hub后面的本地侧设备同时发送请求,则是22和23、24的混合过程,先通过LID裁决,再通过HID裁决,这里的LID是本地设备的,若LID一致,则看HID,由于SPD5 Hub的本地侧设备HID均为111,因此实际上是比较SPD5 Hub的HID,这个过程在前文提到,SPD5 Hub会转换HID。​ 若MR27[4]=1且MR27[3:0]=1,如果MR51[3:0]=1时,发送IBI,并且MR48[7]置1,将GETSTATUS CCC的待处理中断位[3:0]更新为0001。

weixin_50591344的博客 3860

MemFire教程|PostgreSQL RLS介绍

在使用MemFire Cloud的BaaS服务进行应用开发时,比较困扰开发者的是RLS的使用。本篇先从基本概念入手对RLS进行简要介绍,帮助大家理解RLS的工作机制和基本使用方法。

NimbleX_的博客 841

AgentScope Java 入门:Spring AI Alibaba 与 AgentScope 的定位与区别

摘要:Spring AI Alibaba是阿里基于Spring AI开发的本地化AI应用框架,旨在服务Java开发者。它提供模型接入、函数调用、RAG等功能,并与阿里云基础设施深度集成。同时,阿里开源了多智能体框架AgentScope,其Java版(AgentScope-Java)专注于Agentic设计理念。两者将协同发展:Spring AI Alibaba侧重Spring生态集成,AgentScope-Java强化智能体能力。未来计划包括支持AgentScope、升级Admin平台,以及推进Server

SmartSi 1529

开发者不再焦虑:MemFire Cloud如何帮你减少工作量

是一款国产的后端即服务(BaaS)工具,已经稳定运行三年。第三方认证服务:支持二十多种认证方式,包括微信登录,让用户快速登录你的应用。对象存储:文件、图片、视频上传和管理,从未如此简单。云函数:复杂逻辑?一个云函数帮你搞定。静态部署:直接托管前端资源,无需操心配置。最佳实践源码:提供微信小程序、Web 应用等十几种应用模板,下载后直接运行,效率翻倍!开发不应该是一件让人焦虑的事,而是一次创造的旅程。用最简单的方式,帮助开发者减少工作量,专注于实现自己的创意。

weixin_44957042的博客 1002

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

MemFire Cloud为何短短几年变成这样?

这个名字可能对你来说还很陌生,但它所代表的便捷和强大,绝对值得你一试。它不仅仅是一个工具,更是你开发路上的得力助手,让你能够更加专注于创意和设计,而不是被技术细节所困扰。现在就访问MemFire Cloud,开启你的懒人开发之旅吧!的成功,是因为它真正理解了开发者的需求,并且提供了切实可行的解决方案。它的故事,是关于创新、效率和用户体验的故事。如果你也是一名追求效率的开发者,那么绝对值得你深入了解。让我们一起期待,在未来的日子里,会给我们带来更多的惊喜。

weixin_44957042的博客 721

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

MemFire教程|Express框架在云函数开发中的应用指南

MemFire Cloud 开发过程中,一些业务场景需要用到云函数,下面是使用Express开发云函数的方法。

NimbleX_的博客 1142

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

多款MemFire Cloud脚手架,轻松实现快速开发

MemFire Cloud提供了全面的前端框架的脚手架,包括vue/react/uni-app微信小程序/taro微信小程序/微信原生小程序,旨在以加快和简化项目的开发过程,不仅可以帮助用户快速启动项目、规范开发流程,集成常用工具和底层框架,并具有一定的定制性和扩展性,提高开发效率和代码质量,为用户提供全面的服务。

NimbleX_的博客 540

【全栈开发指南】数据权限使用配置

数据权限配置有两种方式:通过系统配置界面,实时配置生效。通过代码注解配置。

全栈程序猿的专栏 4809

零基础也能轻松开发,MemFire Cloud一站式搞定!

是一款为懒人开发者量身打造的神器,不管你是编程小白,还是接私活的老手,它都能显著提升你的开发效率。免搭建服务、免费的云数据库、多种登录方式和静态部署功能,让开发变得简单、直接。如果你想快速上手开发自己的小程序、Web 应用,或者只是在寻找一款能省时省力的工具,那么。

weixin_44957042的博客 861

快速入门|使用MemFire Cloud构建Flutter应用程序

MemFire Cloud是一款提供云数据库,用户可以创建云数据库,并对数据库进行管理,还可以对数据库进行备份操作。它还提供后端即服务,用户可以在1分钟内新建一个应用,使用自动生成的API和SDK,访问云数据库、对象存储、用户认证与授权等功能,可专注于编写前端应用程序代码,加速WEB或APP应用开发。此示例提供了使用 MemFire Cloud 和 Flutter构建简单用户管理应用程序的步骤。

NimbleX_的博客 1007

后台管理系统控制菜单权限的两种方法

一般登录成功后接口会返回该用户拥有哪些权限 例:menus: ['department', 'settings', 'permissions'] (此处list中的数据是路由的name,返回的具体内容和后端协商好就可以)路由一般分为 常量路由(所有人都可以访问),动态路由(通过权限控制的路由),任意路由(当访问的路由不存在时,跳转到的页面)在退出登录的时候需要重新创建一个新的路由实例,并使用新的路由实例覆盖老的路由实例。上面两张图一般后端接口返回的格式(封装的获取异步路由的方法是按照第二张图的数据封装的)

weixin_45600052的博客 1822

MemFire解决方案-政企数据库云服务解决方案

采用MemFire云原生数据库管理平台+MemFireDB深度融合解决方案,云化基础设施、池化资源,支持多租户模式,基于K8s实现数据库统一部署与交付,为用户提供专业的数据库即服务(DBaaS)的能力,实现数据库服务发放流程化,管理精细化和运维智能化,提升信息化项目上云效率,降低资金投入。

NimbleX_的博客 505

入坑MemFire Cloud,这一篇就够了

一个让你轻松入坑的开发神器,一个让懒人开发者也能高效工作的平台。如果你还在为开发中的种种问题而头疼,那么绝对是你的最佳选择。现在就开始,让我们一起在的世界里,开启开发的新篇章!入坑,这一篇真的就够了。快来体验吧,让开发成为一种享受!

weixin_44957042的博客 1579

我为什么会选择MemFire Cloud做全栈开发

回顾这一年的开发经历,选择绝对是我最明智的决定之一。它不仅大幅提升了我的开发效率,还节省了大量成本。尤其是对于独立开发者和中小型团队,提供的免费服务和一站式解决方案,简直就是开发利器。如果你和我一样,是一个独立开发者,或者你正为寻找高效的开发工具而苦恼,那么我强烈推荐你试试。它不仅能让你不花钱就拥有一个属于自己的小程序或app,还能让你的开发之路更加顺畅、高效。还在等什么?马上试试,开启你的高效开发之旅吧!

weixin_44957042的博客 737

全栈开发新体验:MemFire Cloud让代码飞起来!

是一个能显著提升开发效率的工具,让你从繁琐的后端工作中解放出来,专注于核心功能。无论是个人开发者还是团队项目,都能帮助你用更少的时间完成更多的任务。还在等什么?马上注册,解锁你的全栈开发新体验,让代码飞起来!立即体验 MemFire Cloud >>

weixin_44957042的博客 1075

颠覆开发方式:MemFire Cloud 让你轻松上云!

的对象存储让你可以直接存放和管理图片、文件、视频等资源,同时支持云函数处理业务逻辑,让你不用再去搭建复杂的服务器,只需要写几行代码,就能完成数据存储和调用。,包括微信小程序和 Web 应用,你可以直接下载运行,看看别人是怎么做的,甚至可以在此基础上修改、优化,打造属于自己的产品。有时候,独立开发者的最大困境不是“技术问题”,而是“灵感枯竭”——想做点东西,但不知道做什么,也不知道从何入手。,甚至还能绑定自己的域名,让你的产品更专业。,大幅降低开发成本,让你的创意更快变成现实。

weixin_44957042的博客 1173
上一篇: 应用实战 | 别踩白块小游戏,邀请大家来PK挑战~
下一篇: 应用实战|只需几步,即可享有笔记小程序
NimbleX_
博客等级 码龄6年 241粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值