- HarmonyOS Next 实现 2048 小游戏
2048是一款经典的益智游戏,玩家通过滑动屏幕合并相同数字的方块,最终目标是合成数字2048。本文基于鸿蒙ArkUI框架,详细解析其实现过程,解析如何利用声明式UI和状态管理构建此类游戏。一、核心数据结构与状态管理1.游戏网格与得分游戏的核心是一个4x4的二维数组,用于存储每个格子的数字。通过@State装饰器管理网格状态,确保数据变化时UI自动刷新:@Stategrid:number[][]=A
- datagrid数据及echarts图表导出到Excel
飞舞花下
导包:org.apache.poipoi3.9org.apache.poipoi-ooxml3.9org.apache.poipoi-scratchpad3.9jsp页面中datagrid显示的数据及echarts图表显示的代码(包含在form表单中),算了,还是贴上整个jsp算了。统计分析行政区划:示范评级:导出查询清空/***系统页面加载后初始化处理.*/$(function(){$("tab
- Avalonia 不显示DataGrid
wqq1027
Avaloniaavaloniac#
需要安装nuget包后手动添加下面的样式
- 微电网介绍
云纳星辰怀自在
新能源汽车电网微网并网
微电网(Microgrid)是一种小型电力系统,能够独立运行或与主电网并网运行,通常包含分布式能源(如光伏、风电)、储能系统、负荷以及控制系统。以下从电力系统拓扑、技术参数、应用场景、并网技术实现、运营方案及资源分配调节等方面详细介绍微电网。1.电力系统拓扑微电网的拓扑结构通常包括以下组成部分:•分布式能源(DERs):◦光伏发电、风力发电、燃料电池、微型燃气轮机等。•储能系统(ESS):◦电池储
- 算法每日一练 (9)
张胤尘
算法每日一练算法数据结构
欢迎来到张胤尘的技术站技术如江河,汇聚众志成。代码似星辰,照亮行征程。开源精神长,传承永不忘。携手共前行,未来更辉煌文章目录算法每日一练(9)最小路径和题目描述解题思路解题代码`c/c++``golang``lua`官方站点:力扣Leetcode算法每日一练(9)最小路径和题目地址:最小路径和题目描述给定一个包含非负整数的mxn网格grid,请找出一条从左上角到右下角的路径,使得路径上的数字总和为
- 第二章:基础概念精讲 - 第五节 - Tailwind CSS Flex 和 Grid 布局实战
Flex布局基础1.Flex容器设置Item1Item2Item3行布局列布局允许换行禁止换行2.主轴对齐左对齐居中对齐右对齐两端对齐环绕对齐均匀对齐3.交叉轴对齐顶部对齐居中对齐底部对齐拉伸对齐基线对齐Flex实战案例1.导航栏布局首页产品服务关于登录2.卡片网格布局卡片标题卡片描述内容Grid布局基础1.Grid容器设置Item1Item2Item32.网格列配置跨越4列跨越8列Grid实战案
- matlab 设置网格线为虚线
phymat.nico
数理方法
gridon;set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1);https://blog.csdn.net/cursethegod/article/details/80359738
- MATLAB 坐标轴以及plot的使用与相关设置
持~月
matlab
使用matlab的绘图函数plot绘图时系统默认设置了一些属性,例如坐标轴字号大小等并根据情况自动设置坐标轴显示的上下限,这些属性可以通过函数灵活改动。1.设置坐标轴labelx=1:100;y=x;xlabel('时间(s)','FontSize',16);ylabel('压力(pa)','FontSize',16);gridon;%开启网格holdon;%保留绘图title('y=x','Fo
- 【转】Devexpress使用之:GridControl控件(合并表头)
weixin_30897233
Devexpress系列控件功能很强大,使用起来也不太容易,我也是边摸索边使用,如果有时间我会把常用控件的使用方法整理出来的。usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Windows.Forms;usingDevExpress.XtraGrid.Columns;usingDe
- selenium grid分布式
进阶的DW
selenium测试工具
seleniumgrid环境在很多实体电脑上可以实现,如果我们没有那么多电脑,就需要利用docker来完成seleniumgrid环境搭建一、环境搭建创建一个docker网络dockernetworkcreategrid完成中心的搭建拉取镜像dockerpullselenium/hub:4.10启动镜像dockerrun-d-p4442-4444:4442-4444--networkgrid--n
- python numpy学习
黄小猿
pythonnumpymeshgrid
目录np.meshgridnp.where1.np.meshgrid可以生成一对协调的点,x=np.arange(-5,5,1)y=np.arange(-5,5,1)xx,yy=np.meshgrid(x,y,sparse=True)xx#输出:array([[-5,-4,-3,-2,-1,0,1,2,3,4]])yy#输出:array([[-5],[-4],[-3],[-2],[-1],[0],
- QML 容器控件:ScrollView
Quz
Qt6QML开发进阶之旅qt
目录1.ScrollView简介1.1主要特点2.使用示例2.1简单的ScrollView2.2使用ListView作为子项注意事项总结ScrollView是QML中用于创建可滚动视图的控件,它允许用户通过触摸或鼠标操作来滚动内容。ScrollView是QtQuick.Controls模块的一部分,通常用于替代Flickable或装饰现有的可滚动控件(如ListView或GridView)。以下是
- 使用 vxe-table 实现复选框分页跨页勾选
vue.js
vxe-table实现复选框分页跨页勾选官网:https://vxetable.cn当使用数据分页与复选框多页勾选时,可以通过checkbox-config.reserve启用获取已选import{ref,reactive}from'vue'import{VxeUI}from'vxe-table'constgridRef=ref()constallList=[{id:10001,name:'Tes
- vue vxe-table 实现财务记账凭证
vue.js
使用vxe-table实现财务记账凭证非常简单,实现在线实时编辑的记账凭证、自动合计金额等官网:https://vxetable.cn/新增保存财务主管:小徐记账:张三出纳:李四审核:老六import{ref,reactive,nextTick}from'vue'import{VxeUI}from'vxe-table'importXEUtilsfrom'xe-utils'constgridRef=
- vxe-table grid 表格数据校验错误提示框的主题样式,修改校验提示消息的样式
vue.js
官网文档:https://vxetable.cnvxe-tablegrid表格数据校验错误提示框的主题样式,修改校验提示消息的样式非常简单,内置例子样式,普通样式和高亮样式,可以通过全局或局部方式进行设置。默认的校验提示样式美化校验提示样式默认的错误提示样式不好看,设置为美化主题样式,通过参数validConfig.theme='beautify'就可以了,也可以全局设置import{VxeUI}
- vxe-grid table 配置分组表头
vue.js
官网文档:https://vxetable.cnvxe-gridcolumns配置分组表头非常简单,支持需配置好children,就会自动渲染子列代码exportdefault{data(){constgridOptions={border:true,height:400,columns:[{title:'基本信息',children:[{type:'seq',width:70},{field:'
- 【hot100】994腐烂的橘子
鱼力舟
HOT100java算法数据结构
一、思路1.暂时没看官方题解,采用了一种比较笨的方法,就是每次循环都判定一下是否有节点上下左右范围内有腐烂节点的,如果有则进行一轮腐蚀,最终停止后再用另一个检查函数来检查整个图中是否有新鲜节点。2.其中腐蚀过程中需要采用辅助数组,避免多次传递腐蚀,然后腐蚀判定的时候记得加上边界判定,越界了则不执行腐蚀。(i>0&&grid[i-1][j]==1)由于且需要同时成立,所以如果不满足前面的边界条件就不
- 【hot100】200岛屿数量
鱼力舟
HOT100深度优先算法
一、思路最外层两层遍历,目的是访问图中所有点位,然后在碰到为1的点位,即是陆地的点位采用dfs上下左右进行搜索,将整个岛屿全部置为0,然后搜索下一个点位。二、记忆注意深搜的终止条件判断if(r=nr||c=nc||grid[r][c]=='0')return;三、代码publicintnumIslands(char[][]grid){if(grid==null||grid.length==0)re
- 强化学习实践 openai gymnasium CartPole-v1 DQN算法实现
abstcol
强化学习深度学习机器学习神经网络
文章目录前言DQN简介环境简介任务实现说开来去我的Github实现:gym(GitHub)本篇博客主要是个人实现过程的主观感受,如果想要使用模型可以直接去GitHub仓库,注释完善且规范。觉得有用请给我点个star!前言最近在学习强化学习,大致过了一遍强化学习的数学原理(视频)。视频讲的很好,但是实践的部分总是感觉有点匮乏(毕竟解决gridworld方格世界(GitHub)的问题的很难给人特别大的
- wpf datagrid滚动使用外置滚动条控件
bug菌¹
全栈Bug调优(实战版)#CSDN问答解惑(全栈版)wpf
本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!问题描述由于某些原因,我原本datagrid的垂直滚动条不能使用,故我希望在原本的datagrid旁边额外加上一条滚动条控件,让其绑定datagrid的滚动条,实现同步移
- Fire Game
CheerfulMinions
竞赛算法练习算法
FatbrotherandMazeareplayingakindofspecial(hentai)gameonanN*Mboard(Nrows,Mcolumns).Atthebeginning,eachgridofthisboardisconsistingofgrassorjustemptyandthentheystarttofireallthegrass.Firstlytheychoosetwo
- WPF DataGrid应用:属性详解与MaterialDesign美化实战指南
会飞的猪!
wpf
引言在WPF企业级应用开发中,DataGrid作为数据展示的核心控件,其功能扩展和界面美化直接影响用户体验。本教程将深入讲解DataGrid的实用属性配置,结合流行的MaterialDesignThemes开源库,打造现代化数据表格界面,并实现基于业务数据的动态背景色变化功能。无论您是刚接触WPF的新手还是寻求界面优化的资深开发者,本文都将为您提供完整的解决方案。环境准备1.安装MaterialD
- 【LeetCode热题100】【图论】岛屿数量
@YeMaolin
#LeetCode热题100算法深度优先
题目链接:200.岛屿数量-力扣(LeetCode)考察图的遍历,从岛上上下左右能到达的地方都是这个岛首先需要判断图的边界,然后再上下左右继续深度遍历,并把遍历到的标记为已访问,可以原地修改图做标记对于这道题来说,从是1的地方深度遍历,改写可以到达的地方,这样就是一个岛屿,如果还有1,说明还有岛屿classSolution{public:introws,columns;vector>grid;bo
- 刷题记录 HOT100 图论-1:200. 岛屿数量
威尔逊。
刷题笔记HOT100图论leetcode算法数据结构笔记深度优先广度优先
题目:200.岛屿数量难度:中等给你一个由'1'(陆地)和'0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例1:输入:grid=[["1","1","1","1","0"],["1","1","0","1","0"],["1","1","0","0","0"],["0
- 图论-腐烂的橘子
Vacant Seat
图论
994.腐烂的橘子在给定的mxn网格grid中,每个单元格可以有以下三个值之一:值0代表空单元格;值1代表新鲜橘子;值2代表腐烂的橘子。每分钟,腐烂的橘子周围4个方向上相邻的新鲜橘子都会腐烂。返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回-1。```**输入**:二维数组**输出**:最短时间**思路**:看过题解本题使用BFS,广度优先算法,首先遍历数组,找到所有的“2
- WPF动态创建页面内容,如何实现??
bug菌¹
全栈Bug调优(实战版)#CSDN问答解惑(全栈版)wpf
本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!问题描述有这样一个需求,因为业务需要,客户不同的需求,需要不同的DataGrid数量如下图,有的可能需要6个窗口,有的可能需要10个也有可能是1个,不确定具体数量,怎么设
- asmcmd afd_state
jnrjian
oraclesql
[grid@1~]$asmcmdafd_stateASMCMD-9526:TheAFDstateis'LOADED'andfilteringis'DISABLED'onhost'1.'[grid@2~]$asmcmdafd_stateASMCMD-9526:TheAFDstateis'LOADED'andfilteringis'DISABLED'onhost'2.'
- React学习六(Ant Design of React)
二十一块石头
Reactreact.js学习javascript
文章目录一、特性二、使用过程1、安装2、antd引用三、antd的组件库1、Button按钮2、message消息框(1)Promise接口(2)API(3)以对象的形式传递参数3、Menu组件4、Breadcrumb面包屑5、Layout布局(1)设计规则(2)组件概述(3)代码演示6、Divider分割线7、Grid栅格8、Form表单9、Input组件10、Table表格举例antd是基于A
- LeetCode 200. 岛屿数量(Python)
AIGC_ZY
leetcode刷题leetcode深度优先python
给你一个由‘1’(陆地)和‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例1:输入:grid=[[“1”,“1”,“1”,“1”,“0”],[“1”,“1”,“0”,“1”,“0”],[“1”,“1”,“0”,“0”,“0”],[“0”,“0”,“0”,“0”,“0
- DeepSeek 助力 Vue3 开发:打造丝滑的网格布局(Grid Layout)
宝码香车
#DeepSeekvue.jsjavascriptecmascript前端DeepSeek
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦目录DeepSeek助力Vue3开发:打造丝滑的网格布局(GridLayout)前言页面效果指令输入属性定义1.布局相关属性2.响应式属性3.样式属性事件定义1.交互事件其他1.插槽使用2.响应式设计3.可访问性4.文档和示例think组件代码代
- Algorithm
香水浓
javaAlgorithm
冒泡排序
public static void sort(Integer[] param) {
for (int i = param.length - 1; i > 0; i--) {
for (int j = 0; j < i; j++) {
int current = param[j];
int next = param[j + 1];
- mongoDB 复杂查询表达式
开窍的石头
mongodb
1:count
Pg: db.user.find().count();
统计多少条数据
2:不等于$ne
Pg: db.user.find({_id:{$ne:3}},{name:1,sex:1,_id:0});
查询id不等于3的数据。
3:大于$gt $gte(大于等于)
&n
- Jboss Java heap space异常解决方法, jboss OutOfMemoryError : PermGen space
0624chenhong
jvmjboss
转自
http://blog.csdn.net/zou274/article/details/5552630
解决办法:
window->preferences->java->installed jres->edit jre
把default vm arguments 的参数设为-Xms64m -Xmx512m
----------------
- 文件上传 下载 解析 相对路径
不懂事的小屁孩
文件上传
有点坑吧,弄这么一个简单的东西弄了一天多,身边还有大神指导着,网上各种百度着。
下面总结一下遇到的问题:
文件上传,在页面上传的时候,不要想着去操作绝对路径,浏览器会对客户端的信息进行保护,避免用户信息收到攻击。
在上传图片,或者文件时,使用form表单来操作。
前台通过form表单传输一个流到后台,而不是ajax传递参数到后台,代码如下:
<form action=&
- 怎么实现qq空间批量点赞
换个号韩国红果果
qq
纯粹为了好玩!!
逻辑很简单
1 打开浏览器console;输入以下代码。
先上添加赞的代码
var tools={};
//添加所有赞
function init(){
document.body.scrollTop=10000;
setTimeout(function(){document.body.scrollTop=0;},2000);//加
- 判断是否为中文
灵静志远
中文
方法一:
public class Zhidao {
public static void main(String args[]) {
String s = "sdf灭礌 kjl d{';\fdsjlk是";
int n=0;
for(int i=0; i<s.length(); i++) {
n = (int)s.charAt(i);
if((
- 一个电话面试后总结
a-john
面试
今天,接了一个电话面试,对于还是初学者的我来说,紧张了半天。
面试的问题分了层次,对于一类问题,由简到难。自己觉得回答不好的地方作了一下总结:
在谈到集合类的时候,举几个常用的集合类,想都没想,直接说了list,map。
然后对list和map分别举几个类型:
list方面:ArrayList,LinkedList。在谈到他们的区别时,愣住了
- MSSQL中Escape转义的使用
aijuans
MSSQL
IF OBJECT_ID('tempdb..#ABC') is not null
drop table tempdb..#ABC
create table #ABC
(
PATHNAME NVARCHAR(50)
)
insert into #ABC
SELECT N'/ABCDEFGHI'
UNION ALL SELECT N'/ABCDGAFGASASSDFA'
UNION ALL
- 一个简单的存储过程
asialee
mysql存储过程构造数据批量插入
今天要批量的生成一批测试数据,其中中间有部分数据是变化的,本来想写个程序来生成的,后来想到存储过程就可以搞定,所以随手写了一个,记录在此:
DELIMITER $$
DROP PROCEDURE IF EXISTS inse
- annot convert from HomeFragment_1 to Fragment
百合不是茶
android导包错误
创建了几个类继承Fragment, 需要将创建的类存储在ArrayList<Fragment>中; 出现不能将new 出来的对象放到队列中,原因很简单;
创建类时引入包是:import android.app.Fragment;
创建队列和对象时使用的包是:import android.support.v4.ap
- Weblogic10两种修改端口的方法
bijian1013
weblogic端口号配置管理config.xml
一.进入控制台进行修改 1.进入控制台: http://127.0.0.1:7001/console 2.展开左边树菜单 域结构->环境->服务器-->点击AdminServer(管理) &
- mysql 操作指令
征客丶
mysql
一、连接mysql
进入 mysql 的安装目录;
$ bin/mysql -p [host IP 如果是登录本地的mysql 可以不写 -p 直接 -u] -u [userName] -p
输入密码,回车,接连;
二、权限操作[如果你很了解mysql数据库后,你可以直接去修改系统表,然后用 mysql> flush privileges; 指令让权限生效]
1、赋权
mys
- 【Hive一】Hive入门
bit1129
hive
Hive安装与配置
Hive的运行需要依赖于Hadoop,因此需要首先安装Hadoop2.5.2,并且Hive的启动前需要首先启动Hadoop。
Hive安装和配置的步骤
1. 从如下地址下载Hive0.14.0
http://mirror.bit.edu.cn/apache/hive/
2.解压hive,在系统变
- ajax 三种提交请求的方法
BlueSkator
Ajaxjqery
1、ajax 提交请求
$.ajax({
type:"post",
url : "${ctx}/front/Hotel/getAllHotelByAjax.do",
dataType : "json",
success : function(result) {
try {
for(v
- mongodb开发环境下的搭建入门
braveCS
运维
linux下安装mongodb
1)官网下载mongodb-linux-x86_64-rhel62-3.0.4.gz
2)linux 解压
gzip -d mongodb-linux-x86_64-rhel62-3.0.4.gz;
mv mongodb-linux-x86_64-rhel62-3.0.4 mongodb-linux-x86_64-rhel62-
- 编程之美-最短摘要的生成
bylijinnan
java数据结构算法编程之美
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class ShortestAbstract {
/**
* 编程之美 最短摘要的生成
* 扫描过程始终保持一个[pBegin,pEnd]的range,初始化确保[pBegin,pEnd]的ran
- json数据解析及typeof
chengxuyuancsdn
jstypeofjson解析
// json格式
var people='{"authors": [{"firstName": "AAA","lastName": "BBB"},'
+' {"firstName": "CCC&
- 流程系统设计的层次和目标
comsci
设计模式数据结构sql框架脚本
流程系统设计的层次和目标
 
- RMAN List和report 命令
daizj
oraclelistreportrman
LIST 命令
使用RMAN LIST 命令显示有关资料档案库中记录的备份集、代理副本和映像副本的
信息。使用此命令可列出:
• RMAN 资料档案库中状态不是AVAILABLE 的备份和副本
• 可用的且可以用于还原操作的数据文件备份和副本
• 备份集和副本,其中包含指定数据文件列表或指定表空间的备份
• 包含指定名称或范围的所有归档日志备份的备份集和副本
• 由标记、完成时间、可
- 二叉树:红黑树
dieslrae
二叉树
红黑树是一种自平衡的二叉树,它的查找,插入,删除操作时间复杂度皆为O(logN),不会出现普通二叉搜索树在最差情况时时间复杂度会变为O(N)的问题.
红黑树必须遵循红黑规则,规则如下
1、每个节点不是红就是黑。 2、根总是黑的 &
- C语言homework3,7个小题目的代码
dcj3sjt126com
c
1、打印100以内的所有奇数。
# include <stdio.h>
int main(void)
{
int i;
for (i=1; i<=100; i++)
{
if (i%2 != 0)
printf("%d ", i);
}
return 0;
}
2、从键盘上输入10个整数,
- 自定义按钮, 图片在上, 文字在下, 居中显示
dcj3sjt126com
自定义
#import <UIKit/UIKit.h>
@interface MyButton : UIButton
-(void)setFrame:(CGRect)frame ImageName:(NSString*)imageName Target:(id)target Action:(SEL)action Title:(NSString*)title Font:(CGFloa
- MySQL查询语句练习题,测试足够用了
flyvszhb
sqlmysql
http://blog.sina.com.cn/s/blog_767d65530101861c.html
1.创建student和score表
CREATE TABLE student (
id INT(10) NOT NULL UNIQUE PRIMARY KEY ,
name VARCHAR
- 转:MyBatis Generator 详解
happyqing
mybatis
MyBatis Generator 详解
http://blog.csdn.net/isea533/article/details/42102297
MyBatis Generator详解
http://git.oschina.net/free/Mybatis_Utils/blob/master/MybatisGeneator/MybatisGeneator.
- 让程序员少走弯路的14个忠告
jingjing0907
工作计划学习
无论是谁,在刚进入某个领域之时,有再大的雄心壮志也敌不过眼前的迷茫:不知道应该怎么做,不知道应该做什么。下面是一名软件开发人员所学到的经验,希望能对大家有所帮助
1.不要害怕在工作中学习。
只要有电脑,就可以通过电子阅读器阅读报纸和大多数书籍。如果你只是做好自己的本职工作以及分配的任务,那是学不到很多东西的。如果你盲目地要求更多的工作,也是不可能提升自己的。放
- nginx和NetScaler区别
流浪鱼
nginx
NetScaler是一个完整的包含操作系统和应用交付功能的产品,Nginx并不包含操作系统,在处理连接方面,需要依赖于操作系统,所以在并发连接数方面和防DoS攻击方面,Nginx不具备优势。
2.易用性方面差别也比较大。Nginx对管理员的水平要求比较高,参数比较多,不确定性给运营带来隐患。在NetScaler常见的配置如健康检查,HA等,在Nginx上的配置的实现相对复杂。
3.策略灵活度方
- 第11章 动画效果(下)
onestopweb
动画
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- FAQ - SAP BW BO roadmap
blueoxygen
BOBW
http://www.sdn.sap.com/irj/boc/business-objects-for-sap-faq
Besides, I care that how to integrate tightly.
By the way, for BW consultants, please just focus on Query Designer which i
- 关于java堆内存溢出的几种情况
tomcat_oracle
javajvmjdkthread
【情况一】:
java.lang.OutOfMemoryError: Java heap space:这种是java堆内存不够,一个原因是真不够,另一个原因是程序中有死循环; 如果是java堆内存不够的话,可以通过调整JVM下面的配置来解决: <jvm-arg>-Xms3062m</jvm-arg> <jvm-arg>-Xmx
- Manifest.permission_group权限组
阿尔萨斯
Permission
结构
继承关系
public static final class Manifest.permission_group extends Object
java.lang.Object
android. Manifest.permission_group 常量
ACCOUNTS 直接通过统计管理器访问管理的统计
COST_MONEY可以用来让用户花钱但不需要通过与他们直接牵涉的权限
D