# Knowledge point review
["Using apifm plug-in for Flutter cloud development - Installation"](https://www.yuque.com/apifm/doc/hggphs)
# Function description
There are many usage scenarios for graphic verification codes. In many situations where security is a concern, graphic verification codes need to be used to block automated and batch operations of robots;
**Function points:**
1. The graphical verification code is displayed on the App, click to change the verification code image;
2. Enter the verification code recognized by human eyes, and then determine whether the verification code entered by the user is consistent with what is displayed on the picture.
# How to use
## Get verification code
```javascript
Apifm.graphValidateCodeUrl()
```
This method will return two pieces of data:
1. key is a random number used to generate the verification code image. Please save this value. You will need to provide this value later to verify the correctness of the graphic verification code;
2. imageUrl is the path of the image of the generated graphic verification code. You can directly display the image address on the graphic control;
## Verify whether the input verification code is correct
```javascript
Apifm.graphValidateCodeCheck(key, code)
```
The key is the key of the above acquisition method, which must be consistent, otherwise an error will always be displayed;
code is the verification code content entered by the user
_Two simple steps simplify the original complex graphical verification code verification implementation logic on the App side_
A big boss told me that when making technology selection/evaluating the value of a new technology, we need to consider the following three perspectives:
1. Cost
2. Efficiency
3. Function
_I hope you all can become my boss! _