I add a particle system - smoke to my game, I can see it definitely in 3D view and it in front of the background image;
But, when I alter to 2D view, it disappear and hided by background image like
So, any suggestion for this case? thanks in advance
If you open up the particle system, go to renderer, you can change the order in the layer:
Make this higher than your spriterenderer/canvas layer number 
I suppose that error comes from the sorting layer. The particle system uses the default sorting layer.
Go to the last property of your particle system which is named “Renderer” and change the sorting layer to a higher layer or increase the “Order in Layer”. “Order in Layer” defines the actual rendering order of the sorting layer. Higher numbers hide lower ones.
You can also define your own sorting layers to organize your rendering more. Go to “Edit” → “Project Settings” → “Tags and Layers”.
Hope it helps you.
In my case, Order in Layer did not worked. Try to set Z value of your Particles System same as your Main Camera Z value. In my case, it was -10. After set the Z value like this, its worked for me.